diff --git a/DEPS b/DEPS
index d3707ff..7f106c3 100644
--- a/DEPS
+++ b/DEPS
@@ -167,11 +167,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': '3838fe3c82b4c2bf5eb420a351a6f63ee668d8d7',
+  'skia_revision': 'c34e434df0d79047e7ddae69fbdbbe9e91bc2a52',
   # 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': '2fafa2475be1fc16388e9459d4f001b1a7935aae',
+  'v8_revision': '71bbf6321fea2c9e274f1886342ef2e4c1ae1752',
   # 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.
@@ -179,7 +179,7 @@
   # 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': 'd192e933eb69e96b498a785777b117b145f3f360',
+  'angle_revision': 'fede5cb664d96da6ea6acc0bc208d32a14431f32',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling SwiftShader
   # and whatever else without interference from each other.
@@ -230,7 +230,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': '1550399cc0a14c198e43df4cb612c26edc7ec628',
+  'catapult_revision': 'c7af59115ee3cadd28fa6804eac403c3f57d7844',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling libFuzzer
   # and whatever else without interference from each other.
@@ -286,7 +286,7 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling feed
   # and whatever else without interference from each other.
-  'spv_tools_revision': 'eba98c4eb7818a310ee1af822f4fc5dcf483c2d9',
+  'spv_tools_revision': '2276e59788eaa6d7d8440602e5541acc304655b4',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling feed
   # and whatever else without interference from each other.
@@ -306,7 +306,7 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling feed
   # and whatever else without interference from each other.
-  'quiche_revision': 'bf0413d8c1d6d56838bc65b8f1f78b3970131d22',
+  'quiche_revision': '5843bfd652048b9961316a62dbf1cad68e7a55ac',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling ios_webkit
   # and whatever else without interference from each other.
@@ -862,7 +862,7 @@
 
   # Build tools for Chrome OS. Note: This depends on third_party/pyelftools.
   'src/third_party/chromite': {
-      'url': Var('chromium_git') + '/chromiumos/chromite.git' + '@' + '1fce7657a2fdc9a253c2bdbdd945a2b0b431d084',
+      'url': Var('chromium_git') + '/chromiumos/chromite.git' + '@' + '1c834ea5451cb00bd23628733bb4d7a53993d4af',
       'condition': 'checkout_linux',
   },
 
@@ -887,7 +887,7 @@
   },
 
   'src/third_party/depot_tools':
-    Var('chromium_git') + '/chromium/tools/depot_tools.git' + '@' + '2cbae8a8b9f61ad88e51f3b9fa30f97824db614b',
+    Var('chromium_git') + '/chromium/tools/depot_tools.git' + '@' + '5abb9b7c5d0c0a5f81f4a0da741680df9b9d128c',
 
   'src/third_party/devtools-node-modules':
     Var('chromium_git') + '/external/github.com/ChromeDevTools/devtools-node-modules' + '@' + Var('devtools_node_modules_revision'),
@@ -1280,7 +1280,7 @@
   },
 
   'src/third_party/perfetto':
-    Var('android_git') + '/platform/external/perfetto.git' + '@' + 'dbb94e26f6507809b9f55482482c5da127bf9ef7',
+    Var('android_git') + '/platform/external/perfetto.git' + '@' + '6529b908a53e6c9f37ab2d36750a2b675293bf9a',
 
   'src/third_party/perl': {
       'url': Var('chromium_git') + '/chromium/deps/perl.git' + '@' + '6f3e5028eb65d0b4c5fdd792106ac4c84eee1eb3',
@@ -1470,7 +1470,7 @@
     Var('chromium_git') + '/external/khronosgroup/webgl.git' + '@' + '2701c130839edbeb226735b0775966b6423d9e83',
 
   'src/third_party/webrtc':
-    Var('webrtc_git') + '/src.git' + '@' + '373b149d8cf24f2675ffc32ef1e641cf2ecc3112',
+    Var('webrtc_git') + '/src.git' + '@' + '8bbf9e2c6e40feb8efcbf276b43945a14d651e9b',
 
   'src/third_party/xdg-utils': {
       'url': Var('chromium_git') + '/chromium/deps/xdg-utils.git' + '@' + 'd80274d5869b17b8c9067a1022e4416ee7ed5e0d',
@@ -1532,7 +1532,7 @@
     Var('chromium_git') + '/v8/v8.git' + '@' +  Var('v8_revision'),
 
   'src-internal': {
-    'url': 'https://chrome-internal.googlesource.com/chrome/src-internal.git@a82bb0b1ae2e4de576d74c28b299e86faf6b1f6a',
+    'url': 'https://chrome-internal.googlesource.com/chrome/src-internal.git@2f960fbb7d1a251116ee98d827a9049e35334eac',
     'condition': 'checkout_src_internal',
   },
 
diff --git a/ash/wm/overview/overview_grid.cc b/ash/wm/overview/overview_grid.cc
index 4d36025..bdd7fc3 100644
--- a/ash/wm/overview/overview_grid.cc
+++ b/ash/wm/overview/overview_grid.cc
@@ -77,9 +77,6 @@
 
 constexpr int kMinimumItemsForNewLayout = 6;
 
-// The minimum distance that is needed to process a scroll event.
-constexpr float kMinimumScrollDistanceDp = 5.f;
-
 // Wait a while before unpausing the occlusion tracker after a scroll has
 // completed as the user may start another scroll.
 constexpr base::TimeDelta kOcclusionUnpauseDurationForScroll =
@@ -1448,7 +1445,6 @@
   // |scroll_offset_| is added to adjust for that.
   rightmost_window_right -= scroll_offset_;
   scroll_offset_min_ = total_bounds.right() - rightmost_window_right;
-  scroll_current_delta_ = 0.f;
 
   presentation_time_recorder_ = CreatePresentationTimeHistogramRecorder(
       const_cast<ui::Compositor*>(root_window()->layer()->GetCompositor()),
@@ -1456,9 +1452,8 @@
 }
 
 bool OverviewGrid::UpdateScrollOffset(float delta) {
-  scroll_current_delta_ += delta;
   float new_scroll_offset = scroll_offset_;
-  new_scroll_offset += scroll_current_delta_;
+  new_scroll_offset += delta;
   new_scroll_offset =
       base::ClampToRange(new_scroll_offset, scroll_offset_min_, 0.f);
 
@@ -1469,13 +1464,6 @@
   if (new_scroll_offset == scroll_offset_)
     return in_range;
 
-  // Do not process scrolls that haven't moved much, unless we are at the
-  // edges.
-  if (std::abs(scroll_offset_ - new_scroll_offset) < kMinimumScrollDistanceDp &&
-      in_range) {
-    return true;
-  }
-
   // Update the bounds of the items which are currently visible on screen.
   DCHECK_EQ(items_scrolling_bounds_.size(), window_list_.size());
   for (size_t i = 0; i < items_scrolling_bounds_.size(); ++i) {
@@ -1488,7 +1476,6 @@
     }
   }
 
-  scroll_current_delta_ = 0.f;
   scroll_offset_ = new_scroll_offset;
 
   DCHECK(presentation_time_recorder_);
diff --git a/ash/wm/overview/overview_grid.h b/ash/wm/overview/overview_grid.h
index 23a13db..45987c1 100644
--- a/ash/wm/overview/overview_grid.h
+++ b/ash/wm/overview/overview_grid.h
@@ -452,10 +452,6 @@
   // are visible in tablet overview mode.
   float scroll_offset_min_ = 0;
 
-  // Sum of the deltas passed by |UpdateScrollOffset|, this is so we can ignore
-  // deltas that are too small for performance reasons.
-  float scroll_current_delta_ = 0.f;
-
   // Cached values of the item bounds so that they do not have to be calculated
   // on each scroll update.
   std::vector<gfx::RectF> items_scrolling_bounds_;
diff --git a/ash/wm/overview/overview_session.cc b/ash/wm/overview/overview_session.cc
index 7a968e114..e57bd40 100644
--- a/ash/wm/overview/overview_session.cc
+++ b/ash/wm/overview/overview_session.cc
@@ -746,6 +746,8 @@
 
 void OverviewSession::OnDisplayMetricsChanged(const display::Display& display,
                                               uint32_t metrics) {
+  if (window_drag_controller_)
+    ResetDraggedWindowGesture();
   GetGridWithRootWindow(Shell::GetRootWindowForDisplayId(display.id()))
       ->OnDisplayMetricsChanged();
 
diff --git a/base/feature_list.cc b/base/feature_list.cc
index 41e1775..916b824 100644
--- a/base/feature_list.cc
+++ b/base/feature_list.cc
@@ -29,6 +29,17 @@
 // Tracks whether the FeatureList instance was initialized via an accessor.
 bool g_initialized_from_accessor = false;
 
+#if DCHECK_IS_ON()
+const char* g_reason_overrides_disallowed = nullptr;
+
+void DCheckOverridesAllowed() {
+  const bool feature_overrides_allowed = !g_reason_overrides_disallowed;
+  DCHECK(feature_overrides_allowed) << g_reason_overrides_disallowed;
+}
+#else
+void DCheckOverridesAllowed() {}
+#endif
+
 // An allocator entry for a feature in shared memory. The FeatureEntry is
 // followed by a base::Pickle object that contains the feature and trial name.
 struct FeatureEntry {
@@ -86,6 +97,23 @@
 
 FeatureList::~FeatureList() = default;
 
+FeatureList::ScopedDisallowOverrides::ScopedDisallowOverrides(
+    const char* reason)
+#if DCHECK_IS_ON()
+    : previous_reason_(g_reason_overrides_disallowed) {
+  g_reason_overrides_disallowed = reason;
+}
+#else
+{
+}
+#endif
+
+FeatureList::ScopedDisallowOverrides::~ScopedDisallowOverrides() {
+#if DCHECK_IS_ON()
+  g_reason_overrides_disallowed = previous_reason_;
+#endif
+}
+
 void FeatureList::InitializeFromCommandLine(
     const std::string& enable_features,
     const std::string& disable_features) {
@@ -385,6 +413,7 @@
                                    OverrideState overridden_state,
                                    FieldTrial* field_trial) {
   DCHECK(!initialized_);
+  DCheckOverridesAllowed();
   if (field_trial) {
     DCHECK(IsValidFeatureOrFieldTrialName(field_trial->trial_name()))
         << field_trial->trial_name();
diff --git a/base/feature_list.h b/base/feature_list.h
index 116f31f..f46b30d 100644
--- a/base/feature_list.h
+++ b/base/feature_list.h
@@ -100,6 +100,21 @@
   FeatureList();
   ~FeatureList();
 
+  // Used by common test fixture classes to prevent abuse of ScopedFeatureList
+  // after multiple threads have started.
+  class BASE_EXPORT ScopedDisallowOverrides {
+   public:
+    explicit ScopedDisallowOverrides(const char* reason);
+    ~ScopedDisallowOverrides();
+
+   private:
+#if DCHECK_IS_ON()
+    const char* const previous_reason_;
+#endif
+
+    DISALLOW_COPY_AND_ASSIGN(ScopedDisallowOverrides);
+  };
+
   // Specifies whether a feature override enables or disables the feature.
   enum OverrideState {
     OVERRIDE_USE_DEFAULT,
diff --git a/base/test/scoped_feature_list.h b/base/test/scoped_feature_list.h
index 586deed..1d5bc7e 100644
--- a/base/test/scoped_feature_list.h
+++ b/base/test/scoped_feature_list.h
@@ -26,13 +26,19 @@
 // list and initialize it anew, destroy an existing scoped list and init
 // a new one.
 //
+// If multiple instances of this class are used in a nested fashion, they
+// should be destroyed in the opposite order of their Init*() methods being
+// called.
+//
 // ScopedFeatureList needs to be initialized (via one of Init*() methods)
 // before running code that inspects the state of features, such as in the
 // constructor of the test harness.
 //
-// If multiple instances of this class are used in a nested fashion, they
-// should be destroyed in the opposite order of their Init*() methods being
-// called.
+// WARNING: To be clear, in multithreaded test environments (such as browser
+// tests) there may background threads using FeatureList before the test body is
+// even entered. In these cases it is imperative that ScopedFeatureList be
+// initialized BEFORE those threads are started, hence the recommendation to do
+// initialization in the test harness's constructor.
 class ScopedFeatureList final {
  public:
   ScopedFeatureList();
diff --git a/build/fuchsia/linux.sdk.sha1 b/build/fuchsia/linux.sdk.sha1
index 876c992..cf2c9fe 100644
--- a/build/fuchsia/linux.sdk.sha1
+++ b/build/fuchsia/linux.sdk.sha1
@@ -1 +1 @@
-8899880327732877040
\ No newline at end of file
+8899641024057349936
\ No newline at end of file
diff --git a/build/fuchsia/mac.sdk.sha1 b/build/fuchsia/mac.sdk.sha1
index 63856f3..abe84f5 100644
--- a/build/fuchsia/mac.sdk.sha1
+++ b/build/fuchsia/mac.sdk.sha1
@@ -1 +1 @@
-8899879555102631152
\ No newline at end of file
+8899648435901939984
\ No newline at end of file
diff --git a/build/toolchain/win/midl.py b/build/toolchain/win/midl.py
index 8bfc2089..6d6fab0 100644
--- a/build/toolchain/win/midl.py
+++ b/build/toolchain/win/midl.py
@@ -2,12 +2,14 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
+from __future__ import division
 from __future__ import print_function
 
 import array
 import difflib
 import distutils.dir_util
 import filecmp
+import io
 import operator
 import os
 import re
@@ -18,6 +20,8 @@
 import tempfile
 import uuid
 
+from functools import reduce
+
 
 def ZapTimestamp(filename):
   contents = open(filename, 'rb').read()
@@ -45,65 +49,75 @@
     # There might be more custom data after that, but these 3 blocks are always
     # there for file-level metadata.
     # All data is little-endian in the file.
-    assert contents[0:8] == 'MSFT\x02\x00\x01\x00'
+    assert contents[0:8] == b'MSFT\x02\x00\x01\x00'
     ntypes, = struct.unpack_from('<I', contents, 0x20)
     custom_off, custom_len = struct.unpack_from(
         '<II', contents, 0x54 + 4*ntypes + 11*16)
     assert custom_len >= 0x54
     # First: Type string (0x8), followed by 0x3e characters.
-    assert contents[custom_off:custom_off+6] == '\x08\x00\x3e\x00\x00\x00'
+    assert contents[custom_off:custom_off + 6] == b'\x08\x00\x3e\x00\x00\x00'
     assert re.match(
-        r'Created by MIDL version 8\.\d\d\.\d{4} at ... Jan 1. ..:..:.. 2038\n',
+        br'Created by MIDL version 8\.\d\d\.\d{4} at ... Jan 1. ..:..:.. 2038\n',
         contents[custom_off + 6:custom_off + 6 + 0x3e])
     # Second: Type uint32 (0x13) storing 0x7fffffff (followed by WW / 0x57 pad)
     assert contents[custom_off+6+0x3e:custom_off+6+0x3e+8] == \
-        '\x13\x00\xff\xff\xff\x7f\x57\x57'
+        b'\x13\x00\xff\xff\xff\x7f\x57\x57'
     # Third: Type uint32 (0x13) storing MIDL compiler version.
-    assert contents[custom_off+6+0x3e+8:custom_off+6+0x3e+8+2] == '\x13\x00'
+    assert contents[custom_off + 6 + 0x3e + 8:custom_off + 6 + 0x3e + 8 +
+                    2] == b'\x13\x00'
     # Replace "Created by" string with fixed string, and fixed MIDL version with
     # 8.1.622 always.
-    contents = (contents[0:custom_off+6] +
-        'Created by MIDL version 8.xx.xxxx at a redacted point in time\n' +
+    contents = (
+        contents[0:custom_off + 6] +
+        b'Created by MIDL version 8.xx.xxxx at a redacted point in time\n' +
         # uint32 (0x13) val 0x7fffffff, WW, uint32 (0x13), val 0x0801026e, WW
-        '\x13\x00\xff\xff\xff\x7f\x57\x57\x13\x00\x6e\x02\x01\x08\x57\x57' +
+        b'\x13\x00\xff\xff\xff\x7f\x57\x57\x13\x00\x6e\x02\x01\x08\x57\x57' +
         contents[custom_off + 0x54:])
   else:
     contents = re.sub(
-        r'File created by MIDL compiler version 8\.\d\d\.\d{4} \*/\r\n'
-        r'/\* at ... Jan 1. ..:..:.. 2038',
-        r'File created by MIDL compiler version 8.xx.xxxx */\r\n'
-        r'/* at a redacted point in time', contents)
+        br'File created by MIDL compiler version 8\.\d\d\.\d{4} \*/\r\n'
+        br'/\* at ... Jan 1. ..:..:.. 2038',
+        br'File created by MIDL compiler version 8.xx.xxxx */\r\n'
+        br'/* at a redacted point in time', contents)
     contents = re.sub(
-        r'    Oicf, W1, Zp8, env=(.....) \(32b run\), '
-        r'target_arch=(AMD64|X86) 8\.\d\d\.\d{4}',
-        r'    Oicf, W1, Zp8, env=\1 (32b run), target_arch=\2 8.xx.xxxx',
+        br'    Oicf, W1, Zp8, env=(.....) \(32b run\), '
+        br'target_arch=(AMD64|X86) 8\.\d\d\.\d{4}',
+        br'    Oicf, W1, Zp8, env=\1 (32b run), target_arch=\2 8.xx.xxxx',
         contents)
     # TODO(thakis): If we need more hacks than these, try to verify checked-in
     # outputs when we're using the hermetic toolchain.
     # midl.exe older than 8.1.622 omit '//' after #endif, fix that:
-    contents = contents.replace('#endif !_MIDL_USE_GUIDDEF_',
-                                '#endif // !_MIDL_USE_GUIDDEF_')
+    contents = contents.replace(b'#endif !_MIDL_USE_GUIDDEF_',
+                                b'#endif // !_MIDL_USE_GUIDDEF_')
     # midl.exe puts the midl version into code in one place.  To have
     # predictable output, lie about the midl version if it's not 8.1.622.
     # This is unfortunate, but remember that there's beauty too in imperfection.
-    contents = contents.replace('0x801026c, /* MIDL Version 8.1.620 */',
-                                '0x801026e, /* MIDL Version 8.1.622 */')
+    contents = contents.replace(b'0x801026c, /* MIDL Version 8.1.620 */',
+                                b'0x801026e, /* MIDL Version 8.1.622 */')
   open(filename, 'wb').write(contents)
 
 
 def overwrite_cls_guid_h(h_file, dynamic_guid):
   contents = open(h_file, 'rb').read()
-  contents = re.sub(r'class DECLSPEC_UUID\("[^"]*"\)',
-                    r'class DECLSPEC_UUID("%s")' % str(dynamic_guid), contents)
+  contents = re.sub(br'class DECLSPEC_UUID\("[^"]*"\)',
+                    br'class DECLSPEC_UUID("%s")' % str(dynamic_guid).encode(),
+                    contents)
   open(h_file, 'wb').write(contents)
 
 
 def overwrite_cls_guid_iid(iid_file, dynamic_guid):
   contents = open(iid_file, 'rb').read()
   hexuuid = '0x%08x,0x%04x,0x%04x,' % dynamic_guid.fields[0:3]
-  hexuuid += ','.join('0x%02x' % ord(b) for b in dynamic_guid.bytes[8:])
-  contents = re.sub(r'MIDL_DEFINE_GUID\(CLSID, ([^,]*),[^)]*\)',
-                    r'MIDL_DEFINE_GUID(CLSID, \1,%s)' % hexuuid, contents)
+
+  # dynamic_guid.bytes is a bytestring in Py3, but a normal string in Py2.
+  if sys.version_info.major == 2:
+    hexuuid += ','.join('0x%02x' % ord(b) for b in dynamic_guid.bytes[8:])
+  else:
+    hexuuid += ','.join('0x%02x' % b for b in dynamic_guid.bytes[8:])
+
+  contents = re.sub(br'MIDL_DEFINE_GUID\(CLSID, ([^,]*),[^)]*\)',
+                    br'MIDL_DEFINE_GUID(CLSID, \1,%s)' % hexuuid.encode(),
+                    contents)
   open(iid_file, 'wb').write(contents)
 
 
@@ -112,27 +126,34 @@
   # section contains type descriptions, and the first type should be our
   # coclass.  It points to the type's GUID in section 6, the GUID section.
   contents = open(tlb_file, 'rb').read()
-  assert contents[0:8] == 'MSFT\x02\x00\x01\x00'
+  assert contents[0:8] == b'MSFT\x02\x00\x01\x00'
   ntypes, = struct.unpack_from('<I', contents, 0x20)
   type_off, type_len = struct.unpack_from('<II', contents, 0x54 + 4*ntypes)
-  assert ord(contents[type_off]) == 0x25, "expected coclass"
+
+  # contents is a bytestring in Python 3, but a normal string in Py2.
+  if sys.version_info.major == 2:
+    coclass = ord(contents[type_off])
+  else:
+    coclass = contents[type_off]
+  assert coclass == 0x25, "expected coclass"
+
   guidind = struct.unpack_from('<I', contents, type_off + 0x2c)[0]
   guid_off, guid_len = struct.unpack_from(
       '<II', contents, 0x54 + 4*ntypes + 5*16)
   assert guidind + 14 <= guid_len
-  contents = array.array('c', contents)
+  contents = array.array('B', contents)
   struct.pack_into('<IHH8s', contents, guid_off + guidind,
                    *(dynamic_guid.fields[0:3] + (dynamic_guid.bytes[8:],)))
   # The GUID is correct now, but there's also a GUID hashtable in section 5.
   # Need to recreate that too.  Since the hash table uses chaining, it's
   # easiest to recompute it from scratch rather than trying to patch it up.
-  hashtab = [0xffffffff] * (0x80 / 4)
+  hashtab = [0xffffffff] * (0x80 // 4)
   for guidind in range(guid_off, guid_off + guid_len, 24):
     guidbytes, typeoff, nextguid = struct.unpack_from(
         '<16sII', contents, guidind)
     words = struct.unpack('<8H', guidbytes)
     # midl seems to use the following simple hash function for GUIDs:
-    guidhash = reduce(operator.xor, [w for w in words]) % (0x80 / 4)
+    guidhash = reduce(operator.xor, [w for w in words]) % (0x80 // 4)
     nextguid = hashtab[guidhash]
     struct.pack_into('<I', contents, guidind + 0x14, nextguid)
     hashtab[guidhash] = guidind - guid_off
@@ -199,7 +220,7 @@
     # to filter is pairs of lines that look like this:
     # Processing C:\Program Files (x86)\Microsoft SDKs\...\include\objidl.idl
     # objidl.idl
-    lines = out.splitlines()
+    lines = out.decode('utf-8').splitlines()
     prefixes = ('Processing ', '64 bit Processing ')
     processing = set(os.path.basename(x)
                      for x in lines if x.startswith(prefixes))
@@ -223,8 +244,8 @@
         tofile = os.path.join(tmp_dir, f)
         print(''.join(
             difflib.unified_diff(
-                open(fromfile, 'U').readlines(),
-                open(tofile, 'U').readlines(), fromfile, tofile)))
+                io.open(fromfile).readlines(),
+                io.open(tofile).readlines(), fromfile, tofile)))
       delete_tmp_dir = False
       print('To rebaseline:')
       print(r'  copy /y %s\* %s' % (tmp_dir, source))
diff --git a/chrome/VERSION b/chrome/VERSION
index 9cbd42c..dd0fadc 100644
--- a/chrome/VERSION
+++ b/chrome/VERSION
@@ -1,4 +1,4 @@
 MAJOR=79
 MINOR=0
-BUILD=3940
+BUILD=3942
 PATCH=0
diff --git a/chrome/android/chrome_test_java_sources.gni b/chrome/android/chrome_test_java_sources.gni
index 594d93a..a0e7bf3 100644
--- a/chrome/android/chrome_test_java_sources.gni
+++ b/chrome/android/chrome_test_java_sources.gni
@@ -172,6 +172,7 @@
   "javatests/src/org/chromium/chrome/browser/findinpage/FindTest.java",
   "javatests/src/org/chromium/chrome/browser/firstrun/FirstRunActivityTestObserver.java",
   "javatests/src/org/chromium/chrome/browser/firstrun/FirstRunIntegrationTest.java",
+  "javatests/src/org/chromium/chrome/browser/firstrun/FirstRunUtilsTest.java",
   "javatests/src/org/chromium/chrome/browser/fullscreen/FullscreenManagerTest.java",
   "javatests/src/org/chromium/chrome/browser/fullscreen/FullscreenManagerTestUtils.java",
   "javatests/src/org/chromium/chrome/browser/gcore/MockConnectedTask.java",
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunFlowSequencer.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunFlowSequencer.java
index ce32618..80b7da7 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunFlowSequencer.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunFlowSequencer.java
@@ -25,7 +25,6 @@
 import org.chromium.chrome.browser.services.AndroidEduAndChildAccountHelper;
 import org.chromium.chrome.browser.signin.IdentityServicesProvider;
 import org.chromium.chrome.browser.signin.SigninManager;
-import org.chromium.chrome.browser.util.FeatureUtilities;
 import org.chromium.chrome.browser.util.IntentUtils;
 import org.chromium.chrome.browser.util.UrlConstants;
 import org.chromium.chrome.browser.vr.VrModuleProvider;
@@ -100,7 +99,7 @@
     @VisibleForTesting
     protected boolean isSyncAllowed() {
         SigninManager signinManager = IdentityServicesProvider.getSigninManager();
-        return FeatureUtilities.canAllowSync() && !signinManager.isSigninDisabledByPolicy()
+        return FirstRunUtils.canAllowSync() && !signinManager.isSigninDisabledByPolicy()
                 && signinManager.isSigninSupported();
     }
 
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunSignInProcessor.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunSignInProcessor.java
index bc04fbe..443c3088 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunSignInProcessor.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunSignInProcessor.java
@@ -20,7 +20,6 @@
 import org.chromium.chrome.browser.signin.SigninManager.SignInCallback;
 import org.chromium.chrome.browser.signin.UnifiedConsentServiceBridge;
 import org.chromium.chrome.browser.sync.ProfileSyncService;
-import org.chromium.chrome.browser.util.FeatureUtilities;
 
 /**
  * A helper to perform all necessary steps for the automatic FRE sign in.
@@ -68,7 +67,7 @@
             return;
         }
         final String accountName = getFirstRunFlowSignInAccountName();
-        if (!FeatureUtilities.canAllowSync() || !signinManager.isSignInAllowed()
+        if (!FirstRunUtils.canAllowSync() || !signinManager.isSignInAllowed()
                 || TextUtils.isEmpty(accountName)) {
             setFirstRunFlowSignInComplete(true);
             return;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunUtils.java
index 420be65..b7ed8fc 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunUtils.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunUtils.java
@@ -4,15 +4,24 @@
 
 package org.chromium.chrome.browser.firstrun;
 
+import android.annotation.SuppressLint;
+import android.annotation.TargetApi;
+import android.content.Context;
 import android.content.SharedPreferences;
+import android.os.Build;
+import android.os.Bundle;
+import android.os.UserManager;
 
 import org.chromium.base.ContextUtils;
+import org.chromium.base.VisibleForTesting;
 import org.chromium.chrome.browser.metrics.UmaSessionStats;
 import org.chromium.chrome.browser.preferences.PrefServiceBridge;
+import org.chromium.components.signin.AccountManagerFacade;
 
 /** Provides first run related utility functions. */
 public class FirstRunUtils {
     public static final String CACHED_TOS_ACCEPTED_PREF = "first_run_tos_accepted";
+    private static Boolean sHasGoogleAccountAuthenticator;
 
     /**
      * Synchronizes first run native and Java preferences.
@@ -63,4 +72,37 @@
                 .apply();
         PrefServiceBridge.getInstance().setEulaAccepted();
     }
+
+    /**
+     * Determines whether or not the user has a Google account (so we can sync) or can add one.
+     * @return Whether or not sync is allowed on this device.
+     */
+    static boolean canAllowSync() {
+        return (hasGoogleAccountAuthenticator() && hasSyncPermissions()) || hasGoogleAccounts();
+    }
+
+    @VisibleForTesting
+    static boolean hasGoogleAccountAuthenticator() {
+        if (sHasGoogleAccountAuthenticator == null) {
+            AccountManagerFacade accountHelper = AccountManagerFacade.get();
+            sHasGoogleAccountAuthenticator = accountHelper.hasGoogleAccountAuthenticator();
+        }
+        return sHasGoogleAccountAuthenticator;
+    }
+
+    @VisibleForTesting
+    static boolean hasGoogleAccounts() {
+        return AccountManagerFacade.get().hasGoogleAccounts();
+    }
+
+    @SuppressLint("InlinedApi")
+    @TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR2)
+    private static boolean hasSyncPermissions() {
+        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN_MR2) return true;
+
+        UserManager manager = (UserManager) ContextUtils.getApplicationContext().getSystemService(
+                Context.USER_SERVICE);
+        Bundle userRestrictions = manager.getUserRestrictions();
+        return !userRestrictions.getBoolean(UserManager.DISALLOW_MODIFY_ACCOUNTS, false);
+    }
 }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/ForcedSigninProcessor.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/ForcedSigninProcessor.java
index fd73d4a..ba2da789 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/ForcedSigninProcessor.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/ForcedSigninProcessor.java
@@ -14,7 +14,6 @@
 import org.chromium.chrome.browser.services.AndroidEduAndChildAccountHelper;
 import org.chromium.chrome.browser.signin.IdentityServicesProvider;
 import org.chromium.chrome.browser.signin.SigninManager;
-import org.chromium.chrome.browser.util.FeatureUtilities;
 import org.chromium.components.signin.AccountManagerFacade;
 import org.chromium.components.signin.ChildAccountStatus;
 
@@ -69,7 +68,7 @@
         final SigninManager signinManager = IdentityServicesProvider.getSigninManager();
         // By definition we have finished all the checks for first run.
         signinManager.onFirstRunCheckDone();
-        if (!FeatureUtilities.canAllowSync() || !signinManager.isSignInAllowed()) {
+        if (!FirstRunUtils.canAllowSync() || !signinManager.isSignInAllowed()) {
             Log.d(TAG, "Sign in disallowed");
             return;
         }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/util/FeatureUtilities.java b/chrome/android/java/src/org/chromium/chrome/browser/util/FeatureUtilities.java
index 5a5e3f3..7669494 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/util/FeatureUtilities.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/util/FeatureUtilities.java
@@ -4,14 +4,9 @@
 
 package org.chromium.chrome.browser.util;
 
-import android.annotation.SuppressLint;
-import android.annotation.TargetApi;
-import android.content.Context;
 import android.content.Intent;
 import android.content.pm.ResolveInfo;
 import android.os.Build;
-import android.os.Bundle;
-import android.os.UserManager;
 import android.speech.RecognizerIntent;
 
 import androidx.annotation.Nullable;
@@ -34,7 +29,6 @@
 import org.chromium.chrome.browser.firstrun.FirstRunUtils;
 import org.chromium.chrome.browser.preferences.ChromePreferenceManager;
 import org.chromium.chrome.browser.tasks.tab_management.TabManagementModuleProvider;
-import org.chromium.components.signin.AccountManagerFacade;
 import org.chromium.ui.base.DeviceFormFactor;
 
 import java.util.HashMap;
@@ -191,7 +185,6 @@
             "click_to_call_open_dialer_directly";
 
     private static Map<String, Boolean> sFlags = new HashMap<>();
-    private static Boolean sHasGoogleAccountAuthenticator;
     private static Boolean sHasRecognitionIntentHandler;
     private static Boolean sIsTabToGtsAnimationEnabled;
     private static String sReachedCodeProfilerTrialGroup;
@@ -216,39 +209,6 @@
     }
 
     /**
-     * Determines whether or not the user has a Google account (so we can sync) or can add one.
-     * @return Whether or not sync is allowed on this device.
-     */
-    public static boolean canAllowSync() {
-        return (hasGoogleAccountAuthenticator() && hasSyncPermissions()) || hasGoogleAccounts();
-    }
-
-    @VisibleForTesting
-    static boolean hasGoogleAccountAuthenticator() {
-        if (sHasGoogleAccountAuthenticator == null) {
-            AccountManagerFacade accountHelper = AccountManagerFacade.get();
-            sHasGoogleAccountAuthenticator = accountHelper.hasGoogleAccountAuthenticator();
-        }
-        return sHasGoogleAccountAuthenticator;
-    }
-
-    @VisibleForTesting
-    static boolean hasGoogleAccounts() {
-        return AccountManagerFacade.get().hasGoogleAccounts();
-    }
-
-    @SuppressLint("InlinedApi")
-    @TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR2)
-    private static boolean hasSyncPermissions() {
-        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN_MR2) return true;
-
-        UserManager manager = (UserManager) ContextUtils.getApplicationContext().getSystemService(
-                Context.USER_SERVICE);
-        Bundle userRestrictions = manager.getUserRestrictions();
-        return !userRestrictions.getBoolean(UserManager.DISALLOW_MODIFY_ACCOUNTS, false);
-    }
-
-    /**
      * Records the current custom tab visibility state with native-side feature utilities.
      * @param visible Whether a custom tab is visible.
      */
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/firstrun/FirstRunUtilsTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/firstrun/FirstRunUtilsTest.java
new file mode 100644
index 0000000..440e050
--- /dev/null
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/firstrun/FirstRunUtilsTest.java
@@ -0,0 +1,119 @@
+// 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.firstrun;
+
+import android.accounts.Account;
+import android.accounts.AuthenticatorDescription;
+import android.support.test.InstrumentationRegistry;
+import android.support.test.filters.SmallTest;
+
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import org.chromium.base.ContextUtils;
+import org.chromium.base.test.util.AdvancedMockContext;
+import org.chromium.base.test.util.Feature;
+import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
+import org.chromium.components.signin.AccountManagerFacade;
+import org.chromium.components.signin.test.util.AccountHolder;
+import org.chromium.components.signin.test.util.FakeAccountManagerDelegate;
+
+/**
+ * Unit Test for {@link FirstRunUtils}.
+ */
+@RunWith(ChromeJUnit4ClassRunner.class)
+public class FirstRunUtilsTest {
+    private FakeAuthenticationAccountManager mAccountManager;
+    private AdvancedMockContext mAccountTestingContext;
+    private Account mTestAccount;
+
+    public FirstRunUtilsTest() {
+        mTestAccount = AccountManagerFacade.createAccountFromName("Dummy");
+    }
+
+    @Before
+    public void setUp() {
+        // GetInstrumentation().getTargetContext() cannot be called in
+        // constructor due to external dependencies.
+        mAccountTestingContext =
+                new AdvancedMockContext(InstrumentationRegistry.getTargetContext());
+    }
+
+    private static class FakeAuthenticationAccountManager extends FakeAccountManagerDelegate {
+        private final String mAccountType;
+
+        public FakeAuthenticationAccountManager(String accountType) {
+            super(FakeAccountManagerDelegate.DISABLE_PROFILE_DATA_SOURCE);
+            mAccountType = accountType;
+        }
+
+        @Override
+        public AuthenticatorDescription[] getAuthenticatorTypes() {
+            AuthenticatorDescription googleAuthenticator =
+                    new AuthenticatorDescription(mAccountType, "p1", 0, 0, 0, 0);
+
+            return new AuthenticatorDescription[] {googleAuthenticator};
+        }
+    }
+
+    private void setUpAccountManager(String accountType) {
+        mAccountManager = new FakeAuthenticationAccountManager(accountType);
+        AccountManagerFacade.overrideAccountManagerFacadeForTests(mAccountManager);
+    }
+
+    private void addTestAccount() {
+        mAccountManager.addAccountHolderBlocking(
+                AccountHolder.builder(mTestAccount).alwaysAccept(true).build());
+    }
+
+    // This test previously flaked on the try bot: http://crbug.com/543160.
+    // Re-enabling this test since there has been related cleanup/refactoring
+    // during the time the test was disabled. If the test starts flaking again,
+    // re-open the bug.
+    // TODO(nyquist): Remove this if the test is not flaky anymore.
+    @Test
+    @SmallTest
+    @Feature({"FeatureUtilities", "GoogleAccounts"})
+    public void testHasGoogleAccountCorrectlyDetected() {
+        // Set up an account manager mock that returns Google account types
+        // when queried.
+        setUpAccountManager(AccountManagerFacade.GOOGLE_ACCOUNT_TYPE);
+        addTestAccount();
+
+        ContextUtils.initApplicationContextForTests(mAccountTestingContext);
+        boolean hasAccounts = FirstRunUtils.hasGoogleAccounts();
+
+        Assert.assertTrue(hasAccounts);
+
+        boolean hasAuthenticator = FirstRunUtils.hasGoogleAccountAuthenticator();
+
+        Assert.assertTrue(hasAuthenticator);
+    }
+
+    // This test previously flaked on the try bot: http://crbug.com/543160.
+    // Re-enabling this test since there has been related cleanup/refactoring
+    // during the time the test was disabled. If the test starts flaking again,
+    // re-open the bug.
+    // TODO(nyquist): Remove this if the test is not flaky anymore.
+    @Test
+    @SmallTest
+    @Feature({"FeatureUtilities", "GoogleAccounts"})
+    public void testHasNoGoogleAccountCorrectlyDetected() {
+        // Set up an account manager mock that doesn't have any accounts and doesn't have Google
+        // account authenticator.
+        setUpAccountManager("Not A Google Account");
+
+        ContextUtils.initApplicationContextForTests(mAccountTestingContext);
+        boolean hasAccounts = FirstRunUtils.hasGoogleAccounts();
+
+        Assert.assertFalse(hasAccounts);
+
+        boolean hasAuthenticator = FirstRunUtils.hasGoogleAccountAuthenticator();
+
+        Assert.assertFalse(hasAuthenticator);
+    }
+}
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/util/FeatureUtilitiesTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/util/FeatureUtilitiesTest.java
index b27107d..773a2f0f 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/util/FeatureUtilitiesTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/util/FeatureUtilitiesTest.java
@@ -4,8 +4,6 @@
 
 package org.chromium.chrome.browser.util;
 
-import android.accounts.Account;
-import android.accounts.AuthenticatorDescription;
 import android.content.Intent;
 import android.content.pm.ResolveInfo;
 import android.speech.RecognizerIntent;
@@ -15,7 +13,6 @@
 
 import org.junit.After;
 import org.junit.Assert;
-import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
@@ -24,8 +21,6 @@
 import org.chromium.base.test.util.Feature;
 import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
 import org.chromium.components.signin.AccountManagerFacade;
-import org.chromium.components.signin.test.util.AccountHolder;
-import org.chromium.components.signin.test.util.FakeAccountManagerDelegate;
 import org.chromium.content_public.browser.test.util.TestThreadUtils;
 
 import java.util.ArrayList;
@@ -38,9 +33,6 @@
 public class FeatureUtilitiesTest {
     private IntentTestMockContext mContextWithSpeech;
     private IntentTestMockContext mContextWithoutSpeech;
-    private FakeAuthenticationAccountManager mAccountManager;
-    private AdvancedMockContext mAccountTestingContext;
-    private Account mTestAccount;
 
     public FeatureUtilitiesTest() {
         mContextWithSpeech = new IntentTestMockContext(
@@ -48,16 +40,6 @@
 
         mContextWithoutSpeech = new IntentTestMockContext(
                 RecognizerIntent.ACTION_WEB_SEARCH);
-
-        mTestAccount = AccountManagerFacade.createAccountFromName("Dummy");
-    }
-
-    @Before
-    public void setUp() {
-        // GetInstrumentation().getTargetContext() cannot be called in
-        // constructor due to external dependencies.
-        mAccountTestingContext =
-                new AdvancedMockContext(InstrumentationRegistry.getTargetContext());
     }
 
     @After
@@ -103,39 +85,12 @@
         }
     }
 
-    private static class FakeAuthenticationAccountManager extends FakeAccountManagerDelegate {
-        private final String mAccountType;
-
-        public FakeAuthenticationAccountManager(String accountType) {
-            super(FakeAccountManagerDelegate.DISABLE_PROFILE_DATA_SOURCE);
-            mAccountType = accountType;
-        }
-
-        @Override
-        public AuthenticatorDescription[] getAuthenticatorTypes() {
-            AuthenticatorDescription googleAuthenticator =
-                    new AuthenticatorDescription(mAccountType, "p1", 0, 0, 0, 0);
-
-            return new AuthenticatorDescription[] { googleAuthenticator };
-        }
-    }
-
     private static boolean isRecognitionIntentPresent(final boolean useCachedResult) {
         // Context can only be queried on a UI Thread.
         return TestThreadUtils.runOnUiThreadBlockingNoException(
                 () -> FeatureUtilities.isRecognitionIntentPresent(useCachedResult));
     }
 
-    private void setUpAccountManager(String accountType) {
-        mAccountManager = new FakeAuthenticationAccountManager(accountType);
-        AccountManagerFacade.overrideAccountManagerFacadeForTests(mAccountManager);
-    }
-
-    private void addTestAccount() {
-        mAccountManager.addAccountHolderBlocking(
-                AccountHolder.builder(mTestAccount).alwaysAccept(true).build());
-    }
-
     @Test
     @SmallTest
     @Feature({"FeatureUtilities", "Speech"})
@@ -185,50 +140,4 @@
         Assert.assertFalse(RecognizesSpeechUncached);
     }
 
-    // This test previously flaked on the try bot: http://crbug.com/543160.
-    // Re-enabling this test since there has been related cleanup/refactoring
-    // during the time the test was disabled. If the test starts flaking again,
-    // re-open the bug.
-    // TODO(nyquist): Remove this if the test is not flaky anymore.
-    @Test
-    @SmallTest
-    @Feature({"FeatureUtilities", "GoogleAccounts"})
-    public void testHasGoogleAccountCorrectlyDetected() {
-        // Set up an account manager mock that returns Google account types
-        // when queried.
-        setUpAccountManager(AccountManagerFacade.GOOGLE_ACCOUNT_TYPE);
-        addTestAccount();
-
-        ContextUtils.initApplicationContextForTests(mAccountTestingContext);
-        boolean hasAccounts = FeatureUtilities.hasGoogleAccounts();
-
-        Assert.assertTrue(hasAccounts);
-
-        boolean hasAuthenticator = FeatureUtilities.hasGoogleAccountAuthenticator();
-
-        Assert.assertTrue(hasAuthenticator);
-    }
-
-    // This test previously flaked on the try bot: http://crbug.com/543160.
-    // Re-enabling this test since there has been related cleanup/refactoring
-    // during the time the test was disabled. If the test starts flaking again,
-    // re-open the bug.
-    // TODO(nyquist): Remove this if the test is not flaky anymore.
-    @Test
-    @SmallTest
-    @Feature({"FeatureUtilities", "GoogleAccounts"})
-    public void testHasNoGoogleAccountCorrectlyDetected() {
-        // Set up an account manager mock that doesn't have any accounts and doesn't have Google
-        // account authenticator.
-        setUpAccountManager("Not A Google Account");
-
-        ContextUtils.initApplicationContextForTests(mAccountTestingContext);
-        boolean hasAccounts = FeatureUtilities.hasGoogleAccounts();
-
-        Assert.assertFalse(hasAccounts);
-
-        boolean hasAuthenticator = FeatureUtilities.hasGoogleAccountAuthenticator();
-
-        Assert.assertFalse(hasAuthenticator);
-    }
 }
diff --git a/chrome/app/theme/default_100_percent/common/cookie_blocking_inactive_header.png b/chrome/app/theme/default_100_percent/common/cookie_blocking_inactive_header.png
index 103fa73..2d39cc8 100644
--- a/chrome/app/theme/default_100_percent/common/cookie_blocking_inactive_header.png
+++ b/chrome/app/theme/default_100_percent/common/cookie_blocking_inactive_header.png
Binary files differ
diff --git a/chrome/app/theme/default_100_percent/common/cookie_blocking_off_header.png b/chrome/app/theme/default_100_percent/common/cookie_blocking_off_header.png
index 4926a7a8..b12cad26 100644
--- a/chrome/app/theme/default_100_percent/common/cookie_blocking_off_header.png
+++ b/chrome/app/theme/default_100_percent/common/cookie_blocking_off_header.png
Binary files differ
diff --git a/chrome/app/theme/default_100_percent/common/cookie_blocking_on_header.png b/chrome/app/theme/default_100_percent/common/cookie_blocking_on_header.png
index 266f210..560b378 100644
--- a/chrome/app/theme/default_100_percent/common/cookie_blocking_on_header.png
+++ b/chrome/app/theme/default_100_percent/common/cookie_blocking_on_header.png
Binary files differ
diff --git a/chrome/app/theme/default_200_percent/common/cookie_blocking_inactive_header.png b/chrome/app/theme/default_200_percent/common/cookie_blocking_inactive_header.png
new file mode 100644
index 0000000..fc58c499
--- /dev/null
+++ b/chrome/app/theme/default_200_percent/common/cookie_blocking_inactive_header.png
Binary files differ
diff --git a/chrome/app/theme/default_200_percent/common/cookie_blocking_off_header.png b/chrome/app/theme/default_200_percent/common/cookie_blocking_off_header.png
new file mode 100644
index 0000000..83f9d637
--- /dev/null
+++ b/chrome/app/theme/default_200_percent/common/cookie_blocking_off_header.png
Binary files differ
diff --git a/chrome/app/theme/default_200_percent/common/cookie_blocking_on_header.png b/chrome/app/theme/default_200_percent/common/cookie_blocking_on_header.png
new file mode 100644
index 0000000..7e88586
--- /dev/null
+++ b/chrome/app/theme/default_200_percent/common/cookie_blocking_on_header.png
Binary files differ
diff --git a/chrome/browser/DEPS b/chrome/browser/DEPS
index 3c691cde..9b4aaccc 100644
--- a/chrome/browser/DEPS
+++ b/chrome/browser/DEPS
@@ -423,7 +423,6 @@
   "+third_party/blink/public/web/web_context_menu_data.h",
   "+third_party/blink/public/web/web_fullscreen_options.h",
   "+third_party/blink/public/web/web_media_player_action.h",
-  "+third_party/blink/public/web/web_presentation_receiver_flags.h",
   "+third_party/blink/public/web/web_triggering_event_info.h",
 ]
 
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
index 23edd09..8a6fbe31 100644
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -1448,9 +1448,6 @@
     {"clear-old-browsing-data", flag_descriptions::kClearOldBrowsingDataName,
      flag_descriptions::kClearOldBrowsingDataDescription, kOsAndroid,
      FEATURE_VALUE_TYPE(features::kClearOldBrowsingData)},
-    {"enable-new-photo-picker", flag_descriptions::kNewPhotoPickerName,
-     flag_descriptions::kNewPhotoPickerDescription, kOsAndroid,
-     FEATURE_VALUE_TYPE(chrome::android::kNewPhotoPicker)},
     {"enable-surfacecontrol", flag_descriptions::kAndroidSurfaceControl,
      flag_descriptions::kAndroidSurfaceControlDescription, kOsAndroid,
      FEATURE_VALUE_TYPE(features::kAndroidSurfaceControl)},
@@ -3806,14 +3803,6 @@
      FEATURE_VALUE_TYPE(chromeos::features::kDiscoverApp)},
 #endif  // defined(OS_CHROMEOS)
 
-#if defined(OS_ANDROID)
-    {"allow-remote-context-for-notifications",
-     flag_descriptions::kAllowRemoteContextForNotificationsName,
-     flag_descriptions::kAllowRemoteContextForNotificationsDescription,
-     kOsAndroid,
-     FEATURE_VALUE_TYPE(chrome::android::kAllowRemoteContextForNotifications)},
-#endif  // defined(OS_ANDROID)
-
 #if defined(OS_CHROMEOS)
     {"ash-enable-pip-rounded-corners",
      flag_descriptions::kAshEnablePipRoundedCornersName,
diff --git a/chrome/browser/android/search_permissions/search_geolocation_disclosure_tab_helper.cc b/chrome/browser/android/search_permissions/search_geolocation_disclosure_tab_helper.cc
index 86c9482f..3806e21 100644
--- a/chrome/browser/android/search_permissions/search_geolocation_disclosure_tab_helper.cc
+++ b/chrome/browser/android/search_permissions/search_geolocation_disclosure_tab_helper.cc
@@ -160,6 +160,10 @@
       TemplateURLServiceFactory::GetForProfile(GetProfile());
   const TemplateURL* template_url =
       template_url_service->GetDefaultSearchProvider();
+  // ShouldShowDisclosureForNavigation() checked explicitly that the default
+  // search |template_url| was non-null, and ShouldShowDisclosureForAPIAccess()
+  // would have also seen an empty DSE origin if it were.
+  DCHECK(template_url);
   base::string16 search_engine_name = template_url->short_name();
   SearchGeolocationDisclosureInfoBarDelegate::Create(web_contents(), gurl,
                                                      search_engine_name);
diff --git a/chrome/browser/apps/app_service/app_service_proxy.cc b/chrome/browser/apps/app_service/app_service_proxy.cc
index f8156130..ab708b6 100644
--- a/chrome/browser/apps/app_service/app_service_proxy.cc
+++ b/chrome/browser/apps/app_service/app_service_proxy.cc
@@ -173,6 +173,30 @@
   }
 }
 
+void AppServiceProxy::LaunchAppWithIntent(
+    const std::string& app_id,
+    apps::mojom::IntentPtr intent,
+    apps::mojom::LaunchSource launch_source,
+    int64_t display_id) {
+  if (app_service_.is_connected()) {
+    cache_.ForOneApp(app_id, [this, &intent, launch_source,
+                              display_id](const apps::AppUpdate& update) {
+      RecordAppLaunch(update.AppId(), launch_source);
+      app_service_->LaunchAppWithIntent(update.AppType(), update.AppId(),
+                                        std::move(intent), launch_source,
+                                        display_id);
+    });
+  }
+}
+
+void AppServiceProxy::LaunchAppWithUrl(const std::string& app_id,
+                                       GURL url,
+                                       apps::mojom::LaunchSource launch_source,
+                                       int64_t display_id) {
+  LaunchAppWithIntent(app_id, apps_util::CreateIntentFromUrl(url),
+                      launch_source, display_id);
+}
+
 void AppServiceProxy::SetPermission(const std::string& app_id,
                                     apps::mojom::PermissionPtr permission) {
   if (app_service_.is_connected()) {
diff --git a/chrome/browser/apps/app_service/app_service_proxy.h b/chrome/browser/apps/app_service/app_service_proxy.h
index 12d95dbf..7719589e 100644
--- a/chrome/browser/apps/app_service/app_service_proxy.h
+++ b/chrome/browser/apps/app_service/app_service_proxy.h
@@ -64,6 +64,14 @@
               int32_t event_flags,
               apps::mojom::LaunchSource launch_source,
               int64_t display_id);
+  void LaunchAppWithIntent(const std::string& app_id,
+                           apps::mojom::IntentPtr intent,
+                           apps::mojom::LaunchSource launch_source,
+                           int64_t display_id);
+  void LaunchAppWithUrl(const std::string& app_id,
+                        GURL url,
+                        apps::mojom::LaunchSource launch_source,
+                        int64_t display_id);
   void SetPermission(const std::string& app_id,
                      apps::mojom::PermissionPtr permission);
   void Uninstall(const std::string& app_id);
diff --git a/chrome/browser/apps/app_service/arc_apps.cc b/chrome/browser/apps/app_service/arc_apps.cc
index 685de53..48c852d 100644
--- a/chrome/browser/apps/app_service/arc_apps.cc
+++ b/chrome/browser/apps/app_service/arc_apps.cc
@@ -10,6 +10,8 @@
 #include "base/bind.h"
 #include "base/callback.h"
 #include "base/containers/flat_map.h"
+#include "base/metrics/histogram_macros.h"
+#include "base/optional.h"
 #include "chrome/browser/apps/app_service/app_service_proxy.h"
 #include "chrome/browser/apps/app_service/app_service_proxy_factory.h"
 #include "chrome/browser/apps/app_service/arc_apps_factory.h"
@@ -93,6 +95,69 @@
   }
 }
 
+base::Optional<arc::UserInteractionType> GetUserInterationType(
+    apps::mojom::LaunchSource launch_source) {
+  auto user_interaction_type = arc::UserInteractionType::NOT_USER_INITIATED;
+  switch (launch_source) {
+    // kUnknown is not set anywhere, this case is not valid.
+    case apps::mojom::LaunchSource::kUnknown:
+      return base::nullopt;
+    case apps::mojom::LaunchSource::kFromAppListGrid:
+      user_interaction_type =
+          arc::UserInteractionType::APP_STARTED_FROM_LAUNCHER;
+      break;
+    case apps::mojom::LaunchSource::kFromAppListGridContextMenu:
+      user_interaction_type =
+          arc::UserInteractionType::APP_STARTED_FROM_LAUNCHER_CONTEXT_MENU;
+      break;
+    case apps::mojom::LaunchSource::kFromAppListQuery:
+      user_interaction_type =
+          arc::UserInteractionType::APP_STARTED_FROM_LAUNCHER_SEARCH;
+      break;
+    case apps::mojom::LaunchSource::kFromAppListQueryContextMenu:
+      user_interaction_type = arc::UserInteractionType::
+          APP_STARTED_FROM_LAUNCHER_SEARCH_CONTEXT_MENU;
+      break;
+    case apps::mojom::LaunchSource::kFromAppListRecommendation:
+      user_interaction_type =
+          arc::UserInteractionType::APP_STARTED_FROM_LAUNCHER_SUGGESTED_APP;
+      break;
+    case apps::mojom::LaunchSource::kFromParentalControls:
+      user_interaction_type =
+          arc::UserInteractionType::APP_STARTED_FROM_SETTINGS;
+      break;
+    case apps::mojom::LaunchSource::kFromShelf:
+      user_interaction_type = arc::UserInteractionType::APP_STARTED_FROM_SHELF;
+      break;
+    case apps::mojom::LaunchSource::kFromFileManager:
+      user_interaction_type =
+          arc::UserInteractionType::APP_STARTED_FROM_FILE_MANAGER;
+      break;
+    default:
+      NOTREACHED();
+      return base::nullopt;
+  }
+  return user_interaction_type;
+}
+
+arc::mojom::IntentInfoPtr CreateArcViewIntent(apps::mojom::IntentPtr intent) {
+  arc::mojom::IntentInfoPtr arc_intent;
+  if (!intent->scheme.has_value() || !intent->host.has_value() ||
+      !intent->path.has_value()) {
+    return arc_intent;
+  }
+
+  arc_intent = arc::mojom::IntentInfo::New();
+  auto uri_components = arc::mojom::UriComponents::New();
+  constexpr char kAndroidIntentActionView[] = "android.intent.action.VIEW";
+  uri_components->scheme = intent->scheme.value();
+  uri_components->authority = intent->host.value();
+  uri_components->path = intent->path.value();
+  arc_intent->action = kAndroidIntentActionView;
+  arc_intent->uri_components = std::move(uri_components);
+  return arc_intent;
+}
+
 }  // namespace
 
 namespace apps {
@@ -232,38 +297,63 @@
                      int32_t event_flags,
                      apps::mojom::LaunchSource launch_source,
                      int64_t display_id) {
-  auto uit = arc::UserInteractionType::NOT_USER_INITIATED;
-  switch (launch_source) {
-    case apps::mojom::LaunchSource::kUnknown:
-      return;
-    case apps::mojom::LaunchSource::kFromAppListGrid:
-      uit = arc::UserInteractionType::APP_STARTED_FROM_LAUNCHER;
-      break;
-    case apps::mojom::LaunchSource::kFromAppListGridContextMenu:
-      uit = arc::UserInteractionType::APP_STARTED_FROM_LAUNCHER_CONTEXT_MENU;
-      break;
-    case apps::mojom::LaunchSource::kFromAppListQuery:
-      uit = arc::UserInteractionType::APP_STARTED_FROM_LAUNCHER_SEARCH;
-      break;
-    case apps::mojom::LaunchSource::kFromAppListQueryContextMenu:
-      uit = arc::UserInteractionType::
-          APP_STARTED_FROM_LAUNCHER_SEARCH_CONTEXT_MENU;
-      break;
-    case apps::mojom::LaunchSource::kFromAppListRecommendation:
-      uit = arc::UserInteractionType::APP_STARTED_FROM_LAUNCHER_SUGGESTED_APP;
-      break;
-    case apps::mojom::LaunchSource::kFromParentalControls:
-      uit = arc::UserInteractionType::APP_STARTED_FROM_SETTINGS;
-      break;
-    case apps::mojom::LaunchSource::kFromShelf:
-      uit = arc::UserInteractionType::APP_STARTED_FROM_SHELF;
-      break;
-    case apps::mojom::LaunchSource::kFromFileManager:
-      uit = arc::UserInteractionType::APP_STARTED_FROM_FILE_MANAGER;
-      break;
+  auto user_interaction_type = GetUserInterationType(launch_source);
+  if (!user_interaction_type.has_value()) {
+    return;
   }
 
-  arc::LaunchApp(profile_, app_id, event_flags, uit, display_id);
+  arc::LaunchApp(profile_, app_id, event_flags, user_interaction_type.value(),
+                 display_id);
+}
+
+void ArcApps::LaunchAppWithIntent(const std::string& app_id,
+                                  apps::mojom::IntentPtr intent,
+                                  apps::mojom::LaunchSource launch_source,
+                                  int64_t display_id) {
+  auto user_interaction_type = GetUserInterationType(launch_source);
+  if (!user_interaction_type.has_value()) {
+    return;
+  }
+
+  UMA_HISTOGRAM_ENUMERATION("Arc.UserInteraction",
+                            user_interaction_type.value());
+
+  auto* arc_service_manager = arc::ArcServiceManager::Get();
+  arc::mojom::IntentHelperInstance* instance = nullptr;
+  if (arc_service_manager) {
+    instance = ARC_GET_INSTANCE_FOR_METHOD(
+        arc_service_manager->arc_bridge_service()->intent_helper(),
+        HandleIntent);
+  }
+  if (!instance) {
+    return;
+  }
+
+  ArcAppListPrefs* prefs = ArcAppListPrefs::Get(profile_);
+  if (!prefs) {
+    return;
+  }
+  const std::unique_ptr<ArcAppListPrefs::AppInfo> app_info =
+      prefs->GetApp(app_id);
+  if (!app_info) {
+    LOG(ERROR) << "Launch App failed, could not find app with id " << app_id;
+    return;
+  }
+
+  arc::mojom::ActivityNamePtr activity = arc::mojom::ActivityName::New();
+  activity->package_name = app_info->package_name;
+  activity->activity_name = app_info->activity;
+
+  auto arc_intent = CreateArcViewIntent(std::move(intent));
+
+  if (!arc_intent) {
+    LOG(ERROR) << "Launch App failed, launch intent is not valid";
+    return;
+  }
+
+  instance->HandleIntent(std::move(arc_intent), std::move(activity));
+
+  prefs->SetLastLaunchTime(app_id);
 }
 
 void ArcApps::SetPermission(const std::string& app_id,
diff --git a/chrome/browser/apps/app_service/arc_apps.h b/chrome/browser/apps/app_service/arc_apps.h
index 49c69f83d..11e263c7 100644
--- a/chrome/browser/apps/app_service/arc_apps.h
+++ b/chrome/browser/apps/app_service/arc_apps.h
@@ -67,6 +67,10 @@
               int32_t event_flags,
               apps::mojom::LaunchSource launch_source,
               int64_t display_id) override;
+  void LaunchAppWithIntent(const std::string& app_id,
+                           apps::mojom::IntentPtr intent,
+                           apps::mojom::LaunchSource launch_source,
+                           int64_t display_id) override;
   void SetPermission(const std::string& app_id,
                      apps::mojom::PermissionPtr permission) override;
   void Uninstall(const std::string& app_id) override;
diff --git a/chrome/browser/apps/app_service/built_in_chromeos_apps.cc b/chrome/browser/apps/app_service/built_in_chromeos_apps.cc
index 8d1e74a..18cf83c 100644
--- a/chrome/browser/apps/app_service/built_in_chromeos_apps.cc
+++ b/chrome/browser/apps/app_service/built_in_chromeos_apps.cc
@@ -161,6 +161,14 @@
   app_list::OpenInternalApp(app_id, profile_, event_flags);
 }
 
+void BuiltInChromeOsApps::LaunchAppWithIntent(
+    const std::string& app_id,
+    apps::mojom::IntentPtr intent,
+    apps::mojom::LaunchSource launch_source,
+    int64_t display_id) {
+  NOTIMPLEMENTED();
+}
+
 void BuiltInChromeOsApps::SetPermission(const std::string& app_id,
                                         apps::mojom::PermissionPtr permission) {
   NOTIMPLEMENTED();
diff --git a/chrome/browser/apps/app_service/built_in_chromeos_apps.h b/chrome/browser/apps/app_service/built_in_chromeos_apps.h
index 9dd7cc1..e2dc651 100644
--- a/chrome/browser/apps/app_service/built_in_chromeos_apps.h
+++ b/chrome/browser/apps/app_service/built_in_chromeos_apps.h
@@ -46,6 +46,10 @@
               int32_t event_flags,
               apps::mojom::LaunchSource launch_source,
               int64_t display_id) override;
+  void LaunchAppWithIntent(const std::string& app_id,
+                           apps::mojom::IntentPtr intent,
+                           apps::mojom::LaunchSource launch_source,
+                           int64_t display_id) override;
   void SetPermission(const std::string& app_id,
                      apps::mojom::PermissionPtr permission) override;
   void Uninstall(const std::string& app_id) override;
diff --git a/chrome/browser/apps/app_service/crostini_apps.cc b/chrome/browser/apps/app_service/crostini_apps.cc
index 6bf1d80..b551276 100644
--- a/chrome/browser/apps/app_service/crostini_apps.cc
+++ b/chrome/browser/apps/app_service/crostini_apps.cc
@@ -140,6 +140,13 @@
   crostini::LaunchCrostiniApp(profile_, app_id, display_id);
 }
 
+void CrostiniApps::LaunchAppWithIntent(const std::string& app_id,
+                                       apps::mojom::IntentPtr intent,
+                                       apps::mojom::LaunchSource launch_source,
+                                       int64_t display_id) {
+  NOTIMPLEMENTED();
+}
+
 void CrostiniApps::SetPermission(const std::string& app_id,
                                  apps::mojom::PermissionPtr permission) {
   NOTIMPLEMENTED();
diff --git a/chrome/browser/apps/app_service/crostini_apps.h b/chrome/browser/apps/app_service/crostini_apps.h
index 8388c6a..fd2dd4ec 100644
--- a/chrome/browser/apps/app_service/crostini_apps.h
+++ b/chrome/browser/apps/app_service/crostini_apps.h
@@ -64,6 +64,10 @@
               int32_t event_flags,
               apps::mojom::LaunchSource launch_source,
               int64_t display_id) override;
+  void LaunchAppWithIntent(const std::string& app_id,
+                           apps::mojom::IntentPtr intent,
+                           apps::mojom::LaunchSource launch_source,
+                           int64_t display_id) override;
   void SetPermission(const std::string& app_id,
                      apps::mojom::PermissionPtr permission) override;
   void Uninstall(const std::string& app_id) override;
diff --git a/chrome/browser/apps/app_service/extension_apps.cc b/chrome/browser/apps/app_service/extension_apps.cc
index 04d7fcf0..2e22f27c 100644
--- a/chrome/browser/apps/app_service/extension_apps.cc
+++ b/chrome/browser/apps/app_service/extension_apps.cc
@@ -321,6 +321,13 @@
   apps::LaunchService::Get(profile_)->OpenApplication(params);
 }
 
+void ExtensionApps::LaunchAppWithIntent(const std::string& app_id,
+                                        apps::mojom::IntentPtr intent,
+                                        apps::mojom::LaunchSource launch_source,
+                                        int64_t display_id) {
+  NOTIMPLEMENTED();
+}
+
 void ExtensionApps::SetPermission(const std::string& app_id,
                                   apps::mojom::PermissionPtr permission) {
   if (!profile_) {
diff --git a/chrome/browser/apps/app_service/extension_apps.h b/chrome/browser/apps/app_service/extension_apps.h
index 5852c4b..9a31c8e 100644
--- a/chrome/browser/apps/app_service/extension_apps.h
+++ b/chrome/browser/apps/app_service/extension_apps.h
@@ -78,6 +78,10 @@
               int32_t event_flags,
               apps::mojom::LaunchSource launch_source,
               int64_t display_id) override;
+  void LaunchAppWithIntent(const std::string& app_id,
+                           apps::mojom::IntentPtr intent,
+                           apps::mojom::LaunchSource launch_source,
+                           int64_t display_id) override;
   void SetPermission(const std::string& app_id,
                      apps::mojom::PermissionPtr permission) override;
   void Uninstall(const std::string& app_id) override;
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
index a89707a..bfefe5d 100644
--- a/chrome/browser/chrome_content_browser_client.cc
+++ b/chrome/browser/chrome_content_browser_client.cc
@@ -223,7 +223,6 @@
 #include "components/page_load_metrics/browser/page_load_metrics_util.h"
 #include "components/password_manager/content/browser/content_password_manager_driver_factory.h"
 #include "components/payments/content/payment_request_display_manager.h"
-#include "components/performance_manager/public/performance_manager.h"
 #include "components/policy/content/policy_blacklist_navigation_throttle.h"
 #include "components/policy/content/policy_blacklist_service.h"
 #include "components/policy/core/common/policy_service.h"
@@ -913,23 +912,26 @@
 AppLoadedInTabSource ClassifyAppLoadedInTabSource(
     const GURL& opener_url,
     const extensions::Extension* target_platform_app) {
-  if (opener_url.SchemeIs(extensions::kExtensionScheme)) {
-    if (opener_url.host_piece() == target_platform_app->id()) {
-      // This platform app was trying to window.open() one of its own URLs.
-      if (opener_url ==
-          extensions::BackgroundInfo::GetBackgroundURL(target_platform_app)) {
-        // Source was the background page.
-        return APP_LOADED_IN_TAB_SOURCE_BACKGROUND_PAGE;
-      } else {
-        // Source was a different page inside the app.
-        return APP_LOADED_IN_TAB_SOURCE_APP;
-      }
-    }
+  if (!opener_url.SchemeIs(extensions::kExtensionScheme)) {
+    // The forbidden app URL was being opened by a non-extension page (e.g.
+    // http).
+    return APP_LOADED_IN_TAB_SOURCE_OTHER;
+  }
+
+  if (opener_url.host_piece() != target_platform_app->id()) {
     // The forbidden app URL was being opened by a different app or extension.
     return APP_LOADED_IN_TAB_SOURCE_OTHER_EXTENSION;
   }
-  // The forbidden app URL was being opened by a non-extension page (e.g. http).
-  return APP_LOADED_IN_TAB_SOURCE_OTHER;
+
+  // This platform app was trying to window.open() one of its own URLs.
+  if (opener_url ==
+      extensions::BackgroundInfo::GetBackgroundURL(target_platform_app)) {
+    // Source was the background page.
+    return APP_LOADED_IN_TAB_SOURCE_BACKGROUND_PAGE;
+  }
+
+  // Source was a different page inside the app.
+  return APP_LOADED_IN_TAB_SOURCE_APP;
 }
 
 // Returns true if there is is an extension matching |url| in
@@ -2844,7 +2846,8 @@
 }
 
 content::LockObserver* ChromeContentBrowserClient::GetLockObserver() {
-  return performance_manager::PerformanceManager::GetLockObserver();
+  return ChromeBrowserMainExtraPartsPerformanceManager::GetInstance()
+      ->GetLockObserver();
 }
 
 content::PlatformNotificationService*
diff --git a/chrome/browser/chromeos/app_mode/OWNERS b/chrome/browser/chromeos/app_mode/OWNERS
new file mode 100644
index 0000000..83d55f9
--- /dev/null
+++ b/chrome/browser/chromeos/app_mode/OWNERS
@@ -0,0 +1,4 @@
+apotapchuk@chromium.org
+poromov@chromium.org
+
+# COMPONENT: UI>Shell>Kiosk
diff --git a/chrome/browser/chromeos/arc/intent_helper/arc_external_protocol_dialog.cc b/chrome/browser/chromeos/arc/intent_helper/arc_external_protocol_dialog.cc
index 63a3dbf..6cf8951 100644
--- a/chrome/browser/chromeos/arc/intent_helper/arc_external_protocol_dialog.cc
+++ b/chrome/browser/chromeos/arc/intent_helper/arc_external_protocol_dialog.cc
@@ -382,15 +382,16 @@
   if (!web_contents)
     return;
 
-  for (const auto& device : devices) {
-    if (device->guid() == device_guid) {
-      ClickToCallUiController::GetOrCreateFromWebContents(web_contents)
-          ->OnDeviceSelected(GetUnescapedURLContent(url), *device,
-                             SharingClickToCallEntryPoint::kLeftClickLink);
-      return;
-    }
-  }
-  NOTREACHED();
+  const auto it = std::find_if(devices.begin(), devices.end(),
+                               [&device_guid](const auto& device) {
+                                 return device->guid() == device_guid;
+                               });
+  DCHECK(it != devices.end());
+  auto* device = it->get();
+
+  ClickToCallUiController::GetOrCreateFromWebContents(web_contents)
+      ->OnDeviceSelected(GetUnescapedURLContent(url), *device,
+                         SharingClickToCallEntryPoint::kLeftClickLink);
 }
 
 // Handles |url| if possible. Returns true if it is actually handled.
diff --git a/chrome/browser/chromeos/arc/intent_helper/arc_external_protocol_dialog_unittest.cc b/chrome/browser/chromeos/arc/intent_helper/arc_external_protocol_dialog_unittest.cc
index 41d11d4..b0800c8 100644
--- a/chrome/browser/chromeos/arc/intent_helper/arc_external_protocol_dialog_unittest.cc
+++ b/chrome/browser/chromeos/arc/intent_helper/arc_external_protocol_dialog_unittest.cc
@@ -86,23 +86,19 @@
  public:
   MockSharingService()
       : SharingService(
-            /*sync_prefs=*/nullptr,
-            /*vapid_key_manager=*/nullptr,
-            std::make_unique<SharingDeviceRegistration>(
-                /*pref_service=*/nullptr,
-                /*sync_preference=*/nullptr,
-                /*instance_id_driver=*/nullptr,
-                /*vapid_key_manager=*/nullptr),
-            /*fcm_sender=*/nullptr,
-            std::make_unique<SharingFCMHandler>(
-                /*gcm_driver=*/nullptr,
-                /*sharing_fcm_sender=*/nullptr,
-                /*sync_preference=*/nullptr),
-            /*gcm_driver=*/nullptr,
-            /*device_info_tracker=*/nullptr,
-            /*local_device_info_provider=*/nullptr,
-            /*sync_service=*/nullptr,
-            /*notification_display_service=*/nullptr) {}
+            nullptr,
+            nullptr,
+            std::make_unique<SharingDeviceRegistration>(nullptr,
+                                                        nullptr,
+                                                        nullptr,
+                                                        nullptr),
+            nullptr,
+            std::make_unique<SharingFCMHandler>(nullptr, nullptr, nullptr),
+            nullptr,
+            nullptr,
+            nullptr,
+            nullptr,
+            nullptr) {}
 
   ~MockSharingService() override = default;
 
@@ -1018,7 +1014,7 @@
   std::vector<mojom::IntentHandlerInfoPtr> handlers;
   std::vector<std::unique_ptr<syncer::DeviceInfo>> devices;
 
-  devices.emplace_back(std::make_unique<syncer::DeviceInfo>(
+  devices.push_back(std::make_unique<syncer::DeviceInfo>(
       device_guid, "device_name", "chrome_version", "user_agent",
       sync_pb::SyncEnums_DeviceType_TYPE_PHONE, "device_id",
       base::SysInfo::HardwareInfo(),
diff --git a/chrome/browser/chromeos/crostini/crostini_manager.cc b/chrome/browser/chromeos/crostini/crostini_manager.cc
index 4555317..99e4a7d 100644
--- a/chrome/browser/chromeos/crostini/crostini_manager.cc
+++ b/chrome/browser/chromeos/crostini/crostini_manager.cc
@@ -160,6 +160,8 @@
   }
 
   void RunCallback(CrostiniResult result) {
+    // Observer should not be called if we have completed.
+    observer_list_.Clear();
     std::move(completed_callback_).Run(result);
   }
 
@@ -174,6 +176,7 @@
   void Abort(base::OnceClosure callback) {
     is_aborted_ = true;
     observer_list_.Clear();
+    completed_callback_.Reset();
     abort_callback_ = std::move(callback);
     ReportRestarterResult(CrostiniResult::RESTART_ABORTED);
   }
@@ -213,6 +216,7 @@
   }
 
   void FinishRestart(CrostiniResult result) {
+    DCHECK(!is_aborted_);
     ReportRestarterResult(result);
 
     // FinishRestart will delete this, so it's not safe to call any methods
@@ -460,6 +464,10 @@
                  << ", mount_path=" << mount_info.mount_path
                  << ", mount_type=" << mount_info.mount_type
                  << ", mount_condition=" << mount_info.mount_condition;
+      if (is_aborted_) {
+        std::move(abort_callback_).Run();
+        return;
+      }
       FinishRestart(CrostiniResult::SSHFS_MOUNT_ERROR);
       return;
     }
@@ -478,8 +486,8 @@
     if (auto* vmgr = file_manager::VolumeManager::Get(profile_))
       vmgr->AddSshfsCrostiniVolume(mount_path);
 
-    // Abort not checked until end of function.  On abort, do not continue,
-    // but still remove observer and add volume as per above.
+    // Abort not checked until exiting this function.  On abort, do not
+    // continue, but still remove observer and add volume as per above.
     if (is_aborted_) {
       std::move(abort_callback_).Run();
       return;
diff --git a/chrome/browser/chromeos/crostini/crostini_manager_unittest.cc b/chrome/browser/chromeos/crostini/crostini_manager_unittest.cc
index 3687622..4287954e 100644
--- a/chrome/browser/chromeos/crostini/crostini_manager_unittest.cc
+++ b/chrome/browser/chromeos/crostini/crostini_manager_unittest.cc
@@ -687,9 +687,11 @@
                   const std::vector<std::string>& mount_options,
                   chromeos::MountType type,
                   chromeos::MountAccessMode access_mode) {
+    if (abort_on_mount_event_) {
+      Abort();
+    }
     disk_mount_manager_mock_->NotifyMountEvent(
-        chromeos::disks::DiskMountManager::MountEvent::MOUNTING,
-        chromeos::MountError::MOUNT_ERROR_NONE,
+        chromeos::disks::DiskMountManager::MountEvent::MOUNTING, mount_error_,
         chromeos::disks::DiskMountManager::MountPointInfo(
             source_path, "/media/fuse/" + mount_label,
             chromeos::MountType::MOUNT_TYPE_NETWORK_STORAGE,
@@ -708,6 +710,11 @@
   bool abort_on_container_started_ = false;
   bool abort_on_container_setup_ = false;
   bool abort_on_ssh_keys_fetched_ = false;
+
+  // Used by SshfsMount().
+  bool abort_on_mount_event_ = false;
+  chromeos::MountError mount_error_ = chromeos::MountError::MOUNT_ERROR_NONE;
+
   int restart_crostini_callback_count_ = 0;
   int remove_crostini_callback_count_ = 0;
   chromeos::disks::MockDiskMountManager* disk_mount_manager_mock_;
@@ -848,6 +855,74 @@
   EXPECT_EQ(0, restart_crostini_callback_count_);
 }
 
+TEST_F(CrostiniManagerRestartTest, AbortOnSshKeysFetched) {
+  abort_on_ssh_keys_fetched_ = true;
+  // Use termina/penguin names to allow fetch ssh keys.
+  restart_id_ = crostini_manager()->RestartCrostini(
+      kCrostiniDefaultVmName, kCrostiniDefaultContainerName,
+      base::BindOnce(&CrostiniManagerRestartTest::RestartCrostiniCallback,
+                     base::Unretained(this), run_loop()->QuitClosure()),
+      this);
+  run_loop()->Run();
+  EXPECT_TRUE(fake_concierge_client_->create_disk_image_called());
+  EXPECT_TRUE(fake_concierge_client_->start_termina_vm_called());
+  EXPECT_TRUE(fake_concierge_client_->get_container_ssh_keys_called());
+  EXPECT_EQ(0, restart_crostini_callback_count_);
+}
+
+TEST_F(CrostiniManagerRestartTest, AbortOnMountEvent) {
+  abort_on_mount_event_ = true;
+
+  disk_mount_manager_mock_ = new chromeos::disks::MockDiskMountManager;
+  chromeos::disks::DiskMountManager::InitializeForTesting(
+      disk_mount_manager_mock_);
+  EXPECT_CALL(*disk_mount_manager_mock_, MountPath)
+      .WillOnce(Invoke(
+          this,
+          &CrostiniManagerRestartTest_AbortOnMountEvent_Test::SshfsMount));
+
+  // Use termina/penguin names to allow fetch ssh keys.
+  restart_id_ = crostini_manager()->RestartCrostini(
+      kCrostiniDefaultVmName, kCrostiniDefaultContainerName,
+      base::BindOnce(&CrostiniManagerRestartTest::RestartCrostiniCallback,
+                     base::Unretained(this), run_loop()->QuitClosure()),
+      this);
+  run_loop()->Run();
+  EXPECT_TRUE(fake_concierge_client_->create_disk_image_called());
+  EXPECT_TRUE(fake_concierge_client_->start_termina_vm_called());
+  EXPECT_TRUE(fake_concierge_client_->get_container_ssh_keys_called());
+  EXPECT_EQ(0, restart_crostini_callback_count_);
+
+  chromeos::disks::DiskMountManager::Shutdown();
+}
+
+TEST_F(CrostiniManagerRestartTest, AbortOnMountEventWithError) {
+  mount_error_ = chromeos::MountError::MOUNT_ERROR_INSUFFICIENT_PERMISSIONS;
+  abort_on_mount_event_ = true;
+
+  disk_mount_manager_mock_ = new chromeos::disks::MockDiskMountManager;
+  chromeos::disks::DiskMountManager::InitializeForTesting(
+      disk_mount_manager_mock_);
+  EXPECT_CALL(*disk_mount_manager_mock_, MountPath)
+      .WillOnce(Invoke(
+          this, &CrostiniManagerRestartTest_AbortOnMountEventWithError_Test::
+                    SshfsMount));
+
+  // Use termina/penguin names to allow fetch ssh keys.
+  restart_id_ = crostini_manager()->RestartCrostini(
+      kCrostiniDefaultVmName, kCrostiniDefaultContainerName,
+      base::BindOnce(&CrostiniManagerRestartTest::RestartCrostiniCallback,
+                     base::Unretained(this), run_loop()->QuitClosure()),
+      this);
+  run_loop()->Run();
+  EXPECT_TRUE(fake_concierge_client_->create_disk_image_called());
+  EXPECT_TRUE(fake_concierge_client_->start_termina_vm_called());
+  EXPECT_TRUE(fake_concierge_client_->get_container_ssh_keys_called());
+  EXPECT_EQ(0, restart_crostini_callback_count_);
+
+  chromeos::disks::DiskMountManager::Shutdown();
+}
+
 TEST_F(CrostiniManagerRestartTest, OnlyMountTerminaPenguin) {
   // Use names other than termina/penguin.  Will not mount sshfs.
   restart_id_ = crostini_manager()->RestartCrostini(
diff --git a/chrome/browser/chromeos/dbus/proxy_resolution_service_provider.cc b/chrome/browser/chromeos/dbus/proxy_resolution_service_provider.cc
index 3632aef..8af1b616 100644
--- a/chrome/browser/chromeos/dbus/proxy_resolution_service_provider.cc
+++ b/chrome/browser/chromeos/dbus/proxy_resolution_service_provider.cc
@@ -16,7 +16,8 @@
 #include "content/public/browser/storage_partition.h"
 #include "dbus/bus.h"
 #include "dbus/message.h"
-#include "mojo/public/cpp/bindings/binding.h"
+#include "mojo/public/cpp/bindings/pending_remote.h"
+#include "mojo/public/cpp/bindings/receiver.h"
 #include "net/base/net_errors.h"
 #include "services/network/public/mojom/network_context.mojom.h"
 #include "third_party/cros_system_api/dbus/service_constants.h"
@@ -45,10 +46,10 @@
       network::mojom::NetworkContext* network_context,
       const GURL& source_url,
       ProxyResolutionServiceProvider::NotifyCallback notify_callback)
-      : binding_(this), notify_callback_(std::move(notify_callback)) {
-    network::mojom::ProxyLookupClientPtr proxy_lookup_client;
-    binding_.Bind(mojo::MakeRequest(&proxy_lookup_client));
-    binding_.set_connection_error_handler(base::BindOnce(
+      : notify_callback_(std::move(notify_callback)) {
+    mojo::PendingRemote<network::mojom::ProxyLookupClient> proxy_lookup_client =
+        receiver_.BindNewPipeAndPassRemote();
+    receiver_.set_disconnect_handler(base::BindOnce(
         &ProxyLookupRequest::OnProxyLookupComplete, base::Unretained(this),
         net::ERR_ABORTED, base::nullopt));
 
@@ -73,13 +74,13 @@
       result = proxy_info->ToPacString();
     }
 
-    binding_.Close();
+    receiver_.reset();
     std::move(notify_callback_).Run(error, result);
     delete this;
   }
 
  private:
-  mojo::Binding<network::mojom::ProxyLookupClient> binding_;
+  mojo::Receiver<network::mojom::ProxyLookupClient> receiver_{this};
   ProxyResolutionServiceProvider::NotifyCallback notify_callback_;
 
   DISALLOW_COPY_AND_ASSIGN(ProxyLookupRequest);
diff --git a/chrome/browser/chromeos/dbus/proxy_resolution_service_provider_unittest.cc b/chrome/browser/chromeos/dbus/proxy_resolution_service_provider_unittest.cc
index cf4c99dc..c9d0791 100644
--- a/chrome/browser/chromeos/dbus/proxy_resolution_service_provider_unittest.cc
+++ b/chrome/browser/chromeos/dbus/proxy_resolution_service_provider_unittest.cc
@@ -9,6 +9,8 @@
 #include "chromeos/dbus/services/service_provider_test_helper.h"
 #include "dbus/message.h"
 #include "dbus/object_path.h"
+#include "mojo/public/cpp/bindings/pending_remote.h"
+#include "mojo/public/cpp/bindings/remote.h"
 #include "net/base/net_errors.h"
 #include "net/proxy_resolution/proxy_info.h"
 #include "services/network/public/mojom/network_context.mojom.h"
@@ -43,14 +45,17 @@
   // network::mojom::NetworkContext implementation:
   void LookUpProxyForURL(
       const GURL& url,
-      ::network::mojom::ProxyLookupClientPtr proxy_lookup_client) override {
+      mojo::PendingRemote<::network::mojom::ProxyLookupClient>
+          proxy_lookup_client) override {
+    mojo::Remote<::network::mojom::ProxyLookupClient>
+        proxy_lookup_client_remote(std::move(proxy_lookup_client));
     if (lookup_proxy_result_.error == net::OK) {
       net::ProxyInfo proxy_info;
       proxy_info.UsePacString(lookup_proxy_result_.proxy_info_pac_string);
-      proxy_lookup_client->OnProxyLookupComplete(net::OK, proxy_info);
+      proxy_lookup_client_remote->OnProxyLookupComplete(net::OK, proxy_info);
     } else {
-      proxy_lookup_client->OnProxyLookupComplete(lookup_proxy_result_.error,
-                                                 base::nullopt);
+      proxy_lookup_client_remote->OnProxyLookupComplete(
+          lookup_proxy_result_.error, base::nullopt);
     }
   }
 
diff --git a/chrome/browser/chromeos/file_manager/file_manager_browsertest.cc b/chrome/browser/chromeos/file_manager/file_manager_browsertest.cc
index 3618101..804e0bc2f 100644
--- a/chrome/browser/chromeos/file_manager/file_manager_browsertest.cc
+++ b/chrome/browser/chromeos/file_manager/file_manager_browsertest.cc
@@ -487,6 +487,7 @@
         TestCase("dirCreateWithContextMenu"),
         TestCase("dirCreateWithKeyboard"),
         TestCase("dirCreateWithoutChangingCurrent"),
+        TestCase("dirCreateMultipleFolders"),
 #if !(defined(ADDRESS_SANITIZER) || !defined(NDEBUG))
         // Zip tests times out too often on ASAN and DEBUG. crbug.com/936429
         // and crbug.com/944697
diff --git a/chrome/browser/chromeos/file_manager/path_util.cc b/chrome/browser/chromeos/file_manager/path_util.cc
index 46b024e3..791c75b 100644
--- a/chrome/browser/chromeos/file_manager/path_util.cc
+++ b/chrome/browser/chromeos/file_manager/path_util.cc
@@ -25,6 +25,7 @@
 #include "chrome/browser/chromeos/fileapi/external_file_url_util.h"
 #include "chrome/browser/chromeos/fileapi/file_system_backend.h"
 #include "chrome/browser/chromeos/profiles/profile_helper.h"
+#include "chrome/browser/download/download_dir_util.h"
 #include "chrome/browser/download/download_prefs.h"
 #include "chrome/browser/profiles/profile.h"
 #include "chromeos/constants/chromeos_features.h"
@@ -494,36 +495,15 @@
                                .Append(l10n_util::GetStringUTF8(
                                    IDS_FILE_BROWSER_DRIVE_MY_DRIVE_LABEL))
                                .value())) {
-  } else if (drive_integration_service &&
-             ReplacePrefix(&result,
-                           drive_integration_service->GetMountPointPath()
-                               .Append(kDriveFsDirTeamDrives)
-                               .value(),
-                           base::FilePath(kDisplayNameGoogleDrive)
-                               .Append(l10n_util::GetStringUTF8(
-                                   IDS_FILE_BROWSER_DRIVE_SHARED_DRIVES_LABEL))
-                               .value())) {
-  } else if (drive_integration_service &&
-             ReplacePrefix(&result,
-                           drive_integration_service->GetMountPointPath()
-                               .Append(kDriveFsDirComputers)
-                               .value(),
-                           base::FilePath(kDisplayNameGoogleDrive)
-                               .Append(l10n_util::GetStringUTF8(
-                                   IDS_FILE_BROWSER_DRIVE_COMPUTERS_LABEL))
-                               .value())) {
-  } else if (drive_integration_service &&
-             ReplacePrefix(&result,
-                           drive::util::GetDriveMountPointPath(profile)
-                               .Append(kDriveFsDirRoot)
-                               .value(),
+  } else if (ReplacePrefix(&result,
+                           download_dir_util::kDriveNamePolicyVariableName,
                            base::FilePath(kDisplayNameGoogleDrive)
                                .Append(l10n_util::GetStringUTF8(
                                    IDS_FILE_BROWSER_DRIVE_MY_DRIVE_LABEL))
                                .value())) {
   } else if (drive_integration_service &&
              ReplacePrefix(&result,
-                           drive::util::GetDriveMountPointPath(profile)
+                           drive_integration_service->GetMountPointPath()
                                .Append(kDriveFsDirTeamDrives)
                                .value(),
                            base::FilePath(kDisplayNameGoogleDrive)
@@ -532,7 +512,7 @@
                                .value())) {
   } else if (drive_integration_service &&
              ReplacePrefix(&result,
-                           drive::util::GetDriveMountPointPath(profile)
+                           drive_integration_service->GetMountPointPath()
                                .Append(kDriveFsDirComputers)
                                .value(),
                            base::FilePath(kDisplayNameGoogleDrive)
diff --git a/chrome/browser/chromeos/file_manager/path_util_unittest.cc b/chrome/browser/chromeos/file_manager/path_util_unittest.cc
index adede2f..a8664b2 100644
--- a/chrome/browser/chromeos/file_manager/path_util_unittest.cc
+++ b/chrome/browser/chromeos/file_manager/path_util_unittest.cc
@@ -178,19 +178,7 @@
                 "Computers/My Other Computer/bar"));
 
   EXPECT_EQ("Google Drive \u203a My Drive \u203a foo",
-            GetPathDisplayTextForSettings(
-                &profile2, "/special/drive-0123456789abcdef/root/foo"));
-  EXPECT_EQ(
-      "Google Drive \u203a Shared drives \u203a A Team Drive \u203a foo",
-      GetPathDisplayTextForSettings(
-          &profile2,
-          "/special/drive-0123456789abcdef/team_drives/A Team Drive/foo"));
-
-  EXPECT_EQ(
-      "Google Drive \u203a Computers \u203a My Other Computer \u203a bar",
-      GetPathDisplayTextForSettings(
-          &profile2,
-          "/special/drive-0123456789abcdef/Computers/My Other Computer/bar"));
+            GetPathDisplayTextForSettings(&profile2, "${google_drive}/foo"));
 
   TestingProfile guest_profile(base::FilePath("/home/chronos/guest"));
   guest_profile.SetGuestSession(true);
diff --git a/chrome/browser/chromeos/login/screens/assistant_optin_flow_screen_browsertest.cc b/chrome/browser/chromeos/login/screens/assistant_optin_flow_screen_browsertest.cc
index a19365f2..b492e5e2 100644
--- a/chrome/browser/chromeos/login/screens/assistant_optin_flow_screen_browsertest.cc
+++ b/chrome/browser/chromeos/login/screens/assistant_optin_flow_screen_browsertest.cc
@@ -999,7 +999,8 @@
   EXPECT_TRUE(prefs->GetBoolean(assistant::prefs::kAssistantContextEnabled));
 }
 
-IN_PROC_BROWSER_TEST_F(AssistantOptInFlowTest, WAADisabledByPolicy) {
+// This test is flaky. See https://crbug.com/1013824
+IN_PROC_BROWSER_TEST_F(AssistantOptInFlowTest, DISABLED_WAADisabledByPolicy) {
   assistant_settings_->set_consent_ui_flags(
       FakeAssistantSettings::CONSENT_UI_FLAG_WAA_DISABLED_BY_POLICY);
 
diff --git a/chrome/browser/devtools/devtools_ui_bindings.cc b/chrome/browser/devtools/devtools_ui_bindings.cc
index 8005671e..b43e8b7 100644
--- a/chrome/browser/devtools/devtools_ui_bindings.cc
+++ b/chrome/browser/devtools/devtools_ui_bindings.cc
@@ -381,26 +381,84 @@
   return result;
 }
 
+constexpr base::TimeDelta kInitialBackoffDelay =
+    base::TimeDelta::FromMilliseconds(250);
+constexpr base::TimeDelta kMaxBackoffDelay = base::TimeDelta::FromSeconds(10);
+
 }  // namespace
 
 class DevToolsUIBindings::NetworkResourceLoader
     : public network::SimpleURLLoaderStreamConsumer {
  public:
-  NetworkResourceLoader(int stream_id,
-                        DevToolsUIBindings* bindings,
-                        std::unique_ptr<network::SimpleURLLoader> loader,
-                        network::mojom::URLLoaderFactory* url_loader_factory,
-                        const DispatchCallback& callback)
+  class URLLoaderFactoryHolder {
+   public:
+    network::mojom::URLLoaderFactory* get() {
+      return ptr_.get() ? ptr_.get() : refptr_.get();
+    }
+    void operator=(std::unique_ptr<network::mojom::URLLoaderFactory>&& ptr) {
+      ptr_ = std::move(ptr);
+    }
+    void operator=(scoped_refptr<network::SharedURLLoaderFactory>&& refptr) {
+      refptr_ = std::move(refptr);
+    }
+
+   private:
+    std::unique_ptr<network::mojom::URLLoaderFactory> ptr_;
+    scoped_refptr<network::SharedURLLoaderFactory> refptr_;
+  };
+
+  static void Create(int stream_id,
+                     DevToolsUIBindings* bindings,
+                     const network::ResourceRequest& resource_request,
+                     const net::NetworkTrafficAnnotationTag& traffic_annotation,
+                     URLLoaderFactoryHolder url_loader_factory,
+                     const DevToolsUIBindings::DispatchCallback& callback,
+                     base::TimeDelta retry_delay = base::TimeDelta()) {
+    auto resource_loader =
+        std::make_unique<DevToolsUIBindings::NetworkResourceLoader>(
+            stream_id, bindings, resource_request, traffic_annotation,
+            std::move(url_loader_factory), callback, retry_delay);
+    bindings->loaders_.insert(std::move(resource_loader));
+  }
+
+  NetworkResourceLoader(
+      int stream_id,
+      DevToolsUIBindings* bindings,
+      const network::ResourceRequest& resource_request,
+      const net::NetworkTrafficAnnotationTag& traffic_annotation,
+      URLLoaderFactoryHolder url_loader_factory,
+      const DispatchCallback& callback,
+      base::TimeDelta delay)
       : stream_id_(stream_id),
         bindings_(bindings),
-        loader_(std::move(loader)),
-        callback_(callback) {
+        resource_request_(resource_request),
+        traffic_annotation_(traffic_annotation),
+        loader_(network::SimpleURLLoader::Create(
+            std::make_unique<network::ResourceRequest>(resource_request),
+            traffic_annotation)),
+        url_loader_factory_(std::move(url_loader_factory)),
+        callback_(callback),
+        retry_delay_(delay) {
     loader_->SetOnResponseStartedCallback(base::BindOnce(
         &NetworkResourceLoader::OnResponseStarted, base::Unretained(this)));
-    loader_->DownloadAsStream(url_loader_factory, this);
+    timer_.Start(FROM_HERE, delay,
+                 base::BindRepeating(&NetworkResourceLoader::DownloadAsStream,
+                                     base::Unretained(this)));
   }
 
  private:
+  void DownloadAsStream() {
+    loader_->DownloadAsStream(url_loader_factory_.get(), this);
+  }
+
+  base::TimeDelta GetNextExponentialBackoffDelay(const base::TimeDelta& delta) {
+    if (delta.is_zero()) {
+      return kInitialBackoffDelay;
+    } else {
+      return delta * 1.3;
+    }
+  }
+
   void OnResponseStarted(const GURL& final_url,
                          const network::mojom::URLResponseHead& response_head) {
     response_headers_ = response_head.headers;
@@ -427,9 +485,21 @@
   }
 
   void OnComplete(bool success) override {
-    auto response = BuildObjectForResponse(response_headers_.get(), success);
-    callback_.Run(response.get());
-
+    if (!success && loader_->NetError() == net::ERR_INSUFFICIENT_RESOURCES &&
+        retry_delay_ < kMaxBackoffDelay) {
+      const base::TimeDelta delay =
+          GetNextExponentialBackoffDelay(retry_delay_);
+      LOG(WARNING) << "DevToolsUIBindings::NetworkResourceLoader id = "
+                   << stream_id_
+                   << " failed with insufficient resources, retrying in "
+                   << delay << "." << std::endl;
+      NetworkResourceLoader::Create(
+          stream_id_, bindings_, resource_request_, traffic_annotation_,
+          std::move(url_loader_factory_), callback_, delay);
+    } else {
+      auto response = BuildObjectForResponse(response_headers_.get(), success);
+      callback_.Run(response.get());
+    }
     bindings_->loaders_.erase(bindings_->loaders_.find(this));
   }
 
@@ -437,9 +507,14 @@
 
   const int stream_id_;
   DevToolsUIBindings* const bindings_;
+  const network::ResourceRequest resource_request_;
+  const net::NetworkTrafficAnnotationTag traffic_annotation_;
   std::unique_ptr<network::SimpleURLLoader> loader_;
+  URLLoaderFactoryHolder url_loader_factory_;
   DispatchCallback callback_;
   scoped_refptr<net::HttpResponseHeaders> response_headers_;
+  base::OneShotTimer timer_;
+  base::TimeDelta retry_delay_;
 
   DISALLOW_COPY_AND_ASSIGN(NetworkResourceLoader);
 };
@@ -747,22 +822,18 @@
           }
         })");
 
-  auto resource_request = std::make_unique<network::ResourceRequest>();
-  resource_request->url = gurl;
+  network::ResourceRequest resource_request;
+  resource_request.url = gurl;
   // TODO(caseq): this preserves behavior of URLFetcher-based implementation.
   // We really need to pass proper first party origin from the front-end.
-  resource_request->site_for_cookies = gurl;
-  resource_request->headers.AddHeadersFromString(headers);
+  resource_request.site_for_cookies = gurl;
+  resource_request.headers.AddHeadersFromString(headers);
 
-  std::unique_ptr<network::mojom::URLLoaderFactory> file_url_loader_factory;
-  scoped_refptr<network::SharedURLLoaderFactory> network_url_loader_factory;
-  std::unique_ptr<network::mojom::URLLoaderFactory> webui_url_loader_factory;
-  network::mojom::URLLoaderFactory* url_loader_factory;
+  NetworkResourceLoader::URLLoaderFactoryHolder url_loader_factory;
   if (gurl.SchemeIsFile()) {
-    file_url_loader_factory = content::CreateFileURLLoaderFactory(
+    url_loader_factory = content::CreateFileURLLoaderFactory(
         base::FilePath() /* profile_path */,
         nullptr /* shared_cors_origin_access_list */);
-    url_loader_factory = file_url_loader_factory.get();
   } else if (content::HasWebUIScheme(gurl)) {
     content::WebContents* target_tab;
 #ifndef NDEBUG
@@ -778,10 +849,9 @@
     if (allow_web_ui_scheme) {
       std::vector<std::string> allowed_webui_hosts;
       content::RenderFrameHost* frame_host = web_contents()->GetMainFrame();
-      webui_url_loader_factory = content::CreateWebUIURLLoader(
+      url_loader_factory = content::CreateWebUIURLLoader(
           frame_host, target_tab->GetURL().scheme(),
           std::move(allowed_webui_hosts));
-      url_loader_factory = webui_url_loader_factory.get();
     } else {
       base::DictionaryValue response;
       response.SetInteger("statusCode", 403);
@@ -791,17 +861,12 @@
   } else {
     auto* partition = content::BrowserContext::GetStoragePartitionForSite(
         web_contents_->GetBrowserContext(), gurl);
-    network_url_loader_factory =
-        partition->GetURLLoaderFactoryForBrowserProcess();
-    url_loader_factory = network_url_loader_factory.get();
+    url_loader_factory = partition->GetURLLoaderFactoryForBrowserProcess();
   }
 
-  auto simple_url_loader = network::SimpleURLLoader::Create(
-      std::move(resource_request), traffic_annotation);
-  auto resource_loader = std::make_unique<NetworkResourceLoader>(
-      stream_id, this, std::move(simple_url_loader), url_loader_factory,
-      callback);
-  loaders_.insert(std::move(resource_loader));
+  NetworkResourceLoader::Create(stream_id, this, resource_request,
+                                traffic_annotation,
+                                std::move(url_loader_factory), callback);
 }
 
 void DevToolsUIBindings::OpenInNewTab(const std::string& url) {
diff --git a/chrome/browser/download/download_dir_policy_handler_unittest.cc b/chrome/browser/download/download_dir_policy_handler_unittest.cc
index 7e3583c..80d7622 100644
--- a/chrome/browser/download/download_dir_policy_handler_unittest.cc
+++ b/chrome/browser/download/download_dir_policy_handler_unittest.cc
@@ -11,6 +11,7 @@
 #include "base/memory/ptr_util.h"
 #include "base/values.h"
 #include "build/build_config.h"
+#include "chrome/browser/download/download_dir_util.h"
 #include "chrome/browser/download/download_prefs.h"
 #include "chrome/common/pref_names.h"
 #include "components/drive/drive_pref_names.h"
@@ -22,26 +23,12 @@
 #include "components/policy/core/common/policy_types.h"
 #include "components/policy/policy_constants.h"
 
-#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/drive/file_system_util.h"
-#endif
-
 namespace {
 
 const char* kUserIDHash = "deadbeef";
 
 #if defined(OS_CHROMEOS)
-const char* kDriveNamePolicyVariableName = "${google_drive}";
-const base::FilePath::CharType* kRootRelativeToDriveMount =
-    FILE_PATH_LITERAL("root");
 const char* kRelativeToDriveRoot = "/home/";
-
-std::string GetExpectedDownloadDirectory() {
-  return drive::util::GetDriveMountPointPathForUserIdHash(kUserIDHash)
-      .Append(kRootRelativeToDriveMount)
-      .value();
-}
-
 #endif
 
 }  // namespace
@@ -94,7 +81,8 @@
   policy::PolicyMap policy;
   policy.Set(policy::key::kDownloadDirectory, policy::POLICY_LEVEL_MANDATORY,
              policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD,
-             std::make_unique<base::Value>(kDriveNamePolicyVariableName),
+             std::make_unique<base::Value>(
+                 download_dir_util::kDriveNamePolicyVariableName),
              nullptr);
   UpdateProviderPolicy(policy);
 
@@ -115,7 +103,8 @@
   EXPECT_TRUE(store_->GetValue(prefs::kDownloadDefaultDirectory, &value));
   EXPECT_TRUE(value);
   EXPECT_TRUE(value->GetAsString(&download_directory));
-  EXPECT_EQ(GetExpectedDownloadDirectory(), download_directory);
+  EXPECT_EQ(download_dir_util::kDriveNamePolicyVariableName,
+            download_directory);
 
   policy.Set(policy::key::kDownloadDirectory, policy::POLICY_LEVEL_MANDATORY,
              policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD,
@@ -123,12 +112,12 @@
   UpdateProviderPolicy(policy);
   EXPECT_FALSE(recommended_store_->GetValue(drive::prefs::kDisableDrive, NULL));
 
-  policy.Set(
-      policy::key::kDownloadDirectory, policy::POLICY_LEVEL_RECOMMENDED,
-      policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD,
-      std::make_unique<base::Value>(std::string(kDriveNamePolicyVariableName) +
-                                    kRelativeToDriveRoot),
-      nullptr);
+  policy.Set(policy::key::kDownloadDirectory, policy::POLICY_LEVEL_RECOMMENDED,
+             policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD,
+             std::make_unique<base::Value>(
+                 std::string(download_dir_util::kDriveNamePolicyVariableName) +
+                 kRelativeToDriveRoot),
+             nullptr);
   UpdateProviderPolicy(policy);
 
   EXPECT_FALSE(recommended_store_->GetValue(prefs::kPromptForDownload, NULL));
@@ -138,7 +127,8 @@
       recommended_store_->GetValue(prefs::kDownloadDefaultDirectory, &value));
   EXPECT_TRUE(value);
   EXPECT_TRUE(value->GetAsString(&download_directory));
-  EXPECT_EQ(GetExpectedDownloadDirectory() + kRelativeToDriveRoot,
+  EXPECT_EQ(std::string(download_dir_util::kDriveNamePolicyVariableName) +
+                kRelativeToDriveRoot,
             download_directory);
 
   policy.Set(policy::key::kDownloadDirectory, policy::POLICY_LEVEL_RECOMMENDED,
diff --git a/chrome/browser/download/download_dir_util.cc b/chrome/browser/download/download_dir_util.cc
index cc93ec8..7d76c7d 100644
--- a/chrome/browser/download/download_dir_util.cc
+++ b/chrome/browser/download/download_dir_util.cc
@@ -9,13 +9,12 @@
 #include "components/policy/core/browser/configuration_policy_handler_parameters.h"
 
 #if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/drive/file_system_util.h"
+#include "chrome/browser/chromeos/drive/drive_integration_service.h"
+#include "chrome/browser/chromeos/profiles/profile_helper.h"
 #endif  // defined(OS_CHROMEOS)
 
 namespace {
 #if defined(OS_CHROMEOS)
-const char kDriveNamePolicyVariableName[] = "${google_drive}";
-
 // Drive root folder relative to its mount point.
 const base::FilePath::CharType* kRootRelativeToDriveMount =
     FILE_PATH_LITERAL("root");
@@ -25,37 +24,43 @@
 namespace download_dir_util {
 
 #if defined(OS_CHROMEOS)
+const char kDriveNamePolicyVariableName[] = "${google_drive}";
+
 bool DownloadToDrive(const base::FilePath::StringType& string_value,
                      const policy::PolicyHandlerParameters& parameters) {
   const size_t position = string_value.find(kDriveNamePolicyVariableName);
   return (position != base::FilePath::StringType::npos &&
           !parameters.user_id_hash.empty());
 }
+
+bool ExpandDrivePolicyVariable(Profile* profile,
+                               const base::FilePath& old_path,
+                               base::FilePath* new_path) {
+  auto* integration_service =
+      drive::DriveIntegrationServiceFactory::FindForProfile(profile);
+  if (!integration_service || !integration_service->is_enabled())
+    return false;
+
+  size_t position = old_path.value().find(kDriveNamePolicyVariableName);
+  if (position == base::FilePath::StringType::npos)
+    return false;
+
+  base::FilePath::StringType google_drive_root =
+      integration_service->GetMountPointPath()
+          .Append(kRootRelativeToDriveMount)
+          .value();
+  std::string expanded_value = old_path.value();
+  *new_path = base::FilePath(expanded_value.replace(
+      position, strlen(kDriveNamePolicyVariableName), google_drive_root));
+  return true;
+}
 #endif  // defined(OS_CHROMEOS)
 
 base::FilePath::StringType ExpandDownloadDirectoryPath(
     const base::FilePath::StringType& string_value,
     const policy::PolicyHandlerParameters& parameters) {
 #if defined(OS_CHROMEOS)
-  // TODO(kaliamoorthi): Clean up policy::path_parser and fold this code
-  // into it. http://crbug.com/352627
-  size_t position = string_value.find(kDriveNamePolicyVariableName);
-  if (position != base::FilePath::StringType::npos) {
-    base::FilePath::StringType google_drive_root;
-    if (!parameters.user_id_hash.empty()) {
-      google_drive_root = drive::util::GetDriveMountPointPathForUserIdHash(
-                              parameters.user_id_hash)
-                              .Append(kRootRelativeToDriveMount)
-                              .value();
-    }
-    base::FilePath::StringType expanded_value = string_value;  // Mutable copy.
-    return expanded_value.replace(
-        position,
-        base::FilePath::StringType(kDriveNamePolicyVariableName).length(),
-        google_drive_root);
-  } else {
-    return string_value;
-  }
+  return string_value;
 #else
   return policy::path_parser::ExpandPathVariables(string_value);
 #endif
diff --git a/chrome/browser/download/download_dir_util.h b/chrome/browser/download/download_dir_util.h
index 04d3297..2937262 100644
--- a/chrome/browser/download/download_dir_util.h
+++ b/chrome/browser/download/download_dir_util.h
@@ -7,6 +7,8 @@
 
 #include "base/files/file_path.h"
 
+class Profile;
+
 namespace policy {
 struct PolicyHandlerParameters;
 }  // namespace policy
@@ -14,9 +16,18 @@
 namespace download_dir_util {
 
 #if defined(OS_CHROMEOS)
+extern const char kDriveNamePolicyVariableName[];
+
 // Returns whether |string_value| points to a directory in Drive or not.
 bool DownloadToDrive(const base::FilePath::StringType& string_value,
                      const policy::PolicyHandlerParameters& parameters);
+
+// Expands the google drive policy variable to the drive root path. This cannot
+// be done in ExpandDownloadDirectoryPath() as that gets invoked in a policy
+// handler, which are run before the profile is registered.
+bool ExpandDrivePolicyVariable(Profile* profile,
+                               const base::FilePath& old_path,
+                               base::FilePath* new_path);
 #endif  // defined(OS_CHROMEOS)
 
 // Expands path variables in the download directory path |string_value|.
diff --git a/chrome/browser/download/download_prefs.cc b/chrome/browser/download/download_prefs.cc
index 323534a7..207cce64 100644
--- a/chrome/browser/download/download_prefs.cc
+++ b/chrome/browser/download/download_prefs.cc
@@ -25,6 +25,7 @@
 #include "chrome/browser/download/chrome_download_manager_delegate.h"
 #include "chrome/browser/download/download_core_service_factory.h"
 #include "chrome/browser/download/download_core_service_impl.h"
+#include "chrome/browser/download/download_dir_util.h"
 #include "chrome/browser/download/download_prompt_status.h"
 #include "chrome/browser/download/download_target_determiner.h"
 #include "chrome/browser/download/trusted_sources_manager.h"
@@ -146,6 +147,9 @@
     } else if (file_manager::util::MigrateToDriveFs(profile_, current,
                                                     &migrated)) {
       prefs->SetFilePath(path_pref[i], migrated);
+    } else if (download_dir_util::ExpandDrivePolicyVariable(profile_, current,
+                                                            &migrated)) {
+      prefs->SetFilePath(path_pref[i], migrated);
     }
   }
 
@@ -467,6 +471,10 @@
                                            &migrated_drive_path)) {
     return SanitizeDownloadTargetPath(migrated_drive_path);
   }
+  if (download_dir_util::ExpandDrivePolicyVariable(profile_, path,
+                                                   &migrated_drive_path)) {
+    return SanitizeDownloadTargetPath(migrated_drive_path);
+  }
 
   // If |path| isn't absolute, fall back to the default directory.
   base::FilePath profile_myfiles_path =
diff --git a/chrome/browser/extensions/forced_extensions/installation_tracker.cc b/chrome/browser/extensions/forced_extensions/installation_tracker.cc
index 5bb4dec..e4be4fb 100644
--- a/chrome/browser/extensions/forced_extensions/installation_tracker.cc
+++ b/chrome/browser/extensions/forced_extensions/installation_tracker.cc
@@ -49,15 +49,33 @@
 InstallationTracker::~InstallationTracker() = default;
 
 void InstallationTracker::OnForcedExtensionsPrefChanged() {
-  // Load forced extensions list only once.
-  if (!forced_extensions_.empty())
-    return;
-
   const base::DictionaryValue* value =
       pref_service_->GetDictionary(pref_names::kInstallForceList);
-  if (!value || value->empty())
+  if (!value)
     return;
 
+  std::vector<ExtensionId> extensions_to_remove;
+  for (const auto& extension_id : forced_extensions_) {
+    if (value->FindKey(extension_id) == nullptr)
+      extensions_to_remove.push_back(extension_id);
+  }
+
+  for (const auto& extension_id : extensions_to_remove) {
+    forced_extensions_.erase(extension_id);
+    pending_forced_extensions_.erase(extension_id);
+  }
+
+  // Report if all remaining extensions were removed from policy.
+  if (loaded_ && pending_forced_extensions_.empty())
+    ReportResults(true /* succeeded */);
+
+  // Load forced extensions list only once.
+  if (value->empty() || loaded_) {
+    return;
+  }
+
+  loaded_ = true;
+
   for (const auto& entry : *value) {
     forced_extensions_.insert(entry.first);
     if (!registry_->enabled_extensions().Contains(entry.first))
diff --git a/chrome/browser/extensions/forced_extensions/installation_tracker.h b/chrome/browser/extensions/forced_extensions/installation_tracker.h
index 65edf1e..346eae1 100644
--- a/chrome/browser/extensions/forced_extensions/installation_tracker.h
+++ b/chrome/browser/extensions/forced_extensions/installation_tracker.h
@@ -68,6 +68,9 @@
   // Set of not yet loaded force installed extensions.
   std::set<std::string> pending_forced_extensions_;
 
+  // Tracks whether non-empty forcelist policy was received at least once.
+  bool loaded_ = false;
+
   // Tracks whether stats were already reported for the session.
   bool reported_ = false;
 
diff --git a/chrome/browser/extensions/forced_extensions/installation_tracker_unittest.cc b/chrome/browser/extensions/forced_extensions/installation_tracker_unittest.cc
index cc30b61..a851967 100644
--- a/chrome/browser/extensions/forced_extensions/installation_tracker_unittest.cc
+++ b/chrome/browser/extensions/forced_extensions/installation_tracker_unittest.cc
@@ -64,6 +64,12 @@
                            base::Value::ToUniquePtrValue(std::move(dict)));
   }
 
+  void SetupEmptyForceList() {
+    base::Value dict(base::Value::Type::DICTIONARY);
+    prefs_->SetManagedPref(pref_names::kInstallForceList,
+                           base::Value::ToUniquePtrValue(std::move(dict)));
+  }
+
  protected:
   content::BrowserTaskEnvironment task_environment_;
   TestingProfile profile_;
@@ -119,6 +125,21 @@
 }
 
 TEST_F(ForcedExtensionsInstallationTrackerTest,
+       ExtensionsInstallationCancelled) {
+  SetupForceList();
+  SetupEmptyForceList();
+  // InstallationTracker shuts down timer because there is nothing to do more.
+  EXPECT_FALSE(fake_timer_->IsRunning());
+  histogram_tester_.ExpectTotalCount(kLoadTimeStats, 0);
+  histogram_tester_.ExpectTotalCount(kTimedOutStats, 0);
+  histogram_tester_.ExpectTotalCount(kTimedOutNotInstalledStats, 0);
+  histogram_tester_.ExpectTotalCount(kFailureReasons, 0);
+  histogram_tester_.ExpectTotalCount(kInstallationStages, 0);
+  histogram_tester_.ExpectTotalCount(kFailureCrxInstallErrorStats, 0);
+  histogram_tester_.ExpectTotalCount(kTotalCountStats, 0);
+}
+
+TEST_F(ForcedExtensionsInstallationTrackerTest,
        ExtensionsInstallationTimedOutDifferentReasons) {
   SetupForceList();
   installation_reporter_->ReportFailure(
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
index 3f69a9b..34e1d10 100644
--- a/chrome/browser/flag-metadata.json
+++ b/chrome/browser/flag-metadata.json
@@ -66,11 +66,6 @@
     "expiry_milestone": -1
   },
   {
-    "name": "allow-remote-context-for-notifications",
-    "owners": [ "pshmakov", "peter" ],
-    "expiry_milestone": 74
-  },
-  {
     "name": "allow-sxg-certs-without-extension",
     "owners": [ "//content/browser/web_package/OWNERS" ],
     // Used by developers for testing signed exchange loading using normal
@@ -105,12 +100,12 @@
   {
     "name": "animated-avatar-button",
     "owners": ["jkrcal"],
-    "expiry_milestone": 78
+    "expiry_milestone": 79
   },
   {
     "name": "app-management",
     "owners": [ "//chrome/browser/resources/app_management/OWNERS" ],
-    "expiry_milestone": 79
+    "expiry_milestone": 81
   },
   {
     "name": "app-service-ash",
@@ -234,11 +229,6 @@
     "expiry_milestone": 87
   },
   {
-    "name": "autofill-always-show-server-cards-in-sync-transport",
-    "owners": [ "sebsg" ],
-    "expiry_milestone": 74
-  },
-  {
     "name": "autofill-assistant-chrome-entry",
     "owners": [ "gogerald,wuandy" ],
     "expiry_milestone": 79
@@ -453,22 +443,22 @@
   {
     "name": "click-to-call-context-menu-selected-text",
     "owners": [ "//chrome/browser/sharing/OWNERS" ],
-    "expiry_milestone": 80
+    "expiry_milestone": 82
   },
   {
     "name": "click-to-call-open-dialer-directly",
     "owners": [ "//chrome/browser/sharing/OWNERS" ],
-    "expiry_milestone": 81
+    "expiry_milestone": 82
   },
 	{
     "name": "click-to-call-receiver",
     "owners": [ "//chrome/browser/sharing/OWNERS" ],
-    "expiry_milestone": 79
+    "expiry_milestone": 82
   },
   {
     "name": "click-to-call-ui",
     "owners": [ "//chrome/browser/sharing/OWNERS" ],
-    "expiry_milestone": 79
+    "expiry_milestone": 82
   },
   {
     "name": "click-to-open-pdf",
@@ -1340,7 +1330,7 @@
   {
     "name": "enable-history-favicons-google-server-query",
     "owners": ["victorvianna", "jkrcal"],
-    "expiry_milestone": 78
+    "expiry_milestone": 79
   },
   {
     "name": "enable-history-manipulation-intervention",
@@ -1460,7 +1450,7 @@
   {
     "name": "enable-native-notifications",
     "owners": [ "peter", "finnur" ],
-    "expiry_milestone": 76
+    "expiry_milestone": 84
   },
   {
     "name": "enable-navigation-tracing",
@@ -1480,11 +1470,6 @@
     "expiry_milestone": 80
   },
   {
-    "name": "enable-new-photo-picker",
-    "owners": [ "finnur", "peter" ],
-    "expiry_milestone": 72
-  },
-  {
     "name": "enable-new-print-preview-layout",
     "owners": [ "//printing/OWNERS" ],
     "expiry_milestone": 78
@@ -1696,7 +1681,7 @@
   {
     "name": "enable-sharing-device-registration",
     "owners": [ "//chrome/browser/sharing/OWNERS" ],
-    "expiry_milestone": 79
+    "expiry_milestone": 82
   },
   {
     "name": "enable-shill-sandboxing",
@@ -1787,12 +1772,12 @@
   {
     "name": "enable-sync-uss-nigori",
     "owners": [ "mmoskvitin@google.com", "//components/sync/OWNERS" ],
-    "expiry_milestone": 78
+    "expiry_milestone": 80
   },
   {
     "name": "enable-sync-uss-passwords",
     "owners": [ "mamir", "//components/sync/OWNERS" ],
-    "expiry_milestone": 77
+    "expiry_milestone": 80
   },
   {
     "name": "enable-system-webapps",
@@ -2008,7 +1993,7 @@
   {
     "name": "enable-webrtc-new-encode-cpu-load-estimator",
     "owners": [ "nisse" ],
-    "expiry_milestone": 77
+    "expiry_milestone": 85
   },
   {
     "name": "enable-webrtc-pipewire-capturer",
@@ -2109,11 +2094,6 @@
     "expiry_milestone": 82
   },
   {
-    "name": "fcm-invalidations",
-    "owners": [ "melandory", "chrome-sync-dev@google.com" ],
-    "expiry_milestone": 76
-  },
-  {
     "name": "file-handling-api",
     "owners": ["harrisjay@chromium.org", "raymes@chromium.org"],
     "expiry_milestone": 79
@@ -3028,25 +3008,25 @@
     "owners": [ "binji" ],
     "expiry_milestone": 78
   },
-	{
+  {
     "name": "shared-clipboard-receiver",
     "owners": [ "//chrome/browser/sharing/OWNERS" ],
-    "expiry_milestone": 80
+    "expiry_milestone": 82
   },
   {
     "name": "shared-clipboard-ui",
     "owners": [ "//chrome/browser/sharing/OWNERS" ],
-    "expiry_milestone": 80
+    "expiry_milestone": 82
   },
   {
     "name": "sharing-derive-vapid-key",
     "owners": [ "//chrome/browser/sharing/OWNERS" ],
-    "expiry_milestone": 81
+    "expiry_milestone": 82
   },
   {
     "name": "sharing-use-device-info",
     "owners": [ "//chrome/browser/sharing/OWNERS" ],
-    "expiry_milestone": 81
+    "expiry_milestone": 82
   },
   {
     "name": "shelf-hotseat",
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
index 28726e7a..0845ce6 100644
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -2326,12 +2326,6 @@
     "Enable intermediate certificate fetching when a server does not provide "
     "sufficient certificates to build a chain to a trusted root.";
 
-const char kAllowRemoteContextForNotificationsName[] =
-    "Allow using remote app context for notifications";
-const char kAllowRemoteContextForNotificationsDescription[] =
-    "Allow using Context#createPackageContext to work around issues with status"
-    "bar icons on certain Android M devices.";
-
 const char kAndroidAutofillAccessibilityName[] = "Autofill Accessibility";
 const char kAndroidAutofillAccessibilityDescription[] =
     "Enable accessibility for autofill popup.";
@@ -2578,10 +2572,6 @@
     "Whether Chrome should offer users the option to manually request to "
     "generate passwords on Android.";
 
-const char kNewPhotoPickerName[] = "Enable new Photopicker";
-const char kNewPhotoPickerDescription[] =
-    "Activates the new picker for selecting photos.";
-
 const char kNoCreditCardAbort[] = "No Credit Card Abort";
 const char kNoCreditCardAbortDescription[] =
     "Whether or not the No Credit Card Abort is enabled.";
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
index 10ab887..2712a97 100644
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -1370,9 +1370,6 @@
 extern const char kAiaFetchingName[];
 extern const char kAiaFetchingDescription[];
 
-extern const char kAllowRemoteContextForNotificationsName[];
-extern const char kAllowRemoteContextForNotificationsDescription[];
-
 extern const char kAndroidAutofillAccessibilityName[];
 extern const char kAndroidAutofillAccessibilityDescription[];
 
@@ -1523,9 +1520,6 @@
 extern const char kManualPasswordGenerationAndroidName[];
 extern const char kManualPasswordGenerationAndroidDescription[];
 
-extern const char kNewPhotoPickerName[];
-extern const char kNewPhotoPickerDescription[];
-
 extern const char kNoCreditCardAbort[];
 extern const char kNoCreditCardAbortDescription[];
 
diff --git a/chrome/browser/media/offscreen_tab.cc b/chrome/browser/media/offscreen_tab.cc
index ea8024c..518d3d2 100644
--- a/chrome/browser/media/offscreen_tab.cc
+++ b/chrome/browser/media/offscreen_tab.cc
@@ -17,7 +17,7 @@
 #include "content/public/browser/navigation_handle.h"
 #include "content/public/browser/render_widget_host_view.h"
 #include "content/public/browser/web_contents.h"
-#include "third_party/blink/public/web/web_presentation_receiver_flags.h"
+#include "third_party/blink/public/common/presentation/presentation_receiver_flags.h"
 
 #if defined(USE_AURA)
 #include "base/threading/thread_task_runner_handle.h"
diff --git a/chrome/browser/net/nss_context_linux.cc b/chrome/browser/net/nss_context_linux.cc
index c649bbd..867fba19 100644
--- a/chrome/browser/net/nss_context_linux.cc
+++ b/chrome/browser/net/nss_context_linux.cc
@@ -5,7 +5,7 @@
 #include "chrome/browser/net/nss_context.h"
 
 #include "content/public/browser/browser_thread.h"
-#include "crypto/nss_util_internal.h"
+#include "crypto/nss_util.h"
 #include "net/cert/nss_cert_database.h"
 
 namespace {
@@ -22,11 +22,10 @@
     // Linux has only a single persistent slot compared to ChromeOS's separate
     // public and private slot.
     // Redirect any slot usage to this persistent slot on Linux.
+    crypto::EnsureNSSInit();
     g_nss_cert_database = new net::NSSCertDatabase(
-        crypto::ScopedPK11Slot(
-            crypto::GetPersistentNSSKeySlot()) /* public slot */,
-        crypto::ScopedPK11Slot(
-            crypto::GetPersistentNSSKeySlot()) /* private slot */);
+        crypto::ScopedPK11Slot(PK11_GetInternalKeySlot()) /* public slot */,
+        crypto::ScopedPK11Slot(PK11_GetInternalKeySlot()) /* private slot */);
   }
   return g_nss_cert_database;
 }
diff --git a/chrome/browser/net/system_network_context_manager.h b/chrome/browser/net/system_network_context_manager.h
index f2af22a..ba3804e 100644
--- a/chrome/browser/net/system_network_context_manager.h
+++ b/chrome/browser/net/system_network_context_manager.h
@@ -15,6 +15,7 @@
 #include "chrome/browser/net/proxy_config_monitor.h"
 #include "components/prefs/pref_change_registrar.h"
 #include "components/prefs/pref_member.h"
+#include "mojo/public/cpp/bindings/pending_receiver.h"
 #include "mojo/public/cpp/bindings/remote.h"
 #include "services/network/public/mojom/host_resolver.mojom-forward.h"
 #include "services/network/public/mojom/network_context.mojom.h"
@@ -100,11 +101,12 @@
   // NetworkService, and for those using the network service (if enabled).
   void DisableQuic();
 
-  // Returns an SSLConfigClientRequest that can be passed as a
+  // Returns an mojo::PendingReceiver<SSLConfigClient> that can be passed as a
   // NetorkContextParam.
-  network::mojom::SSLConfigClientRequest GetSSLConfigClientRequest();
+  mojo::PendingReceiver<network::mojom::SSLConfigClient>
+  GetSSLConfigClientReceiver();
 
-  // Populates |initial_ssl_config| and |ssl_config_client_request| members of
+  // Populates |initial_ssl_config| and |ssl_config_client_receiver| members of
   // |network_context_params|. As long as the SystemNetworkContextManager
   // exists, any NetworkContext created with the params will continue to get
   // SSL configuration updates.
diff --git a/chrome/browser/page_load_metrics/observers/previews_ukm_observer_unittest.cc b/chrome/browser/page_load_metrics/observers/previews_ukm_observer_unittest.cc
index ff2cab9b..abb425b 100644
--- a/chrome/browser/page_load_metrics/observers/previews_ukm_observer_unittest.cc
+++ b/chrome/browser/page_load_metrics/observers/previews_ukm_observer_unittest.cc
@@ -950,7 +950,13 @@
               base::nullopt /* hint_source */);
 }
 
-TEST_F(PreviewsUKMObserverTest, TestPageEndReasonUMA) {
+#if defined(OS_ANDROID) || defined(OS_LINUX)
+// Flaky. https://crbug.com/1002223
+#define MAYBE_TestPageEndReasonUMA DISABLED_TestPageEndReasonUMA
+#else
+#define MAYBE_TestPageEndReasonUMA TestPageEndReasonUMA
+#endif
+TEST_F(PreviewsUKMObserverTest, MAYBE_TestPageEndReasonUMA) {
   std::unique_ptr<base::StatisticsRecorder> recorder(
       base::StatisticsRecorder::CreateTemporaryForTesting());
   base::HistogramTester histogram_tester;
diff --git a/chrome/browser/performance_manager/chrome_browser_main_extra_parts_performance_manager.cc b/chrome/browser/performance_manager/chrome_browser_main_extra_parts_performance_manager.cc
index 0bca796..db8bbb34 100644
--- a/chrome/browser/performance_manager/chrome_browser_main_extra_parts_performance_manager.cc
+++ b/chrome/browser/performance_manager/chrome_browser_main_extra_parts_performance_manager.cc
@@ -23,6 +23,7 @@
 #include "chrome/browser/profiles/profile_manager.h"
 #include "components/performance_manager/graph/graph_impl.h"
 #include "components/performance_manager/performance_manager_impl.h"
+#include "components/performance_manager/performance_manager_lock_observer.h"
 #include "components/performance_manager/performance_manager_tab_helper.h"
 #include "components/performance_manager/render_process_user_data.h"
 #include "components/performance_manager/shared_worker_watcher.h"
@@ -38,10 +39,29 @@
 #endif  // BUILDFLAG(USE_TCMALLOC)
 #endif  // defined(OS_LINUX)
 
+namespace {
+ChromeBrowserMainExtraPartsPerformanceManager* g_instance = nullptr;
+}
+
 ChromeBrowserMainExtraPartsPerformanceManager::
-    ChromeBrowserMainExtraPartsPerformanceManager() = default;
+    ChromeBrowserMainExtraPartsPerformanceManager()
+    : lock_observer_(std::make_unique<
+                     performance_manager::PerformanceManagerLockObserver>()) {
+  DCHECK(!g_instance);
+  g_instance = this;
+}
+
 ChromeBrowserMainExtraPartsPerformanceManager::
-    ~ChromeBrowserMainExtraPartsPerformanceManager() = default;
+    ~ChromeBrowserMainExtraPartsPerformanceManager() {
+  DCHECK_EQ(this, g_instance);
+  g_instance = nullptr;
+}
+
+// static
+ChromeBrowserMainExtraPartsPerformanceManager*
+ChromeBrowserMainExtraPartsPerformanceManager::GetInstance() {
+  return g_instance;
+}
 
 // static
 void ChromeBrowserMainExtraPartsPerformanceManager::
@@ -74,6 +94,11 @@
 #endif  // defined(OS_LINUX)
 }
 
+content::LockObserver*
+ChromeBrowserMainExtraPartsPerformanceManager::GetLockObserver() {
+  return lock_observer_.get();
+}
+
 void ChromeBrowserMainExtraPartsPerformanceManager::PostCreateThreads() {
   performance_manager_ = performance_manager::PerformanceManagerImpl::Create(
       base::BindOnce(&ChromeBrowserMainExtraPartsPerformanceManager::
diff --git a/chrome/browser/performance_manager/chrome_browser_main_extra_parts_performance_manager.h b/chrome/browser/performance_manager/chrome_browser_main_extra_parts_performance_manager.h
index 026e781..8159d4e 100644
--- a/chrome/browser/performance_manager/chrome_browser_main_extra_parts_performance_manager.h
+++ b/chrome/browser/performance_manager/chrome_browser_main_extra_parts_performance_manager.h
@@ -18,6 +18,10 @@
 
 class Profile;
 
+namespace content {
+class LockObserver;
+}
+
 namespace performance_manager {
 class BrowserChildProcessWatcher;
 class GraphImpl;
@@ -34,9 +38,18 @@
   ChromeBrowserMainExtraPartsPerformanceManager();
   ~ChromeBrowserMainExtraPartsPerformanceManager() override;
 
+  // Returns the only instance of this class.
+  static ChromeBrowserMainExtraPartsPerformanceManager* GetInstance();
+
   static void CreateDefaultPoliciesAndDecorators(
       performance_manager::GraphImpl* graph);
 
+  // Returns the LockObserver that should be exposed to //content to allow the
+  // performance manager to track usage of locks in frames. Valid to call from
+  // any thread, but external synchronization is needed to make sure that the
+  // performance manager is available.
+  content::LockObserver* GetLockObserver();
+
  private:
   // ChromeBrowserMainExtraParts overrides.
   void PostCreateThreads() override;
@@ -54,6 +67,11 @@
   std::unique_ptr<performance_manager::PerformanceManagerImpl>
       performance_manager_;
 
+  // This must be alive at least until the end of base::ThreadPool shutdown,
+  // because it can be accessed by IndexedDB which runs on a base::ThreadPool
+  // sequence.
+  const std::unique_ptr<content::LockObserver> lock_observer_;
+
   std::unique_ptr<performance_manager::BrowserChildProcessWatcher>
       browser_child_process_watcher_;
 
diff --git a/chrome/browser/predictors/preconnect_manager_unittest.cc b/chrome/browser/predictors/preconnect_manager_unittest.cc
index e7d76b4..17eff26 100644
--- a/chrome/browser/predictors/preconnect_manager_unittest.cc
+++ b/chrome/browser/predictors/preconnect_manager_unittest.cc
@@ -18,6 +18,8 @@
 #include "chrome/browser/predictors/resolve_host_client_impl.h"
 #include "chrome/test/base/testing_profile.h"
 #include "content/public/test/browser_task_environment.h"
+#include "mojo/public/cpp/bindings/pending_remote.h"
+#include "mojo/public/cpp/bindings/remote.h"
 #include "net/base/load_flags.h"
 #include "net/base/network_isolation_key.h"
 #include "net/traffic_annotation/network_traffic_annotation_test_helper.h"
@@ -79,9 +81,9 @@
     ResolveHostProxy(host);
   }
 
-  void LookUpProxyForURL(
-      const GURL& url,
-      network::mojom::ProxyLookupClientPtr proxy_lookup_client) override {
+  void LookUpProxyForURL(const GURL& url,
+                         mojo::PendingRemote<network::mojom::ProxyLookupClient>
+                             proxy_lookup_client) override {
     EXPECT_TRUE(
         proxy_lookup_clients_.emplace(url, std::move(proxy_lookup_client))
             .second);
@@ -146,7 +148,8 @@
 
   std::map<std::string, network::mojom::ResolveHostClientPtr>
       resolve_host_clients_;
-  std::map<GURL, network::mojom::ProxyLookupClientPtr> proxy_lookup_clients_;
+  std::map<GURL, mojo::Remote<network::mojom::ProxyLookupClient>>
+      proxy_lookup_clients_;
   bool enabled_proxy_testing_ = false;
   std::vector<std::string> hanging_hosts_;
 };
diff --git a/chrome/browser/predictors/proxy_lookup_client_impl.cc b/chrome/browser/predictors/proxy_lookup_client_impl.cc
index 6ead04c2..ccfb947 100644
--- a/chrome/browser/predictors/proxy_lookup_client_impl.cc
+++ b/chrome/browser/predictors/proxy_lookup_client_impl.cc
@@ -21,15 +21,14 @@
     const GURL& url,
     ProxyLookupCallback callback,
     network::mojom::NetworkContext* network_context)
-    : binding_(this), callback_(std::move(callback)) {
+    : callback_(std::move(callback)) {
   DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
-  network::mojom::ProxyLookupClientPtr proxy_lookup_client_ptr;
-  binding_.Bind(
-      mojo::MakeRequest(&proxy_lookup_client_ptr),
-      base::CreateSingleThreadTaskRunner(
-          {content::BrowserThread::UI, content::BrowserTaskType::kPreconnect}));
-  network_context->LookUpProxyForURL(url, std::move(proxy_lookup_client_ptr));
-  binding_.set_connection_error_handler(
+  network_context->LookUpProxyForURL(
+      url,
+      receiver_.BindNewPipeAndPassRemote(base::CreateSingleThreadTaskRunner(
+          {content::BrowserThread::UI,
+           content::BrowserTaskType::kPreconnect})));
+  receiver_.set_disconnect_handler(
       base::BindOnce(&ProxyLookupClientImpl::OnProxyLookupComplete,
                      base::Unretained(this), net::ERR_ABORTED, base::nullopt));
 }
diff --git a/chrome/browser/predictors/proxy_lookup_client_impl.h b/chrome/browser/predictors/proxy_lookup_client_impl.h
index c2d2ea02..5aca60ff 100644
--- a/chrome/browser/predictors/proxy_lookup_client_impl.h
+++ b/chrome/browser/predictors/proxy_lookup_client_impl.h
@@ -8,7 +8,7 @@
 #include "base/bind.h"
 #include "base/macros.h"
 #include "base/optional.h"
-#include "mojo/public/cpp/bindings/binding.h"
+#include "mojo/public/cpp/bindings/receiver.h"
 #include "services/network/public/mojom/proxy_lookup_client.mojom.h"
 
 class GURL;
@@ -41,7 +41,7 @@
       const base::Optional<net::ProxyInfo>& proxy_info) override;
 
  private:
-  mojo::Binding<network::mojom::ProxyLookupClient> binding_;
+  mojo::Receiver<network::mojom::ProxyLookupClient> receiver_{this};
   ProxyLookupCallback callback_;
 
   DISALLOW_COPY_AND_ASSIGN(ProxyLookupClientImpl);
diff --git a/chrome/browser/resources/chromeos/camera/src/css/main.css b/chrome/browser/resources/chromeos/camera/src/css/main.css
index 5097a60..47ca7cf4 100644
--- a/chrome/browser/resources/chromeos/camera/src/css/main.css
+++ b/chrome/browser/resources/chromeos/camera/src/css/main.css
@@ -274,6 +274,7 @@
   width: 72px;
 }
 
+body.review-result #switch-device,
 body.review-result #preview-video,
 body:not(.review-result) #confirm-result-groups,
 body:not(.review-photo-result) #review-photo-result,
diff --git a/chrome/browser/resources/chromeos/camera/src/js/views/camera/modes.js b/chrome/browser/resources/chromeos/camera/src/js/views/camera/modes.js
index 59ddb8a..935ce7d 100644
--- a/chrome/browser/resources/chromeos/camera/src/js/views/camera/modes.js
+++ b/chrome/browser/resources/chromeos/camera/src/js/views/camera/modes.js
@@ -834,6 +834,11 @@
   Object.seal(this);
 
   this.doSavePhoto_ = async (result, ...args) => {
+    // Since the image blob after square cut will lose its EXIF including
+    // orientation information. Corrects the orientation before the square cut.
+    result.blob = await new Promise(
+        (resolve, reject) =>
+            cca.util.orientPhoto(result.blob, resolve, reject));
     result.blob = await this.cropSquare(result.blob);
     await this.doAscentSave_(result, ...args);
   };
diff --git a/chrome/browser/resources/chromeos/chromevox/chromevox/background/kbexplorer.js b/chrome/browser/resources/chromeos/chromevox/chromevox/background/kbexplorer.js
index ee35c60..f99f3e17 100644
--- a/chrome/browser/resources/chromeos/chromevox/chromevox/background/kbexplorer.js
+++ b/chrome/browser/resources/chromeos/chromevox/chromevox/background/kbexplorer.js
@@ -199,8 +199,8 @@
 
 /**
  * Handles accessibility gestures from the touch screen.
- * @param {string} gesture The gesture to handle, based on the ax::mojom::Gesture enum
- *     defined in ui/accessibility/ax_enums.idl
+ * @param {string} gesture The gesture to handle, based on the
+ *     ax::mojom::Gesture enum defined in ui/accessibility/ax_enums.mojom
  */
 cvox.KbExplorer.onAccessibilityGesture = function(gesture) {
   cvox.KbExplorer.maybeClose_();
diff --git a/chrome/browser/resources/ntp4/incognito_tab.css b/chrome/browser/resources/ntp4/incognito_tab.css
index 8561b69..23dfea3 100644
--- a/chrome/browser/resources/ntp4/incognito_tab.css
+++ b/chrome/browser/resources/ntp4/incognito_tab.css
@@ -8,6 +8,10 @@
   margin: 0;
 }
 
+[hidden] {
+  display: none !important;
+}
+
 /** Typography -------------------------------------------------------------- */
 
 .content {
diff --git a/chrome/browser/resources/ntp4/incognito_tab.html b/chrome/browser/resources/ntp4/incognito_tab.html
index 6e57d6e57..d1a42daa 100644
--- a/chrome/browser/resources/ntp4/incognito_tab.html
+++ b/chrome/browser/resources/ntp4/incognito_tab.html
@@ -30,7 +30,7 @@
     <div class="bulletpoints first">$i18nRaw{incognitoTabFeatures}</div>
     <div class="bulletpoints">$i18nRaw{incognitoTabWarning}</div>
   </div>
-  <div id="cookie-controls" $i18n{hiddenIfCookieControlsDisabled}>
+  <div id="cookie-controls" $i18n{hideCookieControls}>
     <div id="cookie-controls-description">
       <em>$i18n{cookieControlsTitle}</em>
       $i18n{cookieControlsDescription}
diff --git a/chrome/browser/resources/ntp4/incognito_tab.js b/chrome/browser/resources/ntp4/incognito_tab.js
index 668ecc12..aa7de31 100644
--- a/chrome/browser/resources/ntp4/incognito_tab.js
+++ b/chrome/browser/resources/ntp4/incognito_tab.js
@@ -14,10 +14,14 @@
   cr.addWebUIListener('cookie-controls-changed', checked => {
     $('cookie-controls-toggle').checked = checked;
   });
+  cr.addWebUIListener(
+      'third-party-cookie-blocking-changed', shouldHideCookieControls => {
+        $('cookie-controls').hidden = shouldHideCookieControls;
+      });
   $('cookie-controls-toggle').addEventListener('change', event => {
     chrome.send('cookieControlsToggleChanged', [event.detail]);
   });
-  chrome.send('observeCookieControlsModeChange');
+  chrome.send('observeCookieControlsSettingsChanges');
 });
 
 // Handle the bookmark bar, theme, and font size change requests
diff --git a/chrome/browser/sharing/click_to_call/click_to_call_context_menu_observer.cc b/chrome/browser/sharing/click_to_call/click_to_call_context_menu_observer.cc
index 279e913..c20fcf78 100644
--- a/chrome/browser/sharing/click_to_call/click_to_call_context_menu_observer.cc
+++ b/chrome/browser/sharing/click_to_call/click_to_call_context_menu_observer.cc
@@ -130,7 +130,7 @@
 
 void ClickToCallContextMenuObserver::ExecuteCommand(int command_id) {
   if (command_id == IDC_CONTENT_CONTEXT_SHARING_CLICK_TO_CALL_SINGLE_DEVICE) {
-    DCHECK(devices_.size() == 1);
+    DCHECK_EQ(1u, devices_.size());
     SendClickToCallMessage(0);
   }
 }
@@ -138,7 +138,7 @@
 void ClickToCallContextMenuObserver::SendClickToCallMessage(
     int chosen_device_index) {
   DCHECK(entry_point_);
-  if (chosen_device_index >= static_cast<int>(devices_.size()))
+  if (size_t{chosen_device_index} >= devices_.size())
     return;
 
   LogSharingSelectedDeviceIndex(controller_->GetFeatureMetricsPrefix(),
diff --git a/chrome/browser/sharing/shared_clipboard/shared_clipboard_context_menu_observer.cc b/chrome/browser/sharing/shared_clipboard/shared_clipboard_context_menu_observer.cc
index 658a51f..27146754 100644
--- a/chrome/browser/sharing/shared_clipboard/shared_clipboard_context_menu_observer.cc
+++ b/chrome/browser/sharing/shared_clipboard/shared_clipboard_context_menu_observer.cc
@@ -127,14 +127,14 @@
 void SharedClipboardContextMenuObserver::ExecuteCommand(int command_id) {
   if (command_id ==
       IDC_CONTENT_CONTEXT_SHARING_SHARED_CLIPBOARD_SINGLE_DEVICE) {
-    DCHECK(devices_.size() == 1);
+    DCHECK_EQ(1u, devices_.size());
     SendSharedClipboardMessage(0);
   }
 }
 
 void SharedClipboardContextMenuObserver::SendSharedClipboardMessage(
     int chosen_device_index) {
-  if (chosen_device_index >= static_cast<int>(devices_.size()))
+  if (size_t{chosen_device_index} >= devices_.size())
     return;
   LogSharingSelectedDeviceIndex(controller_->GetFeatureMetricsPrefix(),
                                 nullptr /* No suffix */, chosen_device_index);
diff --git a/chrome/browser/sharing/sharing_dialog_data.cc b/chrome/browser/sharing/sharing_dialog_data.cc
index 4fa4f67..5306ba8 100644
--- a/chrome/browser/sharing/sharing_dialog_data.cc
+++ b/chrome/browser/sharing/sharing_dialog_data.cc
@@ -9,3 +9,6 @@
 SharingDialogData::~SharingDialogData() = default;
 
 SharingDialogData::SharingDialogData(SharingDialogData&& other) = default;
+
+SharingDialogData& SharingDialogData::operator=(SharingDialogData&& other) =
+    default;
diff --git a/chrome/browser/sharing/sharing_dialog_data.h b/chrome/browser/sharing/sharing_dialog_data.h
index 1ad7a40..c9f13c91 100644
--- a/chrome/browser/sharing/sharing_dialog_data.h
+++ b/chrome/browser/sharing/sharing_dialog_data.h
@@ -9,7 +9,6 @@
 #include <vector>
 
 #include "base/callback_forward.h"
-#include "base/macros.h"
 #include "base/strings/string16.h"
 #include "chrome/browser/sharing/sharing_app.h"
 #include "chrome/browser/sharing/sharing_metrics.h"
@@ -23,6 +22,7 @@
   SharingDialogData();
   ~SharingDialogData();
   SharingDialogData(SharingDialogData&& other);
+  SharingDialogData& operator=(SharingDialogData&& other);
 
   SharingDialogType type = SharingDialogType::kErrorDialog;
   SharingFeatureName prefix = SharingFeatureName::kUnknown;
@@ -41,9 +41,6 @@
   base::OnceCallback<void(const syncer::DeviceInfo&)> device_callback;
   base::OnceCallback<void(const SharingApp&)> app_callback;
   base::OnceCallback<void(SharingDialog*)> close_callback;
-
- private:
-  DISALLOW_COPY_AND_ASSIGN(SharingDialogData);
 };
 
 #endif  // CHROME_BROWSER_SHARING_SHARING_DIALOG_DATA_H_
diff --git a/chrome/browser/sharing/sharing_ui_controller.cc b/chrome/browser/sharing/sharing_ui_controller.cc
index c93f296e..8a5ce86c 100644
--- a/chrome/browser/sharing/sharing_ui_controller.cc
+++ b/chrome/browser/sharing/sharing_ui_controller.cc
@@ -49,124 +49,6 @@
 
 SharingUiController::~SharingUiController() = default;
 
-void SharingUiController::CloseDialog() {
-  if (!dialog_)
-    return;
-
-  dialog_->Hide();
-
-  // SharingDialog::Hide may close the dialog asynchronously, and therefore not
-  // call OnDialogClosed immediately. If that is the case, call OnDialogClosed
-  // now to notify subclasses and clear |dialog_|.
-  if (dialog_)
-    OnDialogClosed(dialog_);
-
-  DCHECK(!dialog_);
-}
-
-SharingDialogData SharingUiController::CreateDialogData(
-    SharingDialogType dialog_type) {
-  SharingDialogData data;
-
-  data.type = dialog_type;
-  data.prefix = GetFeatureMetricsPrefix();
-  data.title = GetTitle(data.type);
-  data.error_text = GetErrorDialogText();
-
-  auto weak_ptr = weak_ptr_factory_.GetWeakPtr();
-  data.help_callback =
-      base::BindOnce(&SharingUiController::OnHelpTextClicked, weak_ptr);
-  data.device_callback =
-      base::BindOnce(&SharingUiController::OnDeviceChosen, weak_ptr);
-  data.app_callback =
-      base::BindOnce(&SharingUiController::OnAppChosen, weak_ptr);
-  data.close_callback =
-      base::BindOnce(&SharingUiController::OnDialogClosed, weak_ptr);
-  return data;
-}
-
-void SharingUiController::ShowNewDialog(SharingDialogData dialog_data) {
-  CloseDialog();
-  BrowserWindow* window = GetWindowFromWebContents(web_contents_);
-  if (!window)
-    return;
-  bool has_devices = !dialog_data.devices.empty();
-  bool has_apps = !dialog_data.apps.empty();
-  dialog_ = window->ShowSharingDialog(web_contents(), std::move(dialog_data));
-  UpdateIcon();
-  OnDialogShown(has_devices, has_apps);
-}
-
-void SharingUiController::UpdateIcon() {
-  BrowserWindow* window = GetWindowFromWebContents(web_contents_);
-  if (!window)
-    return;
-
-  window->UpdatePageActionIcon(GetIconType());
-}
-
-void SharingUiController::OnDialogClosed(SharingDialog* dialog) {
-  // Ignore already replaced dialogs.
-  if (dialog != dialog_)
-    return;
-
-  dialog_ = nullptr;
-  UpdateIcon();
-}
-
-void SharingUiController::MaybeShowErrorDialog() {
-  if (HasSendFailed() && web_contents_ == GetCurrentWebContents(web_contents_))
-    ShowNewDialog(CreateDialogData(SharingDialogType::kErrorDialog));
-}
-
-void SharingUiController::SendMessageToDevice(
-    const syncer::DeviceInfo& device,
-    chrome_browser_sharing::SharingMessage sharing_message) {
-  last_dialog_id_++;
-  is_loading_ = true;
-  send_result_ = SharingSendMessageResult::kSuccessful;
-  target_device_name_ = device.client_name();
-  UpdateIcon();
-
-  sharing_service_->SendMessageToDevice(
-      device.guid(), kSharingMessageTTL, std::move(sharing_message),
-      base::Bind(&SharingUiController::OnMessageSentToDevice,
-                 weak_ptr_factory_.GetWeakPtr(), last_dialog_id_));
-}
-
-void SharingUiController::OnMessageSentToDevice(
-    int dialog_id,
-    SharingSendMessageResult result) {
-  if (dialog_id != last_dialog_id_)
-    return;
-
-  is_loading_ = false;
-  send_result_ = result;
-  UpdateIcon();
-}
-
-void SharingUiController::ClearLastDialog() {
-  last_dialog_id_++;
-  is_loading_ = false;
-  send_result_ = SharingSendMessageResult::kSuccessful;
-  CloseDialog();
-}
-
-void SharingUiController::UpdateAndShowDialog() {
-  ClearLastDialog();
-  DoUpdateApps(base::BindOnce(&SharingUiController::OnAppsReceived,
-                              weak_ptr_factory_.GetWeakPtr(), last_dialog_id_));
-}
-
-std::vector<std::unique_ptr<syncer::DeviceInfo>>
-SharingUiController::GetDevices() {
-  return sharing_service_->GetDeviceCandidates(GetRequiredFeature());
-}
-
-base::string16 SharingUiController::GetTargetDeviceName() const {
-  return base::UTF8ToUTF16(target_device_name_);
-}
-
 base::string16 SharingUiController::GetTitle(SharingDialogType dialog_type) {
   // We only handle error messages generically.
   DCHECK_EQ(SharingDialogType::kErrorDialog, dialog_type);
@@ -216,6 +98,138 @@
   }
 }
 
+void SharingUiController::OnDialogClosed(SharingDialog* dialog) {
+  // Ignore already replaced dialogs.
+  if (dialog != dialog_)
+    return;
+
+  dialog_ = nullptr;
+  UpdateIcon();
+}
+
+void SharingUiController::OnHelpTextClicked(SharingDialogType dialog_type) {
+  ShowSingletonTab(chrome::FindBrowserWithWebContents(web_contents()),
+                   GURL(chrome::kSyncLearnMoreURL));
+}
+
+void SharingUiController::OnDialogShown(bool has_devices, bool has_apps) {
+  if (on_dialog_shown_closure_for_testing_)
+    std::move(on_dialog_shown_closure_for_testing_).Run();
+}
+
+void SharingUiController::ClearLastDialog() {
+  last_dialog_id_++;
+  is_loading_ = false;
+  send_result_ = SharingSendMessageResult::kSuccessful;
+  CloseDialog();
+}
+
+void SharingUiController::UpdateAndShowDialog() {
+  ClearLastDialog();
+  DoUpdateApps(base::BindOnce(&SharingUiController::OnAppsReceived,
+                              weak_ptr_factory_.GetWeakPtr(), last_dialog_id_));
+}
+
+std::vector<std::unique_ptr<syncer::DeviceInfo>>
+SharingUiController::GetDevices() {
+  return sharing_service_->GetDeviceCandidates(GetRequiredFeature());
+}
+
+bool SharingUiController::HasSendFailed() const {
+  return send_result_ != SharingSendMessageResult::kSuccessful;
+}
+
+void SharingUiController::MaybeShowErrorDialog() {
+  if (HasSendFailed() && web_contents_ == GetCurrentWebContents(web_contents_))
+    ShowNewDialog(CreateDialogData(SharingDialogType::kErrorDialog));
+}
+
+SharingDialogData SharingUiController::CreateDialogData(
+    SharingDialogType dialog_type) {
+  SharingDialogData data;
+
+  data.type = dialog_type;
+  data.prefix = GetFeatureMetricsPrefix();
+  data.title = GetTitle(data.type);
+  data.error_text = GetErrorDialogText();
+
+  auto weak_ptr = weak_ptr_factory_.GetWeakPtr();
+  data.help_callback =
+      base::BindOnce(&SharingUiController::OnHelpTextClicked, weak_ptr);
+  data.device_callback =
+      base::BindOnce(&SharingUiController::OnDeviceChosen, weak_ptr);
+  data.app_callback =
+      base::BindOnce(&SharingUiController::OnAppChosen, weak_ptr);
+  data.close_callback =
+      base::BindOnce(&SharingUiController::OnDialogClosed, weak_ptr);
+  return data;
+}
+
+void SharingUiController::SendMessageToDevice(
+    const syncer::DeviceInfo& device,
+    chrome_browser_sharing::SharingMessage sharing_message) {
+  last_dialog_id_++;
+  is_loading_ = true;
+  send_result_ = SharingSendMessageResult::kSuccessful;
+  target_device_name_ = device.client_name();
+  UpdateIcon();
+
+  sharing_service_->SendMessageToDevice(
+      device.guid(), kSharingMessageTTL, std::move(sharing_message),
+      base::Bind(&SharingUiController::OnMessageSentToDevice,
+                 weak_ptr_factory_.GetWeakPtr(), last_dialog_id_));
+}
+
+void SharingUiController::UpdateIcon() {
+  BrowserWindow* window = GetWindowFromWebContents(web_contents_);
+  if (!window)
+    return;
+
+  window->UpdatePageActionIcon(GetIconType());
+}
+
+void SharingUiController::CloseDialog() {
+  if (!dialog_)
+    return;
+
+  dialog_->Hide();
+
+  // SharingDialog::Hide may close the dialog asynchronously, and therefore not
+  // call OnDialogClosed immediately. If that is the case, call OnDialogClosed
+  // now to notify subclasses and clear |dialog_|.
+  if (dialog_)
+    OnDialogClosed(dialog_);
+
+  DCHECK(!dialog_);
+}
+
+void SharingUiController::ShowNewDialog(SharingDialogData dialog_data) {
+  CloseDialog();
+  BrowserWindow* window = GetWindowFromWebContents(web_contents_);
+  if (!window)
+    return;
+  bool has_devices = !dialog_data.devices.empty();
+  bool has_apps = !dialog_data.apps.empty();
+  dialog_ = window->ShowSharingDialog(web_contents(), std::move(dialog_data));
+  UpdateIcon();
+  OnDialogShown(has_devices, has_apps);
+}
+
+base::string16 SharingUiController::GetTargetDeviceName() const {
+  return base::UTF8ToUTF16(target_device_name_);
+}
+
+void SharingUiController::OnMessageSentToDevice(
+    int dialog_id,
+    SharingSendMessageResult result) {
+  if (dialog_id != last_dialog_id_)
+    return;
+
+  is_loading_ = false;
+  send_result_ = result;
+  UpdateIcon();
+}
+
 void SharingUiController::OnAppsReceived(int dialog_id,
                                          std::vector<SharingApp> apps) {
   if (dialog_id != last_dialog_id_)
@@ -230,17 +244,3 @@
 
   ShowNewDialog(std::move(dialog_data));
 }
-
-bool SharingUiController::HasSendFailed() const {
-  return send_result_ != SharingSendMessageResult::kSuccessful;
-}
-
-void SharingUiController::OnHelpTextClicked(SharingDialogType dialog_type) {
-  ShowSingletonTab(chrome::FindBrowserWithWebContents(web_contents()),
-                   GURL(chrome::kSyncLearnMoreURL));
-}
-
-void SharingUiController::OnDialogShown(bool has_devices, bool has_apps) {
-  if (on_dialog_shown_closure_for_testing_)
-    std::move(on_dialog_shown_closure_for_testing_).Run();
-}
diff --git a/chrome/browser/sharing/sharing_ui_controller.h b/chrome/browser/sharing/sharing_ui_controller.h
index c39c2a9e..9b73426 100644
--- a/chrome/browser/sharing/sharing_ui_controller.h
+++ b/chrome/browser/sharing/sharing_ui_controller.h
@@ -57,9 +57,18 @@
   virtual base::string16 GetTextForTooltipAndAccessibleName() const = 0;
   // Get the name of the feature to be used as a prefix for the metric name.
   virtual SharingFeatureName GetFeatureMetricsPrefix() const = 0;
+  // Describes the content type of shared data.
+  virtual base::string16 GetContentType() const = 0;
+  // Returns the message to be shown in the body of error dialog based on
+  // |send_result_|.
+  virtual base::string16 GetErrorDialogText() const;
 
   // Called by the SharingDialog when it is being closed.
   virtual void OnDialogClosed(SharingDialog* dialog);
+  // Called by the SharingDialogView when the help text got clicked.
+  virtual void OnHelpTextClicked(SharingDialogType dialog_type);
+  // Called when a new dialog is shown.
+  virtual void OnDialogShown(bool has_devices, bool has_apps);
 
   // Closes the current dialog and resets all state.
   void ClearLastDialog();
@@ -70,12 +79,9 @@
   // Gets the current list of devices that support the required feature.
   std::vector<std::unique_ptr<syncer::DeviceInfo>> GetDevices();
 
-  // Describes the content type of shared data.
-  virtual base::string16 GetContentType() const = 0;
+  bool HasSendFailed() const;
 
-  // Returns the message to be shown in the body of error dialog based on
-  // |send_result_|.
-  virtual base::string16 GetErrorDialogText() const;
+  void MaybeShowErrorDialog();
 
   // Returns the currently open SharingDialog or nullptr if there is no
   // dialog open.
@@ -85,33 +91,21 @@
   void set_send_result_for_testing(SharingSendMessageResult result) {
     send_result_ = result;
   }
-
-  bool HasSendFailed() const;
-
   content::WebContents* web_contents() const { return web_contents_; }
 
-  void MaybeShowErrorDialog();
-
-  // Called by the SharingDialogView when the help text got clicked.
-  virtual void OnHelpTextClicked(SharingDialogType dialog_type);
-
-  // Called when a new dialog is shown.
-  virtual void OnDialogShown(bool has_devices, bool has_apps);
-
   void set_on_dialog_shown_closure_for_testing(base::OnceClosure closure) {
     on_dialog_shown_closure_for_testing_ = std::move(closure);
   }
 
  protected:
   virtual void DoUpdateApps(UpdateAppsCallback callback) = 0;
+  // Prepares a new dialog data.
+  virtual SharingDialogData CreateDialogData(SharingDialogType dialog_type);
 
   void SendMessageToDevice(
       const syncer::DeviceInfo& device,
       chrome_browser_sharing::SharingMessage sharing_message);
 
-  // Prepares a new dialog data.
-  virtual SharingDialogData CreateDialogData(SharingDialogType dialog_type);
-
  private:
   // Updates the omnibox icon if available.
   void UpdateIcon();
diff --git a/chrome/browser/spellchecker/spell_check_host_chrome_impl_win_browsertest.cc b/chrome/browser/spellchecker/spell_check_host_chrome_impl_win_browsertest.cc
index c7c5f702..a47d8d9 100644
--- a/chrome/browser/spellchecker/spell_check_host_chrome_impl_win_browsertest.cc
+++ b/chrome/browser/spellchecker/spell_check_host_chrome_impl_win_browsertest.cc
@@ -20,13 +20,14 @@
 
 class SpellCheckHostChromeImplWinBrowserTest : public InProcessBrowserTest {
  public:
+  SpellCheckHostChromeImplWinBrowserTest() {
+    feature_list_.InitAndEnableFeature(spellcheck::kWinUseBrowserSpellChecker);
+  }
+
   void SetUpOnMainThread() override {
     content::BrowserContext* context = browser()->profile();
     renderer_.reset(new content::MockRenderProcessHost(context));
 
-    base::test::ScopedFeatureList feature_list;
-    feature_list.InitAndEnableFeature(spellcheck::kWinUseBrowserSpellChecker);
-
     SpellCheckHostChromeImpl::Create(
         renderer_->GetID(), spell_check_host_.BindNewPipeAndPassReceiver());
   }
@@ -58,6 +59,7 @@
   }
 
  protected:
+  base::test::ScopedFeatureList feature_list_;
   std::unique_ptr<content::MockRenderProcessHost> renderer_;
   mojo::Remote<spellcheck::mojom::SpellCheckHost> spell_check_host_;
 
@@ -72,9 +74,6 @@
   if (base::win::GetVersion() < base::win::Version::WIN8)
     return;
 
-  base::test::ScopedFeatureList feature_list;
-  feature_list.InitAndEnableFeature(spellcheck::kWinUseBrowserSpellChecker);
-
   spellcheck_platform::SetLanguage(
       "en-US", base::BindOnce(&SpellCheckHostChromeImplWinBrowserTest::
                                   SetLanguageCompletionCallback,
diff --git a/chrome/browser/ssl/ssl_browsertest.cc b/chrome/browser/ssl/ssl_browsertest.cc
index ed93b8d..eec0fee8 100644
--- a/chrome/browser/ssl/ssl_browsertest.cc
+++ b/chrome/browser/ssl/ssl_browsertest.cc
@@ -136,6 +136,7 @@
 #include "crypto/sha2.h"
 #include "extensions/common/extension.h"
 #include "mojo/public/cpp/bindings/associated_remote.h"
+#include "mojo/public/cpp/bindings/receiver.h"
 #include "mojo/public/cpp/bindings/remote.h"
 #include "mojo/public/cpp/bindings/sync_call_restrictions.h"
 #include "net/base/escape.h"
@@ -469,8 +470,7 @@
                             net::GetWebSocketTestDataDirectory()),
         wss_server_mismatched_(net::SpawnedTestServer::TYPE_WSS,
                                SSLOptions(SSLOptions::CERT_MISMATCHED_NAME),
-                               net::GetWebSocketTestDataDirectory()),
-        binding_(this) {
+                               net::GetWebSocketTestDataDirectory()) {
     https_server_.AddDefaultHandlers(GetChromeTestDataDir());
 
     https_server_expired_.SetSSLConfig(net::EmbeddedTestServer::CERT_EXPIRED);
@@ -516,10 +516,10 @@
     network::mojom::NetworkContextParamsPtr context_params =
         CreateDefaultNetworkContextParams();
     last_ssl_config_ = *context_params->initial_ssl_config;
-    binding_.Bind(std::move(context_params->ssl_config_client_request));
+    receiver_.Bind(std::move(context_params->ssl_config_client_receiver));
   }
 
-  void TearDownOnMainThread() override { binding_.Close(); }
+  void TearDownOnMainThread() override { receiver_.reset(); }
 
   void CheckAuthenticatedState(WebContents* tab,
                                int expected_authentication_state) {
@@ -881,7 +881,7 @@
 
   base::RepeatingClosure ssl_config_updated_callback_;
   network::mojom::SSLConfig last_ssl_config_;
-  mojo::Binding<network::mojom::SSLConfigClient> binding_;
+  mojo::Receiver<network::mojom::SSLConfigClient> receiver_{this};
 
   DISALLOW_COPY_AND_ASSIGN(SSLUITestBase);
 };
diff --git a/chrome/browser/ssl/ssl_config_service_manager.h b/chrome/browser/ssl/ssl_config_service_manager.h
index fd889a8..5c86dc0 100644
--- a/chrome/browser/ssl/ssl_config_service_manager.h
+++ b/chrome/browser/ssl/ssl_config_service_manager.h
@@ -26,7 +26,7 @@
   virtual ~SSLConfigServiceManager() {}
 
   // Populates the SSLConfig-related members of |network_context_params|
-  // (|initial_ssl_config| and |ssl_config_client_request|). Updated SSLConfigs
+  // (|initial_ssl_config| and |ssl_config_client_receiver|). Updated SSLConfigs
   // will be send to the NetworkContext created with those params whenever the
   // configuration changes. Can be called more than once to inform multiple
   // NetworkContexts of changes.
diff --git a/chrome/browser/ssl/ssl_config_service_manager_pref.cc b/chrome/browser/ssl/ssl_config_service_manager_pref.cc
index 98991f1e..5f1e526 100644
--- a/chrome/browser/ssl/ssl_config_service_manager_pref.cc
+++ b/chrome/browser/ssl/ssl_config_service_manager_pref.cc
@@ -24,7 +24,8 @@
 #include "components/prefs/pref_member.h"
 #include "components/prefs/pref_registry_simple.h"
 #include "components/prefs/pref_service.h"
-#include "mojo/public/cpp/bindings/interface_ptr_set.h"
+#include "mojo/public/cpp/bindings/remote.h"
+#include "mojo/public/cpp/bindings/remote_set.h"
 #include "net/cert/cert_verifier.h"
 #include "net/ssl/ssl_cipher_suite_names.h"
 #include "net/ssl/ssl_config_service.h"
@@ -159,7 +160,7 @@
   // The cached list of disabled SSL cipher suites.
   std::vector<uint16_t> disabled_cipher_suites_;
 
-  mojo::InterfacePtrSet<network::mojom::SSLConfigClient> ssl_config_client_set_;
+  mojo::RemoteSet<network::mojom::SSLConfigClient> ssl_config_client_set_;
 
   DISALLOW_COPY_AND_ASSIGN(SSLConfigServiceManagerPref);
 };
@@ -221,10 +222,10 @@
 void SSLConfigServiceManagerPref::AddToNetworkContextParams(
     network::mojom::NetworkContextParams* network_context_params) {
   network_context_params->initial_ssl_config = GetSSLConfigFromPrefs();
-  network::mojom::SSLConfigClientPtr ssl_config_client;
-  network_context_params->ssl_config_client_request =
-      mojo::MakeRequest(&ssl_config_client);
-  ssl_config_client_set_.AddPtr(std::move(ssl_config_client));
+  mojo::Remote<network::mojom::SSLConfigClient> ssl_config_client;
+  network_context_params->ssl_config_client_receiver =
+      ssl_config_client.BindNewPipeAndPassReceiver();
+  ssl_config_client_set_.Add(std::move(ssl_config_client));
 }
 
 void SSLConfigServiceManagerPref::FlushForTesting() {
@@ -241,12 +242,11 @@
   network::mojom::SSLConfigPtr new_config = GetSSLConfigFromPrefs();
   network::mojom::SSLConfig* raw_config = new_config.get();
 
-  ssl_config_client_set_.ForAllPtrs(
-      [raw_config](network::mojom::SSLConfigClient* client) {
-        // Mojo calls consume all InterfacePtrs passed to them, so have to
-        // clone the config for each call.
-        client->OnSSLConfigUpdated(raw_config->Clone());
-      });
+  for (const auto& client : ssl_config_client_set_) {
+    // Mojo calls consume all InterfacePtrs passed to them, so have to
+    // clone the config for each call.
+    client->OnSSLConfigUpdated(raw_config->Clone());
+  }
 }
 
 network::mojom::SSLConfigPtr
diff --git a/chrome/browser/ssl/ssl_config_service_manager_pref_unittest.cc b/chrome/browser/ssl/ssl_config_service_manager_pref_unittest.cc
index 7d5def8..94169dea 100644
--- a/chrome/browser/ssl/ssl_config_service_manager_pref_unittest.cc
+++ b/chrome/browser/ssl/ssl_config_service_manager_pref_unittest.cc
@@ -17,7 +17,7 @@
 #include "chrome/common/chrome_switches.h"
 #include "chrome/common/pref_names.h"
 #include "components/prefs/testing_pref_service.h"
-#include "mojo/public/cpp/bindings/binding.h"
+#include "mojo/public/cpp/bindings/receiver.h"
 #include "net/cert/cert_verifier.h"
 #include "net/ssl/ssl_config.h"
 #include "services/network/public/mojom/network_service.mojom.h"
@@ -29,7 +29,7 @@
 class SSLConfigServiceManagerPrefTest : public testing::Test,
                                         public network::mojom::SSLConfigClient {
  public:
-  SSLConfigServiceManagerPrefTest() : binding_(this) {}
+  SSLConfigServiceManagerPrefTest() = default;
 
   ~SSLConfigServiceManagerPrefTest() override {
     EXPECT_EQ(updates_waited_for_, observed_configs_.size());
@@ -49,9 +49,10 @@
     config_manager->AddToNetworkContextParams(network_context_params.get());
     EXPECT_TRUE(network_context_params->initial_ssl_config);
     initial_config_ = std::move(network_context_params->initial_ssl_config);
-    EXPECT_TRUE(network_context_params->ssl_config_client_request);
-    // It's safe to destroy the SSLConfigServiceManager before |binding_|.
-    binding_.Bind(std::move(network_context_params->ssl_config_client_request));
+    EXPECT_TRUE(network_context_params->ssl_config_client_receiver);
+    // It's safe to destroy the SSLConfigServiceManager before |receiver_|.
+    receiver_.Bind(
+        std::move(network_context_params->ssl_config_client_receiver));
     return config_manager;
   }
 
@@ -70,7 +71,7 @@
 
     // Not going to have much luck waiting for an update if this isn't bound to
     // anything.
-    ASSERT_TRUE(binding_.is_bound());
+    ASSERT_TRUE(receiver_.is_bound());
 
     run_loop_ = std::make_unique<base::RunLoop>();
     run_loop_->Run();
@@ -91,7 +92,7 @@
 
   TestingPrefServiceSimple local_state_;
 
-  mojo::Binding<network::mojom::SSLConfigClient> binding_;
+  mojo::Receiver<network::mojom::SSLConfigClient> receiver_{this};
   network::mojom::SSLConfigPtr initial_config_;
   std::vector<network::mojom::SSLConfigPtr> observed_configs_;
   size_t updates_waited_for_ = 0;
diff --git a/chrome/browser/ui/app_list/search/drive_quick_access_provider.cc b/chrome/browser/ui/app_list/search/drive_quick_access_provider.cc
index d402699..eb495db 100644
--- a/chrome/browser/ui/app_list/search/drive_quick_access_provider.cc
+++ b/chrome/browser/ui/app_list/search/drive_quick_access_provider.cc
@@ -20,6 +20,38 @@
 
 constexpr int kMaxItems = 5;
 
+// Error codes returned by the Drive QuickAccess API call. These values persist
+// to logs. Entries should not be renumbered and numeric values should never be
+// reused.
+enum class FileError {
+  kUnknown = 0,
+  kFileErrorOk = 1,
+  kFileErrorFailed = 2,
+  kFileErrorIn_use = 3,
+  kFileErrorExists = 4,
+  kFileErrorNotFound = 5,
+  kFileErrorAccessDenied = 6,
+  kFileErrorTooManyOpened = 7,
+  kFileErrorNoMemory = 8,
+  kFileErrorNoServerSpace = 9,
+  kFileErrorNotADirectory = 10,
+  kFileErrorInvalidOperation = 11,
+  kFileErrorSecurity = 12,
+  kFileErrorAbort = 13,
+  kFileErrorNotAFile = 14,
+  kFileErrorNotEmpty = 15,
+  kFileErrorInvalidUrl = 16,
+  kFileErrorNoConnection = 17,
+  kFileErrorNoLocalSpace = 18,
+  kFileErrorServiceUnavailable = 19,
+  kMaxValue = kFileErrorServiceUnavailable,
+};
+
+void LogFileError(FileError error) {
+  UMA_HISTOGRAM_ENUMERATION("Apps.AppList.DriveQuickAccessProvider.FileError",
+                            error);
+}
+
 // Given a vector of QuickAccessItems, return only those that exist on-disk.
 std::vector<drive::QuickAccessItem> FilterResults(
     const drive::DriveIntegrationService* drive_service,
@@ -86,12 +118,10 @@
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
   if (!drive_service_)
     return;
-  LOG(WARNING) << "Drive Quick Access items about to be requested.";
   GetQuickAccessItems();
 }
 
 void DriveQuickAccessProvider::GetQuickAccessItems() {
-  LOG(WARNING) << "Drive Quick Access items are being requested.";
   // Invalidate weak pointers for existing callbacks to the Quick Access API.
   weak_factory_.InvalidateWeakPtrs();
   latest_fetch_start_time_ = base::TimeTicks::Now();
@@ -106,11 +136,20 @@
     drive::FileError error,
     std::vector<drive::QuickAccessItem> drive_results) {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-  LOG(WARNING) << "Drive Quick Access provider returned with "
-               << drive_results.size() << " results.";
+
   UMA_HISTOGRAM_TIMES(
       "Apps.AppList.DriveQuickAccessProvider.GetQuickAccessItemsLatency",
       base::TimeTicks::Now() - latest_fetch_start_time_);
+  UMA_HISTOGRAM_EXACT_LINEAR("Apps.AppList.DriveQuickAccessProvider.ApiResults",
+                             drive_results.size(), 2 * kMaxItems);
+  // Error codes are in the range [-18, 0], convert to the histogram enum values
+  // in [1,19]. If the value is outside the expected range, log
+  // FileError::kUnknown.
+  const int error_int = 1 - static_cast<int>(error);
+  if (0 <= error_int && error_int <= static_cast<int>(FileError::kMaxValue))
+    LogFileError(static_cast<FileError>(error_int));
+  else
+    LogFileError(FileError::kUnknown);
 
   // An empty |drive_results| is likely caused by a failed call to ItemSuggest,
   // so don't replace the cache.
diff --git a/chrome/browser/ui/media_router/presentation_receiver_window_controller.cc b/chrome/browser/ui/media_router/presentation_receiver_window_controller.cc
index 03ae005..98fa082 100644
--- a/chrome/browser/ui/media_router/presentation_receiver_window_controller.cc
+++ b/chrome/browser/ui/media_router/presentation_receiver_window_controller.cc
@@ -16,7 +16,7 @@
 #include "content/public/browser/navigation_controller.h"
 #include "content/public/browser/navigation_entry.h"
 #include "content/public/browser/web_contents.h"
-#include "third_party/blink/public/web/web_presentation_receiver_flags.h"
+#include "third_party/blink/public/common/presentation/presentation_receiver_flags.h"
 #include "ui/views/widget/widget.h"
 
 using content::WebContents;
diff --git a/chrome/browser/ui/views/create_application_shortcut_view.cc b/chrome/browser/ui/views/create_application_shortcut_view.cc
index 54db863..51cd96c 100644
--- a/chrome/browser/ui/views/create_application_shortcut_view.cc
+++ b/chrome/browser/ui/views/create_application_shortcut_view.cc
@@ -44,6 +44,9 @@
     const extensions::Extension* app,
     const base::Callback<void(bool)>& close_callback)
     : profile_(profile), close_callback_(close_callback) {
+  DialogDelegate::set_button_label(
+      ui::DIALOG_BUTTON_OK,
+      l10n_util::GetStringUTF16(IDS_CREATE_SHORTCUTS_COMMIT));
   set_margins(ChromeLayoutProvider::Get()->GetDialogInsetsForContentType(
       views::TEXT, views::TEXT));
   InitControls();
@@ -150,13 +153,6 @@
   return gfx::Size(kDialogWidth, height);
 }
 
-base::string16 CreateChromeApplicationShortcutView::GetDialogButtonLabel(
-    ui::DialogButton button) const {
-  if (button == ui::DIALOG_BUTTON_OK)
-    return l10n_util::GetStringUTF16(IDS_CREATE_SHORTCUTS_COMMIT);
-  return views::DialogDelegateView::GetDialogButtonLabel(button);
-}
-
 bool CreateChromeApplicationShortcutView::IsDialogButtonEnabled(
     ui::DialogButton button) const {
   if (button == ui::DIALOG_BUTTON_OK)
diff --git a/chrome/browser/ui/views/create_application_shortcut_view.h b/chrome/browser/ui/views/create_application_shortcut_view.h
index 9402472c..1c18fa14 100644
--- a/chrome/browser/ui/views/create_application_shortcut_view.h
+++ b/chrome/browser/ui/views/create_application_shortcut_view.h
@@ -41,7 +41,6 @@
 
   // DialogDelegateView:
   gfx::Size CalculatePreferredSize() const override;
-  base::string16 GetDialogButtonLabel(ui::DialogButton button) const override;
   bool IsDialogButtonEnabled(ui::DialogButton button) const override;
   ui::ModalType GetModalType() const override;
   base::string16 GetWindowTitle() const override;
diff --git a/chrome/browser/ui/views/critical_notification_bubble_view.cc b/chrome/browser/ui/views/critical_notification_bubble_view.cc
index acb11a2..6770b04 100644
--- a/chrome/browser/ui/views/critical_notification_bubble_view.cc
+++ b/chrome/browser/ui/views/critical_notification_bubble_view.cc
@@ -35,6 +35,11 @@
 CriticalNotificationBubbleView::CriticalNotificationBubbleView(
     views::View* anchor_view)
     : BubbleDialogDelegateView(anchor_view, views::BubbleBorder::TOP_RIGHT) {
+  DialogDelegate::set_button_label(
+      ui::DIALOG_BUTTON_OK,
+      l10n_util::GetStringUTF16(IDS_CRITICAL_NOTIFICATION_RESTART));
+  DialogDelegate::set_button_label(ui::DIALOG_BUTTON_CANCEL,
+                                   l10n_util::GetStringUTF16(IDS_CANCEL));
   set_close_on_deactivate(false);
   chrome::RecordDialogCreation(chrome::DialogIdentifier::CRITICAL_NOTIFICATION);
 }
@@ -105,13 +110,6 @@
   return true;
 }
 
-base::string16 CriticalNotificationBubbleView::GetDialogButtonLabel(
-    ui::DialogButton button) const {
-  return l10n_util::GetStringUTF16(button == ui::DIALOG_BUTTON_CANCEL
-                                       ? IDS_CANCEL
-                                       : IDS_CRITICAL_NOTIFICATION_RESTART);
-}
-
 void CriticalNotificationBubbleView::Init() {
   bubble_created_ = base::TimeTicks::Now();
 
diff --git a/chrome/browser/ui/views/critical_notification_bubble_view.h b/chrome/browser/ui/views/critical_notification_bubble_view.h
index 1360110..00c3875 100644
--- a/chrome/browser/ui/views/critical_notification_bubble_view.h
+++ b/chrome/browser/ui/views/critical_notification_bubble_view.h
@@ -20,7 +20,6 @@
   bool Cancel() override;
   bool Accept() override;
   void Init() override;
-  base::string16 GetDialogButtonLabel(ui::DialogButton button) const override;
   void GetAccessibleNodeData(ui::AXNodeData* node_data) override;
   void ViewHierarchyChanged(
       const views::ViewHierarchyChangedDetails& details) override;
diff --git a/chrome/browser/ui/views/hats/hats_bubble_view.cc b/chrome/browser/ui/views/hats/hats_bubble_view.cc
index 92eaac3..d2fa6e62 100644
--- a/chrome/browser/ui/views/hats/hats_bubble_view.cc
+++ b/chrome/browser/ui/views/hats/hats_bubble_view.cc
@@ -101,6 +101,11 @@
       consent_callback_(std::move(consent_callback)) {
   chrome::RecordDialogCreation(chrome::DialogIdentifier::HATS_BUBBLE);
 
+  DialogDelegate::set_button_label(
+      ui::DIALOG_BUTTON_OK,
+      l10n_util::GetStringUTF16(IDS_HATS_BUBBLE_OK_LABEL));
+  DialogDelegate::set_button_label(ui::DIALOG_BUTTON_CANCEL,
+                                   l10n_util::GetStringUTF16(IDS_NO_THANKS));
   set_close_on_deactivate(false);
   set_parent_window(parent_view);
 
@@ -138,13 +143,6 @@
   return true;
 }
 
-base::string16 HatsBubbleView::GetDialogButtonLabel(
-    ui::DialogButton button) const {
-  return button == ui::DIALOG_BUTTON_OK
-             ? l10n_util::GetStringUTF16(IDS_HATS_BUBBLE_OK_LABEL)
-             : l10n_util::GetStringUTF16(IDS_NO_THANKS);
-}
-
 bool HatsBubbleView::Cancel() {
   if (consent_callback_)
     std::move(consent_callback_).Run(false);
diff --git a/chrome/browser/ui/views/hats/hats_bubble_view.h b/chrome/browser/ui/views/hats/hats_bubble_view.h
index 871d48d..d50d3bbdb 100644
--- a/chrome/browser/ui/views/hats/hats_bubble_view.h
+++ b/chrome/browser/ui/views/hats/hats_bubble_view.h
@@ -53,7 +53,6 @@
   bool ShouldShowWindowIcon() const override;
 
   // views::DialogDelegate:
-  base::string16 GetDialogButtonLabel(ui::DialogButton button) const override;
   bool Cancel() override;
   bool Accept() override;
 
diff --git a/chrome/browser/ui/views/intent_picker_bubble_view.h b/chrome/browser/ui/views/intent_picker_bubble_view.h
index 8745635..db90e9a3 100644
--- a/chrome/browser/ui/views/intent_picker_bubble_view.h
+++ b/chrome/browser/ui/views/intent_picker_bubble_view.h
@@ -92,6 +92,8 @@
   bool ShouldShowCloseButton() const override;
   int GetDialogButtons() const override;
 
+  PageActionIconType icon_type() const { return icon_type_; }
+
  protected:
   // LocationBarBubbleDelegateView overrides:
   base::string16 GetWindowTitle() const override;
diff --git a/chrome/browser/ui/views/location_bar/cookie_controls_bubble_view.cc b/chrome/browser/ui/views/location_bar/cookie_controls_bubble_view.cc
index bbcbcca..0dc808d 100644
--- a/chrome/browser/ui/views/location_bar/cookie_controls_bubble_view.cc
+++ b/chrome/browser/ui/views/location_bar/cookie_controls_bubble_view.cc
@@ -15,12 +15,12 @@
 #include "ui/base/resource/resource_bundle.h"
 #include "ui/base/ui_base_types.h"
 #include "ui/gfx/text_utils.h"
+#include "ui/views/background.h"
 #include "ui/views/bubble/bubble_frame_view.h"
 #include "ui/views/controls/image_view.h"
 #include "ui/views/controls/link.h"
 #include "ui/views/layout/box_layout.h"
 #include "ui/views/widget/widget.h"
-#include "ui/views/window/dialog_client_view.h"
 
 namespace {
 // Singleton instance of the cookie bubble. The cookie bubble can only be
@@ -187,6 +187,12 @@
   text->SetHorizontalAlignment(gfx::HorizontalAlignment::ALIGN_LEFT);
   text->SetMultiLine(true);
   text_ = AddChildView(std::move(text));
+
+  // TODO(crbug.com/1013092): The bubble should display a header view with full
+  // width without having to tweak margins.
+  gfx::Insets insets = margins();
+  set_margins(gfx::Insets(insets.top(), 0, insets.bottom(), 0));
+  SetBorder(views::CreateEmptyBorder(0, insets.left(), 0, insets.right()));
 }
 
 std::unique_ptr<views::View> CookieControlsBubbleView::CreateExtraView() {
@@ -200,6 +206,8 @@
 void CookieControlsBubbleView::AddedToWidget() {
   auto header_view = std::make_unique<NonAccessibleImageView>();
   header_view_ = header_view.get();
+  header_view_->SetBackground(views::CreateThemedSolidBackground(
+      header_view_, ui::NativeTheme::kColorId_BubbleFooterBackground));
   GetBubbleFrameView()->SetHeaderView(std::move(header_view));
 }
 
diff --git a/chrome/browser/ui/views/omnibox/remove_suggestion_bubble.cc b/chrome/browser/ui/views/omnibox/remove_suggestion_bubble.cc
index 08e8c350..6cc11e26f 100644
--- a/chrome/browser/ui/views/omnibox/remove_suggestion_bubble.cc
+++ b/chrome/browser/ui/views/omnibox/remove_suggestion_bubble.cc
@@ -34,6 +34,11 @@
     DCHECK(template_url_service);
     DCHECK(match_.SupportsDeletion());
 
+    DialogDelegate::set_button_label(ui::DIALOG_BUTTON_OK,
+                                     l10n_util::GetStringUTF16(IDS_REMOVE));
+    DialogDelegate::set_button_label(ui::DIALOG_BUTTON_CANCEL,
+                                     l10n_util::GetStringUTF16(IDS_CANCEL));
+
     auto* layout_manager = SetLayoutManager(std::make_unique<views::BoxLayout>(
         views::BoxLayout::Orientation::kVertical));
     layout_manager->set_cross_axis_alignment(
@@ -75,10 +80,6 @@
   int GetDialogButtons() const override {
     return ui::DIALOG_BUTTON_OK | ui::DIALOG_BUTTON_CANCEL;
   }
-  base::string16 GetDialogButtonLabel(ui::DialogButton button) const override {
-    return l10n_util::GetStringUTF16(
-        button == ui::DIALOG_BUTTON_OK ? IDS_REMOVE : IDS_CANCEL);
-  }
   bool Accept() override {
     std::move(remove_closure_).Run();
     return true;
diff --git a/chrome/browser/ui/views/page_action/page_action_icon_container_view.cc b/chrome/browser/ui/views/page_action/page_action_icon_container_view.cc
index 67021805..12119d4 100644
--- a/chrome/browser/ui/views/page_action/page_action_icon_container_view.cc
+++ b/chrome/browser/ui/views/page_action/page_action_icon_container_view.cc
@@ -57,7 +57,7 @@
                   ClickToCallUiController::GetOrCreateFromWebContents(
                       contents));
             }),
-            base::BindRepeating(SharingDialogView::GetAsBubble));
+            base::BindRepeating(SharingDialogView::GetAsBubbleForClickToCall));
         page_action_icons_.push_back(click_to_call_icon_);
         break;
       case PageActionIconType::kCookieControls:
diff --git a/chrome/browser/ui/views/profiles/profile_menu_view_browsertest.cc b/chrome/browser/ui/views/profiles/profile_menu_view_browsertest.cc
index 23073be..c56229e5 100644
--- a/chrome/browser/ui/views/profiles/profile_menu_view_browsertest.cc
+++ b/chrome/browser/ui/views/profiles/profile_menu_view_browsertest.cc
@@ -737,85 +737,66 @@
   DISALLOW_COPY_AND_ASSIGN(ProfileMenuClickTest);
 };
 
-class ProfileMenuClickTest_MultipleProfiles : public ProfileMenuClickTest {
- public:
-  // List of actionable items in the correct order as they appear in the menu.
-  // If a new button is added to the menu, it should also be added to this list.
-  static constexpr ProfileMenuView::ActionableItem kOrderedActionableItems[10] =
-      {ProfileMenuView::ActionableItem::kPasswordsButton,
-       ProfileMenuView::ActionableItem::kCreditCardsButton,
-       ProfileMenuView::ActionableItem::kAddressesButton,
-       ProfileMenuView::ActionableItem::kSigninButton,
-       ProfileMenuView::ActionableItem::kManageProfilesButton,
-       ProfileMenuView::ActionableItem::kOtherProfileButton,
-       ProfileMenuView::ActionableItem::kOtherProfileButton,
-       ProfileMenuView::ActionableItem::kGuestProfileButton,
-       ProfileMenuView::ActionableItem::kAddNewProfileButton,
-       // The first button is added again to finish the cycle and test that
-       // there are no other buttons at the end.
-       ProfileMenuView::ActionableItem::kPasswordsButton};
+#define PROFILE_MENU_CLICK_TEST(actionable_item_list, test_case_name) \
+  class test_case_name : public ProfileMenuClickTest {                \
+   public:                                                            \
+    test_case_name() = default;                                       \
+                                                                      \
+    ProfileMenuView::ActionableItem GetExpectedActionableItemAtIndex( \
+        size_t index) override {                                      \
+      return actionable_item_list[index];                             \
+    }                                                                 \
+                                                                      \
+    DISALLOW_COPY_AND_ASSIGN(test_case_name);                         \
+  };                                                                  \
+                                                                      \
+  INSTANTIATE_TEST_SUITE_P(                                           \
+      , test_case_name,                                               \
+      ::testing::Range(size_t(0), base::size(actionable_item_list))); \
+                                                                      \
+  IN_PROC_BROWSER_TEST_P(test_case_name, test_case_name)
 
-  ProfileMenuClickTest_MultipleProfiles() = default;
+// List of actionable items in the correct order as they appear in the menu.
+// If a new button is added to the menu, it should also be added to this list.
+constexpr ProfileMenuView::ActionableItem kActionableItems_MultipleProfiles[] =
+    {ProfileMenuView::ActionableItem::kPasswordsButton,
+     ProfileMenuView::ActionableItem::kCreditCardsButton,
+     ProfileMenuView::ActionableItem::kAddressesButton,
+     ProfileMenuView::ActionableItem::kSigninButton,
+     ProfileMenuView::ActionableItem::kManageProfilesButton,
+     ProfileMenuView::ActionableItem::kOtherProfileButton,
+     ProfileMenuView::ActionableItem::kOtherProfileButton,
+     ProfileMenuView::ActionableItem::kGuestProfileButton,
+     ProfileMenuView::ActionableItem::kAddNewProfileButton,
+     // The first button is added again to finish the cycle and test that
+     // there are no other buttons at the end.
+     ProfileMenuView::ActionableItem::kPasswordsButton};
 
-  ProfileMenuView::ActionableItem GetExpectedActionableItemAtIndex(
-      size_t index) override {
-    return kOrderedActionableItems[index];
-  }
-
-  DISALLOW_COPY_AND_ASSIGN(ProfileMenuClickTest_MultipleProfiles);
-};
-
-// static
-constexpr ProfileMenuView::ActionableItem
-    ProfileMenuClickTest_MultipleProfiles::kOrderedActionableItems[];
-
-IN_PROC_BROWSER_TEST_P(ProfileMenuClickTest_MultipleProfiles, SetupAndRunTest) {
+PROFILE_MENU_CLICK_TEST(kActionableItems_MultipleProfiles,
+                        ProfileMenuClickTest_MultipleProfiles) {
   ProfileManager* profile_manager = g_browser_process->profile_manager();
   CreateTestingProfile(profile_manager->GenerateNextProfileDirectoryPath());
   CreateTestingProfile(profile_manager->GenerateNextProfileDirectoryPath());
   RunTest();
 }
 
-INSTANTIATE_TEST_SUITE_P(
-    ,
-    ProfileMenuClickTest_MultipleProfiles,
-    ::testing::Range(
-        size_t(0),
-        base::size(
-            ProfileMenuClickTest_MultipleProfiles::kOrderedActionableItems)));
+// List of actionable items in the correct order as they appear in the menu.
+// If a new button is added to the menu, it should also be added to this list.
+constexpr ProfileMenuView::ActionableItem kActionableItems_SyncEnabled[] = {
+    ProfileMenuView::ActionableItem::kPasswordsButton,
+    ProfileMenuView::ActionableItem::kCreditCardsButton,
+    ProfileMenuView::ActionableItem::kAddressesButton,
+    ProfileMenuView::ActionableItem::kSyncSettingsButton,
+    ProfileMenuView::ActionableItem::kManageGoogleAccountButton,
+    ProfileMenuView::ActionableItem::kManageProfilesButton,
+    ProfileMenuView::ActionableItem::kGuestProfileButton,
+    ProfileMenuView::ActionableItem::kAddNewProfileButton,
+    // The first button is added again to finish the cycle and test that
+    // there are no other buttons at the end.
+    ProfileMenuView::ActionableItem::kPasswordsButton};
 
-class ProfileMenuClickTest_SyncEnabled : public ProfileMenuClickTest {
- public:
-  // List of actionable items in the correct order as they appear in the menu.
-  // If a new button is added to the menu, it should also be added to this list.
-  static constexpr ProfileMenuView::ActionableItem kOrderedActionableItems[9] =
-      {ProfileMenuView::ActionableItem::kPasswordsButton,
-       ProfileMenuView::ActionableItem::kCreditCardsButton,
-       ProfileMenuView::ActionableItem::kAddressesButton,
-       ProfileMenuView::ActionableItem::kSyncSettingsButton,
-       ProfileMenuView::ActionableItem::kManageGoogleAccountButton,
-       ProfileMenuView::ActionableItem::kManageProfilesButton,
-       ProfileMenuView::ActionableItem::kGuestProfileButton,
-       ProfileMenuView::ActionableItem::kAddNewProfileButton,
-       // The first button is added again to finish the cycle and test that
-       // there are no other buttons at the end.
-       ProfileMenuView::ActionableItem::kPasswordsButton};
-
-  ProfileMenuClickTest_SyncEnabled() = default;
-
-  ProfileMenuView::ActionableItem GetExpectedActionableItemAtIndex(
-      size_t index) override {
-    return kOrderedActionableItems[index];
-  }
-
-  DISALLOW_COPY_AND_ASSIGN(ProfileMenuClickTest_SyncEnabled);
-};
-
-// static
-constexpr ProfileMenuView::ActionableItem
-    ProfileMenuClickTest_SyncEnabled::kOrderedActionableItems[];
-
-IN_PROC_BROWSER_TEST_P(ProfileMenuClickTest_SyncEnabled, SetupAndRunTest) {
+PROFILE_MENU_CLICK_TEST(kActionableItems_SyncEnabled,
+                        ProfileMenuClickTest_SyncEnabled) {
   ASSERT_TRUE(sync_harness()->SetupSync());
   // Check that the sync setup was successful.
   ASSERT_TRUE(identity_manager()->HasPrimaryAccount());
@@ -824,45 +805,23 @@
   RunTest();
 }
 
-INSTANTIATE_TEST_SUITE_P(
-    ,
-    ProfileMenuClickTest_SyncEnabled,
-    ::testing::Range(
-        size_t(0),
-        base::size(ProfileMenuClickTest_SyncEnabled::kOrderedActionableItems)));
+// List of actionable items in the correct order as they appear in the menu.
+// If a new button is added to the menu, it should also be added to this list.
+constexpr ProfileMenuView::ActionableItem kActionableItems_SyncError[] = {
+    ProfileMenuView::ActionableItem::kPasswordsButton,
+    ProfileMenuView::ActionableItem::kCreditCardsButton,
+    ProfileMenuView::ActionableItem::kAddressesButton,
+    ProfileMenuView::ActionableItem::kSyncErrorButton,
+    ProfileMenuView::ActionableItem::kManageGoogleAccountButton,
+    ProfileMenuView::ActionableItem::kManageProfilesButton,
+    ProfileMenuView::ActionableItem::kGuestProfileButton,
+    ProfileMenuView::ActionableItem::kAddNewProfileButton,
+    // The first button is added again to finish the cycle and test that
+    // there are no other buttons at the end.
+    ProfileMenuView::ActionableItem::kPasswordsButton};
 
-class ProfileMenuClickTest_SyncError : public ProfileMenuClickTest {
- public:
-  // List of actionable items in the correct order as they appear in the menu.
-  // If a new button is added to the menu, it should also be added to this list.
-  static constexpr ProfileMenuView::ActionableItem kOrderedActionableItems[9] =
-      {ProfileMenuView::ActionableItem::kPasswordsButton,
-       ProfileMenuView::ActionableItem::kCreditCardsButton,
-       ProfileMenuView::ActionableItem::kAddressesButton,
-       ProfileMenuView::ActionableItem::kSyncErrorButton,
-       ProfileMenuView::ActionableItem::kManageGoogleAccountButton,
-       ProfileMenuView::ActionableItem::kManageProfilesButton,
-       ProfileMenuView::ActionableItem::kGuestProfileButton,
-       ProfileMenuView::ActionableItem::kAddNewProfileButton,
-       // The first button is added again to finish the cycle and test that
-       // there are no other buttons at the end.
-       ProfileMenuView::ActionableItem::kPasswordsButton};
-
-  ProfileMenuClickTest_SyncError() = default;
-
-  ProfileMenuView::ActionableItem GetExpectedActionableItemAtIndex(
-      size_t index) override {
-    return kOrderedActionableItems[index];
-  }
-
-  DISALLOW_COPY_AND_ASSIGN(ProfileMenuClickTest_SyncError);
-};
-
-// static
-constexpr ProfileMenuView::ActionableItem
-    ProfileMenuClickTest_SyncError::kOrderedActionableItems[];
-
-IN_PROC_BROWSER_TEST_P(ProfileMenuClickTest_SyncError, SetupAndRunTest) {
+PROFILE_MENU_CLICK_TEST(kActionableItems_SyncError,
+                        ProfileMenuClickTest_SyncError) {
   ASSERT_TRUE(sync_harness()->SignInPrimaryAccount());
   // Check that the setup was successful.
   ASSERT_TRUE(identity_manager()->HasPrimaryAccount());
@@ -871,50 +830,27 @@
   RunTest();
 }
 
-INSTANTIATE_TEST_SUITE_P(
-    ,
-    ProfileMenuClickTest_SyncError,
-    ::testing::Range(
-        size_t(0),
-        base::size(ProfileMenuClickTest_SyncError::kOrderedActionableItems)));
-
-class ProfileMenuClickTest_WithUnconsentedPrimaryAccount
-    : public ProfileMenuClickTest {
- public:
-  // List of actionable items in the correct order as they appear in the menu.
-  // If a new button is added to the menu, it should also be added to this list.
-  static constexpr ProfileMenuView::ActionableItem kOrderedActionableItems[10] =
-      {ProfileMenuView::ActionableItem::kPasswordsButton,
-       ProfileMenuView::ActionableItem::kCreditCardsButton,
-       ProfileMenuView::ActionableItem::kAddressesButton,
-       ProfileMenuView::ActionableItem::kSigninAccountButton,
-       ProfileMenuView::ActionableItem::kManageGoogleAccountButton,
-       ProfileMenuView::ActionableItem::kSignoutButton,
-       ProfileMenuView::ActionableItem::kManageProfilesButton,
-       ProfileMenuView::ActionableItem::kGuestProfileButton,
-       ProfileMenuView::ActionableItem::kAddNewProfileButton,
-       // The first button is added again to finish the cycle and test that
-       // there are no other buttons at the end.
-       ProfileMenuView::ActionableItem::kPasswordsButton};
-
-  ProfileMenuClickTest_WithUnconsentedPrimaryAccount() = default;
-
-  ProfileMenuView::ActionableItem GetExpectedActionableItemAtIndex(
-      size_t index) override {
-    return kOrderedActionableItems[index];
-  }
-
-  DISALLOW_COPY_AND_ASSIGN(ProfileMenuClickTest_WithUnconsentedPrimaryAccount);
-};
-
-// static
+// List of actionable items in the correct order as they appear in the menu.
+// If a new button is added to the menu, it should also be added to this list.
 constexpr ProfileMenuView::ActionableItem
-    ProfileMenuClickTest_WithUnconsentedPrimaryAccount::kOrderedActionableItems
-        [];
+    kActionableItems_WithUnconsentedPrimaryAccount[] = {
+        ProfileMenuView::ActionableItem::kPasswordsButton,
+        ProfileMenuView::ActionableItem::kCreditCardsButton,
+        ProfileMenuView::ActionableItem::kAddressesButton,
+        ProfileMenuView::ActionableItem::kSigninAccountButton,
+        ProfileMenuView::ActionableItem::kManageGoogleAccountButton,
+        ProfileMenuView::ActionableItem::kSignoutButton,
+        ProfileMenuView::ActionableItem::kManageProfilesButton,
+        ProfileMenuView::ActionableItem::kGuestProfileButton,
+        ProfileMenuView::ActionableItem::kAddNewProfileButton,
+        // The first button is added again to finish the cycle and test that
+        // there are no other buttons at the end.
+        ProfileMenuView::ActionableItem::kPasswordsButton};
 
 // TODO(crbug.com/1012167): Flaky.
-IN_PROC_BROWSER_TEST_P(ProfileMenuClickTest_WithUnconsentedPrimaryAccount,
-                       DISABLED_SetupAndRunTest) {
+PROFILE_MENU_CLICK_TEST(
+    kActionableItems_WithUnconsentedPrimaryAccount,
+    DISABLED_ProfileMenuClickTest_WithUnconsentedPrimaryAccount) {
   signin::MakeAccountAvailableWithCookies(identity_manager(),
                                           &test_url_loader_factory_,
                                           "user@example.com", "gaia_id");
@@ -934,41 +870,18 @@
   }
 }
 
-INSTANTIATE_TEST_SUITE_P(
-    ,
-    ProfileMenuClickTest_WithUnconsentedPrimaryAccount,
-    ::testing::Range(
-        size_t(0),
-        base::size(ProfileMenuClickTest_WithUnconsentedPrimaryAccount::
-                       kOrderedActionableItems)));
+// List of actionable items in the correct order as they appear in the menu.
+// If a new button is added to the menu, it should also be added to this list.
+constexpr ProfileMenuView::ActionableItem kActionableItems_GuestProfile[] = {
+    ProfileMenuView::ActionableItem::kManageProfilesButton,
+    ProfileMenuView::ActionableItem::kOtherProfileButton,
+    ProfileMenuView::ActionableItem::kAddNewProfileButton,
+    // The first button is added again to finish the cycle and test that
+    // there are no other buttons at the end.
+    ProfileMenuView::ActionableItem::kManageProfilesButton};
 
-class ProfileMenuClickTest_GuestProfile : public ProfileMenuClickTest {
- public:
-  // List of actionable items in the correct order as they appear in the menu.
-  // If a new button is added to the menu, it should also be added to this list.
-  static constexpr ProfileMenuView::ActionableItem kOrderedActionableItems[4] =
-      {ProfileMenuView::ActionableItem::kManageProfilesButton,
-       ProfileMenuView::ActionableItem::kOtherProfileButton,
-       ProfileMenuView::ActionableItem::kAddNewProfileButton,
-       // The first button is added again to finish the cycle and test that
-       // there are no other buttons at the end.
-       ProfileMenuView::ActionableItem::kManageProfilesButton};
-
-  ProfileMenuClickTest_GuestProfile() = default;
-
-  ProfileMenuView::ActionableItem GetExpectedActionableItemAtIndex(
-      size_t index) override {
-    return kOrderedActionableItems[index];
-  }
-
-  DISALLOW_COPY_AND_ASSIGN(ProfileMenuClickTest_GuestProfile);
-};
-
-// static
-constexpr ProfileMenuView::ActionableItem
-    ProfileMenuClickTest_GuestProfile::kOrderedActionableItems[];
-
-IN_PROC_BROWSER_TEST_P(ProfileMenuClickTest_GuestProfile, SetupAndRunTest) {
+PROFILE_MENU_CLICK_TEST(kActionableItems_GuestProfile,
+                        ProfileMenuClickTest_GuestProfile) {
   profiles::SwitchToGuestProfile(ProfileManager::CreateCallback());
   ui_test_utils::WaitForBrowserToOpen();
   Profile* guest = g_browser_process->profile_manager()->GetProfileByPath(
@@ -979,52 +892,20 @@
   RunTest();
 }
 
-INSTANTIATE_TEST_SUITE_P(
-    ,
-    ProfileMenuClickTest_GuestProfile,
-    ::testing::Range(
-        size_t(0),
-        base::size(
-            ProfileMenuClickTest_GuestProfile::kOrderedActionableItems)));
-
-class ProfileMenuClickTest_IncognitoProfile : public ProfileMenuClickTest {
- public:
-  // List of actionable items in the correct order as they appear in the menu.
-  // If a new button is added to the menu, it should also be added to this list.
-  static constexpr ProfileMenuView::ActionableItem kOrderedActionableItems[4] =
-      {ProfileMenuView::ActionableItem::kPasswordsButton,
-       ProfileMenuView::ActionableItem::kCreditCardsButton,
-       ProfileMenuView::ActionableItem::kAddressesButton,
-       // The first button is added again to finish the cycle and test that
-       // there are no other buttons at the end.
-       ProfileMenuView::ActionableItem::kPasswordsButton};
-
-  ProfileMenuClickTest_IncognitoProfile() = default;
-
-  ProfileMenuView::ActionableItem GetExpectedActionableItemAtIndex(
-      size_t index) override {
-    return kOrderedActionableItems[index];
-  }
-
-  DISALLOW_COPY_AND_ASSIGN(ProfileMenuClickTest_IncognitoProfile);
-};
-
-// static
-constexpr ProfileMenuView::ActionableItem
-    ProfileMenuClickTest_IncognitoProfile::kOrderedActionableItems[];
+// List of actionable items in the correct order as they appear in the menu.
+// If a new button is added to the menu, it should also be added to this list.
+constexpr ProfileMenuView::ActionableItem kActionableItems_IncognitoProfile[] =
+    {ProfileMenuView::ActionableItem::kPasswordsButton,
+     ProfileMenuView::ActionableItem::kCreditCardsButton,
+     ProfileMenuView::ActionableItem::kAddressesButton,
+     // The first button is added again to finish the cycle and test that
+     // there are no other buttons at the end.
+     ProfileMenuView::ActionableItem::kPasswordsButton};
 
 // TODO(crbug.com/1012167): Flaky.
-IN_PROC_BROWSER_TEST_P(ProfileMenuClickTest_IncognitoProfile,
-                       DISABLED_SetupAndRunTest) {
+PROFILE_MENU_CLICK_TEST(kActionableItems_IncognitoProfile,
+                        DISABLED_ProfileMenuClickTest_IncognitoProfile) {
   SetTargetBrowser(CreateIncognitoBrowser(browser()->profile()));
 
   RunTest();
 }
-
-INSTANTIATE_TEST_SUITE_P(
-    ,
-    ProfileMenuClickTest_IncognitoProfile,
-    ::testing::Range(
-        size_t(0),
-        base::size(
-            ProfileMenuClickTest_IncognitoProfile::kOrderedActionableItems)));
diff --git a/chrome/browser/ui/views/session_crashed_bubble_view.cc b/chrome/browser/ui/views/session_crashed_bubble_view.cc
index 7b4bef7..79ed008 100644
--- a/chrome/browser/ui/views/session_crashed_bubble_view.cc
+++ b/chrome/browser/ui/views/session_crashed_bubble_view.cc
@@ -178,6 +178,12 @@
       uma_option_(NULL),
       offer_uma_optin_(offer_uma_optin),
       ignored_(true) {
+  DialogDelegate::set_button_label(
+      ui::DIALOG_BUTTON_OK,
+      l10n_util::GetStringUTF16(IDS_SESSION_CRASHED_VIEW_RESTORE_BUTTON));
+  DialogDelegate::set_button_label(
+      ui::DIALOG_BUTTON_CANCEL,
+      l10n_util::GetStringUTF16(IDS_SESSION_CRASHED_VIEW_STARTUP_PAGES_BUTTON));
   set_close_on_deactivate(false);
   chrome::RecordDialogCreation(chrome::DialogIdentifier::SESSION_CRASHED);
 
@@ -315,15 +321,6 @@
   return buttons;
 }
 
-base::string16 SessionCrashedBubbleView::GetDialogButtonLabel(
-    ui::DialogButton button) const {
-  if (button == ui::DIALOG_BUTTON_OK)
-    return l10n_util::GetStringUTF16(IDS_SESSION_CRASHED_VIEW_RESTORE_BUTTON);
-  DCHECK_EQ(ui::DIALOG_BUTTON_CANCEL, button);
-  return l10n_util::GetStringUTF16(
-      IDS_SESSION_CRASHED_VIEW_STARTUP_PAGES_BUTTON);
-}
-
 void SessionCrashedBubbleView::StyledLabelLinkClicked(views::StyledLabel* label,
                                                       const gfx::Range& range,
                                                       int event_flags) {
diff --git a/chrome/browser/ui/views/session_crashed_bubble_view.h b/chrome/browser/ui/views/session_crashed_bubble_view.h
index a33c410a..cbb245e 100644
--- a/chrome/browser/ui/views/session_crashed_bubble_view.h
+++ b/chrome/browser/ui/views/session_crashed_bubble_view.h
@@ -54,7 +54,6 @@
   bool Cancel() override;
   bool Close() override;
   int GetDialogButtons() const override;
-  base::string16 GetDialogButtonLabel(ui::DialogButton button) const override;
 
   // views::BubbleDialogDelegateView methods.
   void Init() override;
diff --git a/chrome/browser/ui/views/sharing/sharing_dialog_view.cc b/chrome/browser/ui/views/sharing/sharing_dialog_view.cc
index 80d5739..716d6163 100644
--- a/chrome/browser/ui/views/sharing/sharing_dialog_view.cc
+++ b/chrome/browser/ui/views/sharing/sharing_dialog_view.cc
@@ -19,6 +19,7 @@
 #include "components/sync_device_info/device_info.h"
 #include "ui/base/l10n/l10n_util.h"
 #include "ui/base/resource/resource_bundle.h"
+#include "ui/gfx/color_utils.h"
 #include "ui/gfx/paint_vector_icon.h"
 #include "ui/strings/grit/ui_strings.h"
 #include "ui/views/border.h"
@@ -28,6 +29,7 @@
 #include "ui/views/layout/fill_layout.h"
 
 #if defined(OS_CHROMEOS)
+#include "chrome/browser/ui/page_action/page_action_icon_type.h"
 #include "chrome/browser/ui/views/intent_picker_bubble_view.h"
 #endif
 
@@ -171,8 +173,7 @@
   DCHECK(data_.app_callback);
   if (!sender || sender->tag() < 0)
     return;
-  size_t index = static_cast<size_t>(sender->tag());
-  DCHECK(index < data_.devices.size() + data_.apps.size());
+  size_t index{sender->tag()};
 
   if (index < data_.devices.size()) {
     LogSharingSelectedDeviceIndex(data_.prefix, kSharingUiDialog, index);
@@ -195,7 +196,7 @@
   if (!frame_view)
     return;
 
-  int image_id = GetNativeTheme()->ShouldUseDarkColors()
+  int image_id = color_utils::IsDark(frame_view->GetBackgroundColor())
                      ? data_.header_image_dark
                      : data_.header_image_light;
   if (!image_id) {
@@ -315,9 +316,18 @@
 // static
 views::BubbleDialogDelegateView* SharingDialogView::GetAsBubble(
     SharingDialog* dialog) {
+  return static_cast<SharingDialogView*>(dialog);
+}
+
+// static
+views::BubbleDialogDelegateView* SharingDialogView::GetAsBubbleForClickToCall(
+    SharingDialog* dialog) {
 #if defined(OS_CHROMEOS)
-  if (!dialog)
-    return IntentPickerBubbleView::intent_picker_bubble();
+  if (!dialog) {
+    auto* bubble = IntentPickerBubbleView::intent_picker_bubble();
+    if (bubble && bubble->icon_type() == PageActionIconType::kClickToCall)
+      return bubble;
+  }
 #endif
   return static_cast<SharingDialogView*>(dialog);
 }
diff --git a/chrome/browser/ui/views/sharing/sharing_dialog_view.h b/chrome/browser/ui/views/sharing/sharing_dialog_view.h
index 15b55a7..3e4a696 100644
--- a/chrome/browser/ui/views/sharing/sharing_dialog_view.h
+++ b/chrome/browser/ui/views/sharing/sharing_dialog_view.h
@@ -59,6 +59,9 @@
 
   static views::BubbleDialogDelegateView* GetAsBubble(SharingDialog* dialog);
 
+  static views::BubbleDialogDelegateView* GetAsBubbleForClickToCall(
+      SharingDialog* dialog);
+
  private:
   friend class SharingDialogViewTest;
   FRIEND_TEST_ALL_PREFIXES(SharingDialogViewTest, PopulateDialogView);
diff --git a/chrome/browser/ui/views/sharing/sharing_icon_view.cc b/chrome/browser/ui/views/sharing/sharing_icon_view.cc
index ecf1a3c..4520a77 100644
--- a/chrome/browser/ui/views/sharing/sharing_icon_view.cc
+++ b/chrome/browser/ui/views/sharing/sharing_icon_view.cc
@@ -3,6 +3,7 @@
 // found in the LICENSE file.
 
 #include "chrome/browser/ui/views/sharing/sharing_icon_view.h"
+
 #include "chrome/app/vector_icons/vector_icons.h"
 #include "components/vector_icons/vector_icons.h"
 #include "ui/base/l10n/l10n_util.h"
diff --git a/chrome/browser/ui/views/update_recommended_message_box.cc b/chrome/browser/ui/views/update_recommended_message_box.cc
index 95a22e14..a47afc69 100644
--- a/chrome/browser/ui/views/update_recommended_message_box.cc
+++ b/chrome/browser/ui/views/update_recommended_message_box.cc
@@ -38,6 +38,10 @@
 // UpdateRecommendedMessageBox, private:
 
 UpdateRecommendedMessageBox::UpdateRecommendedMessageBox() {
+  DialogDelegate::set_button_label(
+      ui::DIALOG_BUTTON_OK, l10n_util::GetStringUTF16(IDS_RELAUNCH_AND_UPDATE));
+  DialogDelegate::set_button_label(ui::DIALOG_BUTTON_CANCEL,
+                                   l10n_util::GetStringUTF16(IDS_NOT_NOW));
   views::MessageBoxView::InitParams params(
       l10n_util::GetStringUTF16(IDS_UPDATE_RECOMMENDED));
   params.message_width = ChromeLayoutProvider::Get()->GetDistanceMetric(
@@ -60,12 +64,6 @@
   return true;
 }
 
-base::string16 UpdateRecommendedMessageBox::GetDialogButtonLabel(
-    ui::DialogButton button) const {
-  return l10n_util::GetStringUTF16((button == ui::DIALOG_BUTTON_OK) ?
-      IDS_RELAUNCH_AND_UPDATE : IDS_NOT_NOW);
-}
-
 bool UpdateRecommendedMessageBox::ShouldShowWindowTitle() const {
 #if defined(OS_CHROMEOS)
   return false;
diff --git a/chrome/browser/ui/views/update_recommended_message_box.h b/chrome/browser/ui/views/update_recommended_message_box.h
index 7c112c6..f454a01 100644
--- a/chrome/browser/ui/views/update_recommended_message_box.h
+++ b/chrome/browser/ui/views/update_recommended_message_box.h
@@ -25,7 +25,6 @@
 
   // Overridden from views::DialogDelegate:
   bool Accept() override;
-  base::string16 GetDialogButtonLabel(ui::DialogButton button) const override;
 
   // Overridden from views::WidgetDelegate:
   bool ShouldShowWindowTitle() const override;
diff --git a/chrome/browser/ui/webui/ntp/cookie_controls_handler.cc b/chrome/browser/ui/webui/ntp/cookie_controls_handler.cc
index f94fbed..4ccdeee8 100644
--- a/chrome/browser/ui/webui/ntp/cookie_controls_handler.cc
+++ b/chrome/browser/ui/webui/ntp/cookie_controls_handler.cc
@@ -8,6 +8,7 @@
 #include "base/values.h"
 #include "chrome/browser/profiles/profile.h"
 #include "components/content_settings/core/browser/cookie_settings.h"
+#include "components/content_settings/core/common/features.h"
 #include "components/content_settings/core/common/pref_names.h"
 #include "components/prefs/pref_service.h"
 
@@ -22,9 +23,9 @@
           &CookieControlsHandler::HandleCookieControlsToggleChanged,
           base::Unretained(this)));
   web_ui()->RegisterMessageCallback(
-      "observeCookieControlsModeChange",
+      "observeCookieControlsSettingsChanges",
       base::BindRepeating(
-          &CookieControlsHandler::HandleObserveCookieControlsModeChange,
+          &CookieControlsHandler::HandleObserveCookieControlsSettingsChanges,
           base::Unretained(this)));
 }
 
@@ -35,6 +36,10 @@
       prefs::kCookieControlsMode,
       base::Bind(&CookieControlsHandler::OnCookieControlsChanged,
                  base::Unretained(this)));
+  pref_change_registrar_.Add(
+      prefs::kBlockThirdPartyCookies,
+      base::Bind(&CookieControlsHandler::OnThirdPartyCookieBlockingChanged,
+                 base::Unretained(this)));
 }
 
 void CookieControlsHandler::OnJavascriptDisallowed() {
@@ -53,10 +58,11 @@
                   : content_settings::CookieControlsMode::kOff));
 }
 
-void CookieControlsHandler::HandleObserveCookieControlsModeChange(
+void CookieControlsHandler::HandleObserveCookieControlsSettingsChanges(
     const base::ListValue* args) {
   AllowJavascript();
   OnCookieControlsChanged();
+  OnThirdPartyCookieBlockingChanged();
 }
 
 void CookieControlsHandler::OnCookieControlsChanged() {
@@ -68,3 +74,17 @@
           : true);
   FireWebUIListener("cookie-controls-changed", checked);
 }
+
+void CookieControlsHandler::OnThirdPartyCookieBlockingChanged() {
+  Profile* profile = Profile::FromWebUI(web_ui());
+  FireWebUIListener("third-party-cookie-blocking-changed",
+                    base::Value(ShouldHideCookieControlsUI(profile)));
+}
+
+bool CookieControlsHandler::ShouldHideCookieControlsUI(const Profile* profile) {
+  return !base::FeatureList::IsEnabled(
+             content_settings::kImprovedCookieControls) ||
+         profile->GetPrefs()->IsManagedPreference(
+             prefs::kBlockThirdPartyCookies) ||
+         profile->GetPrefs()->GetBoolean(prefs::kBlockThirdPartyCookies);
+}
diff --git a/chrome/browser/ui/webui/ntp/cookie_controls_handler.h b/chrome/browser/ui/webui/ntp/cookie_controls_handler.h
index c1b328a9..c78bb94 100644
--- a/chrome/browser/ui/webui/ntp/cookie_controls_handler.h
+++ b/chrome/browser/ui/webui/ntp/cookie_controls_handler.h
@@ -9,6 +9,7 @@
 #include "content/public/browser/web_ui_message_handler.h"
 
 class CookieControlsHandlerTest;
+class Profile;
 
 namespace base {
 class ListValue;
@@ -27,13 +28,21 @@
 
   void HandleCookieControlsToggleChanged(const base::ListValue* args);
 
-  void HandleObserveCookieControlsModeChange(const base::ListValue* args);
+  void HandleObserveCookieControlsSettingsChanges(const base::ListValue* args);
+
+  // Whether cookie controls UI should be hidden in incognito ntp.
+  static bool ShouldHideCookieControlsUI(const Profile* profile);
 
  private:
   friend class CookieControlsHandlerTest;
 
+  // Updates cookie controls UI when underlying setting has changed.
   void OnCookieControlsChanged();
 
+  // Updates cookie controls UI when third-party cookie blocking setting has
+  // changed.
+  void OnThirdPartyCookieBlockingChanged();
+
   PrefChangeRegistrar pref_change_registrar_;
 
   DISALLOW_COPY_AND_ASSIGN(CookieControlsHandler);
diff --git a/chrome/browser/ui/webui/ntp/ntp_resource_cache.cc b/chrome/browser/ui/webui/ntp/ntp_resource_cache.cc
index 13e39ba..90fc52c 100644
--- a/chrome/browser/ui/webui/ntp/ntp_resource_cache.cc
+++ b/chrome/browser/ui/webui/ntp/ntp_resource_cache.cc
@@ -25,6 +25,7 @@
 #include "chrome/browser/ui/layout_constants.h"
 #include "chrome/browser/ui/webui/app_launcher_login_handler.h"
 #include "chrome/browser/ui/webui/ntp/app_launcher_handler.h"
+#include "chrome/browser/ui/webui/ntp/cookie_controls_handler.h"
 #include "chrome/common/buildflags.h"
 #include "chrome/common/chrome_features.h"
 #include "chrome/common/pref_names.h"
@@ -35,6 +36,7 @@
 #include "chrome/grit/theme_resources.h"
 #include "components/bookmarks/common/bookmark_pref_names.h"
 #include "components/content_settings/core/common/features.h"
+#include "components/content_settings/core/common/pref_names.h"
 #include "components/google/core/common/google_util.h"
 #include "components/prefs/pref_service.h"
 #include "components/signin/public/identity_manager/identity_manager.h"
@@ -275,10 +277,9 @@
       l10n_util::GetStringUTF8(IDS_NEW_TAB_OTR_NOT_SAVED);
   replacements["learnMoreLink"] = kLearnMoreIncognitoUrl;
   replacements["title"] = l10n_util::GetStringUTF8(IDS_NEW_TAB_TITLE);
-  replacements["hiddenIfCookieControlsDisabled"] =
-      base::FeatureList::IsEnabled(content_settings::kImprovedCookieControls)
-          ? ""
-          : "hidden";
+  replacements["hideCookieControls"] =
+      CookieControlsHandler::ShouldHideCookieControlsUI(profile_) ? "hidden"
+                                                                  : "";
   replacements["cookieControlsTitle"] =
       l10n_util::GetStringUTF8(IDS_SETTINGS_SITE_SETTINGS_THIRD_PARTY_COOKIE);
   replacements["cookieControlsDescription"] =
diff --git a/chrome/browser/vr/service/browser_xr_runtime.cc b/chrome/browser/vr/service/browser_xr_runtime.cc
index 68976a88..88cbf2c 100644
--- a/chrome/browser/vr/service/browser_xr_runtime.cc
+++ b/chrome/browser/vr/service/browser_xr_runtime.cc
@@ -224,15 +224,11 @@
                                    device::mojom::VRDisplayInfoPtr display_info)
     : id_(id),
       runtime_(std::move(runtime)),
-      display_info_(ValidateVRDisplayInfo(display_info.get(), id)),
-      binding_(this) {
-  device::mojom::XRRuntimeEventListenerAssociatedPtr listener;
-  binding_.Bind(mojo::MakeRequest(&listener));
-
+      display_info_(ValidateVRDisplayInfo(display_info.get(), id)) {
   // Unretained is safe because we are calling through an InterfacePtr we own,
   // so we won't be called after runtime_ is destroyed.
   runtime_->ListenToDeviceChanges(
-      listener.PassInterface(),
+      receiver_.BindNewEndpointAndPassRemote(),
       base::BindOnce(&BrowserXRRuntime::OnDisplayInfoChanged,
                      base::Unretained(this)));
 }
diff --git a/chrome/browser/vr/service/browser_xr_runtime.h b/chrome/browser/vr/service/browser_xr_runtime.h
index 5c694358..98e3f2cdaf 100644
--- a/chrome/browser/vr/service/browser_xr_runtime.h
+++ b/chrome/browser/vr/service/browser_xr_runtime.h
@@ -14,7 +14,7 @@
 #include "device/vr/public/mojom/isolated_xr_service.mojom.h"
 #include "device/vr/public/mojom/vr_service.mojom.h"
 #include "device/vr/vr_device.h"
-#include "mojo/public/cpp/bindings/associated_binding.h"
+#include "mojo/public/cpp/bindings/associated_receiver.h"
 #include "mojo/public/cpp/bindings/pending_remote.h"
 #include "mojo/public/cpp/bindings/remote.h"
 
@@ -129,7 +129,8 @@
   VRServiceImpl* listening_for_activation_service_ = nullptr;
   VRServiceImpl* presenting_service_ = nullptr;
 
-  mojo::AssociatedBinding<device::mojom::XRRuntimeEventListener> binding_;
+  mojo::AssociatedReceiver<device::mojom::XRRuntimeEventListener> receiver_{
+      this};
   std::vector<device::mojom::VRService::GetImmersiveVRDisplayInfoCallback>
       pending_initialization_callbacks_;
 
diff --git a/chrome/browser/vr/test/mock_xr_device_hook_base.cc b/chrome/browser/vr/test/mock_xr_device_hook_base.cc
index f373b72..3966be79 100644
--- a/chrome/browser/vr/test/mock_xr_device_hook_base.cc
+++ b/chrome/browser/vr/test/mock_xr_device_hook_base.cc
@@ -50,20 +50,16 @@
 }
 
 MockXRDeviceHookBase::MockXRDeviceHookBase()
-    : tracked_classes_{device_test::mojom::TrackedDeviceClass::
-                           kTrackedDeviceInvalid},
-      binding_(this) {
+    : tracked_classes_{
+          device_test::mojom::TrackedDeviceClass::kTrackedDeviceInvalid} {
   vr::GetXRDeviceService()->BindTestHook(
-      mojo::MakeRequest(&service_test_hook_));
-
-  device_test::mojom::XRTestHookPtr client;
-  binding_.Bind(mojo::MakeRequest(&client));
+      service_test_hook_.BindNewPipeAndPassReceiver());
 
   mojo::ScopedAllowSyncCallForTesting scoped_allow_sync;
   // For now, always have the HMD connected.
   tracked_classes_[0] =
       device_test::mojom::TrackedDeviceClass::kTrackedDeviceHmd;
-  service_test_hook_->SetTestHook(std::move(client));
+  service_test_hook_->SetTestHook(receiver_.BindNewPipeAndPassRemote());
 }
 
 MockXRDeviceHookBase::~MockXRDeviceHookBase() {
@@ -71,11 +67,11 @@
 }
 
 void MockXRDeviceHookBase::StopHooking() {
-  // We don't call service_test_hook_->SetTestHook(nullptr), since that
-  // will potentially deadlock with reentrant or crossing synchronous mojo
+  // We don't call service_test_hook_->SetTestHook(mojo::NullRemote()), since
+  // that will potentially deadlock with reentrant or crossing synchronous mojo
   // calls.
-  binding_.Close();
-  service_test_hook_ = nullptr;
+  receiver_.reset();
+  service_test_hook_.reset();
 }
 
 void MockXRDeviceHookBase::OnFrameSubmitted(
diff --git a/chrome/browser/vr/test/mock_xr_device_hook_base.h b/chrome/browser/vr/test/mock_xr_device_hook_base.h
index 9b9c0d2d..2efb768a 100644
--- a/chrome/browser/vr/test/mock_xr_device_hook_base.h
+++ b/chrome/browser/vr/test/mock_xr_device_hook_base.h
@@ -8,7 +8,8 @@
 #include "base/containers/flat_map.h"
 #include "device/vr/public/mojom/browser_test_interfaces.mojom.h"
 #include "device/vr/test/test_hook.h"
-#include "mojo/public/cpp/bindings/binding.h"
+#include "mojo/public/cpp/bindings/receiver.h"
+#include "mojo/public/cpp/bindings/remote.h"
 
 class MockXRDeviceHookBase : public device_test::mojom::XRTestHook {
  public:
@@ -62,8 +63,8 @@
       controller_data_map_;
 
  private:
-  mojo::Binding<device_test::mojom::XRTestHook> binding_;
-  device_test::mojom::XRServiceTestHookPtr service_test_hook_;
+  mojo::Receiver<device_test::mojom::XRTestHook> receiver_{this};
+  mojo::Remote<device_test::mojom::XRServiceTestHook> service_test_hook_;
 };
 
 #endif  // CHROME_BROWSER_VR_TEST_MOCK_XR_DEVICE_HOOK_BASE_H_
diff --git a/chrome/browser/web_applications/web_app_install_manager.cc b/chrome/browser/web_applications/web_app_install_manager.cc
index f0e2ff0..d49ab92 100644
--- a/chrome/browser/web_applications/web_app_install_manager.cc
+++ b/chrome/browser/web_applications/web_app_install_manager.cc
@@ -116,26 +116,18 @@
   is_locally_installed = true;
 #endif
 
-  CreateWebContentsIfNecessary();
-  DCHECK(web_contents_);
-
   auto task = std::make_unique<WebAppInstallTask>(
       profile(), finalizer(), data_retriever_factory_.Run());
 
-  base::OnceClosure task_closure = base::BindOnce(
+  base::OnceClosure start_task = base::BindOnce(
       &WebAppInstallTask::InstallWebAppFromInfoRetrieveIcons,
-      base::Unretained(task.get()), web_contents_.get(),
+      base::Unretained(task.get()), EnsureWebContentsCreated(),
       std::move(web_application_info), is_locally_installed,
       WebappInstallSource::SYNC,
       base::BindOnce(&WebAppInstallManager::OnQueuedTaskCompleted,
                      base::Unretained(this), task.get(), std::move(callback)));
 
-  task_queue_.push(std::move(task_closure));
-
-  tasks_.insert(std::move(task));
-
-  if (web_contents_ready_)
-    MaybeStartQueuedTask();
+  EnqueueTask(std::move(task), std::move(start_task));
 }
 
 void WebAppInstallManager::UpdateWebAppFromManifest(
@@ -172,6 +164,17 @@
   url_loader_ = std::move(url_loader);
 }
 
+void WebAppInstallManager::EnqueueTask(std::unique_ptr<WebAppInstallTask> task,
+                                       base::OnceClosure start_task) {
+  DCHECK(web_contents_);
+
+  tasks_.insert(std::move(task));
+  task_queue_.push(std::move(start_task));
+
+  if (web_contents_ready_)
+    MaybeStartQueuedTask();
+}
+
 void WebAppInstallManager::MaybeStartQueuedTask() {
   DCHECK(web_contents_ready_);
   DCHECK(!task_queue_.empty());
@@ -220,9 +223,9 @@
   }
 }
 
-void WebAppInstallManager::CreateWebContentsIfNecessary() {
+content::WebContents* WebAppInstallManager::EnsureWebContentsCreated() {
   if (web_contents_)
-    return;
+    return web_contents_.get();
 
   DCHECK(!web_contents_ready_);
 
@@ -233,6 +236,8 @@
   url_loader_->LoadUrl(GURL("about:blank"), web_contents_.get(),
                        base::BindOnce(&WebAppInstallManager::OnWebContentsReady,
                                       weak_ptr_factory_.GetWeakPtr()));
+
+  return web_contents_.get();
 }
 
 void WebAppInstallManager::OnWebContentsReady(WebAppUrlLoader::Result result) {
diff --git a/chrome/browser/web_applications/web_app_install_manager.h b/chrome/browser/web_applications/web_app_install_manager.h
index 4bf7aa2..50d5e886 100644
--- a/chrome/browser/web_applications/web_app_install_manager.h
+++ b/chrome/browser/web_applications/web_app_install_manager.h
@@ -80,6 +80,8 @@
   bool has_web_contents_for_testing() const { return web_contents_ != nullptr; }
 
  private:
+  void EnqueueTask(std::unique_ptr<WebAppInstallTask> task,
+                   base::OnceClosure start_task);
   void MaybeStartQueuedTask();
   void OnTaskCompleted(WebAppInstallTask* task,
                        OnceInstallCallback callback,
@@ -90,7 +92,7 @@
                              const AppId& app_id,
                              InstallResultCode code);
 
-  void CreateWebContentsIfNecessary();
+  content::WebContents* EnsureWebContentsCreated();
   void OnWebContentsReady(WebAppUrlLoader::Result result);
 
   DataRetrieverFactory data_retriever_factory_;
diff --git a/chrome/chrome_cleaner/engines/common/registry_util_unittest.cc b/chrome/chrome_cleaner/engines/common/registry_util_unittest.cc
index bbbd875..32c0ca5 100644
--- a/chrome/chrome_cleaner/engines/common/registry_util_unittest.cc
+++ b/chrome/chrome_cleaner/engines/common/registry_util_unittest.cc
@@ -18,13 +18,16 @@
 #include "base/strings/string_util.h"
 #include "base/synchronization/waitable_event.h"
 #include "base/win/win_util.h"
-#include "chrome/chrome_cleaner/mojom/windows_handle.mojom.h"
 #include "chrome/chrome_cleaner/ipc/ipc_test_util.h"
 #include "chrome/chrome_cleaner/ipc/mojo_task_runner.h"
+#include "chrome/chrome_cleaner/mojom/windows_handle.mojom.h"
 #include "chrome/chrome_cleaner/os/pre_fetched_paths.h"
 #include "chrome/chrome_cleaner/test/test_native_reg_util.h"
 #include "mojo/core/embedder/embedder.h"
-#include "mojo/public/cpp/bindings/binding.h"
+#include "mojo/public/cpp/bindings/pending_receiver.h"
+#include "mojo/public/cpp/bindings/pending_remote.h"
+#include "mojo/public/cpp/bindings/receiver.h"
+#include "mojo/public/cpp/bindings/remote.h"
 #include "mojo/public/cpp/system/platform_handle.h"
 #include "sandbox/win/src/win_utils.h"
 #include "testing/gtest/include/gtest/gtest.h"
@@ -34,7 +37,6 @@
 using chrome_cleaner::MojoTaskRunner;
 using chrome_cleaner::String16EmbeddedNulls;
 using chrome_cleaner::mojom::TestWindowsHandle;
-using chrome_cleaner::mojom::TestWindowsHandlePtr;
 
 namespace chrome_cleaner_sandbox {
 
@@ -51,8 +53,8 @@
 class TestWindowsHandleImpl : public TestWindowsHandle {
  public:
   explicit TestWindowsHandleImpl(
-      chrome_cleaner::mojom::TestWindowsHandleRequest request)
-      : binding_(this, std::move(request)) {}
+      mojo::PendingReceiver<TestWindowsHandle> receiver)
+      : receiver_(this, std::move(receiver)) {}
 
   // TestWindowsHandle
 
@@ -66,7 +68,7 @@
   }
 
  private:
-  mojo::Binding<TestWindowsHandle> binding_;
+  mojo::Receiver<TestWindowsHandle> receiver_;
 };
 
 class SandboxParentProcess : public chrome_cleaner::ParentProcess {
@@ -76,10 +78,9 @@
 
  protected:
   void CreateImpl(mojo::ScopedMessagePipeHandle mojo_pipe) override {
-    chrome_cleaner::mojom::TestWindowsHandleRequest request(
-        std::move(mojo_pipe));
+    mojo::PendingReceiver<TestWindowsHandle> receiver(std::move(mojo_pipe));
     test_windows_handle_impl_ =
-        std::make_unique<TestWindowsHandleImpl>(std::move(request));
+        std::make_unique<TestWindowsHandleImpl>(std::move(receiver));
   }
 
   void DestroyImpl() override { test_windows_handle_impl_.reset(); }
@@ -94,13 +95,13 @@
  public:
   explicit SandboxChildProcess(scoped_refptr<MojoTaskRunner> mojo_task_runner)
       : ChildProcess(mojo_task_runner),
-        test_windows_handle_ptr_(std::make_unique<TestWindowsHandlePtr>()) {}
+        test_windows_handle_(
+            std::make_unique<mojo::Remote<TestWindowsHandle>>()) {}
 
   void BindToPipe(mojo::ScopedMessagePipeHandle mojo_pipe,
                   WaitableEvent* event) {
-    test_windows_handle_ptr_->Bind(
-        chrome_cleaner::mojom::TestWindowsHandlePtrInfo(std::move(mojo_pipe),
-                                                        0));
+    test_windows_handle_->Bind(
+        mojo::PendingRemote<TestWindowsHandle>(std::move(mojo_pipe), 0));
     event->Signal();
   }
 
@@ -117,11 +118,11 @@
     mojo_task_runner_->PostTask(
         FROM_HERE,
         base::BindOnce(
-            [](TestWindowsHandlePtr* ptr, HANDLE handle,
+            [](mojo::Remote<TestWindowsHandle>* remote, HANDLE handle,
                TestWindowsHandle::EchoHandleCallback callback) {
-              (*ptr)->EchoHandle(std::move(handle), std::move(callback));
+              (*remote)->EchoHandle(std::move(handle), std::move(callback));
             },
-            base::Unretained(test_windows_handle_ptr_.get()), input_handle,
+            base::Unretained(test_windows_handle_.get()), input_handle,
             std::move(callback)));
     event.Wait();
     return output_handle;
@@ -142,12 +143,13 @@
 
     mojo_task_runner_->PostTask(
         FROM_HERE, base::BindOnce(
-                       [](TestWindowsHandlePtr* ptr, mojo::ScopedHandle handle,
+                       [](mojo::Remote<TestWindowsHandle>* remote,
+                          mojo::ScopedHandle handle,
                           TestWindowsHandle::EchoRawHandleCallback callback) {
-                         (*ptr)->EchoRawHandle(std::move(handle),
-                                               std::move(callback));
+                         (*remote)->EchoRawHandle(std::move(handle),
+                                                  std::move(callback));
                        },
-                       base::Unretained(test_windows_handle_ptr_.get()),
+                       base::Unretained(test_windows_handle_.get()),
                        base::Passed(&scoped_handle), std::move(callback)));
     event.Wait();
 
@@ -163,11 +165,13 @@
     mojo_task_runner_->PostTask(
         FROM_HERE,
         base::BindOnce(
-            [](std::unique_ptr<TestWindowsHandlePtr> ptr) { ptr.reset(); },
-            base::Passed(&test_windows_handle_ptr_)));
+            [](std::unique_ptr<mojo::Remote<TestWindowsHandle>> remote) {
+              remote.reset();
+            },
+            base::Passed(&test_windows_handle_)));
   }
 
-  std::unique_ptr<TestWindowsHandlePtr> test_windows_handle_ptr_;
+  std::unique_ptr<mojo::Remote<TestWindowsHandle>> test_windows_handle_;
 };
 
 base::string16 HandlePath(HANDLE handle) {
diff --git a/chrome/chrome_cleaner/ipc/mojo_sandbox_hooks_unittest.cc b/chrome/chrome_cleaner/ipc/mojo_sandbox_hooks_unittest.cc
index 35cee54..4833973 100644
--- a/chrome/chrome_cleaner/ipc/mojo_sandbox_hooks_unittest.cc
+++ b/chrome/chrome_cleaner/ipc/mojo_sandbox_hooks_unittest.cc
@@ -16,7 +16,10 @@
 #include "chrome/chrome_cleaner/ipc/mojo_task_runner.h"
 #include "chrome/chrome_cleaner/mojom/test_mojo_sandbox_hooks.mojom.h"
 #include "chrome/chrome_cleaner/os/early_exit.h"
-#include "mojo/public/cpp/bindings/binding.h"
+#include "mojo/public/cpp/bindings/pending_receiver.h"
+#include "mojo/public/cpp/bindings/pending_remote.h"
+#include "mojo/public/cpp/bindings/receiver.h"
+#include "mojo/public/cpp/bindings/remote.h"
 #include "mojo/public/cpp/system/message_pipe.h"
 #include "sandbox/win/src/sandbox_factory.h"
 #include "testing/multiprocess_func_list.h"
@@ -27,8 +30,9 @@
 
 constexpr char kTestString[] = "Hello World";
 
-using UniqueTestMojoSandboxHooksPtr =
-    std::unique_ptr<mojom::TestMojoSandboxHooksPtr, base::OnTaskRunnerDeleter>;
+using RemoteTestMojoSandboxHooksPtr =
+    std::unique_ptr<mojo::Remote<mojom::TestMojoSandboxHooks>,
+                    base::OnTaskRunnerDeleter>;
 
 class MojoSandboxHooksTest : public base::MultiProcessTest {
  public:
@@ -45,9 +49,10 @@
 // child process.
 class TestMojoSandboxHooksImpl : mojom::TestMojoSandboxHooks {
  public:
-  explicit TestMojoSandboxHooksImpl(mojom::TestMojoSandboxHooksRequest request)
-      : binding_(this, std::move(request)) {
-    binding_.set_connection_error_handler(base::BindOnce(&EarlyExit, 1));
+  explicit TestMojoSandboxHooksImpl(
+      mojo::PendingReceiver<mojom::TestMojoSandboxHooks> receiver)
+      : receiver_(this, std::move(receiver)) {
+    receiver_.set_disconnect_handler(base::BindOnce(&EarlyExit, 1));
   }
 
   void EchoString(const std::string& input,
@@ -56,7 +61,7 @@
   }
 
  private:
-  mojo::Binding<mojom::TestMojoSandboxHooks> binding_;
+  mojo::Receiver<mojom::TestMojoSandboxHooks> receiver_;
 };
 
 class TestSandboxSetupHooks : public MojoSandboxSetupHooks {
@@ -65,41 +70,41 @@
       : mojo_task_runner_(mojo_task_runner),
         // Manually use |new| here because |make_unique| doesn't work with
         // custom deleter.
-        test_mojo_ptr_(new mojom::TestMojoSandboxHooksPtr,
-                       base::OnTaskRunnerDeleter(mojo_task_runner_)) {}
+        test_mojo_(new mojo::Remote<mojom::TestMojoSandboxHooks>(),
+                   base::OnTaskRunnerDeleter(mojo_task_runner_)) {}
 
   ResultCode UpdateSandboxPolicy(sandbox::TargetPolicy* policy,
                                  base::CommandLine* command_line) override {
     mojo::ScopedMessagePipeHandle pipe_handle =
         SetupSandboxMessagePipe(policy, command_line);
 
-    // Unretained pointer of |test_mojo_ptr_| is safe because its deleter is
-    // run on the same task runner. So it won't be deleted before this task.
+    // Unretained pointer of |test_mojo_| is safe because its deleter is run on
+    // the same task runner. So it won't be deleted before this task.
     mojo_task_runner_->PostTask(
         FROM_HERE,
-        base::BindOnce(TestSandboxSetupHooks::BindTestMojoSandboxHooksPtr,
-                       base::Unretained(test_mojo_ptr_.get()),
+        base::BindOnce(TestSandboxSetupHooks::BindTestMojoSandboxHooksRemote,
+                       base::Unretained(test_mojo_.get()),
                        std::move(pipe_handle)));
 
     return RESULT_CODE_SUCCESS;
   }
 
-  UniqueTestMojoSandboxHooksPtr TakeTestMojoSandboxHooksPtr() {
-    return std::move(test_mojo_ptr_);
+  RemoteTestMojoSandboxHooksPtr TakeTestMojoSandboxHooksRemote() {
+    return std::move(test_mojo_);
   }
 
  private:
-  static void BindTestMojoSandboxHooksPtr(
-      mojom::TestMojoSandboxHooksPtr* test_mojo_ptr,
+  static void BindTestMojoSandboxHooksRemote(
+      mojo::Remote<mojom::TestMojoSandboxHooks>* test_mojo,
       mojo::ScopedMessagePipeHandle pipe_handle) {
-    test_mojo_ptr->Bind(
-        mojom::TestMojoSandboxHooksPtrInfo(std::move(pipe_handle), 0));
-    test_mojo_ptr->set_connection_error_handler(base::BindOnce(
+    test_mojo->Bind(mojo::PendingRemote<mojom::TestMojoSandboxHooks>(
+        std::move(pipe_handle), 0));
+    test_mojo->set_disconnect_handler(base::BindOnce(
         [] { FAIL() << "Mojo sandbox setup connection error"; }));
   }
 
   scoped_refptr<MojoTaskRunner> mojo_task_runner_;
-  UniqueTestMojoSandboxHooksPtr test_mojo_ptr_;
+  RemoteTestMojoSandboxHooksPtr test_mojo_;
 };
 
 class TestSandboxTargetHooks : public MojoSandboxTargetHooks {
@@ -107,7 +112,7 @@
   ResultCode TargetDroppedPrivileges(
       const base::CommandLine& command_line) override {
     scoped_refptr<MojoTaskRunner> mojo_task_runner = MojoTaskRunner::Create();
-    mojom::TestMojoSandboxHooksRequest request(
+    mojo::PendingReceiver<mojom::TestMojoSandboxHooks> receiver(
         ExtractSandboxMessagePipe(command_line));
 
     std::unique_ptr<TestMojoSandboxHooksImpl, base::OnTaskRunnerDeleter>
@@ -119,7 +124,7 @@
     mojo_task_runner->PostTask(
         FROM_HERE,
         base::BindOnce(CreateTestMojoSandboxHooksImpl,
-                       base::Unretained(&impl_ptr), std::move(request)));
+                       base::Unretained(&impl_ptr), std::move(receiver)));
     loop.Run();
 
     return RESULT_CODE_SUCCESS;
@@ -129,19 +134,19 @@
   static void CreateTestMojoSandboxHooksImpl(
       std::unique_ptr<TestMojoSandboxHooksImpl, base::OnTaskRunnerDeleter>*
           impl_ptr,
-      mojom::TestMojoSandboxHooksRequest request) {
-    (*impl_ptr).reset(new TestMojoSandboxHooksImpl(std::move(request)));
+      mojo::PendingReceiver<mojom::TestMojoSandboxHooks> receiver) {
+    (*impl_ptr).reset(new TestMojoSandboxHooksImpl(std::move(receiver)));
   }
 
   base::test::TaskEnvironment task_environment_;
 };
 
-void RunEchoString(mojom::TestMojoSandboxHooksPtr* test_mojo_ptr,
+void RunEchoString(mojo::Remote<mojom::TestMojoSandboxHooks>* test_mojo,
                    const std::string& input,
                    mojom::TestMojoSandboxHooks::EchoStringCallback callback) {
-  DCHECK(test_mojo_ptr);
+  DCHECK(test_mojo);
 
-  (*test_mojo_ptr)->EchoString(input, std::move(callback));
+  (*test_mojo)->EchoString(input, std::move(callback));
 }
 
 void OnEchoStringDone(std::string* result_string,
@@ -172,8 +177,8 @@
             StartSandboxTarget(MakeCmdLine("MojoSandboxHooksTargetMain"),
                                &setup_hooks, SandboxType::kTest));
 
-  UniqueTestMojoSandboxHooksPtr test_mojo_ptr =
-      setup_hooks.TakeTestMojoSandboxHooksPtr();
+  RemoteTestMojoSandboxHooksPtr test_mojo =
+      setup_hooks.TakeTestMojoSandboxHooksRemote();
 
   std::string test_result_string;
   base::RunLoop loop;
@@ -181,7 +186,7 @@
   // ends.
   mojo_task_runner_->PostTask(
       FROM_HERE,
-      base::BindOnce(RunEchoString, base::Unretained(test_mojo_ptr.get()),
+      base::BindOnce(RunEchoString, base::Unretained(test_mojo.get()),
                      kTestString,
                      base::BindOnce(OnEchoStringDone,
                                     base::Unretained(&test_result_string),
diff --git a/chrome/chrome_cleaner/mojom/typemaps/string16_embedded_nulls_typemap_unittest.cc b/chrome/chrome_cleaner/mojom/typemaps/string16_embedded_nulls_typemap_unittest.cc
index a996fdd..203d14a 100644
--- a/chrome/chrome_cleaner/mojom/typemaps/string16_embedded_nulls_typemap_unittest.cc
+++ b/chrome/chrome_cleaner/mojom/typemaps/string16_embedded_nulls_typemap_unittest.cc
@@ -2,17 +2,24 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#include <memory>
+#include <utility>
+
 #include "base/bind.h"
 #include "base/synchronization/waitable_event.h"
-#include "chrome/chrome_cleaner/mojom/string16_embedded_nulls.mojom.h"
-#include "chrome/chrome_cleaner/mojom/test_string16_embedded_nulls.mojom.h"
 #include "chrome/chrome_cleaner/ipc/ipc_test_util.h"
 #include "chrome/chrome_cleaner/ipc/mojo_task_runner.h"
+#include "chrome/chrome_cleaner/mojom/string16_embedded_nulls.mojom.h"
+#include "chrome/chrome_cleaner/mojom/test_string16_embedded_nulls.mojom.h"
 #include "chrome/chrome_cleaner/strings/string16_embedded_nulls.h"
 #include "chrome/chrome_cleaner/strings/string_test_helpers.h"
 #include "chrome/chrome_cleaner/test/test_util.h"
 #include "mojo/core/embedder/embedder.h"
-#include "mojo/public/cpp/bindings/binding.h"
+#include "mojo/public/cpp/bindings/pending_receiver.h"
+#include "mojo/public/cpp/bindings/pending_remote.h"
+#include "mojo/public/cpp/bindings/receiver.h"
+#include "mojo/public/cpp/bindings/remote.h"
+#include "mojo/public/cpp/system/message_pipe.h"
 #include "testing/gmock/include/gmock/gmock.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "testing/multiprocess_func_list.h"
@@ -26,15 +33,15 @@
 class TestString16EmbeddedNullsImpl : public mojom::TestString16EmbeddedNulls {
  public:
   explicit TestString16EmbeddedNullsImpl(
-      mojom::TestString16EmbeddedNullsRequest request)
-      : binding_(this, std::move(request)) {}
+      mojo::PendingReceiver<mojom::TestString16EmbeddedNulls> receiver)
+      : receiver_(this, std::move(receiver)) {}
 
   void Echo(const String16EmbeddedNulls& path, EchoCallback callback) override {
     std::move(callback).Run(path);
   }
 
  private:
-  mojo::Binding<mojom::TestString16EmbeddedNulls> binding_;
+  mojo::Receiver<mojom::TestString16EmbeddedNulls> receiver_;
 };
 
 class SandboxParentProcess : public chrome_cleaner::ParentProcess {
@@ -44,8 +51,10 @@
 
  protected:
   void CreateImpl(mojo::ScopedMessagePipeHandle mojo_pipe) override {
-    mojom::TestString16EmbeddedNullsRequest request(std::move(mojo_pipe));
-    impl_ = std::make_unique<TestString16EmbeddedNullsImpl>(std::move(request));
+    mojo::PendingReceiver<mojom::TestString16EmbeddedNulls> receiver(
+        std::move(mojo_pipe));
+    impl_ =
+        std::make_unique<TestString16EmbeddedNullsImpl>(std::move(receiver));
   }
 
   void DestroyImpl() override { impl_.reset(); }
@@ -60,12 +69,14 @@
  public:
   explicit SandboxChildProcess(scoped_refptr<MojoTaskRunner> mojo_task_runner)
       : ChildProcess(mojo_task_runner),
-        ptr_(std::make_unique<mojom::TestString16EmbeddedNullsPtr>()) {}
+        remote_(std::make_unique<
+                mojo::Remote<mojom::TestString16EmbeddedNulls>>()) {}
 
   void BindToPipe(mojo::ScopedMessagePipeHandle mojo_pipe,
                   WaitableEvent* event) {
-    ptr_->Bind(chrome_cleaner::mojom::TestString16EmbeddedNullsPtrInfo(
-        std::move(mojo_pipe), 0));
+    remote_->Bind(
+        mojo::PendingRemote<chrome_cleaner::mojom::TestString16EmbeddedNulls>(
+            std::move(mojo_pipe), 0));
     event->Signal();
   }
 
@@ -87,10 +98,9 @@
     mojo_task_runner_->PostTask(
         FROM_HERE,
         base::BindOnce(
-            [](std::unique_ptr<mojom::TestString16EmbeddedNullsPtr> ptr) {
-              ptr.reset();
-            },
-            base::Passed(&ptr_)));
+            [](std::unique_ptr<mojo::Remote<mojom::TestString16EmbeddedNulls>>
+                   remote) { remote.reset(); },
+            std::move(remote_)));
   }
 
   template <typename EchoedType>
@@ -108,10 +118,10 @@
 
   void RunEcho(const String16EmbeddedNulls& input,
                mojom::TestString16EmbeddedNulls::EchoCallback callback) {
-    (*ptr_)->Echo(input, std::move(callback));
+    (*remote_)->Echo(input, std::move(callback));
   }
 
-  std::unique_ptr<mojom::TestString16EmbeddedNullsPtr> ptr_;
+  std::unique_ptr<mojo::Remote<mojom::TestString16EmbeddedNulls>> remote_;
 };
 
 scoped_refptr<SandboxChildProcess> InitChildProcess() {
diff --git a/chrome/chrome_cleaner/os/file_remover_unittest.cc b/chrome/chrome_cleaner/os/file_remover_unittest.cc
index 52c9b4f..09032a86 100644
--- a/chrome/chrome_cleaner/os/file_remover_unittest.cc
+++ b/chrome/chrome_cleaner/os/file_remover_unittest.cc
@@ -416,8 +416,8 @@
     ASSERT_TRUE(temp_dir_.CreateUniqueTempDir());
 
     auto zip_archiver = std::make_unique<SandboxedZipArchiver>(
-        mojo_task_runner, setup_hooks.TakeZipArchiverPtr(), temp_dir_.GetPath(),
-        kTestPassword);
+        mojo_task_runner, setup_hooks.TakeZipArchiverRemote(),
+        temp_dir_.GetPath(), kTestPassword);
     file_remover_ = std::make_unique<FileRemover>(
         /*digest_verifier=*/nullptr, std::move(zip_archiver),
         LayeredServiceProviderWrapper(), base::DoNothing::Repeatedly());
diff --git a/chrome/chrome_cleaner/zip_archiver/broker/BUILD.gn b/chrome/chrome_cleaner/zip_archiver/broker/BUILD.gn
index 31fa169..4b62ea7f 100644
--- a/chrome/chrome_cleaner/zip_archiver/broker/BUILD.gn
+++ b/chrome/chrome_cleaner/zip_archiver/broker/BUILD.gn
@@ -18,6 +18,7 @@
     "//chrome/chrome_cleaner/ipc:sandbox",
     "//chrome/chrome_cleaner/mojom:zip_archiver_interface",
     "//components/chrome_cleaner/public/constants:constants",
+    "//mojo/public/cpp/bindings",
     "//mojo/public/cpp/system:system",
     "//sandbox/win:sandbox",
   ]
@@ -37,6 +38,7 @@
     "//chrome/chrome_cleaner/mojom:zip_archiver_interface",
     "//chrome/chrome_cleaner/zip_archiver:test_support",
     "//chrome/chrome_cleaner/zip_archiver/target:common",
+    "//mojo/public/cpp/bindings",
     "//mojo/public/cpp/system:system",
     "//sandbox/win:sandbox",
     "//testing/gtest",
diff --git a/chrome/chrome_cleaner/zip_archiver/broker/sandbox_setup.cc b/chrome/chrome_cleaner/zip_archiver/broker/sandbox_setup.cc
index 4d25406..56a72af 100644
--- a/chrome/chrome_cleaner/zip_archiver/broker/sandbox_setup.cc
+++ b/chrome/chrome_cleaner/zip_archiver/broker/sandbox_setup.cc
@@ -9,20 +9,23 @@
 
 #include "base/bind.h"
 #include "base/logging.h"
+#include "chrome/chrome_cleaner/mojom/zip_archiver.mojom.h"
+#include "mojo/public/cpp/bindings/pending_remote.h"
+#include "mojo/public/cpp/bindings/remote.h"
 #include "mojo/public/cpp/system/message_pipe.h"
 
 namespace chrome_cleaner {
 
 namespace {
 
-void BindZipArchiverPtr(mojom::ZipArchiverPtr* zip_archiver_ptr,
-                        mojo::ScopedMessagePipeHandle pipe_handle,
-                        base::OnceClosure connection_error_handler) {
-  DCHECK(zip_archiver_ptr);
+void BindZipArchiverRemote(mojo::Remote<mojom::ZipArchiver>* zip_archiver,
+                           mojo::ScopedMessagePipeHandle pipe_handle,
+                           base::OnceClosure connection_error_handler) {
+  DCHECK(zip_archiver);
 
-  zip_archiver_ptr->Bind(mojom::ZipArchiverPtrInfo(std::move(pipe_handle), 0));
-  zip_archiver_ptr->set_connection_error_handler(
-      std::move(connection_error_handler));
+  zip_archiver->Bind(
+      mojo::PendingRemote<mojom::ZipArchiver>(std::move(pipe_handle), 0));
+  zip_archiver->set_disconnect_handler(std::move(connection_error_handler));
 }
 
 }  // namespace
@@ -34,8 +37,8 @@
       connection_error_handler_(std::move(connection_error_handler)),
       // Manually use |new| here because |make_unique| doesn't work with
       // custom deleter.
-      zip_archiver_ptr_(new mojom::ZipArchiverPtr(),
-                        base::OnTaskRunnerDeleter(mojo_task_runner_)) {}
+      zip_archiver_(new mojo::Remote<mojom::ZipArchiver>(),
+                    base::OnTaskRunnerDeleter(mojo_task_runner_)) {}
 
 ZipArchiverSandboxSetupHooks::~ZipArchiverSandboxSetupHooks() = default;
 
@@ -48,16 +51,16 @@
   // Unretained pointer of |zip_archiver_ptr_| is safe because its deleter is
   // run on the same task runner. So it won't be deleted before this task.
   mojo_task_runner_->PostTask(
-      FROM_HERE, base::BindOnce(BindZipArchiverPtr,
-                                base::Unretained(zip_archiver_ptr_.get()),
+      FROM_HERE, base::BindOnce(BindZipArchiverRemote,
+                                base::Unretained(zip_archiver_.get()),
                                 SetupSandboxMessagePipe(policy, command_line),
                                 std::move(connection_error_handler_)));
 
   return RESULT_CODE_SUCCESS;
 }
 
-UniqueZipArchiverPtr ZipArchiverSandboxSetupHooks::TakeZipArchiverPtr() {
-  return std::move(zip_archiver_ptr_);
+RemoteZipArchiverPtr ZipArchiverSandboxSetupHooks::TakeZipArchiverRemote() {
+  return std::move(zip_archiver_);
 }
 
 }  // namespace chrome_cleaner
diff --git a/chrome/chrome_cleaner/zip_archiver/broker/sandbox_setup.h b/chrome/chrome_cleaner/zip_archiver/broker/sandbox_setup.h
index 0058d171..5556021 100644
--- a/chrome/chrome_cleaner/zip_archiver/broker/sandbox_setup.h
+++ b/chrome/chrome_cleaner/zip_archiver/broker/sandbox_setup.h
@@ -10,16 +10,17 @@
 #include "base/command_line.h"
 #include "base/memory/scoped_refptr.h"
 #include "base/sequenced_task_runner.h"
-#include "chrome/chrome_cleaner/mojom/zip_archiver.mojom.h"
 #include "chrome/chrome_cleaner/ipc/mojo_sandbox_hooks.h"
 #include "chrome/chrome_cleaner/ipc/mojo_task_runner.h"
+#include "chrome/chrome_cleaner/mojom/zip_archiver.mojom.h"
 #include "components/chrome_cleaner/public/constants/result_codes.h"
+#include "mojo/public/cpp/bindings/remote.h"
 #include "sandbox/win/src/sandbox_policy.h"
 
 namespace chrome_cleaner {
 
-using UniqueZipArchiverPtr =
-    std::unique_ptr<mojom::ZipArchiverPtr, base::OnTaskRunnerDeleter>;
+using RemoteZipArchiverPtr = std::unique_ptr<mojo::Remote<mojom::ZipArchiver>,
+                                             base::OnTaskRunnerDeleter>;
 
 class ZipArchiverSandboxSetupHooks : public MojoSandboxSetupHooks {
  public:
@@ -32,12 +33,12 @@
   ResultCode UpdateSandboxPolicy(sandbox::TargetPolicy* policy,
                                  base::CommandLine* command_line) override;
 
-  UniqueZipArchiverPtr TakeZipArchiverPtr();
+  RemoteZipArchiverPtr TakeZipArchiverRemote();
 
  private:
   scoped_refptr<MojoTaskRunner> mojo_task_runner_;
   base::OnceClosure connection_error_handler_;
-  UniqueZipArchiverPtr zip_archiver_ptr_;
+  RemoteZipArchiverPtr zip_archiver_;
 
   DISALLOW_COPY_AND_ASSIGN(ZipArchiverSandboxSetupHooks);
 };
diff --git a/chrome/chrome_cleaner/zip_archiver/broker/sandbox_setup_unittest.cc b/chrome/chrome_cleaner/zip_archiver/broker/sandbox_setup_unittest.cc
index a3713bed..531b211 100644
--- a/chrome/chrome_cleaner/zip_archiver/broker/sandbox_setup_unittest.cc
+++ b/chrome/chrome_cleaner/zip_archiver/broker/sandbox_setup_unittest.cc
@@ -17,6 +17,7 @@
 #include "chrome/chrome_cleaner/zip_archiver/broker/sandbox_setup.h"
 #include "chrome/chrome_cleaner/zip_archiver/target/sandbox_setup.h"
 #include "chrome/chrome_cleaner/zip_archiver/test_zip_archiver_util.h"
+#include "mojo/public/cpp/bindings/remote.h"
 #include "mojo/public/cpp/system/platform_handle.h"
 #include "sandbox/win/src/sandbox.h"
 #include "sandbox/win/src/sandbox_factory.h"
@@ -36,7 +37,7 @@
  public:
   ZipArchiverSandboxSetupTest()
       : mojo_task_runner_(MojoTaskRunner::Create()),
-        zip_archiver_ptr_(nullptr, base::OnTaskRunnerDeleter(nullptr)) {
+        zip_archiver_(nullptr, base::OnTaskRunnerDeleter(nullptr)) {
     ZipArchiverSandboxSetupHooks setup_hooks(
         mojo_task_runner_.get(), base::BindOnce([] {
           FAIL() << "ZipArchiver sandbox connection error";
@@ -45,7 +46,7 @@
         RESULT_CODE_SUCCESS,
         StartSandboxTarget(MakeCmdLine("ZipArchiverSandboxSetupTargetMain"),
                            &setup_hooks, SandboxType::kTest));
-    zip_archiver_ptr_ = setup_hooks.TakeZipArchiverPtr();
+    zip_archiver_ = setup_hooks.TakeZipArchiverRemote();
   }
 
  protected:
@@ -56,28 +57,28 @@
                        mojom::ZipArchiver::ArchiveCallback callback) {
     mojo_task_runner_->PostTask(
         FROM_HERE,
-        base::BindOnce(RunArchive, base::Unretained(zip_archiver_ptr_.get()),
+        base::BindOnce(RunArchive, base::Unretained(zip_archiver_.get()),
                        mojo::WrapPlatformFile(src_file_handle.Take()),
                        mojo::WrapPlatformFile(zip_file_handle.Take()),
                        filename_in_zip, password, std::move(callback)));
   }
 
  private:
-  static void RunArchive(mojom::ZipArchiverPtr* zip_archiver_ptr,
+  static void RunArchive(mojo::Remote<mojom::ZipArchiver>* zip_archiver,
                          mojo::ScopedHandle mojo_src_handle,
                          mojo::ScopedHandle mojo_zip_handle,
                          const std::string& filename_in_zip,
                          const std::string& password,
                          mojom::ZipArchiver::ArchiveCallback callback) {
-    DCHECK(zip_archiver_ptr);
+    DCHECK(zip_archiver);
 
-    (*zip_archiver_ptr)
+    (*zip_archiver)
         ->Archive(std::move(mojo_src_handle), std::move(mojo_zip_handle),
                   filename_in_zip, password, std::move(callback));
   }
 
   scoped_refptr<MojoTaskRunner> mojo_task_runner_;
-  UniqueZipArchiverPtr zip_archiver_ptr_;
+  RemoteZipArchiverPtr zip_archiver_;
   base::test::TaskEnvironment task_environment_;
 };
 
diff --git a/chrome/chrome_cleaner/zip_archiver/sandboxed_zip_archiver.cc b/chrome/chrome_cleaner/zip_archiver/sandboxed_zip_archiver.cc
index 1eb1f657..9af70a3 100644
--- a/chrome/chrome_cleaner/zip_archiver/sandboxed_zip_archiver.cc
+++ b/chrome/chrome_cleaner/zip_archiver/sandboxed_zip_archiver.cc
@@ -17,6 +17,7 @@
 #include "chrome/chrome_cleaner/constants/quarantine_constants.h"
 #include "chrome/chrome_cleaner/os/disk_util.h"
 #include "chrome/chrome_cleaner/os/file_path_sanitization.h"
+#include "mojo/public/cpp/bindings/remote.h"
 #include "mojo/public/cpp/system/platform_handle.h"
 
 namespace chrome_cleaner {
@@ -61,15 +62,15 @@
   return true;
 }
 
-void RunArchiver(mojom::ZipArchiverPtr* zip_archiver_ptr,
+void RunArchiver(mojo::Remote<mojom::ZipArchiver>* zip_archiver,
                  mojo::ScopedHandle mojo_src_handle,
                  mojo::ScopedHandle mojo_zip_handle,
                  const std::string& filename,
                  const std::string& password,
                  mojom::ZipArchiver::ArchiveCallback callback) {
-  DCHECK(zip_archiver_ptr);
+  DCHECK(zip_archiver);
 
-  (*zip_archiver_ptr)
+  (*zip_archiver)
       ->Archive(std::move(mojo_src_handle), std::move(mojo_zip_handle),
                 filename, password, std::move(callback));
 }
@@ -125,15 +126,15 @@
 
 SandboxedZipArchiver::SandboxedZipArchiver(
     scoped_refptr<MojoTaskRunner> mojo_task_runner,
-    UniqueZipArchiverPtr zip_archiver_ptr,
+    RemoteZipArchiverPtr zip_archiver,
     const base::FilePath& dst_archive_folder,
     const std::string& zip_password)
     : mojo_task_runner_(mojo_task_runner),
-      zip_archiver_ptr_(std::move(zip_archiver_ptr)),
+      zip_archiver_(std::move(zip_archiver)),
       dst_archive_folder_(dst_archive_folder),
       zip_password_(zip_password) {
-  // Make sure the |zip_archiver_ptr| is bound with the |mojo_task_runner|.
-  DCHECK(zip_archiver_ptr_.get_deleter().task_runner_ == mojo_task_runner);
+  // Make sure the |zip_archiver| is bound with the |mojo_task_runner|.
+  DCHECK(zip_archiver_.get_deleter().task_runner_ == mojo_task_runner);
 
   int max_component_length =
       base::GetMaximumPathComponentLength(dst_archive_folder_);
@@ -241,14 +242,14 @@
 
   const std::string filename_in_zip = base::UTF16ToUTF8(sanitized_src_filename);
   // Do archive.
-  // Unretained pointer of |zip_archiver_ptr_| is safe because its deleter
-  // is run on the same task runner. If |zip_archiver_ptr_| is destructed later,
-  // the deleter will be scheduled after this task.
+  // Unretained pointer of |zip_archiver_| is safe because its deleter is run on
+  // the same task runner. If |zip_archiver_| is destructed later, the deleter
+  // will be scheduled after this task.
   auto done_callback =
       base::BindOnce(OnArchiveDone, zip_file_path, std::move(result_callback));
   mojo_task_runner_->PostTask(
       FROM_HERE,
-      base::BindOnce(RunArchiver, base::Unretained(zip_archiver_ptr_.get()),
+      base::BindOnce(RunArchiver, base::Unretained(zip_archiver_.get()),
                      mojo::WrapPlatformFile(src_file.TakePlatformFile()),
                      mojo::WrapPlatformFile(zip_file.TakePlatformFile()),
                      filename_in_zip, zip_password_, std::move(done_callback)));
@@ -295,8 +296,8 @@
       SpawnSandbox(&setup_hooks, SandboxType::kZipArchiver);
   if (result_code == RESULT_CODE_SUCCESS) {
     *sandboxed_zip_archiver = std::make_unique<SandboxedZipArchiver>(
-        mojo_task_runner, setup_hooks.TakeZipArchiverPtr(), dst_archive_folder,
-        zip_password);
+        mojo_task_runner, setup_hooks.TakeZipArchiverRemote(),
+        dst_archive_folder, zip_password);
   }
 
   return result_code;
diff --git a/chrome/chrome_cleaner/zip_archiver/sandboxed_zip_archiver.h b/chrome/chrome_cleaner/zip_archiver/sandboxed_zip_archiver.h
index f3de2cd..106057cd 100644
--- a/chrome/chrome_cleaner/zip_archiver/sandboxed_zip_archiver.h
+++ b/chrome/chrome_cleaner/zip_archiver/sandboxed_zip_archiver.h
@@ -32,7 +32,7 @@
 class SandboxedZipArchiver : public ZipArchiver {
  public:
   SandboxedZipArchiver(scoped_refptr<MojoTaskRunner> mojo_task_runner,
-                       UniqueZipArchiverPtr zip_archiver_ptr,
+                       RemoteZipArchiverPtr zip_archiver,
                        const base::FilePath& dst_archive_folder,
                        const std::string& zip_password);
   ~SandboxedZipArchiver() override;
@@ -44,7 +44,7 @@
   mojom::ZipArchiverResultCode CheckFileSize(base::File* file);
 
   scoped_refptr<MojoTaskRunner> mojo_task_runner_;
-  UniqueZipArchiverPtr zip_archiver_ptr_;
+  RemoteZipArchiverPtr zip_archiver_;
   const base::FilePath dst_archive_folder_;
   const std::string zip_password_;
   size_t dst_max_component_length_;
diff --git a/chrome/chrome_cleaner/zip_archiver/sandboxed_zip_archiver_unittest.cc b/chrome/chrome_cleaner/zip_archiver/sandboxed_zip_archiver_unittest.cc
index 59d37d3e..a2fbf4f 100644
--- a/chrome/chrome_cleaner/zip_archiver/sandboxed_zip_archiver_unittest.cc
+++ b/chrome/chrome_cleaner/zip_archiver/sandboxed_zip_archiver_unittest.cc
@@ -23,7 +23,9 @@
 #include "chrome/chrome_cleaner/zip_archiver/sandboxed_zip_archiver.h"
 #include "chrome/chrome_cleaner/zip_archiver/target/sandbox_setup.h"
 #include "chrome/chrome_cleaner/zip_archiver/test_zip_archiver_util.h"
-#include "mojo/public/cpp/bindings/binding.h"
+#include "mojo/public/cpp/bindings/pending_receiver.h"
+#include "mojo/public/cpp/bindings/receiver.h"
+#include "mojo/public/cpp/bindings/remote.h"
 #include "mojo/public/cpp/system/platform_handle.h"
 #include "sandbox/win/src/sandbox.h"
 #include "sandbox/win/src/sandbox_factory.h"
@@ -61,7 +63,7 @@
     ASSERT_EQ(RESULT_CODE_SUCCESS,
               StartSandboxTarget(MakeCmdLine("SandboxedZipArchiverTargetMain"),
                                  &setup_hooks, SandboxType::kTest));
-    UniqueZipArchiverPtr zip_archiver_ptr = setup_hooks.TakeZipArchiverPtr();
+    RemoteZipArchiverPtr zip_archiver = setup_hooks.TakeZipArchiverRemote();
 
     test_file_.Initialize();
     const base::FilePath& src_file_path = test_file_.GetSourceFilePath();
@@ -77,7 +79,7 @@
     expect_zip_file_path_ = dst_archive_folder.Append(zip_filename);
 
     zip_archiver_ = std::make_unique<SandboxedZipArchiver>(
-        mojo_task_runner, std::move(zip_archiver_ptr), dst_archive_folder,
+        mojo_task_runner, std::move(zip_archiver), dst_archive_folder,
         kTestPassword);
   }
 
@@ -107,9 +109,10 @@
 // before sending requests to the sandbox. It doesn't do real archiving.
 class ArgumentVerifyingFakeArchiver : public mojom::ZipArchiver {
  public:
-  explicit ArgumentVerifyingFakeArchiver(mojom::ZipArchiverRequest request)
-      : binding_(this, std::move(request)) {
-    binding_.set_connection_error_handler(base::BindOnce(
+  explicit ArgumentVerifyingFakeArchiver(
+      mojo::PendingReceiver<mojom::ZipArchiver> receiver)
+      : receiver_(this, std::move(receiver)) {
+    receiver_.set_disconnect_handler(base::BindOnce(
         [] { FAIL() << "ZipArchiver sandbox connection error"; }));
   }
 
@@ -182,7 +185,7 @@
     return false;
   }
 
-  mojo::Binding<mojom::ZipArchiver> binding_;
+  mojo::Receiver<mojom::ZipArchiver> receiver_;
 
   DISALLOW_COPY_AND_ASSIGN(ArgumentVerifyingFakeArchiver);
 };
@@ -284,8 +287,8 @@
   ZipArchiverSandboxCheckTest()
       : mojo_task_runner_(MojoTaskRunner::Create()),
         impl_ptr_(nullptr, base::OnTaskRunnerDeleter(mojo_task_runner_)) {
-    UniqueZipArchiverPtr zip_archiver_ptr(
-        new mojom::ZipArchiverPtr(),
+    RemoteZipArchiverPtr zip_archiver(
+        new mojo::Remote<mojom::ZipArchiver>(),
         base::OnTaskRunnerDeleter(mojo_task_runner_));
 
     // Initialize the |impl_ptr_| in the mojo task and wait until it completed.
@@ -293,15 +296,15 @@
     mojo_task_runner_->PostTask(
         FROM_HERE, base::BindOnce(&ZipArchiverSandboxCheckTest::
                                       InitializeArgumentVerifyingFakeArchiver,
-                                  base::Unretained(this),
-                                  zip_archiver_ptr.get(), loop.QuitClosure()));
+                                  base::Unretained(this), zip_archiver.get(),
+                                  loop.QuitClosure()));
     loop.Run();
 
     test_file_.Initialize();
 
     zip_archiver_ = std::make_unique<SandboxedZipArchiver>(
-        mojo_task_runner_, std::move(zip_archiver_ptr),
-        test_file_.GetTempDirPath(), kTestPassword);
+        mojo_task_runner_, std::move(zip_archiver), test_file_.GetTempDirPath(),
+        kTestPassword);
   }
 
  protected:
@@ -320,10 +323,10 @@
 
  private:
   void InitializeArgumentVerifyingFakeArchiver(
-      mojom::ZipArchiverPtr* zip_archiver_ptr,
+      mojo::Remote<mojom::ZipArchiver>* zip_archiver,
       base::OnceClosure callback) {
-    impl_ptr_.reset(
-        new ArgumentVerifyingFakeArchiver(mojo::MakeRequest(zip_archiver_ptr)));
+    impl_ptr_.reset(new ArgumentVerifyingFakeArchiver(
+        zip_archiver->BindNewPipeAndPassReceiver()));
     std::move(callback).Run();
   }
 
diff --git a/chrome/chrome_cleaner/zip_archiver/target/sandbox_setup.cc b/chrome/chrome_cleaner/zip_archiver/target/sandbox_setup.cc
index aafcb329..ce42d9b 100644
--- a/chrome/chrome_cleaner/zip_archiver/target/sandbox_setup.cc
+++ b/chrome/chrome_cleaner/zip_archiver/target/sandbox_setup.cc
@@ -33,7 +33,8 @@
       const base::CommandLine& command_line) override;
 
  private:
-  void CreateZipArchiverImpl(mojom::ZipArchiverRequest request);
+  void CreateZipArchiverImpl(
+      mojo::PendingReceiver<mojom::ZipArchiver> receiver);
 
   MojoTaskRunner* mojo_task_runner_;
   base::SingleThreadTaskExecutor main_thread_task_executor_;
@@ -51,7 +52,8 @@
 
 ResultCode ZipArchiverSandboxTargetHooks::TargetDroppedPrivileges(
     const base::CommandLine& command_line) {
-  mojom::ZipArchiverRequest request(ExtractSandboxMessagePipe(command_line));
+  mojo::PendingReceiver<mojom::ZipArchiver> receiver(
+      ExtractSandboxMessagePipe(command_line));
 
   // This loop will run forever. Once the communication channel with the broker
   // process is broken, mojo error handler will abort this process.
@@ -59,19 +61,19 @@
   mojo_task_runner_->PostTask(
       FROM_HERE,
       base::BindOnce(&ZipArchiverSandboxTargetHooks::CreateZipArchiverImpl,
-                     base::Unretained(this), std::move(request)));
+                     base::Unretained(this), std::move(receiver)));
   run_loop.Run();
 
   return RESULT_CODE_SUCCESS;
 }
 
 void ZipArchiverSandboxTargetHooks::CreateZipArchiverImpl(
-    mojom::ZipArchiverRequest request) {
+    mojo::PendingReceiver<mojom::ZipArchiver> receiver) {
   // Replace the null pointer by the actual |ZipArchiverImpl|.
   // Manually use |new| here because |make_unique| doesn't work with
   // custom deleter.
   zip_archiver_impl_.reset(
-      new ZipArchiverImpl(std::move(request), base::BindOnce(&EarlyExit, 1)));
+      new ZipArchiverImpl(std::move(receiver), base::BindOnce(&EarlyExit, 1)));
 }
 
 }  // namespace
diff --git a/chrome/chrome_cleaner/zip_archiver/target/zip_archiver_impl.cc b/chrome/chrome_cleaner/zip_archiver/target/zip_archiver_impl.cc
index 9a46fc8..f266f7da 100644
--- a/chrome/chrome_cleaner/zip_archiver/target/zip_archiver_impl.cc
+++ b/chrome/chrome_cleaner/zip_archiver/target/zip_archiver_impl.cc
@@ -195,10 +195,11 @@
 
 }  // namespace
 
-ZipArchiverImpl::ZipArchiverImpl(mojom::ZipArchiverRequest request,
-                                 base::OnceClosure connection_error_handler)
-    : binding_(this, std::move(request)) {
-  binding_.set_connection_error_handler(std::move(connection_error_handler));
+ZipArchiverImpl::ZipArchiverImpl(
+    mojo::PendingReceiver<mojom::ZipArchiver> receiver,
+    base::OnceClosure connection_error_handler)
+    : receiver_(this, std::move(receiver)) {
+  receiver_.set_disconnect_handler(std::move(connection_error_handler));
 }
 
 ZipArchiverImpl::~ZipArchiverImpl() = default;
diff --git a/chrome/chrome_cleaner/zip_archiver/target/zip_archiver_impl.h b/chrome/chrome_cleaner/zip_archiver/target/zip_archiver_impl.h
index 252aabbc..c0e38fd 100644
--- a/chrome/chrome_cleaner/zip_archiver/target/zip_archiver_impl.h
+++ b/chrome/chrome_cleaner/zip_archiver/target/zip_archiver_impl.h
@@ -8,13 +8,14 @@
 #include <string>
 
 #include "chrome/chrome_cleaner/mojom/zip_archiver.mojom.h"
-#include "mojo/public/cpp/bindings/binding.h"
+#include "mojo/public/cpp/bindings/pending_receiver.h"
+#include "mojo/public/cpp/bindings/receiver.h"
 
 namespace chrome_cleaner {
 
 class ZipArchiverImpl : public mojom::ZipArchiver {
  public:
-  ZipArchiverImpl(mojom::ZipArchiverRequest request,
+  ZipArchiverImpl(mojo::PendingReceiver<mojom::ZipArchiver> receiver,
                   base::OnceClosure connection_error_handler);
   ~ZipArchiverImpl() override;
 
@@ -25,7 +26,7 @@
                ArchiveCallback callback) override;
 
  private:
-  mojo::Binding<mojom::ZipArchiver> binding_;
+  mojo::Receiver<mojom::ZipArchiver> receiver_;
 
   DISALLOW_COPY_AND_ASSIGN(ZipArchiverImpl);
 };
diff --git a/chrome/chrome_cleaner/zip_archiver/target/zip_archiver_impl_unittest.cc b/chrome/chrome_cleaner/zip_archiver/target/zip_archiver_impl_unittest.cc
index 0066991..b60a1ab5 100644
--- a/chrome/chrome_cleaner/zip_archiver/target/zip_archiver_impl_unittest.cc
+++ b/chrome/chrome_cleaner/zip_archiver/target/zip_archiver_impl_unittest.cc
@@ -15,6 +15,7 @@
 #include "chrome/chrome_cleaner/ipc/mojo_task_runner.h"
 #include "chrome/chrome_cleaner/mojom/zip_archiver.mojom.h"
 #include "chrome/chrome_cleaner/zip_archiver/test_zip_archiver_util.h"
+#include "mojo/public/cpp/bindings/remote.h"
 #include "mojo/public/cpp/system/platform_handle.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
@@ -58,9 +59,9 @@
                  const std::string& filename,
                  const std::string& password,
                  mojom::ZipArchiver::ArchiveCallback callback) {
-  mojom::ZipArchiverPtr zip_archiver_ptr;
+  mojo::Remote<mojom::ZipArchiver> zip_archiver;
   ZipArchiverImpl zip_archiver_impl(
-      mojo::MakeRequest(&zip_archiver_ptr),
+      zip_archiver.BindNewPipeAndPassReceiver(),
       /*connection_error_handler=*/base::DoNothing());
   zip_archiver_impl.Archive(mojo::WrapPlatformFile(src_file_handle.Take()),
                             mojo::WrapPlatformFile(zip_file_handle.Take()),
diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc
index c9e7d37..3db08a52 100644
--- a/chrome/common/chrome_features.cc
+++ b/chrome/common/chrome_features.cc
@@ -259,8 +259,14 @@
 
 // Enables local PWA installs to update their app manifest data if the site
 // changes its manifest.
-const base::Feature kDesktopPWAsLocalUpdating{"DesktopPWAsLocalUpdating",
-                                              base::FEATURE_ENABLED_BY_DEFAULT};
+const base::Feature kDesktopPWAsLocalUpdating {
+  "DesktopPWAsLocalUpdating",
+#if defined(OS_CHROMEOS)
+      base::FEATURE_ENABLED_BY_DEFAULT
+#else
+      base::FEATURE_DISABLED_BY_DEFAULT
+#endif
+};
 
 // Enables or disables use of new Desktop PWAs browser controller (that uses the
 // universal web_app::AppRegistrar) by extensions-based bookmark apps. Note that
diff --git a/chrome/renderer/autofill/password_autofill_agent_browsertest.cc b/chrome/renderer/autofill/password_autofill_agent_browsertest.cc
index 7e1d62f..765981f 100644
--- a/chrome/renderer/autofill/password_autofill_agent_browsertest.cc
+++ b/chrome/renderer/autofill/password_autofill_agent_browsertest.cc
@@ -1715,39 +1715,49 @@
   // have no fill data, though.
   SimulateOnFillPasswordForm(fill_data_);
 
-  EXPECT_CALL(fake_driver_, ShowTouchToFill);
   EXPECT_TRUE(
       password_autofill_agent_->TryToShowTouchToFill(username_element_));
   EXPECT_TRUE(password_autofill_agent_->ShouldSuppressKeyboard());
+
+  EXPECT_CALL(fake_driver_, ShowTouchToFill);
   base::RunLoop().RunUntilIdle();
 }
 
 TEST_F(PasswordAutofillAgentTest, TryToShowTouchToFillPassword) {
   SimulateOnFillPasswordForm(fill_data_);
 
-  EXPECT_CALL(fake_driver_, ShowTouchToFill);
   EXPECT_TRUE(
       password_autofill_agent_->TryToShowTouchToFill(password_element_));
   EXPECT_TRUE(password_autofill_agent_->ShouldSuppressKeyboard());
+
+  EXPECT_CALL(fake_driver_, ShowTouchToFill);
   base::RunLoop().RunUntilIdle();
 }
 
+TEST_F(PasswordAutofillAgentTest, DontTryToShowTouchToFillReadonlyPassword) {
+  SetElementReadOnly(password_element_, true);
+  SimulateOnFillPasswordForm(fill_data_);
+
+  EXPECT_FALSE(
+      password_autofill_agent_->TryToShowTouchToFill(password_element_));
+}
+
 TEST_F(PasswordAutofillAgentTest, TouchToFillDismissed) {
   SimulateOnFillPasswordForm(fill_data_);
 
   // Touch to fill will be shown multiple times until TouchToFillDismissed()
   // gets called.
-  EXPECT_CALL(fake_driver_, ShowTouchToFill);
   EXPECT_TRUE(
       password_autofill_agent_->TryToShowTouchToFill(password_element_));
   EXPECT_TRUE(password_autofill_agent_->ShouldSuppressKeyboard());
+
+  EXPECT_CALL(fake_driver_, ShowTouchToFill);
   base::RunLoop().RunUntilIdle();
 
   password_autofill_agent_->TouchToFillDismissed();
   EXPECT_FALSE(
       password_autofill_agent_->TryToShowTouchToFill(password_element_));
   EXPECT_FALSE(password_autofill_agent_->ShouldSuppressKeyboard());
-  base::RunLoop().RunUntilIdle();
 
   // Reload the page and simulate fill.
   LoadHTML(kFormHTML);
@@ -1756,10 +1766,11 @@
   SimulateOnFillPasswordForm(fill_data_);
 
   // After the reload touch to fill is shown again.
-  EXPECT_CALL(fake_driver_, ShowTouchToFill);
   EXPECT_TRUE(
       password_autofill_agent_->TryToShowTouchToFill(password_element_));
   EXPECT_TRUE(password_autofill_agent_->ShouldSuppressKeyboard());
+
+  EXPECT_CALL(fake_driver_, ShowTouchToFill);
   base::RunLoop().RunUntilIdle();
 }
 
diff --git a/chrome/services/app_service/app_service_impl.cc b/chrome/services/app_service/app_service_impl.cc
index da0a26ce..29cf66bc 100644
--- a/chrome/services/app_service/app_service_impl.cc
+++ b/chrome/services/app_service/app_service_impl.cc
@@ -102,6 +102,20 @@
   iter->second->Launch(app_id, event_flags, launch_source, display_id);
 }
 
+void AppServiceImpl::LaunchAppWithIntent(
+    apps::mojom::AppType app_type,
+    const std::string& app_id,
+    apps::mojom::IntentPtr intent,
+    apps::mojom::LaunchSource launch_source,
+    int64_t display_id) {
+  auto iter = publishers_.find(app_type);
+  if (iter == publishers_.end()) {
+    return;
+  }
+  iter->second->LaunchAppWithIntent(app_id, std::move(intent), launch_source,
+                                    display_id);
+}
+
 void AppServiceImpl::SetPermission(apps::mojom::AppType app_type,
                                    const std::string& app_id,
                                    apps::mojom::PermissionPtr permission) {
diff --git a/chrome/services/app_service/app_service_impl.h b/chrome/services/app_service/app_service_impl.h
index 1049798..7e7cf370 100644
--- a/chrome/services/app_service/app_service_impl.h
+++ b/chrome/services/app_service/app_service_impl.h
@@ -48,6 +48,11 @@
               int32_t event_flags,
               apps::mojom::LaunchSource launch_source,
               int64_t display_id) override;
+  void LaunchAppWithIntent(apps::mojom::AppType app_type,
+                           const std::string& app_id,
+                           apps::mojom::IntentPtr intent,
+                           apps::mojom::LaunchSource launch_source,
+                           int64_t display_id) override;
   void SetPermission(apps::mojom::AppType app_type,
                      const std::string& app_id,
                      apps::mojom::PermissionPtr permission) override;
diff --git a/chrome/services/app_service/app_service_impl_unittest.cc b/chrome/services/app_service/app_service_impl_unittest.cc
index 4d4f527..252f6a0 100644
--- a/chrome/services/app_service/app_service_impl_unittest.cc
+++ b/chrome/services/app_service/app_service_impl_unittest.cc
@@ -68,6 +68,11 @@
               apps::mojom::LaunchSource launch_source,
               int64_t display_id) override {}
 
+  void LaunchAppWithIntent(const std::string& app_id,
+                           apps::mojom::IntentPtr intent,
+                           apps::mojom::LaunchSource launch_source,
+                           int64_t display_id) override {}
+
   void SetPermission(const std::string& app_id,
                      apps::mojom::PermissionPtr permission) override {}
 
diff --git a/chrome/services/app_service/public/mojom/app_service.mojom b/chrome/services/app_service/public/mojom/app_service.mojom
index 96422fa..19def9e 100644
--- a/chrome/services/app_service/public/mojom/app_service.mojom
+++ b/chrome/services/app_service/public/mojom/app_service.mojom
@@ -39,6 +39,15 @@
       LaunchSource launch_source,
       int64 display_id);
 
+  // Launches an app with |app_id| and Chrome OS generic |intent| irrespective
+  // of app platform.
+  LaunchAppWithIntent(
+      AppType app_type,
+      string app_id,
+      Intent intent,
+      LaunchSource launch_source,
+      int64 display_id);
+
   SetPermission(
       AppType app_type,
       string app_id,
@@ -72,6 +81,14 @@
       LaunchSource launch_source,
       int64 display_id);
 
+  // Launches an app with |app_id| and Chrome OS generic |intent| irrespective
+  // of app platform.
+  LaunchAppWithIntent(
+    string app_id,
+    Intent intent,
+    LaunchSource launch_source,
+    int64 display_id);
+
   SetPermission(
       string app_id,
       Permission permission);
diff --git a/chrome/services/isolated_xr_device/xr_service_test_hook.cc b/chrome/services/isolated_xr_device/xr_service_test_hook.cc
index a7b8123..a2348b5 100644
--- a/chrome/services/isolated_xr_device/xr_service_test_hook.cc
+++ b/chrome/services/isolated_xr_device/xr_service_test_hook.cc
@@ -45,12 +45,11 @@
 namespace device {
 
 void XRServiceTestHook::SetTestHook(
-    device_test::mojom::XRTestHookPtr hook,
+    mojo::PendingRemote<device_test::mojom::XRTestHook> hook,
     device_test::mojom::XRServiceTestHook::SetTestHookCallback callback) {
   // Create a new wrapper (or use null)
   std::unique_ptr<XRTestHookWrapper> wrapper =
-      hook ? std::make_unique<XRTestHookWrapper>(hook.PassInterface())
-           : nullptr;
+      hook ? std::make_unique<XRTestHookWrapper>(std::move(hook)) : nullptr;
 
   // Register the wrapper testhook with the VR runtimes
 #if BUILDFLAG(ENABLE_OPENVR)
diff --git a/chrome/services/isolated_xr_device/xr_service_test_hook.h b/chrome/services/isolated_xr_device/xr_service_test_hook.h
index 325df24..92b5901 100644
--- a/chrome/services/isolated_xr_device/xr_service_test_hook.h
+++ b/chrome/services/isolated_xr_device/xr_service_test_hook.h
@@ -8,6 +8,7 @@
 #include <memory>
 
 #include "device/vr/public/mojom/browser_test_interfaces.mojom.h"
+#include "mojo/public/cpp/bindings/pending_remote.h"
 
 namespace device {
 class XRTestHookWrapper;
@@ -20,7 +21,7 @@
   using DeviceCrashCallback = device_test::mojom::XRServiceTestHook::
       TerminateDeviceServiceProcessForTestingCallback;
   // device_test::mojom::XRServiceTestHook
-  void SetTestHook(device_test::mojom::XRTestHookPtr hook,
+  void SetTestHook(mojo::PendingRemote<device_test::mojom::XRTestHook> hook,
                    device_test::mojom::XRServiceTestHook::SetTestHookCallback
                        callback) override;
   void TerminateDeviceServiceProcessForTesting(
diff --git a/chrome/services/isolated_xr_device/xr_test_hook_wrapper.cc b/chrome/services/isolated_xr_device/xr_test_hook_wrapper.cc
index 2fc4e718..03013c9e 100644
--- a/chrome/services/isolated_xr_device/xr_test_hook_wrapper.cc
+++ b/chrome/services/isolated_xr_device/xr_test_hook_wrapper.cc
@@ -35,8 +35,8 @@
 }
 
 XRTestHookWrapper::XRTestHookWrapper(
-    device_test::mojom::XRTestHookPtrInfo hook_info)
-    : hook_info_(std::move(hook_info)) {}
+    mojo::PendingRemote<device_test::mojom::XRTestHook> pending_hook)
+    : pending_hook_(std::move(pending_hook)) {}
 
 void XRTestHookWrapper::OnFrameSubmitted(SubmittedFrameData frame_data) {
   if (hook_) {
@@ -176,17 +176,15 @@
 }
 
 void XRTestHookWrapper::AttachCurrentThread() {
-  if (hook_info_) {
-    hook_.Bind(std::move(hook_info_));
-  }
+  if (pending_hook_)
+    hook_.Bind(std::move(pending_hook_));
 
   current_task_runner_ = base::ThreadTaskRunnerHandle::Get();
 }
 
 void XRTestHookWrapper::DetachCurrentThread() {
-  if (hook_) {
-    hook_info_ = hook_.PassInterface();
-  }
+  if (hook_)
+    pending_hook_ = hook_.Unbind();
 
   current_task_runner_ = nullptr;
 }
diff --git a/chrome/services/isolated_xr_device/xr_test_hook_wrapper.h b/chrome/services/isolated_xr_device/xr_test_hook_wrapper.h
index b6b5a27..92576f0 100644
--- a/chrome/services/isolated_xr_device/xr_test_hook_wrapper.h
+++ b/chrome/services/isolated_xr_device/xr_test_hook_wrapper.h
@@ -7,6 +7,8 @@
 
 #include "device/vr/public/mojom/browser_test_interfaces.mojom.h"
 #include "device/vr/test/test_hook.h"
+#include "mojo/public/cpp/bindings/pending_remote.h"
+#include "mojo/public/cpp/bindings/remote.h"
 
 namespace device {
 
@@ -14,12 +16,13 @@
 // of VR runtimes are single-threaded at a time, and we initialize/uninitialize
 // as we switch between immersive and non-immersive sessions.
 // The mojo pointer is thread-affine, but we can keep the same mojo connection
-// by getting its PtrInfo so we temporarily make the test hook mojo pointer
-// live on the thread that we are using the VR runtime on while the runtime is
-// initialized.
+// by getting its pending remote so we temporarily make the test hook mojo
+// pointer live on the thread that we are using the VR runtime on while the
+// runtime is initialized.
 class XRTestHookWrapper : public VRTestHook {
  public:
-  explicit XRTestHookWrapper(device_test::mojom::XRTestHookPtrInfo hook_info);
+  explicit XRTestHookWrapper(
+      mojo::PendingRemote<device_test::mojom::XRTestHook> hook_info);
   virtual ~XRTestHookWrapper();
 
   void OnFrameSubmitted(SubmittedFrameData frame_data) override;
@@ -37,8 +40,8 @@
   scoped_refptr<base::SingleThreadTaskRunner> GetBoundTaskRunner();
 
  private:
-  device_test::mojom::XRTestHookPtr hook_;
-  device_test::mojom::XRTestHookPtrInfo hook_info_;
+  mojo::Remote<device_test::mojom::XRTestHook> hook_;
+  mojo::PendingRemote<device_test::mojom::XRTestHook> pending_hook_;
   scoped_refptr<base::SingleThreadTaskRunner> current_task_runner_;
 };
 
diff --git a/chrome/test/ppapi/ppapi_browsertest.cc b/chrome/test/ppapi/ppapi_browsertest.cc
index 11102a31fa..5e42072 100644
--- a/chrome/test/ppapi/ppapi_browsertest.cc
+++ b/chrome/test/ppapi/ppapi_browsertest.cc
@@ -436,7 +436,7 @@
   MockTCPConnectedSocket(
       TCPFailureType tcp_failure_type,
       network::mojom::TCPConnectedSocketRequest request,
-      network::mojom::SocketObserverPtr observer,
+      mojo::PendingRemote<network::mojom::SocketObserver> observer,
       network::mojom::NetworkContext::CreateTCPConnectedSocketCallback callback)
       : tcp_failure_type_(tcp_failure_type),
         observer_(std::move(observer)),
@@ -470,7 +470,7 @@
 
   MockTCPConnectedSocket(
       TCPFailureType tcp_failure_type,
-      network::mojom::SocketObserverPtr observer,
+      mojo::PendingRemote<network::mojom::SocketObserver> observer,
       network::mojom::TCPServerSocket::AcceptCallback callback)
       : tcp_failure_type_(tcp_failure_type),
         observer_(std::move(observer)),
@@ -514,12 +514,14 @@
       network::mojom::TLSClientSocketOptionsPtr socket_options,
       const net::MutableNetworkTrafficAnnotationTag& traffic_annotation,
       network::mojom::TLSClientSocketRequest request,
-      network::mojom::SocketObserverPtr observer,
+      mojo::PendingRemote<network::mojom::SocketObserver> observer,
       network::mojom::TCPConnectedSocket::UpgradeToTLSCallback callback)
       override {
+    observer_.reset();
+
     // Succeed or fail, keep these pipes open (Their state shouldn't matter when
     // checking for failures).
-    observer_ = std::move(observer);
+    observer_.Bind(std::move(observer));
     tls_client_socket_binding_.Bind(std::move(request));
 
     if (tcp_failure_type_ == TCPFailureType::kUpgradeToTLSClosePipe) {
@@ -620,7 +622,7 @@
 
   const TCPFailureType tcp_failure_type_;
 
-  network::mojom::SocketObserverPtr observer_;
+  mojo::Remote<network::mojom::SocketObserver> observer_;
 
   // Callbacks held onto when simulating a hang.
   network::mojom::NetworkContext::CreateTCPConnectedSocketCallback
@@ -678,7 +680,7 @@
   ~MockTCPServerSocket() override {}
 
   // TCPServerSocket implementation:
-  void Accept(network::mojom::SocketObserverPtr observer,
+  void Accept(mojo::PendingRemote<network::mojom::SocketObserver> observer,
               AcceptCallback callback) override {
     // This falls through just to keep the observer alive.
     if (tcp_failure_type_ == TCPFailureType::kAcceptDropPipe)
@@ -706,10 +708,10 @@
  public:
   MockTCPBoundSocket(
       TCPFailureType tcp_failure_type,
-      network::mojom::TCPBoundSocketRequest request,
+      mojo::PendingReceiver<network::mojom::TCPBoundSocket> receiver,
       network::mojom::NetworkContext::CreateTCPBoundSocketCallback callback)
-      : tcp_failure_type_(tcp_failure_type), binding_(this) {
-    binding_.Bind(std::move(request));
+      : tcp_failure_type_(tcp_failure_type),
+        receiver_(this, std::move(receiver)) {
     if (tcp_failure_type_ == TCPFailureType::kBindError) {
       std::move(callback).Run(net::ERR_FAILED, base::nullopt /* local_addr */);
       return;
@@ -731,7 +733,7 @@
     // alive. The callback invocation will have no effect, since it uses the
     // TCPBoundSocket's pipe, which was just closed.
     if (tcp_failure_type_ == TCPFailureType::kCreateTCPServerSocketClosePipe)
-      binding_.Close();
+      receiver_.reset();
     server_socket_ = std::make_unique<MockTCPServerSocket>(
         tcp_failure_type_, std::move(request), std::move(callback));
   }
@@ -740,10 +742,10 @@
       const net::AddressList& remote_addr,
       network::mojom::TCPConnectedSocketOptionsPtr tcp_connected_socket_options,
       network::mojom::TCPConnectedSocketRequest request,
-      network::mojom::SocketObserverPtr observer,
+      mojo::PendingRemote<network::mojom::SocketObserver> observer,
       ConnectCallback callback) override {
     if (tcp_failure_type_ == TCPFailureType::kConnectClosePipe)
-      binding_.Close();
+      receiver_.reset();
     connected_socket_ = std::make_unique<MockTCPConnectedSocket>(
         tcp_failure_type_, std::move(request), std::move(observer),
         std::move(callback));
@@ -752,15 +754,15 @@
  private:
   const TCPFailureType tcp_failure_type_;
 
-  // Needs to be destroyed after |binding_|, as it may be holding onto a
-  // callback bound to the Binding.
+  // Needs to be destroyed after |receiver_|, as it may be holding onto a
+  // callback bound to the Receiver.
   std::unique_ptr<MockTCPServerSocket> server_socket_;
   std::unique_ptr<MockTCPConnectedSocket> connected_socket_;
 
   // Callback held onto when simulating a hang.
   network::mojom::NetworkContext::CreateTCPBoundSocketCallback callback_;
 
-  mojo::Binding<network::mojom::TCPBoundSocket> binding_;
+  mojo::Receiver<network::mojom::TCPBoundSocket> receiver_;
 
   DISALLOW_COPY_AND_ASSIGN(MockTCPBoundSocket);
 };
@@ -798,7 +800,7 @@
       network::mojom::TCPConnectedSocketOptionsPtr tcp_connected_socket_options,
       const net::MutableNetworkTrafficAnnotationTag& traffic_annotation,
       network::mojom::TCPConnectedSocketRequest socket,
-      network::mojom::SocketObserverPtr observer,
+      mojo::PendingRemote<network::mojom::SocketObserver> observer,
       CreateTCPConnectedSocketCallback callback) override {
     if (tcp_failure_type_ == TCPFailureType::kConnectClosePipe)
       receiver_.reset();
@@ -810,13 +812,13 @@
   void CreateTCPBoundSocket(
       const net::IPEndPoint& local_addr,
       const net::MutableNetworkTrafficAnnotationTag& traffic_annotation,
-      network::mojom::TCPBoundSocketRequest request,
+      mojo::PendingReceiver<network::mojom::TCPBoundSocket> receiver,
       CreateTCPBoundSocketCallback callback) override {
     if (tcp_failure_type_ == TCPFailureType::kBindClosePipe)
       receiver_.reset();
     // These tests only create at most one object of a given type at a time.
     bound_sockets_.emplace_back(std::make_unique<MockTCPBoundSocket>(
-        tcp_failure_type_, std::move(request), std::move(callback)));
+        tcp_failure_type_, std::move(receiver), std::move(callback)));
   }
 
   void ResolveHost(
diff --git a/chromeos/OWNERS b/chromeos/OWNERS
index 301eaa5..cfcdc39 100644
--- a/chromeos/OWNERS
+++ b/chromeos/OWNERS
@@ -7,11 +7,21 @@
 # Translation artifacts:
 per-file *.xtb=file://tools/translation/TRANSLATION_OWNERS
 
+# PST
 achuith@chromium.org
 alemate@chromium.org
+jamescook@chromium.org
 oshima@chromium.org
-rkc@chromium.org
-satorux@chromium.org
 stevenjb@chromium.org
+tbarzic@chromium.org
 xiyuan@chromium.org
+
+# CET
+antrim@chromium.org
+emaxx@chromium.org
+rsorokin@chromium.org
+
+# JST
+hashimoto@chromium.org
+
 # COMPONENT: UI>Shell
diff --git a/chromeos/services/ime/ime_service_unittest.cc b/chromeos/services/ime/ime_service_unittest.cc
index f826050..ca9077b3 100644
--- a/chromeos/services/ime/ime_service_unittest.cc
+++ b/chromeos/services/ime/ime_service_unittest.cc
@@ -52,7 +52,6 @@
   }
 
   // mojom::InputChannel implementation.
-  MOCK_METHOD2(ProcessText, void(const std::string&, ProcessTextCallback));
   MOCK_METHOD2(ProcessMessage,
                void(const std::vector<uint8_t>& message,
                     ProcessMessageCallback));
diff --git a/chromeos/services/ime/input_engine.cc b/chromeos/services/ime/input_engine.cc
index 0b0ecc1..6577bb3 100644
--- a/chromeos/services/ime/input_engine.cc
+++ b/chromeos/services/ime/input_engine.cc
@@ -98,11 +98,6 @@
   return rulebased::Engine::IsImeSupported(GetIdFromImeSpec(ime_spec));
 }
 
-void InputEngine::ProcessText(const std::string& message,
-                              ProcessTextCallback callback) {
-  NOTIMPLEMENTED();  // Text message not used in the rulebased engine.
-}
-
 void InputEngine::ProcessMessage(const std::vector<uint8_t>& message,
                                  ProcessMessageCallback callback) {
   NOTIMPLEMENTED();  // Protobuf message is not used in the rulebased engine.
diff --git a/chromeos/services/ime/input_engine.h b/chromeos/services/ime/input_engine.h
index edd94965..c648abe 100644
--- a/chromeos/services/ime/input_engine.h
+++ b/chromeos/services/ime/input_engine.h
@@ -43,8 +43,6 @@
                            const std::vector<uint8_t>& extra);
 
   // mojom::InputChannel overrides:
-  void ProcessText(const std::string& message,
-                   ProcessTextCallback callback) override;
   void ProcessMessage(const std::vector<uint8_t>& message,
                       ProcessMessageCallback callback) override;
   void ProcessKeypressForRulebased(
diff --git a/chromeos/services/ime/public/mojom/input_engine.mojom b/chromeos/services/ime/public/mojom/input_engine.mojom
index c6573cb..529bed38 100644
--- a/chromeos/services/ime/public/mojom/input_engine.mojom
+++ b/chromeos/services/ime/public/mojom/input_engine.mojom
@@ -84,9 +84,6 @@
 // closed-sourced input engine with decoders), implement the method that takes
 // a serialized protobuf message (instead of a plaintext) as its argument.
 interface InputChannel {
-  // Returns a plaintext result after processing a plaintext message.
-  ProcessText(string message) => (string result);
-
   // Returns a serialized protobuf result after processing a serialized
   // protobuf message.
   ProcessMessage(array<uint8> message) => (array<uint8> result);
diff --git a/components/autofill/content/browser/risk/fingerprint.cc b/components/autofill/content/browser/risk/fingerprint.cc
index 5f85ca627..fd6b9ab2 100644
--- a/components/autofill/content/browser/risk/fingerprint.cc
+++ b/components/autofill/content/browser/risk/fingerprint.cc
@@ -28,6 +28,7 @@
 #include "base/timer/timer.h"
 #include "base/values.h"
 #include "components/autofill/content/browser/risk/proto/fingerprint.pb.h"
+#include "components/autofill/core/common/autofill_clock.h"
 #include "content/public/browser/browser_thread.h"
 #include "content/public/browser/font_list_async.h"
 #include "content/public/browser/gpu_data_manager.h"
@@ -66,7 +67,7 @@
 
 // Returns the delta between the local timezone and UTC.
 base::TimeDelta GetTimezoneOffset() {
-  const base::Time utc = base::Time::Now();
+  const base::Time utc = AutofillClock::Now();
 
   base::Time::Exploded local;
   utc.LocalExplode(&local);
@@ -82,7 +83,7 @@
 // "Mac OS X 10.6.8".
 std::string GetOperatingSystemVersion() {
   return base::SysInfo::OperatingSystemName() + " " +
-      base::SysInfo::OperatingSystemVersion();
+         base::SysInfo::OperatingSystemVersion();
 }
 
 // Adds the list of |fonts| to the |machine|.
@@ -107,8 +108,7 @@
 void AddPluginsToFingerprint(const std::vector<content::WebPluginInfo>& plugins,
                              Fingerprint::MachineCharacteristics* machine) {
   for (const content::WebPluginInfo& it : plugins) {
-    Fingerprint::MachineCharacteristics::Plugin* plugin =
-        machine->add_plugin();
+    Fingerprint::MachineCharacteristics::Plugin* plugin = machine->add_plugin();
     plugin->set_name(base::UTF16ToUTF8(it.name));
     plugin->set_description(base::UTF16ToUTF8(it.desc));
     for (const content::WebPluginMimeType& mime_type : it.mime_types)
@@ -433,7 +433,7 @@
 
   Fingerprint::Metadata* metadata = fingerprint->mutable_metadata();
   metadata->set_timestamp_ms(
-      (base::Time::Now() - base::Time::UnixEpoch()).InMilliseconds());
+      (AutofillClock::Now() - base::Time::UnixEpoch()).InMilliseconds());
   metadata->set_obfuscated_gaia_id(obfuscated_gaia_id_);
   metadata->set_fingerprinter_version(kFingerprinterVersion);
 
diff --git a/components/autofill/content/browser/risk/fingerprint_browsertest.cc b/components/autofill/content/browser/risk/fingerprint_browsertest.cc
index 8cff022..5ce5460 100644
--- a/components/autofill/content/browser/risk/fingerprint_browsertest.cc
+++ b/components/autofill/content/browser/risk/fingerprint_browsertest.cc
@@ -13,6 +13,7 @@
 #include "base/run_loop.h"
 #include "build/build_config.h"
 #include "components/autofill/content/browser/risk/proto/fingerprint.pb.h"
+#include "components/autofill/core/common/autofill_clock.h"
 #include "content/public/browser/gpu_data_manager.h"
 #include "content/public/browser/system_connector.h"
 #include "content/public/common/screen_info.h"
@@ -211,7 +212,7 @@
   base::RunLoop run_loop;
   internal::GetFingerprintInternal(
       kObfuscatedGaiaId, window_bounds_, content_bounds_, screen_info,
-      "25.0.0.123", kCharset, kAcceptLanguages, base::Time::Now(), kLocale,
+      "25.0.0.123", kCharset, kAcceptLanguages, AutofillClock::Now(), kLocale,
       kUserAgent,
       base::TimeDelta::FromDays(1),  // Ought to be longer than any test run.
       base::Bind(&AutofillRiskFingerprintTest::GetFingerprintTestCallback,
diff --git a/components/autofill/content/renderer/autofill_agent.cc b/components/autofill/content/renderer/autofill_agent.cc
index 3b31ce64..35d207a 100644
--- a/components/autofill/content/renderer/autofill_agent.cc
+++ b/components/autofill/content/renderer/autofill_agent.cc
@@ -31,6 +31,7 @@
 #include "components/autofill/core/common/autofill_data_validation.h"
 #include "components/autofill/core/common/autofill_features.h"
 #include "components/autofill/core/common/autofill_switches.h"
+#include "components/autofill/core/common/autofill_tick_clock.h"
 #include "components/autofill/core/common/autofill_util.h"
 #include "components/autofill/core/common/form_data.h"
 #include "components/autofill/core/common/form_data_predictions.h"
@@ -350,7 +351,7 @@
                                                        &field)) {
     GetAutofillDriver()->TextFieldDidChange(
         form, field, render_frame()->ElementBoundsInWindow(element),
-        base::TimeTicks::Now());
+        AutofillTickClock::NowTicks());
   }
 }
 
@@ -427,7 +428,7 @@
   if (form_util::FindFormAndFieldForFormControlElement(element_, &updated_form,
                                                        &field) &&
       (!element_.IsAutofilled() || !form.DynamicallySameFormAs(updated_form))) {
-    base::TimeTicks forms_seen_timestamp = base::TimeTicks::Now();
+    base::TimeTicks forms_seen_timestamp = AutofillTickClock::NowTicks();
     WebLocalFrame* frame = render_frame()->GetWebFrame();
     std::vector<FormData> forms;
     forms.push_back(updated_form);
@@ -457,7 +458,8 @@
   if (!element_.Form().IsNull())
     UpdateLastInteractedForm(element_.Form());
 
-  GetAutofillDriver()->DidFillAutofillFormData(form, base::TimeTicks::Now());
+  GetAutofillDriver()->DidFillAutofillFormData(form,
+                                               AutofillTickClock::NowTicks());
 
   TriggerRefillIfNeeded(form);
 }
@@ -757,8 +759,7 @@
   const WebInputElement* input_element = ToWebInputElement(&element);
   if (input_element) {
     // Find the datalist values and send them to the browser process.
-    GetDataListSuggestions(*input_element,
-                           &data_list_values,
+    GetDataListSuggestions(*input_element, &data_list_values,
                            &data_list_labels);
     TrimStringVectorForIPC(&data_list_values);
     TrimStringVectorForIPC(&data_list_labels);
@@ -793,7 +794,7 @@
 void AutofillAgent::ProcessForms() {
   // Record timestamp of when the forms are first seen. This is used to
   // measure the overhead of the Autofill feature.
-  base::TimeTicks forms_seen_timestamp = base::TimeTicks::Now();
+  base::TimeTicks forms_seen_timestamp = AutofillTickClock::NowTicks();
 
   WebLocalFrame* frame = render_frame()->GetWebFrame();
   std::vector<FormData> forms = form_cache_.ExtractNewForms();
diff --git a/components/autofill/content/renderer/password_autofill_agent.cc b/components/autofill/content/renderer/password_autofill_agent.cc
index 1915f4c..23091d0 100644
--- a/components/autofill/content/renderer/password_autofill_agent.cc
+++ b/components/autofill/content/renderer/password_autofill_agent.cc
@@ -794,6 +794,10 @@
     return false;
   }
 
+  DCHECK(!password_element.IsNull());
+  if (!IsElementEditable(password_element))
+    return false;
+
   GetPasswordManagerDriver()->ShowTouchToFill();
   touch_to_fill_state_ = TouchToFillState::kIsShowing;
   return true;
diff --git a/components/autofill/core/browser/BUILD.gn b/components/autofill/core/browser/BUILD.gn
index c4a032d..ea02a80 100644
--- a/components/autofill/core/browser/BUILD.gn
+++ b/components/autofill/core/browser/BUILD.gn
@@ -444,6 +444,8 @@
     "test_autofill_profile_validator_delayed.h",
     "test_autofill_provider.cc",
     "test_autofill_provider.h",
+    "test_autofill_tick_clock.cc",
+    "test_autofill_tick_clock.h",
     "test_event_waiter.h",
     "test_form_data_importer.cc",
     "test_form_data_importer.h",
diff --git a/components/autofill/core/browser/autofill_download_manager.cc b/components/autofill/core/browser/autofill_download_manager.cc
index 8d0cba20..47f0b71 100644
--- a/components/autofill/core/browser/autofill_download_manager.cc
+++ b/components/autofill/core/browser/autofill_download_manager.cc
@@ -37,6 +37,7 @@
 #include "components/autofill/core/common/autofill_internals/logging_scope.h"
 #include "components/autofill/core/common/autofill_prefs.h"
 #include "components/autofill/core/common/autofill_switches.h"
+#include "components/autofill/core/common/autofill_tick_clock.h"
 #include "components/autofill/core/common/logging/log_buffer.h"
 #include "components/autofill/core/common/mojom/autofill_types.mojom.h"
 #include "components/google/core/common/google_util.h"
@@ -907,7 +908,7 @@
       url_loader_factory.get(),
       base::BindOnce(&AutofillDownloadManager::OnSimpleLoaderComplete,
                      base::Unretained(this), std::move(--url_loaders_.end()),
-                     std::move(request_data), base::TimeTicks::Now()));
+                     std::move(request_data), AutofillTickClock::NowTicks()));
   return true;
 }
 
@@ -998,7 +999,7 @@
 
   LogHttpResponseData(request_data.request_type, response_code,
                       simple_loader->NetError(),
-                      base::TimeTicks::Now() - request_start);
+                      AutofillTickClock::NowTicks() - request_start);
 
   // Handle error if there is and return.
   if (!success) {
diff --git a/components/autofill/core/browser/autofill_download_manager_unittest.cc b/components/autofill/core/browser/autofill_download_manager_unittest.cc
index 2a710a9..a62afad 100644
--- a/components/autofill/core/browser/autofill_download_manager_unittest.cc
+++ b/components/autofill/core/browser/autofill_download_manager_unittest.cc
@@ -34,6 +34,7 @@
 #include "components/autofill/core/browser/randomized_encoder.h"
 #include "components/autofill/core/browser/test_autofill_clock.h"
 #include "components/autofill/core/browser/test_autofill_driver.h"
+#include "components/autofill/core/common/autofill_clock.h"
 #include "components/autofill/core/common/autofill_features.h"
 #include "components/autofill/core/common/autofill_switches.h"
 #include "components/autofill/core/common/form_data.h"
@@ -229,8 +230,9 @@
     response.signature = form_signature;
     response.error = http_error;
     response.type_of_response =
-        request_type == AutofillDownloadManager::REQUEST_QUERY ?
-            REQUEST_QUERY_FAILED : REQUEST_UPLOAD_FAILED;
+        request_type == AutofillDownloadManager::REQUEST_QUERY
+            ? REQUEST_QUERY_FAILED
+            : REQUEST_UPLOAD_FAILED;
     responses_.push_back(response);
   }
 
@@ -393,7 +395,8 @@
       "<field autofilltype=\"31\" />"
       "<field autofilltype=\"33\" />"
       "</autofillqueryresponse>",
-      "", "<html></html>",
+      "",
+      "<html></html>",
   };
 
   // Return them out of sequence.
@@ -1203,25 +1206,25 @@
   // Limit cache to two forms.
   LimitCache(2);
 
-  const char *responses[] = {
-    "<autofillqueryresponse>"
+  const char* responses[] = {
+      "<autofillqueryresponse>"
       "<field autofilltype=\"0\" />"
       "<field autofilltype=\"3\" />"
       "<field autofilltype=\"5\" />"
-    "</autofillqueryresponse>",
-    "<autofillqueryresponse>"
+      "</autofillqueryresponse>",
+      "<autofillqueryresponse>"
       "<field autofilltype=\"0\" />"
       "<field autofilltype=\"3\" />"
       "<field autofilltype=\"5\" />"
       "<field autofilltype=\"9\" />"
-    "</autofillqueryresponse>",
-    "<autofillqueryresponse>"
+      "</autofillqueryresponse>",
+      "<autofillqueryresponse>"
       "<field autofilltype=\"0\" />"
       "<field autofilltype=\"3\" />"
       "<field autofilltype=\"5\" />"
       "<field autofilltype=\"9\" />"
       "<field autofilltype=\"0\" />"
-    "</autofillqueryresponse>",
+      "</autofillqueryresponse>",
   };
 
   base::HistogramTester histogram;
@@ -2176,7 +2179,7 @@
   base::HistogramTester histogram_tester;
 
   TestAutofillClock test_clock;
-  test_clock.SetNow(base::Time::Now());
+  test_clock.SetNow(AutofillClock::Now());
 
   // The first attempt should succeed.
   EXPECT_TRUE(SendUploadRequest(form_structure, true, {}, "", true));
@@ -2234,7 +2237,7 @@
   base::HistogramTester histogram_tester;
 
   TestAutofillClock test_clock;
-  test_clock.SetNow(base::Time::Now());
+  test_clock.SetNow(AutofillClock::Now());
 
   // The first attempt should succeed.
   EXPECT_TRUE(SendUploadRequest(form_structure, true, {}, "", true));
diff --git a/components/autofill/core/browser/autofill_handler.cc b/components/autofill/core/browser/autofill_handler.cc
index dd791fb..057fda6 100644
--- a/components/autofill/core/browser/autofill_handler.cc
+++ b/components/autofill/core/browser/autofill_handler.cc
@@ -11,6 +11,7 @@
 #include "components/autofill/core/common/autofill_internals/log_message.h"
 #include "components/autofill/core/common/autofill_internals/logging_scope.h"
 #include "components/autofill/core/common/autofill_payments_features.h"
+#include "components/autofill/core/common/autofill_tick_clock.h"
 #include "components/autofill/core/common/signatures_util.h"
 #include "ui/gfx/geometry/rect_f.h"
 
@@ -84,7 +85,7 @@
   // the pointer values.
   std::set<FormSignature> new_form_signatures;
   for (const FormData& form : forms) {
-    const auto parse_form_start_time = TimeTicks::Now();
+    const auto parse_form_start_time = AutofillTickClock::NowTicks();
     FormStructure* cached_form_structure = nullptr;
     FormStructure* form_structure = nullptr;
     // Try to find the FormStructure that corresponds to |form| if the form
@@ -104,7 +105,7 @@
       continue;
     DCHECK(form_structure);
     new_form_signatures.insert(form_structure->form_signature());
-    AutofillMetrics::LogParseFormTiming(TimeTicks::Now() -
+    AutofillMetrics::LogParseFormTiming(AutofillTickClock::NowTicks() -
                                         parse_form_start_time);
   }
 
diff --git a/components/autofill/core/browser/autofill_manager.cc b/components/autofill/core/browser/autofill_manager.cc
index 1980426..0d04fbe6 100644
--- a/components/autofill/core/browser/autofill_manager.cc
+++ b/components/autofill/core/browser/autofill_manager.cc
@@ -72,6 +72,7 @@
 #include "components/autofill/core/common/autofill_payments_features.h"
 #include "components/autofill/core/common/autofill_prefs.h"
 #include "components/autofill/core/common/autofill_switches.h"
+#include "components/autofill/core/common/autofill_tick_clock.h"
 #include "components/autofill/core/common/autofill_util.h"
 #include "components/autofill/core/common/form_data.h"
 #include "components/autofill/core/common/form_data_predictions.h"
@@ -674,8 +675,8 @@
       base::BindOnce(&AutofillManager::UploadFormDataAsyncCallback,
                      weak_ptr_factory_.GetWeakPtr(),
                      base::Owned(form_structure.release()),
-                     initial_interaction_timestamp_, base::TimeTicks::Now(),
-                     observed_submission));
+                     initial_interaction_timestamp_,
+                     AutofillTickClock::NowTicks(), observed_submission));
   return true;
 }
 
@@ -941,7 +942,7 @@
       auto filling_context = std::make_unique<FillingContext>();
       filling_context->temp_data_model = profile;
       filling_context->filled_field_name = autofill_field->unique_name();
-      filling_context->original_fill_time = base::TimeTicks::Now();
+      filling_context->original_fill_time = AutofillTickClock::NowTicks();
       entry = std::move(filling_context);
     }
   }
@@ -2213,7 +2214,7 @@
                                                           form_structure);
 
   FillingContext* filling_context = itr->second.get();
-  base::TimeTicks now = base::TimeTicks::Now();
+  base::TimeTicks now = AutofillTickClock::NowTicks();
   base::TimeDelta delta = now - filling_context->original_fill_time;
 
   if (filling_context->attempted_refill &&
diff --git a/components/autofill/core/browser/autofill_manager_unittest.cc b/components/autofill/core/browser/autofill_manager_unittest.cc
index 879e4528..986373c 100644
--- a/components/autofill/core/browser/autofill_manager_unittest.cc
+++ b/components/autofill/core/browser/autofill_manager_unittest.cc
@@ -58,6 +58,7 @@
 #include "components/autofill/core/common/autofill_payments_features.h"
 #include "components/autofill/core/common/autofill_prefs.h"
 #include "components/autofill/core/common/autofill_switches.h"
+#include "components/autofill/core/common/autofill_tick_clock.h"
 #include "components/autofill/core/common/autofill_util.h"
 #include "components/autofill/core/common/form_data.h"
 #include "components/autofill/core/common/form_field_data.h"
@@ -5816,8 +5817,8 @@
   form.fields[1].value = ASCIIToUTF16("Presley");
   form.fields[2].value = ASCIIToUTF16("theking@gmail.com");
   // Simulate editing a field.
-  autofill_manager_->OnTextFieldDidChange(form, form.fields.front(),
-                                          gfx::RectF(), base::TimeTicks::Now());
+  autofill_manager_->OnTextFieldDidChange(
+      form, form.fields.front(), gfx::RectF(), AutofillTickClock::NowTicks());
 
   // Simulate lost of focus on the form.
   autofill_manager_->OnFocusNoLongerOnForm();
@@ -5866,8 +5867,8 @@
   form.fields[1].value = ASCIIToUTF16("Presley");
   form.fields[2].value = ASCIIToUTF16("theking@gmail.com");
   // Simulate editing a field.
-  autofill_manager_->OnTextFieldDidChange(form, form.fields.front(),
-                                          gfx::RectF(), base::TimeTicks::Now());
+  autofill_manager_->OnTextFieldDidChange(
+      form, form.fields.front(), gfx::RectF(), AutofillTickClock::NowTicks());
 
   // Simulate a navigation so that the pending form is uploaded.
   autofill_manager_->Reset();
@@ -5915,7 +5916,8 @@
   form.fields[0].value = ASCIIToUTF16("Elvis");
   form.fields[1].value = ASCIIToUTF16("Presley");
   form.fields[2].value = ASCIIToUTF16("theking@gmail.com");
-  autofill_manager_->OnDidFillAutofillFormData(form, base::TimeTicks::Now());
+  autofill_manager_->OnDidFillAutofillFormData(form,
+                                               AutofillTickClock::NowTicks());
 
   // Simulate lost of focus on the form.
   autofill_manager_->OnFocusNoLongerOnForm();
diff --git a/components/autofill/core/browser/autofill_metrics.cc b/components/autofill/core/browser/autofill_metrics.cc
index ff6b12a..2441b10 100644
--- a/components/autofill/core/browser/autofill_metrics.cc
+++ b/components/autofill/core/browser/autofill_metrics.cc
@@ -22,6 +22,7 @@
 #include "components/autofill/core/browser/form_structure.h"
 #include "components/autofill/core/common/autofill_clock.h"
 #include "components/autofill/core/common/autofill_prefs.h"
+#include "components/autofill/core/common/autofill_tick_clock.h"
 #include "components/autofill/core/common/form_data.h"
 #include "services/metrics/public/cpp/metrics_utils.h"
 #include "services/metrics/public/cpp/ukm_builders.h"
@@ -767,10 +768,9 @@
     histogram_name += "Local";
   }
 
-  base::UmaHistogramEnumeration(
-      security_state::GetSecurityLevelHistogramName(
-          histogram_name, security_level),
-      metric, NUM_SAVE_CARD_PROMPT_METRICS);
+  base::UmaHistogramEnumeration(security_state::GetSecurityLevelHistogramName(
+                                    histogram_name, security_level),
+                                metric, NUM_SAVE_CARD_PROMPT_METRICS);
 }
 
 // static
@@ -1191,10 +1191,9 @@
       return;
   }
 
-  base::UmaHistogramEnumeration(
-      security_state::GetSecurityLevelHistogramName(
-          histogram_name, security_level),
-      metric, NUM_USER_HAPPINESS_METRICS);
+  base::UmaHistogramEnumeration(security_state::GetSecurityLevelHistogramName(
+                                    histogram_name, security_level),
+                                metric, NUM_USER_HAPPINESS_METRICS);
 }
 
 // static
@@ -1979,8 +1978,9 @@
     const base::TimeTicks& form_parsed_timestamp) const {
   DCHECK(!form_parsed_timestamp.is_null());
   // Use the pinned timestamp as the current time if it's set.
-  base::TimeTicks now =
-      pinned_timestamp_.is_null() ? base::TimeTicks::Now() : pinned_timestamp_;
+  base::TimeTicks now = pinned_timestamp_.is_null()
+                            ? AutofillTickClock::NowTicks()
+                            : pinned_timestamp_;
 
   return ukm::GetExponentialBucketMin(
       (now - form_parsed_timestamp).InMilliseconds(),
@@ -1992,7 +1992,7 @@
     : logger_(logger) {
   DCHECK(logger_);
   DCHECK(!logger_->has_pinned_timestamp());
-  logger_->set_pinned_timestamp(base::TimeTicks::Now());
+  logger_->set_pinned_timestamp(AutofillTickClock::NowTicks());
 }
 
 AutofillMetrics::UkmTimestampPin::~UkmTimestampPin() {
diff --git a/components/autofill/core/browser/autofill_metrics_unittest.cc b/components/autofill/core/browser/autofill_metrics_unittest.cc
index 6048384e..56417a3 100644
--- a/components/autofill/core/browser/autofill_metrics_unittest.cc
+++ b/components/autofill/core/browser/autofill_metrics_unittest.cc
@@ -46,6 +46,7 @@
 #include "components/autofill/core/common/autofill_clock.h"
 #include "components/autofill/core/common/autofill_features.h"
 #include "components/autofill/core/common/autofill_payments_features.h"
+#include "components/autofill/core/common/autofill_tick_clock.h"
 #include "components/autofill/core/common/form_data.h"
 #include "components/autofill/core/common/form_field_data.h"
 #include "components/prefs/pref_service.h"
@@ -1840,7 +1841,7 @@
   // Simulate a OnFormsSeen() call that should trigger the recording.
   std::vector<FormData> forms;
   forms.push_back(form);
-  autofill_manager_->OnFormsSeen(forms, TimeTicks::Now());
+  autofill_manager_->OnFormsSeen(forms, AutofillTickClock::NowTicks());
 
   // Because these metrics are related to timing, it is not possible to know in
   // advance which bucket the sample will fall into, so we just need to make
@@ -2686,7 +2687,7 @@
     base::test::ScopedFeatureList features;
     features.InitAndEnableFeature(
         kAutofillEnforceMinRequiredFieldsForHeuristics);
-    autofill_manager_->OnFormsSeen(forms, TimeTicks::Now());
+    autofill_manager_->OnFormsSeen(forms, AutofillTickClock::NowTicks());
     autofill_manager_->Reset();
 
     EXPECT_EQ(0ul, test_ukm_recorder_->entries_count());
@@ -2699,7 +2700,7 @@
   // Expect the "form parsed without field type hints" metric and the
   // "form loaded" form interaction event to be logged.
   {
-    autofill_manager_->OnFormsSeen(forms, TimeTicks::Now());
+    autofill_manager_->OnFormsSeen(forms, AutofillTickClock::NowTicks());
     autofill_manager_->Reset();
 
     VerifyDeveloperEngagementUkm(
@@ -2749,7 +2750,7 @@
   // Expect the "form parsed without field type hints" metric and the
   // "form loaded" form interaction event to be logged.
   {
-    autofill_manager_->OnFormsSeen(forms, TimeTicks::Now());
+    autofill_manager_->OnFormsSeen(forms, AutofillTickClock::NowTicks());
     autofill_manager_->Reset();
 
     VerifyDeveloperEngagementUkm(
@@ -2791,7 +2792,7 @@
   // interaction event to be logged.
   {
     SCOPED_TRACE("VPA is the only hint");
-    autofill_manager_->OnFormsSeen(forms, TimeTicks::Now());
+    autofill_manager_->OnFormsSeen(forms, AutofillTickClock::NowTicks());
 
     VerifyDeveloperEngagementUkm(
         test_ukm_recorder_, forms.back(), /*is_for_credit_card=*/false,
@@ -2808,7 +2809,7 @@
 
   {
     SCOPED_TRACE("VPA and other autocomplete hint present");
-    autofill_manager_->OnFormsSeen(forms, TimeTicks::Now());
+    autofill_manager_->OnFormsSeen(forms, AutofillTickClock::NowTicks());
 
     VerifyDeveloperEngagementUkm(
         test_ukm_recorder_, forms.back(), /*is_for_credit_card=*/false,
@@ -3285,7 +3286,7 @@
   std::vector<FormData> forms(1, form);
 
   {
-    autofill_manager_->OnFormsSeen(forms, TimeTicks::Now());
+    autofill_manager_->OnFormsSeen(forms, AutofillTickClock::NowTicks());
 
     VerifySubmitFormUkm(test_ukm_recorder_, forms.back(),
                         AutofillMetrics::NON_FILLABLE_FORM_OR_NEW_DATA,
@@ -6661,7 +6662,8 @@
 TEST_F(AutofillMetricsTest, DaysSinceLastUse_CreditCard) {
   base::HistogramTester histogram_tester;
   CreditCard credit_card;
-  credit_card.set_use_date(base::Time::Now() - base::TimeDelta::FromDays(21));
+  credit_card.set_use_date(AutofillClock::Now() -
+                           base::TimeDelta::FromDays(21));
   credit_card.RecordAndLogUse();
   histogram_tester.ExpectBucketCount("Autofill.DaysSinceLastUse.CreditCard", 21,
                                      1);
@@ -6671,7 +6673,7 @@
 TEST_F(AutofillMetricsTest, DaysSinceLastUse_Profile) {
   base::HistogramTester histogram_tester;
   AutofillProfile profile;
-  profile.set_use_date(base::Time::Now() - base::TimeDelta::FromDays(13));
+  profile.set_use_date(AutofillClock::Now() - base::TimeDelta::FromDays(13));
   profile.RecordAndLogUse();
   histogram_tester.ExpectBucketCount("Autofill.DaysSinceLastUse.Profile", 13,
                                      1);
@@ -6700,7 +6702,7 @@
   // Expect no notifications when the form is first seen.
   {
     base::HistogramTester histogram_tester;
-    autofill_manager_->OnFormsSeen(forms, TimeTicks::Now());
+    autofill_manager_->OnFormsSeen(forms, AutofillTickClock::NowTicks());
     histogram_tester.ExpectTotalCount("Autofill.FormSubmittedState", 0);
 
     VerifyDeveloperEngagementUkm(
@@ -7006,7 +7008,7 @@
   {
     base::HistogramTester histogram_tester;
     base::UserActionTester user_action_tester;
-    autofill_manager_->OnFormsSeen(forms, TimeTicks::Now());
+    autofill_manager_->OnFormsSeen(forms, AutofillTickClock::NowTicks());
     VerifyDeveloperEngagementUkm(
         test_ukm_recorder_, form, /*is_for_credit_card=*/false,
         {FormType::ADDRESS_FORM},
@@ -7600,7 +7602,7 @@
   {
     SCOPED_TRACE("Test 1");
     base::HistogramTester histogram_tester;
-    autofill_manager_->OnFormsSeen(forms, TimeTicks::Now());
+    autofill_manager_->OnFormsSeen(forms, AutofillTickClock::NowTicks());
     autofill_manager_->OnFormSubmitted(form, false,
                                        SubmissionSource::FORM_SUBMISSION);
 
@@ -7620,7 +7622,7 @@
   {
     SCOPED_TRACE("Test 2");
     base::HistogramTester histogram_tester;
-    autofill_manager_->OnFormsSeen(forms, TimeTicks::Now());
+    autofill_manager_->OnFormsSeen(forms, AutofillTickClock::NowTicks());
     base::TimeTicks parse_time = autofill_manager_->form_structures()
                                      .begin()
                                      ->second->form_parsed_timestamp();
@@ -7648,7 +7650,7 @@
   {
     SCOPED_TRACE("Test 3");
     base::HistogramTester histogram_tester;
-    autofill_manager_->OnFormsSeen(forms, TimeTicks::Now());
+    autofill_manager_->OnFormsSeen(forms, AutofillTickClock::NowTicks());
     base::TimeTicks parse_time = autofill_manager_->form_structures()
                                      .begin()
                                      ->second->form_parsed_timestamp();
@@ -7677,12 +7679,13 @@
     SCOPED_TRACE("Test 4");
     base::HistogramTester histogram_tester;
 
-    autofill_manager_->OnFormsSeen(forms, TimeTicks::Now());
+    autofill_manager_->OnFormsSeen(forms, AutofillTickClock::NowTicks());
     base::TimeTicks parse_time = autofill_manager_->form_structures()
                                      .begin()
                                      ->second->form_parsed_timestamp();
     autofill_manager_->OnDidFillAutofillFormData(
         form, parse_time + base::TimeDelta::FromMicroseconds(5));
+
     autofill_manager_->OnTextFieldDidChange(
         form, form.fields.front(), gfx::RectF(),
         parse_time + base::TimeDelta::FromMicroseconds(3));
@@ -7707,11 +7710,11 @@
   {
     SCOPED_TRACE("Test 5");
     base::HistogramTester histogram_tester;
-    autofill_manager_->OnFormsSeen(forms, TimeTicks::Now());
+    autofill_manager_->OnFormsSeen(forms, AutofillTickClock::NowTicks());
     base::TimeTicks parse_time = autofill_manager_->form_structures()
                                      .begin()
                                      ->second->form_parsed_timestamp();
-    autofill_manager_->OnFormsSeen(second_forms, TimeTicks::Now());
+    autofill_manager_->OnFormsSeen(second_forms, AutofillTickClock::NowTicks());
     autofill_manager_->OnDidFillAutofillFormData(
         form, parse_time + base::TimeDelta::FromMicroseconds(5));
     autofill_manager_->OnTextFieldDidChange(
@@ -7738,8 +7741,8 @@
   {
     SCOPED_TRACE("Test 6");
     base::HistogramTester histogram_tester;
-    autofill_manager_->OnFormsSeen(forms, TimeTicks::Now());
-    autofill_manager_->OnFormsSeen(second_forms, TimeTicks::Now());
+    autofill_manager_->OnFormsSeen(forms, AutofillTickClock::NowTicks());
+    autofill_manager_->OnFormsSeen(second_forms, AutofillTickClock::NowTicks());
     base::TimeTicks parse_time{};
     for (const auto& kv : autofill_manager_->form_structures()) {
       if (kv.second->form_parsed_timestamp() > parse_time)
@@ -8043,7 +8046,7 @@
 
   // Expect to log NEW_PROFILE_CREATED for the metric since a new profile is
   // submitted.
-  autofill_manager_->OnFormsSeen(forms, TimeTicks::Now());
+  autofill_manager_->OnFormsSeen(forms, AutofillTickClock::NowTicks());
   autofill_manager_->OnFormSubmitted(form, false,
                                      SubmissionSource::FORM_SUBMISSION);
   histogram_tester.ExpectBucketCount("Autofill.ProfileActionOnFormSubmitted",
@@ -8056,7 +8059,7 @@
 
   // Expect to log EXISTING_PROFILE_USED for the metric since the same profile
   // is submitted.
-  autofill_manager_->OnFormsSeen(second_forms, TimeTicks::Now());
+  autofill_manager_->OnFormsSeen(second_forms, AutofillTickClock::NowTicks());
   autofill_manager_->OnFormSubmitted(second_form, false,
                                      SubmissionSource::FORM_SUBMISSION);
   histogram_tester.ExpectBucketCount("Autofill.ProfileActionOnFormSubmitted",
@@ -8069,7 +8072,7 @@
 
   // Expect to log NEW_PROFILE_CREATED for the metric since a new profile is
   // submitted.
-  autofill_manager_->OnFormsSeen(third_forms, TimeTicks::Now());
+  autofill_manager_->OnFormsSeen(third_forms, AutofillTickClock::NowTicks());
   autofill_manager_->OnFormSubmitted(third_form, false,
                                      SubmissionSource::FORM_SUBMISSION);
   histogram_tester.ExpectBucketCount("Autofill.ProfileActionOnFormSubmitted",
@@ -8082,7 +8085,7 @@
 
   // Expect to log EXISTING_PROFILE_UPDATED for the metric since the profile was
   // updated.
-  autofill_manager_->OnFormsSeen(fourth_forms, TimeTicks::Now());
+  autofill_manager_->OnFormsSeen(fourth_forms, AutofillTickClock::NowTicks());
   autofill_manager_->OnFormSubmitted(fourth_form, false,
                                      SubmissionSource::FORM_SUBMISSION);
   histogram_tester.ExpectBucketCount("Autofill.ProfileActionOnFormSubmitted",
@@ -9014,7 +9017,7 @@
   FormData form;
   FormStructure form_structure(form);
   std::vector<FormData> forms(1, form);
-  autofill_manager_->OnFormsSeen(forms, TimeTicks::Now());
+  autofill_manager_->OnFormsSeen(forms, AutofillTickClock::NowTicks());
   autofill_manager_->Reset();
 
   {
diff --git a/components/autofill/core/browser/autofill_test_utils.cc b/components/autofill/core/browser/autofill_test_utils.cc
index 9ff57ce1..7516f93f 100644
--- a/components/autofill/core/browser/autofill_test_utils.cc
+++ b/components/autofill/core/browser/autofill_test_utils.cc
@@ -8,6 +8,7 @@
 
 #include "base/guid.h"
 #include "base/rand_util.h"
+#include "base/strings/string_number_conversions.h"
 #include "base/strings/stringprintf.h"
 #include "base/strings/utf_string_conversions.h"
 #include "base/time/time.h"
@@ -17,6 +18,7 @@
 #include "components/autofill/core/browser/data_model/credit_card.h"
 #include "components/autofill/core/browser/field_types.h"
 #include "components/autofill/core/browser/webdata/autofill_table.h"
+#include "components/autofill/core/common/autofill_clock.h"
 #include "components/autofill/core/common/autofill_constants.h"
 #include "components/autofill/core/common/autofill_prefs.h"
 #include "components/autofill/core/common/form_data.h"
@@ -254,8 +256,9 @@
   form->fields.push_back(field);
 }
 
-inline void check_and_set(
-    FormGroup* profile, ServerFieldType type, const char* value) {
+inline void check_and_set(FormGroup* profile,
+                          ServerFieldType type,
+                          const char* value) {
   if (value)
     profile->SetRawInfo(type, base::UTF8ToUTF16(value));
 }
@@ -278,34 +281,16 @@
 
 AutofillProfile GetFullProfile() {
   AutofillProfile profile(base::GenerateGUID(), kEmptyOrigin);
-  SetProfileInfo(&profile,
-                 "John",
-                 "H.",
-                 "Doe",
-                 "johndoe@hades.com",
-                 "Underworld",
-                 "666 Erebus St.",
-                 "Apt 8",
-                 "Elysium", "CA",
-                 "91111",
-                 "US",
-                 "16502111111");
+  SetProfileInfo(&profile, "John", "H.", "Doe", "johndoe@hades.com",
+                 "Underworld", "666 Erebus St.", "Apt 8", "Elysium", "CA",
+                 "91111", "US", "16502111111");
   return profile;
 }
 
 AutofillProfile GetFullProfile2() {
   AutofillProfile profile(base::GenerateGUID(), kEmptyOrigin);
-  SetProfileInfo(&profile,
-                 "Jane",
-                 "A.",
-                 "Smith",
-                 "jsmith@example.com",
-                 "ACME",
-                 "123 Main Street",
-                 "Unit 1",
-                 "Greensdale", "MI",
-                 "48838",
-                 "US",
+  SetProfileInfo(&profile, "Jane", "A.", "Smith", "jsmith@example.com", "ACME",
+                 "123 Main Street", "Unit 1", "Greensdale", "MI", "48838", "US",
                  "13105557889");
   return profile;
 }
@@ -466,7 +451,7 @@
   };
   constexpr size_t kNumNetworks = sizeof(kNetworks) / sizeof(kNetworks[0]);
   base::Time::Exploded now;
-  base::Time::Now().LocalExplode(&now);
+  AutofillClock::Now().LocalExplode(&now);
 
   CreditCard credit_card =
       (record_type == CreditCard::LOCAL_CARD)
@@ -541,16 +526,23 @@
 }
 
 void SetProfileInfoWithGuid(AutofillProfile* profile,
-    const char* guid, const char* first_name, const char* middle_name,
-    const char* last_name, const char* email, const char* company,
-    const char* address1, const char* address2, const char* city,
-    const char* state, const char* zipcode, const char* country,
-    const char* phone) {
+                            const char* guid,
+                            const char* first_name,
+                            const char* middle_name,
+                            const char* last_name,
+                            const char* email,
+                            const char* company,
+                            const char* address1,
+                            const char* address2,
+                            const char* city,
+                            const char* state,
+                            const char* zipcode,
+                            const char* country,
+                            const char* phone) {
   if (guid)
     profile->set_guid(guid);
-  SetProfileInfo(profile, first_name, middle_name, last_name, email,
-                 company, address1, address2, city, state, zipcode, country,
-                 phone);
+  SetProfileInfo(profile, first_name, middle_name, last_name, email, company,
+                 address1, address2, city, state, zipcode, country, phone);
 }
 
 void SetCreditCardInfo(CreditCard* credit_card,
@@ -725,20 +717,25 @@
       internal::GetObfuscatedStringForCardDigits(base::ASCIIToUTF16(str)));
 }
 
+std::string NextMonth() {
+  base::Time::Exploded now;
+  base::Time::Now().LocalExplode(&now);
+  return base::NumberToString(now.month % 12 + 1);
+}
 std::string LastYear() {
   base::Time::Exploded now;
   base::Time::Now().LocalExplode(&now);
-  return std::to_string(now.year - 1);
+  return base::NumberToString(now.year - 1);
 }
 std::string NextYear() {
   base::Time::Exploded now;
   base::Time::Now().LocalExplode(&now);
-  return std::to_string(now.year + 1);
+  return base::NumberToString(now.year + 1);
 }
 std::string TenYearsFromNow() {
   base::Time::Exploded now;
   base::Time::Now().LocalExplode(&now);
-  return std::to_string(now.year + 10);
+  return base::NumberToString(now.year + 10);
 }
 
 }  // namespace test
diff --git a/components/autofill/core/browser/autofill_test_utils.h b/components/autofill/core/browser/autofill_test_utils.h
index 678a211..db80cae 100644
--- a/components/autofill/core/browser/autofill_test_utils.h
+++ b/components/autofill/core/browser/autofill_test_utils.h
@@ -176,11 +176,19 @@
                     const char* phone);
 
 void SetProfileInfoWithGuid(AutofillProfile* profile,
-    const char* guid, const char* first_name, const char* middle_name,
-    const char* last_name, const char* email, const char* company,
-    const char* address1, const char* address2, const char* city,
-    const char* state, const char* zipcode, const char* country,
-    const char* phone);
+                            const char* guid,
+                            const char* first_name,
+                            const char* middle_name,
+                            const char* last_name,
+                            const char* email,
+                            const char* company,
+                            const char* address1,
+                            const char* address2,
+                            const char* city,
+                            const char* state,
+                            const char* zipcode,
+                            const char* country,
+                            const char* phone);
 
 // A unit testing utility that is common to a number of the Autofill unit
 // tests.  |SetCreditCardInfo| provides a quick way to populate a credit card
@@ -258,6 +266,7 @@
 
 std::string ObfuscatedCardDigitsAsUTF8(const std::string& str);
 
+std::string NextMonth();
 std::string LastYear();
 std::string NextYear();
 std::string TenYearsFromNow();
diff --git a/components/autofill/core/browser/data_model/autofill_data_model_unittest.cc b/components/autofill/core/browser/data_model/autofill_data_model_unittest.cc
index b8762af..b24e914 100644
--- a/components/autofill/core/browser/data_model/autofill_data_model_unittest.cc
+++ b/components/autofill/core/browser/data_model/autofill_data_model_unittest.cc
@@ -11,6 +11,7 @@
 #include "base/time/time.h"
 #include "components/autofill/core/browser/data_model/autofill_metadata.h"
 #include "components/autofill/core/browser/test_autofill_clock.h"
+#include "components/autofill/core/common/autofill_clock.h"
 #include "components/autofill/core/common/autofill_constants.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
@@ -120,7 +121,7 @@
   Expectation expectation;
 };
 
-base::Time now = base::Time::Now();
+base::Time now = AutofillClock::Now();
 
 class HasGreaterFrecencyThanTest
     : public testing::TestWithParam<HasGreaterFrecencyThanTestCase> {};
diff --git a/components/autofill/core/browser/data_model/autofill_profile_comparator_unittest.cc b/components/autofill/core/browser/data_model/autofill_profile_comparator_unittest.cc
index af44b882..445c4ca 100644
--- a/components/autofill/core/browser/data_model/autofill_profile_comparator_unittest.cc
+++ b/components/autofill/core/browser/data_model/autofill_profile_comparator_unittest.cc
@@ -12,6 +12,7 @@
 #include "components/autofill/core/browser/data_model/contact_info.h"
 #include "components/autofill/core/browser/field_types.h"
 #include "components/autofill/core/browser/geo/country_names.h"
+#include "components/autofill/core/common/autofill_clock.h"
 #include "components/autofill/core/common/autofill_features.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
@@ -41,6 +42,7 @@
 
 // Classes, Functions, and other Symbols
 using autofill::Address;
+using autofill::AutofillClock;
 using autofill::AutofillProfile;
 using autofill::AutofillType;
 using autofill::CompanyInfo;
@@ -785,15 +787,15 @@
   // the most recent profile if there is a conflict. The ordering is
   // p1 > p2 > p3 > p4 > p5, with p1 being the most recent.
   AutofillProfile p1 = CreateProfileWithName(name1);
-  p1.set_use_date(base::Time::Now());
+  p1.set_use_date(AutofillClock::Now());
   AutofillProfile p2 = CreateProfileWithName(name2);
-  p2.set_use_date(base::Time::Now() - base::TimeDelta::FromHours(1));
+  p2.set_use_date(AutofillClock::Now() - base::TimeDelta::FromHours(1));
   AutofillProfile p3 = CreateProfileWithName(name3);
-  p3.set_use_date(base::Time::Now() - base::TimeDelta::FromHours(2));
+  p3.set_use_date(AutofillClock::Now() - base::TimeDelta::FromHours(2));
   AutofillProfile p4 = CreateProfileWithName(name4);
-  p4.set_use_date(base::Time::Now() - base::TimeDelta::FromHours(3));
+  p4.set_use_date(AutofillClock::Now() - base::TimeDelta::FromHours(3));
   AutofillProfile p5 = CreateProfileWithName(name5);
-  p5.set_use_date(base::Time::Now() - base::TimeDelta::FromHours(4));
+  p5.set_use_date(AutofillClock::Now() - base::TimeDelta::FromHours(4));
 
   AutofillProfile p6 = CreateProfileWithName(name6);
   AutofillProfile p7 = CreateProfileWithName(name7);
@@ -831,7 +833,7 @@
   EmailInfo email_a;
   email_a.SetRawInfo(EMAIL_ADDRESS, UTF8ToUTF16(kEmailA));
   AutofillProfile profile_a = CreateProfileWithEmail(kEmailA);
-  profile_a.set_use_date(base::Time::Now());
+  profile_a.set_use_date(AutofillClock::Now());
 
   EmailInfo email_b;
   email_b.SetRawInfo(EMAIL_ADDRESS, UTF8ToUTF16(kEmailB));
@@ -859,7 +861,7 @@
   CompanyInfo company_a;
   company_a.SetRawInfo(COMPANY_NAME, UTF8ToUTF16(kCompanyA));
   AutofillProfile profile_a = CreateProfileWithCompanyName(kCompanyA);
-  profile_a.set_use_date(base::Time::Now());
+  profile_a.set_use_date(AutofillClock::Now());
 
   // Company Name B is post_normalization identical to Company Name A. The use
   // date will be used to choose between them.
@@ -879,7 +881,7 @@
   CompanyInfo company_d;
   company_d.SetRawInfo(COMPANY_NAME, UTF8ToUTF16(kCompanyD));
   AutofillProfile profile_d = CreateProfileWithCompanyName(kCompanyD);
-  profile_a.set_use_date(base::Time::Now());
+  profile_a.set_use_date(AutofillClock::Now());
 
   MergeCompanyNamesAndExpect(profile_a, profile_a, company_a);
   MergeCompanyNamesAndExpect(profile_a, profile_b, company_b);
diff --git a/components/autofill/core/browser/data_model/autofill_profile_unittest.cc b/components/autofill/core/browser/data_model/autofill_profile_unittest.cc
index 2315b23..58f33697 100644
--- a/components/autofill/core/browser/data_model/autofill_profile_unittest.cc
+++ b/components/autofill/core/browser/data_model/autofill_profile_unittest.cc
@@ -22,6 +22,7 @@
 #include "components/autofill/core/browser/data_model/autofill_profile_comparator.h"
 #include "components/autofill/core/browser/field_types.h"
 #include "components/autofill/core/browser/test_autofill_clock.h"
+#include "components/autofill/core/common/autofill_clock.h"
 #include "components/autofill/core/common/autofill_constants.h"
 #include "components/autofill/core/common/autofill_features.h"
 #include "components/autofill/core/common/form_field_data.h"
@@ -1435,7 +1436,6 @@
   }
 }
 
-
 TEST(AutofillProfileTest, ValidityStatesClients) {
   AutofillProfile profile;
 
@@ -2186,7 +2186,7 @@
                              test_case.server_validity_state_b,
                              AutofillDataModel::SERVER);
 
-  const base::Time now = base::Time::Now();
+  const base::Time now = AutofillClock::Now();
 
   if (test_case.expectation == EQUAL) {
     EXPECT_EQ(profile_a.HasGreaterFrecencyThan(&profile_b, now),
@@ -2225,7 +2225,7 @@
   profile_invalid.set_use_count(100);
   profile_valid.set_use_count(10);
 
-  const base::Time now = base::Time::Now();
+  const base::Time now = AutofillClock::Now();
   const base::Time past = now - base::TimeDelta::FromDays(1);
 
   profile_invalid.set_use_date(now);
diff --git a/components/autofill/core/browser/data_model/credit_card_unittest.cc b/components/autofill/core/browser/data_model/credit_card_unittest.cc
index beda49c..c420cd5 100644
--- a/components/autofill/core/browser/data_model/credit_card_unittest.cc
+++ b/components/autofill/core/browser/data_model/credit_card_unittest.cc
@@ -60,7 +60,7 @@
 // Use this function to generate a year in the future.
 base::string16 GetYearInTheFuture() {
   base::Time::Exploded now;
-  base::Time::Now().LocalExplode(&now);
+  AutofillClock::Now().LocalExplode(&now);
   return base::NumberToString16(now.year + 4);
 }
 
@@ -1023,7 +1023,7 @@
 TEST(CreditCardTest, IsValidCardNumberAndExpiryDate) {
   CreditCard card;
   // Invalid because expired
-  const base::Time now(base::Time::Now());
+  const base::Time now(AutofillClock::Now());
   base::Time::Exploded now_exploded;
   now.LocalExplode(&now_exploded);
   card.SetRawInfo(CREDIT_CARD_EXP_MONTH,
@@ -1547,7 +1547,7 @@
 class TestingTimes {
  public:
   TestingTimes() {
-    now_ = base::Time::Now();
+    now_ = AutofillClock::Now();
     (now_ - base::TimeDelta::FromDays(365)).LocalExplode(&last_year_);
     (now_ - base::TimeDelta::FromDays(31)).LocalExplode(&last_month_);
     now_.LocalExplode(&current_);
diff --git a/components/autofill/core/browser/form_structure.cc b/components/autofill/core/browser/form_structure.cc
index bf4c348..0e65729 100644
--- a/components/autofill/core/browser/form_structure.cc
+++ b/components/autofill/core/browser/form_structure.cc
@@ -47,6 +47,7 @@
 #include "components/autofill/core/common/autofill_payments_features.h"
 #include "components/autofill/core/common/autofill_regex_constants.h"
 #include "components/autofill/core/common/autofill_regexes.h"
+#include "components/autofill/core/common/autofill_tick_clock.h"
 #include "components/autofill/core/common/autofill_util.h"
 #include "components/autofill/core/common/form_data.h"
 #include "components/autofill/core/common/form_data_predictions.h"
@@ -570,7 +571,10 @@
       is_form_tag_(form.is_form_tag),
       is_formless_checkout_(form.is_formless_checkout),
       all_fields_are_passwords_(!form.fields.empty()),
-      form_parsed_timestamp_(base::TimeTicks::Now()),
+      form_parsed_timestamp_(AutofillTickClock::NowTicks()),
+      passwords_were_revealed_(false),
+      password_symbol_vote_(0),
+      developer_engagement_metrics_(0),
       unique_renderer_id_(form.unique_renderer_id) {
   // Copy the form fields.
   std::map<base::string16, size_t> unique_names;
@@ -608,7 +612,8 @@
 FormStructure::~FormStructure() = default;
 
 void FormStructure::DetermineHeuristicTypes(LogManager* log_manager) {
-  const auto determine_heuristic_types_start_time = base::TimeTicks::Now();
+  const auto determine_heuristic_types_start_time =
+      AutofillTickClock::NowTicks();
 
   // First, try to detect field types based on each field's |autocomplete|
   // attribute value.
@@ -652,7 +657,7 @@
   RationalizeFieldTypePredictions();
 
   AutofillMetrics::LogDetermineHeuristicTypesTiming(
-      base::TimeTicks::Now() - determine_heuristic_types_start_time);
+      AutofillTickClock::NowTicks() - determine_heuristic_types_start_time);
 }
 
 bool FormStructure::EncodeUploadRequest(
diff --git a/components/autofill/core/browser/payments/credit_card_access_manager_unittest.cc b/components/autofill/core/browser/payments/credit_card_access_manager_unittest.cc
index 3903e7a..4bd82313 100644
--- a/components/autofill/core/browser/payments/credit_card_access_manager_unittest.cc
+++ b/components/autofill/core/browser/payments/credit_card_access_manager_unittest.cc
@@ -127,13 +127,13 @@
 
 std::string NextYear() {
   base::Time::Exploded now;
-  base::Time::Now().LocalExplode(&now);
+  AutofillClock::Now().LocalExplode(&now);
   return base::NumberToString(now.year + 1);
 }
 
 std::string NextMonth() {
   base::Time::Exploded now;
-  base::Time::Now().LocalExplode(&now);
+  AutofillClock::Now().LocalExplode(&now);
   return base::NumberToString(now.month % 12 + 1);
 }
 
diff --git a/components/autofill/core/browser/payments/credit_card_cvc_authenticator_unittest.cc b/components/autofill/core/browser/payments/credit_card_cvc_authenticator_unittest.cc
index 58a13a3..f05e7683 100644
--- a/components/autofill/core/browser/payments/credit_card_cvc_authenticator_unittest.cc
+++ b/components/autofill/core/browser/payments/credit_card_cvc_authenticator_unittest.cc
@@ -51,6 +51,7 @@
 #include "components/autofill/core/common/autofill_payments_features.h"
 #include "components/autofill/core/common/autofill_prefs.h"
 #include "components/autofill/core/common/autofill_switches.h"
+#include "components/autofill/core/common/autofill_tick_clock.h"
 #include "components/autofill/core/common/autofill_util.h"
 #include "components/prefs/pref_service.h"
 #include "components/security_state/core/security_state.h"
@@ -75,13 +76,13 @@
 
 std::string NextYear() {
   base::Time::Exploded now;
-  base::Time::Now().LocalExplode(&now);
+  AutofillClock::Now().LocalExplode(&now);
   return base::NumberToString(now.year + 1);
 }
 
 std::string NextMonth() {
   base::Time::Exploded now;
-  base::Time::Now().LocalExplode(&now);
+  AutofillClock::Now().LocalExplode(&now);
   return base::NumberToString(now.month % 12 + 1);
 }
 
@@ -165,7 +166,7 @@
 
   cvc_authenticator_->Authenticate(&card, requester_->GetWeakPtr(),
                                    &personal_data_manager_,
-                                   base::TimeTicks::Now());
+                                   AutofillTickClock::NowTicks());
 
   OnDidGetRealPan(AutofillClient::SUCCESS, kTestNumber);
   EXPECT_TRUE(requester_->did_succeed());
@@ -177,7 +178,7 @@
 
   cvc_authenticator_->Authenticate(&card, requester_->GetWeakPtr(),
                                    &personal_data_manager_,
-                                   base::TimeTicks::Now());
+                                   AutofillTickClock::NowTicks());
 
   OnDidGetRealPan(AutofillClient::NETWORK_ERROR, std::string());
   EXPECT_FALSE(requester_->did_succeed());
@@ -188,7 +189,7 @@
 
   cvc_authenticator_->Authenticate(&card, requester_->GetWeakPtr(),
                                    &personal_data_manager_,
-                                   base::TimeTicks::Now());
+                                   AutofillTickClock::NowTicks());
 
   OnDidGetRealPan(AutofillClient::PERMANENT_FAILURE, std::string());
   EXPECT_FALSE(requester_->did_succeed());
@@ -199,7 +200,7 @@
 
   cvc_authenticator_->Authenticate(&card, requester_->GetWeakPtr(),
                                    &personal_data_manager_,
-                                   base::TimeTicks::Now());
+                                   AutofillTickClock::NowTicks());
 
   OnDidGetRealPan(AutofillClient::TRY_AGAIN_FAILURE, std::string());
   EXPECT_FALSE(requester_->did_succeed());
diff --git a/components/autofill/core/browser/payments/credit_card_fido_authenticator_unittest.cc b/components/autofill/core/browser/payments/credit_card_fido_authenticator_unittest.cc
index 557ee80..b6c7c44 100644
--- a/components/autofill/core/browser/payments/credit_card_fido_authenticator_unittest.cc
+++ b/components/autofill/core/browser/payments/credit_card_fido_authenticator_unittest.cc
@@ -53,6 +53,7 @@
 #include "components/autofill/core/common/autofill_payments_features.h"
 #include "components/autofill/core/common/autofill_prefs.h"
 #include "components/autofill/core/common/autofill_switches.h"
+#include "components/autofill/core/common/autofill_tick_clock.h"
 #include "components/autofill/core/common/autofill_util.h"
 #include "components/prefs/pref_service.h"
 #include "components/security_state/core/security_state.h"
@@ -89,7 +90,7 @@
 
 std::string NextMonth() {
   base::Time::Exploded now;
-  base::Time::Now().LocalExplode(&now);
+  AutofillClock::Now().LocalExplode(&now);
   return base::NumberToString(now.month % 12 + 1);
 }
 
@@ -368,7 +369,7 @@
   CreditCard card = CreateServerCard(kTestGUID, kTestNumber);
 
   fido_authenticator_->Authenticate(&card, requester_->GetWeakPtr(),
-                                    base::TimeTicks::Now(),
+                                    AutofillTickClock::NowTicks(),
                                     base::Value(base::Value::Type::DICTIONARY));
   EXPECT_FALSE(requester_->did_succeed());
 }
@@ -378,7 +379,7 @@
   CreditCard card = CreateServerCard(kTestGUID, kTestNumber);
 
   fido_authenticator_->Authenticate(&card, requester_->GetWeakPtr(),
-                                    base::TimeTicks::Now(),
+                                    AutofillTickClock::NowTicks(),
                                     base::Value(base::Value::Type::DICTIONARY));
 
   TestCreditCardFIDOAuthenticator::GetAssertion(fido_authenticator_.get(),
@@ -391,7 +392,7 @@
   CreditCard card = CreateServerCard(kTestGUID, kTestNumber);
 
   fido_authenticator_->Authenticate(
-      &card, requester_->GetWeakPtr(), base::TimeTicks::Now(),
+      &card, requester_->GetWeakPtr(), AutofillTickClock::NowTicks(),
       GetTestRequestOptions(kTestChallenge, kTestRelyingPartyId,
                             kTestCredentialId));
   EXPECT_EQ(CreditCardFIDOAuthenticator::Flow::AUTHENTICATION_FLOW,
@@ -409,7 +410,7 @@
   CreditCard card = CreateServerCard(kTestGUID, kTestNumber);
 
   fido_authenticator_->Authenticate(
-      &card, requester_->GetWeakPtr(), base::TimeTicks::Now(),
+      &card, requester_->GetWeakPtr(), AutofillTickClock::NowTicks(),
       GetTestRequestOptions(kTestChallenge, kTestRelyingPartyId,
                             kTestCredentialId));
   EXPECT_EQ(CreditCardFIDOAuthenticator::Flow::AUTHENTICATION_FLOW,
diff --git a/components/autofill/core/browser/payments/credit_card_save_manager_unittest.cc b/components/autofill/core/browser/payments/credit_card_save_manager_unittest.cc
index 10adf9a..bf87acef 100644
--- a/components/autofill/core/browser/payments/credit_card_save_manager_unittest.cc
+++ b/components/autofill/core/browser/payments/credit_card_save_manager_unittest.cc
@@ -17,6 +17,7 @@
 #include "base/guid.h"
 #include "base/metrics/metrics_hashes.h"
 #include "base/strings/string16.h"
+#include "base/strings/string_number_conversions.h"
 #include "base/strings/utf_string_conversions.h"
 #include "base/test/metrics/histogram_tester.h"
 #include "base/test/scoped_feature_list.h"
@@ -75,18 +76,6 @@
 const base::Time kArbitraryTime = base::Time::FromDoubleT(25);
 const base::Time kMuchLaterTime = base::Time::FromDoubleT(5000);
 
-std::string NextYear() {
-  base::Time::Exploded now;
-  base::Time::Now().LocalExplode(&now);
-  return std::to_string(now.year + 1);
-}
-
-std::string NextMonth() {
-  base::Time::Exploded now;
-  base::Time::Now().LocalExplode(&now);
-  return std::to_string(now.month % 12 + 1);
-}
-
 // Used to configure form for |CreateTestCreditCardFormData|.
 struct CreditCardFormOptions {
   CreditCardFormOptions& with_is_https(bool b) {
@@ -281,8 +270,8 @@
 
     // Edit the data, and submit.
     form.fields[1].value = ASCIIToUTF16("4111111111111111");
-    form.fields[2].value = ASCIIToUTF16(NextMonth());
-    form.fields[3].value = ASCIIToUTF16(NextYear());
+    form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+    form.fields[3].value = ASCIIToUTF16(test::NextYear());
     FormSubmitted(form);
     EXPECT_TRUE(autofill_client_.ConfirmSaveCardLocallyWasCalled());
   }
@@ -426,8 +415,8 @@
 
   // Edit the data, and submit.
   form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  form.fields[2].value = ASCIIToUTF16(NextMonth());
-  form.fields[3].value = ASCIIToUTF16(NextYear());
+  form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  form.fields[3].value = ASCIIToUTF16(test::NextYear());
   FormSubmitted(form);
   EXPECT_TRUE(autofill_client_.ConfirmSaveCardLocallyWasCalled());
 }
@@ -445,8 +434,8 @@
   std::string card("4408041234567890");
   ASSERT_FALSE(autofill::IsValidCreditCardNumber(ASCIIToUTF16(card)));
   form.fields[1].value = ASCIIToUTF16(card);
-  form.fields[2].value = ASCIIToUTF16(NextMonth());
-  form.fields[3].value = ASCIIToUTF16(NextYear());
+  form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  form.fields[3].value = ASCIIToUTF16(test::NextYear());
   FormSubmitted(form);
   EXPECT_FALSE(autofill_client_.ConfirmSaveCardLocallyWasCalled());
 }
@@ -470,8 +459,8 @@
   // Edit the data, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo Master");
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
   base::HistogramTester histogram_tester;
@@ -505,8 +494,8 @@
   // Edit the data, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo Master");
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
   base::HistogramTester histogram_tester;
@@ -570,8 +559,8 @@
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo");
   credit_card_form.fields[1].value = ASCIIToUTF16("Master");
   credit_card_form.fields[2].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[4].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[4].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[5].value = ASCIIToUTF16("123");
 
   base::HistogramTester histogram_tester;
@@ -636,8 +625,8 @@
   credit_card_form.fields[0].value = ASCIIToUTF16("Master");
   credit_card_form.fields[1].value = ASCIIToUTF16("Flo");
   credit_card_form.fields[2].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[4].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[4].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[5].value = ASCIIToUTF16("123");
 
   base::HistogramTester histogram_tester;
@@ -709,8 +698,8 @@
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo");
   credit_card_form.fields[1].value = ASCIIToUTF16("Master");
   credit_card_form.fields[2].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[4].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[4].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[5].value = ASCIIToUTF16("123");
 
   base::HistogramTester histogram_tester;
@@ -755,8 +744,8 @@
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo");
   credit_card_form.fields[1].value = ASCIIToUTF16("Master");
   credit_card_form.fields[2].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[4].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[4].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[5].value = ASCIIToUTF16("123");
 
   FormSubmitted(credit_card_form);
@@ -782,8 +771,8 @@
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo");
   credit_card_form.fields[1].value = ASCIIToUTF16("Master");
   credit_card_form.fields[2].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[4].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[4].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[5].value = ASCIIToUTF16("123");
 
   FormSubmitted(credit_card_form);
@@ -815,8 +804,8 @@
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo");
   credit_card_form.fields[1].value = ASCIIToUTF16("Master");
   credit_card_form.fields[2].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[4].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[4].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[5].value = ASCIIToUTF16("123");
 
   FormSubmitted(credit_card_form);
@@ -858,8 +847,8 @@
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo");
   credit_card_form.fields[1].value = ASCIIToUTF16("Master");
   credit_card_form.fields[2].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[4].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[4].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[5].value = ASCIIToUTF16("123");
 
   FormSubmitted(credit_card_form);
@@ -897,8 +886,8 @@
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo");
   credit_card_form.fields[1].value = ASCIIToUTF16("Master");
   credit_card_form.fields[2].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[4].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[4].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[5].value = ASCIIToUTF16("123");
 
   FormSubmitted(credit_card_form);
@@ -923,8 +912,8 @@
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo");
   credit_card_form.fields[1].value = ASCIIToUTF16("Master");
   credit_card_form.fields[2].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[4].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[4].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[5].value = ASCIIToUTF16("123");
 
   FormSubmitted(credit_card_form);
@@ -951,8 +940,8 @@
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo");
   credit_card_form.fields[1].value = ASCIIToUTF16("Master");
   credit_card_form.fields[2].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[4].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[4].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[5].value = ASCIIToUTF16("123");
 
   FormSubmitted(credit_card_form);
@@ -983,8 +972,8 @@
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo");
   credit_card_form.fields[1].value = ASCIIToUTF16("Master");
   credit_card_form.fields[2].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[4].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[4].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[5].value = ASCIIToUTF16("123");
 
   FormSubmitted(credit_card_form);
@@ -1025,8 +1014,8 @@
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo");
   credit_card_form.fields[1].value = ASCIIToUTF16("Master");
   credit_card_form.fields[2].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[4].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[4].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[5].value = ASCIIToUTF16("123");
 
   FormSubmitted(credit_card_form);
@@ -1063,8 +1052,8 @@
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo");
   credit_card_form.fields[1].value = ASCIIToUTF16("Master");
   credit_card_form.fields[2].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[4].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[4].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[5].value = ASCIIToUTF16("123");
 
   FormSubmitted(credit_card_form);
@@ -1090,8 +1079,8 @@
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo");
   credit_card_form.fields[1].value = ASCIIToUTF16("Master");
   credit_card_form.fields[2].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[4].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[4].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[5].value = ASCIIToUTF16("123");
 
   FormSubmitted(credit_card_form);
@@ -1125,8 +1114,8 @@
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo");
   credit_card_form.fields[1].value = ASCIIToUTF16("Master");
   credit_card_form.fields[2].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[4].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[4].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[5].value = ASCIIToUTF16("123");
 
   base::HistogramTester histogram_tester;
@@ -1199,8 +1188,8 @@
   credit_card_form.fields[0].value = ASCIIToUTF16("Master");
   credit_card_form.fields[1].value = ASCIIToUTF16("Flo");
   credit_card_form.fields[2].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[4].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[4].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[5].value = ASCIIToUTF16("123");
 
   base::HistogramTester histogram_tester;
@@ -1251,8 +1240,8 @@
   const char* const card_number = "4111111111111111";
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo Master");
   credit_card_form.fields[1].value = ASCIIToUTF16(card_number);
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
   FormSubmitted(credit_card_form);
@@ -1268,8 +1257,12 @@
   EXPECT_EQ(CreditCard::OK, saved_card->GetServerStatus());
   EXPECT_EQ(base::ASCIIToUTF16("1111"), saved_card->LastFourDigits());
   EXPECT_EQ(kVisaCard, saved_card->network());
-  EXPECT_EQ(std::stoi(NextMonth()), saved_card->expiration_month());
-  EXPECT_EQ(std::stoi(NextYear()), saved_card->expiration_year());
+  int month;
+  EXPECT_TRUE(base::StringToInt(test::NextMonth(), &month));
+  EXPECT_EQ(month, saved_card->expiration_month());
+  int year;
+  EXPECT_TRUE(base::StringToInt(test::NextYear(), &year));
+  EXPECT_EQ(year, saved_card->expiration_year());
   EXPECT_EQ(server_id, saved_card->server_id());
   EXPECT_EQ(CreditCard::FULL_SERVER_CARD, saved_card->record_type());
   EXPECT_EQ(base::ASCIIToUTF16(card_number), saved_card->number());
@@ -1305,8 +1298,8 @@
   const char* const card_number = "4111111111111111";
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo Master");
   credit_card_form.fields[1].value = ASCIIToUTF16(card_number);
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
   FormSubmitted(credit_card_form);
@@ -1335,8 +1328,8 @@
   // Edit the data, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo Master");
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
   base::HistogramTester histogram_tester;
@@ -1370,8 +1363,8 @@
   // Edit the data, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo Master");
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("");  // CVC MISSING
 
   base::HistogramTester histogram_tester;
@@ -1408,8 +1401,8 @@
   // Edit the data, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo Master");
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("1234");
 
   base::HistogramTester histogram_tester;
@@ -1465,8 +1458,8 @@
   // Edit the data, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo Master");
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("");  // CVC MISSING
   credit_card_form.fields[5].value = ASCIIToUTF16("123");
 
@@ -1516,8 +1509,8 @@
   // Edit the data, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo Master");
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
 
   base::HistogramTester histogram_tester;
 
@@ -1571,8 +1564,8 @@
   // Enter an invalid cvc in "Random Field" and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo Master");
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("1234");
 
   base::HistogramTester histogram_tester;
@@ -1627,8 +1620,8 @@
   // Enter a valid cvc in "Random Field" and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo Master");
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
   base::HistogramTester histogram_tester;
@@ -1685,8 +1678,8 @@
   // Enter a valid cvc in "Random Field" and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo Master");
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
   base::HistogramTester histogram_tester;
@@ -1717,8 +1710,8 @@
   // Edit the data, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("Bob Master");
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
   base::HistogramTester histogram_tester;
@@ -1763,8 +1756,8 @@
   // Edit the data, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo Master");
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
   base::HistogramTester histogram_tester;
@@ -1798,8 +1791,8 @@
   // Edit the data, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo Master");
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("");  // CVC MISSING
 
   base::HistogramTester histogram_tester;
@@ -1839,8 +1832,8 @@
 
   // Edit the data, but don't include a name, and submit.
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
   base::HistogramTester histogram_tester;
@@ -1878,8 +1871,8 @@
 
   // Edit the data, but don't include a name, and submit.
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
   base::HistogramTester histogram_tester;
@@ -1936,8 +1929,8 @@
   // Edit the data and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo Master");
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
   base::HistogramTester histogram_tester;
@@ -1984,8 +1977,8 @@
   // Edit the data and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo Master");
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
   base::HistogramTester histogram_tester;
@@ -2031,8 +2024,8 @@
   // Edit the data and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo Master");
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
   base::HistogramTester histogram_tester;
@@ -2073,8 +2066,8 @@
   // Edit the data, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo Master");
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
   base::HistogramTester histogram_tester;
@@ -2118,8 +2111,8 @@
   // submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo W. Master");
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
   base::HistogramTester histogram_tester;
@@ -2157,8 +2150,8 @@
   // Edit the data, but do not use middle initial.
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo Master");
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
   base::HistogramTester histogram_tester;
@@ -2192,8 +2185,8 @@
   // Edit the name by adding a middle name.
   credit_card_form.fields[0].value = ASCIIToUTF16("John Quincy Adams");
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
   base::HistogramTester histogram_tester;
@@ -2236,8 +2229,8 @@
   // Edit the name by removing middle name.
   credit_card_form.fields[0].value = ASCIIToUTF16("John Adams");
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
   base::HistogramTester histogram_tester;
@@ -2289,8 +2282,8 @@
   // Edit the data, but use yet another name, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("Bob Master");
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
   base::HistogramTester histogram_tester;
@@ -2346,8 +2339,8 @@
   // Edit the data, but use yet another name, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("Master Blaster");
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
   base::HistogramTester histogram_tester;
@@ -2386,8 +2379,8 @@
 
   // Edit the data, but don't include a name, and submit.
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
   base::HistogramTester histogram_tester;
@@ -2429,8 +2422,8 @@
   // Edit the data, but include a conflicting name, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("Jane Doe");
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
   base::HistogramTester histogram_tester;
@@ -2468,8 +2461,8 @@
   // Edit the data, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo Master");
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
   base::HistogramTester histogram_tester;
@@ -2504,8 +2497,8 @@
   // Edit the data, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo Master");
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
   base::HistogramTester histogram_tester;
@@ -2538,8 +2531,8 @@
   // Edit the data, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo Master");
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
   base::HistogramTester histogram_tester;
@@ -2584,8 +2577,8 @@
 
   // Edit the data, but don't include a name, and submit.
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
   base::HistogramTester histogram_tester;
@@ -2632,8 +2625,8 @@
   // Edit the data, but include a conflicting name, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("Jane Doe");
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
   base::HistogramTester histogram_tester;
@@ -2675,8 +2668,8 @@
 
   // Edit the data, but don't include a name, and submit.
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
   base::HistogramTester histogram_tester;
@@ -2718,8 +2711,8 @@
   // Edit the data, but include a conflicting name, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("Jane Doe");
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
   base::HistogramTester histogram_tester;
@@ -2763,8 +2756,8 @@
 
   // Edit the data, but don't include a name, and submit.
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
   // With the offer-to-save decision deferred to Google Payments, Payments can
@@ -2832,8 +2825,8 @@
   // Edit the data, include a expiration date, and submit this time.
   credit_card_form.fields[0].value = ASCIIToUTF16("Jane Doe");
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
   FormSubmitted(credit_card_form);
 
@@ -3053,7 +3046,7 @@
   credit_card_form.fields[0].value = ASCIIToUTF16("John Smith");
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
   credit_card_form.fields[2].value = ASCIIToUTF16("");
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
   base::HistogramTester histogram_tester;
@@ -3095,7 +3088,7 @@
   // Edit the data, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("John Smith");
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
   credit_card_form.fields[3].value = ASCIIToUTF16("");
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
@@ -3226,8 +3219,8 @@
   // Edit the data, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo Master");
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
   base::HistogramTester histogram_tester;
@@ -3269,8 +3262,8 @@
   // Edit the data, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo Master");
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
   base::HistogramTester histogram_tester;
@@ -3302,7 +3295,8 @@
   // enter below.
   CreditCard credit_card(CreditCard::MASKED_SERVER_CARD, "a123");
   test::SetCreditCardInfo(&credit_card, "Flo Master", "1111",
-                          NextMonth().c_str(), NextYear().c_str(), "1");
+                          test::NextMonth().c_str(), test::NextYear().c_str(),
+                          "1");
   credit_card.SetNetworkForMaskedCard(kVisaCard);
   personal_data_.AddServerCreditCard(credit_card);
 
@@ -3314,8 +3308,8 @@
   // Edit the data, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo Master");
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
   // Local save prompt should not be shown as there is alredy masked
@@ -3334,8 +3328,8 @@
   // Edit the data, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("");  // No name set
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("");  // No CVC set
 
   // Submit the form and check what detected_values for an upload save would be.
@@ -3364,8 +3358,8 @@
   // Edit the data, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("");  // No name set
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
   // Submit the form and ensure the detected_values for an upload save contained
@@ -3386,8 +3380,8 @@
   // Edit the data, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("John Smith");
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("");  // No CVC set
 
   // Submit the form and ensure the detected_values for an upload save contained
@@ -3415,8 +3409,8 @@
   // Edit the data, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("");  // No name set
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("");  // No CVC set
 
   // Submit the form and ensure the detected_values for an upload save contained
@@ -3444,8 +3438,8 @@
   // Edit the data, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("John Smith");
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("");  // No CVC set
 
   // Submit the form and ensure the detected_values for an upload save contained
@@ -3474,8 +3468,8 @@
   // Edit the data, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("Miles Prower");  // Conflict!
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("");  // No CVC set
 
   // Submit the form and check what detected_values for an upload save would be.
@@ -3502,8 +3496,8 @@
   // Edit the data, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("");  // No name set
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("");  // No CVC set
 
   // Submit the form and ensure the detected_values for an upload save contained
@@ -3535,8 +3529,8 @@
   // Edit the data, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("");  // No name set
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("");  // No CVC set
 
   // Submit the form and check what detected_values for an upload save would be.
@@ -3560,8 +3554,8 @@
   // Edit the data, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("");  // No name set
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("");  // No CVC set
 
   // Submit the form and ensure the detected_values for an upload save contained
@@ -3589,8 +3583,8 @@
   // Edit the data, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("");  // No name set
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("");  // No CVC set
 
   // Submit the form and ensure the detected_values for an upload save contained
@@ -3617,8 +3611,8 @@
   // Edit the data, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("");  // No name set
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("");  // No CVC set
 
   // Submit the form and ensure the detected_values for an upload save contained
@@ -3646,8 +3640,8 @@
   // Edit the data, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("");  // No name set
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("");  // No CVC set
 
   // Submit the form and ensure the detected_values for an upload save contained
@@ -3674,8 +3668,8 @@
   // Edit the data, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("");  // No name set
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("");  // No CVC set
 
   // Submit the form and ensure the detected_values for an upload save contained
@@ -3708,8 +3702,8 @@
   // Edit the data, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("John Smith");
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
   // Submit the form and ensure the detected_values for an upload save contained
@@ -3747,8 +3741,8 @@
   // Edit the data, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("Miles Prower");  // Conflict!
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
   // Submit the form and ensure the detected_values for an upload save contained
@@ -3795,8 +3789,8 @@
   // Edit the data, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("");  // No name set
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("");  // No CVC set
 
   // Submit the form and ensure the detected_values for an upload save contained
@@ -3835,8 +3829,8 @@
   // Edit the data, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("");  // No name!
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("");  // No CVC!
 
   base::HistogramTester histogram_tester;
@@ -3895,8 +3889,8 @@
   // Edit the data, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("John Smith");
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
   base::HistogramTester histogram_tester;
@@ -3938,8 +3932,8 @@
   credit_card_form.fields[0].value = ASCIIToUTF16("John");
   credit_card_form.fields[1].value = ASCIIToUTF16("Smith");
   credit_card_form.fields[2].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[4].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[4].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[5].value = ASCIIToUTF16("123");
 
   base::HistogramTester histogram_tester;
@@ -3983,8 +3977,8 @@
   // Edit the data, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("");  // No name!
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("");  // No CVC!
 
   base::HistogramTester histogram_tester;
@@ -4014,8 +4008,8 @@
   // Edit the data, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo Master");
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("");  // No CVC!
 
   base::HistogramTester histogram_tester;
@@ -4057,8 +4051,8 @@
   // Edit the data, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("");  // No name!
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
   base::HistogramTester histogram_tester;
@@ -4106,8 +4100,8 @@
   // Edit the data, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("Miles Prower");  // Conflict!
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
   base::HistogramTester histogram_tester;
@@ -4157,8 +4151,8 @@
   // Edit the data, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo Master");
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
   base::HistogramTester histogram_tester;
@@ -4213,8 +4207,8 @@
   // Edit the data, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo Master");
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
   base::HistogramTester histogram_tester;
@@ -4256,8 +4250,8 @@
   // Edit the data, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("");  // No name!
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("");  // No CVC!
 
   base::HistogramTester histogram_tester;
@@ -4297,7 +4291,8 @@
   // enter below.
   CreditCard local_card;
   test::SetCreditCardInfo(&local_card, "Flo Master", "4111111111111111",
-                          NextMonth().c_str(), NextYear().c_str(), "1");
+                          test::NextMonth().c_str(), test::NextYear().c_str(),
+                          "1");
   local_card.set_record_type(CreditCard::LOCAL_CARD);
   personal_data_.AddCreditCard(local_card);
 
@@ -4320,8 +4315,8 @@
   // Edit the data, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo Master");
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
   base::HistogramTester histogram_tester;
@@ -4360,8 +4355,8 @@
   // Edit the data, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo Master");
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
   base::HistogramTester histogram_tester;
@@ -4392,7 +4387,8 @@
   // enter below.
   CreditCard local_card;
   test::SetCreditCardInfo(&local_card, "Flo Master", "4111111111111111",
-                          NextMonth().c_str(), NextYear().c_str(), "1");
+                          test::NextMonth().c_str(), test::NextYear().c_str(),
+                          "1");
   local_card.set_record_type(CreditCard::LOCAL_CARD);
   personal_data_.AddCreditCard(local_card);
 
@@ -4415,8 +4411,8 @@
   // Edit the data, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo Master");
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
   base::HistogramTester histogram_tester;
@@ -4450,8 +4446,8 @@
   // Edit the data, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo Master");
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
   // Confirm that upload happened and that no experiment flag state was sent in
@@ -4480,8 +4476,8 @@
   // Edit the data, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo Master");
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
   // Confirm that the preflight request contained
@@ -4509,8 +4505,8 @@
   // Edit the data, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo Master");
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
   // Confirm that the preflight request contained the correct UploadCardSource.
@@ -4540,8 +4536,8 @@
   // Edit the data, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo Master");
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
   base::HistogramTester histogram_tester;
@@ -4589,8 +4585,8 @@
   // Edit the data, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo Master");
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
   base::HistogramTester histogram_tester;
@@ -4631,8 +4627,8 @@
   // Edit the data, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo Master");
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
   base::HistogramTester histogram_tester;
@@ -4678,8 +4674,8 @@
   // Edit the data, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo Master");
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
   base::HistogramTester histogram_tester;
@@ -4725,8 +4721,8 @@
   // Edit the data, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo Master");
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
   base::HistogramTester histogram_tester;
@@ -4776,8 +4772,8 @@
   // Edit the data, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo Master");
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
   base::HistogramTester histogram_tester;
@@ -4817,8 +4813,8 @@
   // Edit the data, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo Master");
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
   FormSubmitted(credit_card_form);
@@ -4858,8 +4854,8 @@
   // Edit the data, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo Master");
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
   FormSubmitted(credit_card_form);
@@ -4891,8 +4887,8 @@
   // Edit the data, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo Master");
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
   base::HistogramTester histogram_tester;
@@ -4936,8 +4932,8 @@
   // Edit the data, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo Master");
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
   base::HistogramTester histogram_tester;
@@ -5018,8 +5014,8 @@
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo");
   credit_card_form.fields[1].value = ASCIIToUTF16("Master");
   credit_card_form.fields[2].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[4].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[4].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[5].value = ASCIIToUTF16("123");
 
   base::HistogramTester histogram_tester;
@@ -5069,8 +5065,8 @@
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo");
   credit_card_form.fields[1].value = ASCIIToUTF16("Master");
   credit_card_form.fields[2].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[4].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[4].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[5].value = ASCIIToUTF16("123");
 
   base::HistogramTester histogram_tester;
@@ -5098,8 +5094,8 @@
   // Edit the data, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo Master");
   credit_card_form.fields[1].value = ASCIIToUTF16("5454545454545454");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
   // Since card isn't in any of the supported ranges, local save should be
@@ -5125,15 +5121,16 @@
   // enter below.
   CreditCard local_card;
   test::SetCreditCardInfo(&local_card, "Flo Master", "5454545454545454",
-                          NextMonth().c_str(), NextYear().c_str(), "1");
+                          test::NextMonth().c_str(), test::NextYear().c_str(),
+                          "1");
   local_card.set_record_type(CreditCard::LOCAL_CARD);
   personal_data_.AddCreditCard(local_card);
 
   // Edit the data, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo Master");
   credit_card_form.fields[1].value = ASCIIToUTF16("5454545454545454");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
   // Since card is already saved, local save should not be offered.
@@ -5157,8 +5154,8 @@
   // Edit the data, and submit.
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo Master");
   credit_card_form.fields[1].value = ASCIIToUTF16("4111111111111111");
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
   // Since card is in one of the supported ranges(4111-4113), upload save should
@@ -5191,8 +5188,8 @@
   const char* const card_number = "4111111111111111";
   credit_card_form.fields[0].value = ASCIIToUTF16("Flo Master");
   credit_card_form.fields[1].value = ASCIIToUTF16(card_number);
-  credit_card_form.fields[2].value = ASCIIToUTF16(NextMonth());
-  credit_card_form.fields[3].value = ASCIIToUTF16(NextYear());
+  credit_card_form.fields[2].value = ASCIIToUTF16(test::NextMonth());
+  credit_card_form.fields[3].value = ASCIIToUTF16(test::NextYear());
   credit_card_form.fields[4].value = ASCIIToUTF16("123");
 
   base::HistogramTester histogram_tester;
diff --git a/components/autofill/core/browser/payments/full_card_request_unittest.cc b/components/autofill/core/browser/payments/full_card_request_unittest.cc
index d9b976f..174ae5eb 100644
--- a/components/autofill/core/browser/payments/full_card_request_unittest.cc
+++ b/components/autofill/core/browser/payments/full_card_request_unittest.cc
@@ -19,6 +19,7 @@
 #include "components/autofill/core/browser/test_autofill_client.h"
 #include "components/autofill/core/browser/test_autofill_driver.h"
 #include "components/autofill/core/browser/test_personal_data_manager.h"
+#include "components/autofill/core/common/autofill_clock.h"
 #include "components/autofill/core/common/autofill_payments_features.h"
 #include "net/url_request/url_request_test_util.h"
 #include "services/network/public/cpp/shared_url_loader_factory.h"
@@ -325,7 +326,7 @@
               OnUnmaskVerificationResult(AutofillClient::SUCCESS));
 
   base::Time::Exploded today;
-  base::Time::Now().LocalExplode(&today);
+  AutofillClock::Now().LocalExplode(&today);
   CreditCard full_server_card(CreditCard::FULL_SERVER_CARD, "server_id");
   test::SetCreditCardInfo(&full_server_card, nullptr, "4111", "12",
                           base::StringPrintf("%d", today.year - 1).c_str(),
@@ -555,7 +556,7 @@
               OnUnmaskVerificationResult(AutofillClient::SUCCESS));
 
   base::Time::Exploded today;
-  base::Time::Now().LocalExplode(&today);
+  AutofillClock::Now().LocalExplode(&today);
   CreditCard card;
   test::SetCreditCardInfo(&card, nullptr, "4111", "10",
                           base::StringPrintf("%d", today.year - 1).c_str(),
diff --git a/components/autofill/core/browser/payments/payments_client_unittest.cc b/components/autofill/core/browser/payments/payments_client_unittest.cc
index 6591a8e..6ea72ee 100644
--- a/components/autofill/core/browser/payments/payments_client_unittest.cc
+++ b/components/autofill/core/browser/payments/payments_client_unittest.cc
@@ -24,6 +24,7 @@
 #include "components/autofill/core/browser/payments/local_card_migration_manager.h"
 #include "components/autofill/core/browser/payments/payments_client.h"
 #include "components/autofill/core/browser/test_personal_data_manager.h"
+#include "components/autofill/core/common/autofill_clock.h"
 #include "components/autofill/core/common/autofill_features.h"
 #include "components/autofill/core/common/autofill_payments_features.h"
 #include "components/autofill/core/common/autofill_switches.h"
@@ -282,7 +283,7 @@
   void IssueOAuthToken() {
     identity_test_env_.WaitForAccessTokenRequestIfNecessaryAndRespondWithToken(
         "totally_real_token",
-        base::Time::Now() + base::TimeDelta::FromDays(10));
+        AutofillClock::Now() + base::TimeDelta::FromDays(10));
 
     // Verify the auth header.
     std::string auth_header_value;
@@ -820,7 +821,7 @@
   // Issue a token for the secondary account.
   identity_test_env_.WaitForAccessTokenRequestIfNecessaryAndRespondWithToken(
       secondary_account_info.account_id, "secondary_account_token",
-      base::Time::Now() + base::TimeDelta::FromDays(10));
+      AutofillClock::Now() + base::TimeDelta::FromDays(10));
 
   // Verify the auth header.
   std::string auth_header_value;
diff --git a/components/autofill/core/browser/payments/test_strike_database.cc b/components/autofill/core/browser/payments/test_strike_database.cc
index 7b96773..d80df7c 100644
--- a/components/autofill/core/browser/payments/test_strike_database.cc
+++ b/components/autofill/core/browser/payments/test_strike_database.cc
@@ -5,6 +5,7 @@
 #include "components/autofill/core/browser/payments/test_strike_database.h"
 
 #include "components/autofill/core/browser/proto/strike_data.pb.h"
+#include "components/autofill/core/common/autofill_clock.h"
 
 namespace autofill {
 
@@ -36,7 +37,7 @@
   StrikeData strike_data;
   strike_data.set_num_strikes(num_strikes);
   strike_data.set_last_update_timestamp(
-      base::Time::Now().ToDeltaSinceWindowsEpoch().InMicroseconds());
+      AutofillClock::Now().ToDeltaSinceWindowsEpoch().InMicroseconds());
   db_[key] = strike_data;
 }
 
diff --git a/components/autofill/core/browser/personal_data_manager_unittest.cc b/components/autofill/core/browser/personal_data_manager_unittest.cc
index 2729e29..16972154 100644
--- a/components/autofill/core/browser/personal_data_manager_unittest.cc
+++ b/components/autofill/core/browser/personal_data_manager_unittest.cc
@@ -1327,7 +1327,6 @@
                           "378282246310005" /* American Express */, "04",
                           "2999", "1");
 
-
   personal_data_->AddFullServerCreditCard(server_card);
 
   WaitForOnPersonalDataChanged();
@@ -2762,7 +2761,7 @@
   profile2.set_use_date(AutofillClock::Now() - base::TimeDelta::FromDays(10));
   profile2.set_use_count(1);
 
-  EXPECT_TRUE(profile1.HasGreaterFrecencyThan(&profile2, base::Time::Now()));
+  EXPECT_TRUE(profile1.HasGreaterFrecencyThan(&profile2, AutofillClock::Now()));
 
   AddProfileToPersonalDataManager(profile1);
   AddProfileToPersonalDataManager(profile2);
diff --git a/components/autofill/core/browser/test_autofill_clock.h b/components/autofill/core/browser/test_autofill_clock.h
index 2b97361..19ea0a8 100644
--- a/components/autofill/core/browser/test_autofill_clock.h
+++ b/components/autofill/core/browser/test_autofill_clock.h
@@ -19,7 +19,7 @@
 // Handles the customization of the time in tests. Replaces the clock in
 // AutofillClock with a test version that can be manipulated from this class.
 // Automatically resets a normal clock to AutofillClock when this gets
-// destroyed,
+// destroyed.
 class TestAutofillClock {
  public:
   TestAutofillClock();
diff --git a/components/autofill/core/browser/test_autofill_tick_clock.cc b/components/autofill/core/browser/test_autofill_tick_clock.cc
new file mode 100644
index 0000000..c558ed8
--- /dev/null
+++ b/components/autofill/core/browser/test_autofill_tick_clock.cc
@@ -0,0 +1,31 @@
+// 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/autofill/core/browser/test_autofill_tick_clock.h"
+
+#include <utility>
+
+#include "base/test/simple_test_tick_clock.h"
+#include "components/autofill/core/common/autofill_tick_clock.h"
+
+namespace autofill {
+
+TestAutofillTickClock::TestAutofillTickClock() {
+  AutofillTickClock::SetTestTickClock(&test_tick_clock_);
+}
+
+TestAutofillTickClock::~TestAutofillTickClock() {
+  // Destroys the test tick_clock and resets a normal tick_clock.
+  AutofillTickClock::SetTickClock();
+}
+
+void TestAutofillTickClock::SetNowTicks(base::TimeTicks now) {
+  test_tick_clock_.SetNowTicks(now);
+}
+
+void TestAutofillTickClock::Advance(base::TimeDelta delta) {
+  test_tick_clock_.Advance(delta);
+}
+
+}  // namespace autofill
diff --git a/components/autofill/core/browser/test_autofill_tick_clock.h b/components/autofill/core/browser/test_autofill_tick_clock.h
new file mode 100644
index 0000000..481d493
--- /dev/null
+++ b/components/autofill/core/browser/test_autofill_tick_clock.h
@@ -0,0 +1,42 @@
+// 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 COMPONENTS_AUTOFILL_CORE_BROWSER_TEST_AUTOFILL_TICK_CLOCK_H_
+#define COMPONENTS_AUTOFILL_CORE_BROWSER_TEST_AUTOFILL_TICK_CLOCK_H_
+
+#include <memory>
+
+#include "base/macros.h"
+#include "base/test/simple_test_tick_clock.h"
+
+namespace base {
+class TimeTicks;
+}  // namespace base
+
+namespace autofill {
+
+// Handles the customization of the time in tests. Replaces the tick_clock in
+// AutofillTickClock with a test version that can be manipulated from this
+// class. Automatically resets a normal tick_clock to AutofillTickClock when
+// this gets destroyed.
+class TestAutofillTickClock {
+ public:
+  TestAutofillTickClock();
+  ~TestAutofillTickClock();
+
+  // Set the time to be returned from AutofillTickClock::Now() calls.
+  void SetNowTicks(base::TimeTicks now);
+
+  // Advances the tick_clock by |delta|.
+  void Advance(base::TimeDelta delta);
+
+ private:
+  base::SimpleTestTickClock test_tick_clock_;
+
+  DISALLOW_COPY_AND_ASSIGN(TestAutofillTickClock);
+};
+
+}  // namespace autofill
+
+#endif  // COMPONENTS_AUTOFILL_CORE_BROWSER_TEST_AUTOFILL_TICK_CLOCK_H_
diff --git a/components/autofill/core/browser/webdata/autofill_table_unittest.cc b/components/autofill/core/browser/webdata/autofill_table_unittest.cc
index b312d259..54444cb 100644
--- a/components/autofill/core/browser/webdata/autofill_table_unittest.cc
+++ b/components/autofill/core/browser/webdata/autofill_table_unittest.cc
@@ -161,7 +161,7 @@
 };
 
 TEST_F(AutofillTableTest, Autofill) {
-  Time t1 = Time::Now();
+  Time t1 = AutofillClock::Now();
 
   // Simulate the submission of a handful of entries in a field called "Name",
   // some more often than others.
@@ -169,7 +169,7 @@
   FormFieldData field;
   field.name = ASCIIToUTF16("Name");
   field.value = ASCIIToUTF16("Superman");
-  base::Time now = base::Time::Now();
+  base::Time now = AutofillClock::Now();
   base::TimeDelta two_seconds = base::TimeDelta::FromSeconds(2);
   EXPECT_TRUE(table_->AddFormFieldValue(field, &changes));
   std::vector<AutofillEntry> v;
@@ -330,7 +330,7 @@
   // This test makes time comparisons that are precise to a microsecond, but the
   // database uses the time_t format which is only precise to a second.
   // Make sure we use timestamps rounded to a second.
-  Time begin = Time::FromTimeT(Time::Now().ToTimeT());
+  Time begin = Time::FromTimeT(AutofillClock::Now().ToTimeT());
   Time now = begin;
   TimeDelta second = TimeDelta::FromSeconds(1);
 
@@ -392,7 +392,7 @@
 
 TEST_F(AutofillTableTest, Autofill_RemoveBetweenChanges) {
   TimeDelta one_day(TimeDelta::FromDays(1));
-  Time t1 = Time::Now();
+  Time t1 = AutofillClock::Now();
   Time t2 = t1 + one_day;
 
   AutofillChangeList changes;
@@ -422,7 +422,7 @@
 
 TEST_F(AutofillTableTest, Autofill_AddChanges) {
   TimeDelta one_day(TimeDelta::FromDays(1));
-  Time t1 = Time::Now();
+  Time t1 = AutofillClock::Now();
   Time t2 = t1 + one_day;
 
   AutofillChangeList changes;
@@ -548,7 +548,7 @@
 }
 
 TEST_F(AutofillTableTest, Autofill_UpdateDontReplace) {
-  Time t = Time::Now();
+  Time t = AutofillClock::Now();
   AutofillEntry existing(
       MakeAutofillEntry("Name", "Superman", t.ToTimeT(), -1));
 
@@ -573,7 +573,7 @@
 }
 
 TEST_F(AutofillTableTest, Autofill_AddFormFieldValues) {
-  Time t = Time::Now();
+  Time t = AutofillClock::Now();
 
   // Add multiple values for "firstname" and "lastname" names.  Test that only
   // first value of each gets added. Related to security issue:
@@ -768,7 +768,7 @@
 
 TEST_F(AutofillTableTest,
        Autofill_RemoveFormElementsAddedBetween_OlderThan30Days) {
-  const base::Time kNow = base::Time::Now();
+  const base::Time kNow = AutofillClock::Now();
   const base::Time k29DaysOld = kNow - base::TimeDelta::FromDays(29);
   const base::Time k30DaysOld = kNow - base::TimeDelta::FromDays(30);
   const base::Time k31DaysOld = kNow - base::TimeDelta::FromDays(31);
@@ -865,9 +865,9 @@
   home_profile.SetClientValidityFromBitfieldValue(6);
   home_profile.set_is_client_validity_states_updated(true);
 
-  Time pre_creation_time = Time::Now();
+  Time pre_creation_time = AutofillClock::Now();
   EXPECT_TRUE(table_->AddAutofillProfile(home_profile));
-  Time post_creation_time = Time::Now();
+  Time post_creation_time = AutofillClock::Now();
 
   // Get the 'Home' profile.
   std::unique_ptr<AutofillProfile> db_profile =
@@ -892,9 +892,9 @@
                              ASCIIToUTF16("5678 Bottom Street"));
   billing_profile.SetRawInfo(ADDRESS_HOME_LINE2, ASCIIToUTF16("suite 3"));
 
-  pre_creation_time = Time::Now();
+  pre_creation_time = AutofillClock::Now();
   EXPECT_TRUE(table_->AddAutofillProfile(billing_profile));
-  post_creation_time = Time::Now();
+  post_creation_time = AutofillClock::Now();
 
   // Get the 'Billing' profile.
   db_profile = table_->GetAutofillProfile(billing_profile.guid());
@@ -911,9 +911,9 @@
 
   // Update the 'Billing' profile, name only.
   billing_profile.SetRawInfo(NAME_FIRST, ASCIIToUTF16("Jane"));
-  Time pre_modification_time = Time::Now();
+  Time pre_modification_time = AutofillClock::Now();
   EXPECT_TRUE(table_->UpdateAutofillProfile(billing_profile));
-  Time post_modification_time = Time::Now();
+  Time post_modification_time = AutofillClock::Now();
   db_profile = table_->GetAutofillProfile(billing_profile.guid());
   ASSERT_TRUE(db_profile);
   EXPECT_EQ(billing_profile, *db_profile);
@@ -948,9 +948,9 @@
   billing_profile.SetClientValidityFromBitfieldValue(54);
   billing_profile.set_is_client_validity_states_updated(true);
 
-  Time pre_modification_time_2 = Time::Now();
+  Time pre_modification_time_2 = AutofillClock::Now();
   EXPECT_TRUE(table_->UpdateAutofillProfile(billing_profile));
-  Time post_modification_time_2 = Time::Now();
+  Time post_modification_time_2 = AutofillClock::Now();
   db_profile = table_->GetAutofillProfile(billing_profile.guid());
   ASSERT_TRUE(db_profile);
   EXPECT_EQ(billing_profile, *db_profile);
@@ -984,9 +984,9 @@
   work_creditcard.SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR,
                              ASCIIToUTF16("2013"));
 
-  Time pre_creation_time = Time::Now();
+  Time pre_creation_time = AutofillClock::Now();
   EXPECT_TRUE(table_->AddCreditCard(work_creditcard));
-  Time post_creation_time = Time::Now();
+  Time post_creation_time = AutofillClock::Now();
 
   // Get the 'Work' credit card.
   std::unique_ptr<CreditCard> db_creditcard =
@@ -1015,9 +1015,9 @@
   target_creditcard.SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR,
                                ASCIIToUTF16("2012"));
 
-  pre_creation_time = Time::Now();
+  pre_creation_time = AutofillClock::Now();
   EXPECT_TRUE(table_->AddCreditCard(target_creditcard));
-  post_creation_time = Time::Now();
+  post_creation_time = AutofillClock::Now();
   db_creditcard = table_->GetCreditCard(target_creditcard.guid());
   ASSERT_TRUE(db_creditcard);
   EXPECT_EQ(target_creditcard, *db_creditcard);
@@ -1036,9 +1036,9 @@
   target_creditcard.set_origin("Interactive Autofill dialog");
   target_creditcard.SetRawInfo(CREDIT_CARD_NAME_FULL,
                                ASCIIToUTF16("Charles Grady"));
-  Time pre_modification_time = Time::Now();
+  Time pre_modification_time = AutofillClock::Now();
   EXPECT_TRUE(table_->UpdateCreditCard(target_creditcard));
-  Time post_modification_time = Time::Now();
+  Time post_modification_time = AutofillClock::Now();
   db_creditcard = table_->GetCreditCard(target_creditcard.guid());
   ASSERT_TRUE(db_creditcard);
   EXPECT_EQ(target_creditcard, *db_creditcard);
@@ -1096,7 +1096,7 @@
   table_->AddAutofillProfile(profile);
 
   // Set a mocked value for the profile's creation time.
-  const time_t kMockCreationDate = Time::Now().ToTimeT() - 13;
+  const time_t kMockCreationDate = AutofillClock::Now().ToTimeT() - 13;
   sql::Statement s_mock_creation_date(
       db_->GetSQLConnection()->GetUniqueStatement(
           "UPDATE autofill_profiles SET date_modified = ?"));
@@ -1133,7 +1133,7 @@
   EXPECT_FALSE(s_updated.Step());
 
   // Set a mocked value for the profile's modification time.
-  const time_t mock_modification_date = Time::Now().ToTimeT() - 7;
+  const time_t mock_modification_date = AutofillClock::Now().ToTimeT() - 7;
   sql::Statement s_mock_modification_date(
       db_->GetSQLConnection()->GetUniqueStatement(
           "UPDATE autofill_profiles SET date_modified = ?"));
@@ -1167,7 +1167,7 @@
   table_->AddCreditCard(credit_card);
 
   // Set a mocked value for the credit card's creation time.
-  const time_t kMockCreationDate = Time::Now().ToTimeT() - 13;
+  const time_t kMockCreationDate = AutofillClock::Now().ToTimeT() - 13;
   sql::Statement s_mock_creation_date(
       db_->GetSQLConnection()->GetUniqueStatement(
           "UPDATE credit_cards SET date_modified = ?"));
@@ -1204,7 +1204,7 @@
   EXPECT_FALSE(s_updated.Step());
 
   // Set a mocked value for the credit card's modification time.
-  const time_t mock_modification_date = Time::Now().ToTimeT() - 7;
+  const time_t mock_modification_date = AutofillClock::Now().ToTimeT() - 7;
   sql::Statement s_mock_modification_date(
       db_->GetSQLConnection()->GetUniqueStatement(
           "UPDATE credit_cards SET date_modified = ?"));
@@ -1246,7 +1246,7 @@
   table_->AddAutofillProfile(profile);
 
   // Set a mocked value for the profile's creation time.
-  const time_t kMockCreationDate = Time::Now().ToTimeT() - 13;
+  const time_t kMockCreationDate = AutofillClock::Now().ToTimeT() - 13;
   sql::Statement s_mock_creation_date(
       db_->GetSQLConnection()->GetUniqueStatement(
           "UPDATE autofill_profiles SET date_modified = ?"));
@@ -1293,7 +1293,7 @@
   table_->AddCreditCard(credit_card);
 
   // Set a mocked value for the credit card's creation time.
-  const time_t kMockCreationDate = Time::Now().ToTimeT() - 13;
+  const time_t kMockCreationDate = AutofillClock::Now().ToTimeT() - 13;
   sql::Statement s_mock_creation_date(
       db_->GetSQLConnection()->GetUniqueStatement(
           "UPDATE credit_cards SET date_modified = ?"));
@@ -1918,7 +1918,7 @@
   AutofillMetadata input;
   input.id = "server id";
   input.use_count = 50;
-  input.use_date = Time::Now();
+  input.use_date = AutofillClock::Now();
   input.billing_address_id = "billing id";
   EXPECT_TRUE(table_->AddServerCardMetadata(input));
 
@@ -1941,7 +1941,7 @@
   AutofillMetadata input;
   input.id = "server id";
   input.use_count = 50;
-  input.use_date = Time::Now();
+  input.use_date = AutofillClock::Now();
   input.has_converted = true;
   table_->AddServerAddressMetadata(input);
 
@@ -1964,7 +1964,7 @@
   AutofillMetadata input;
   input.id = "server id";
   input.use_count = 50;
-  input.use_date = Time::Now();
+  input.use_date = AutofillClock::Now();
   input.has_converted = true;
   ASSERT_TRUE(table_->AddServerAddressMetadata(input));
 
@@ -1995,7 +1995,7 @@
   AutofillMetadata input;
   input.id = "server id";
   input.use_count = 50;
-  input.use_date = Time::Now();
+  input.use_date = AutofillClock::Now();
   input.billing_address_id = "billing id";
   ASSERT_TRUE(table_->AddServerCardMetadata(input));
 
@@ -2091,7 +2091,7 @@
   AutofillMetadata input;
   input.id = "server id";
   input.use_count = 50;
-  input.use_date = Time::Now();
+  input.use_date = AutofillClock::Now();
   input.billing_address_id = "billing id";
   table_->AddServerCardMetadata(input);
 
@@ -2160,7 +2160,7 @@
   AutofillMetadata input;
   input.id = "server id";
   input.use_count = 50;
-  input.use_date = Time::Now();
+  input.use_date = AutofillClock::Now();
   input.billing_address_id = "billing id";
   table_->AddServerCardMetadata(input);
 
@@ -2217,7 +2217,7 @@
   AutofillMetadata input;
   input.id = "server id";
   input.use_count = 50;
-  input.use_date = Time::Now();
+  input.use_date = AutofillClock::Now();
   input.has_converted = true;
   table_->AddServerAddressMetadata(input);
 
@@ -2239,7 +2239,7 @@
   AutofillMetadata input;
   input.id = "server id";
   input.use_count = 50;
-  input.use_date = Time::Now();
+  input.use_date = AutofillClock::Now();
   input.has_converted = true;
   table_->AddServerAddressMetadata(input);
 
@@ -2499,7 +2499,7 @@
 
   // Update the usage stats; make sure they're reflected in GetServerProfiles.
   inputs.back().set_use_count(4U);
-  inputs.back().set_use_date(base::Time::Now());
+  inputs.back().set_use_date(AutofillClock::Now());
   table_->UpdateServerAddressMetadata(inputs.back());
   table_->GetServerProfiles(&outputs);
   ASSERT_EQ(1u, outputs.size());
@@ -2525,7 +2525,7 @@
 TEST_F(AutofillTableTest, DeleteUnmaskedCard) {
   // This isn't the exact unmasked time, since the database will use the
   // current time that it is called. The code below has to be approximate.
-  base::Time unmasked_time = base::Time::Now();
+  base::Time unmasked_time = AutofillClock::Now();
 
   // Add a masked card.
   base::string16 masked_number = ASCIIToUTF16("1111");
@@ -2564,7 +2564,7 @@
   // Delete data in the range of the last 24 hours.
   // Fudge |now| to make sure it's strictly greater than the |now| that
   // the database uses.
-  base::Time now = base::Time::Now() + base::TimeDelta::FromSeconds(1);
+  base::Time now = AutofillClock::Now() + base::TimeDelta::FromSeconds(1);
   ASSERT_TRUE(table_->RemoveAutofillDataModifiedBetween(
       now - base::TimeDelta::FromDays(1), now, &profiles, &credit_cards));
 
@@ -2673,7 +2673,7 @@
                << "suggestion = " << test_case.field_suggestion[0]
                << ", contents = " << test_case.field_contents);
 
-  Time t1 = Time::Now();
+  Time t1 = AutofillClock::Now();
 
   // Simulate the submission of a handful of entries in a field called "Name".
   AutofillChangeList changes;
diff --git a/components/autofill/core/browser/webdata/web_data_service_unittest.cc b/components/autofill/core/browser/webdata/web_data_service_unittest.cc
index 8a3d731..fbdec05 100644
--- a/components/autofill/core/browser/webdata/web_data_service_unittest.cc
+++ b/components/autofill/core/browser/webdata/web_data_service_unittest.cc
@@ -28,6 +28,7 @@
 #include "components/autofill/core/browser/webdata/autofill_table.h"
 #include "components/autofill/core/browser/webdata/autofill_webdata_service.h"
 #include "components/autofill/core/browser/webdata/autofill_webdata_service_observer.h"
+#include "components/autofill/core/common/autofill_clock.h"
 #include "components/autofill/core/common/form_field_data.h"
 #include "components/webdata/common/web_data_results.h"
 #include "components/webdata/common/web_data_service_base.h"
@@ -48,7 +49,7 @@
 namespace {
 
 template <class T>
-class AutofillWebDataServiceConsumer: public WebDataServiceConsumer {
+class AutofillWebDataServiceConsumer : public WebDataServiceConsumer {
  public:
   AutofillWebDataServiceConsumer() : handle_(0) {}
   virtual ~AutofillWebDataServiceConsumer() {}
@@ -82,8 +83,7 @@
 class MockAutofillWebDataServiceObserver
     : public AutofillWebDataServiceObserverOnDBSequence {
  public:
-  MOCK_METHOD1(AutofillEntriesChanged,
-               void(const AutofillChangeList& changes));
+  MOCK_METHOD1(AutofillEntriesChanged, void(const AutofillChangeList& changes));
   MOCK_METHOD1(AutofillProfileChanged,
                void(const AutofillProfileChange& change));
 };
@@ -183,9 +183,8 @@
 
 TEST_F(WebDataServiceAutofillTest, FormFillAdd) {
   const AutofillChange expected_changes[] = {
-    AutofillChange(AutofillChange::ADD, AutofillKey(name1_, value1_)),
-    AutofillChange(AutofillChange::ADD, AutofillKey(name2_, value2_))
-  };
+      AutofillChange(AutofillChange::ADD, AutofillKey(name1_, value1_)),
+      AutofillChange(AutofillChange::ADD, AutofillKey(name2_, value2_))};
 
   // This will verify that the correct notification is triggered,
   // passing the correct list of autofill keys in the details.
@@ -204,8 +203,8 @@
   AutofillWebDataServiceConsumer<std::vector<AutofillEntry>> consumer;
   WebDataServiceBase::Handle handle;
   static const int limit = 10;
-  handle = wds_->GetFormValuesForElementName(
-      name1_, base::string16(), limit, &consumer);
+  handle = wds_->GetFormValuesForElementName(name1_, base::string16(), limit,
+                                             &consumer);
   task_environment_.RunUntilIdle();
   EXPECT_EQ(handle, consumer.handle());
   ASSERT_EQ(1U, consumer.result().size());
@@ -226,8 +225,7 @@
   // This will verify that the correct notification is triggered,
   // passing the correct list of autofill keys in the details.
   const AutofillChange expected_changes[] = {
-    AutofillChange(AutofillChange::REMOVE, AutofillKey(name1_, value1_))
-  };
+      AutofillChange(AutofillChange::REMOVE, AutofillKey(name1_, value1_))};
   EXPECT_CALL(observer_,
               AutofillEntriesChanged(ElementsAreArray(expected_changes)))
       .WillOnce(SignalEvent(&done_event_));
@@ -239,7 +237,7 @@
 
 TEST_F(WebDataServiceAutofillTest, FormFillRemoveMany) {
   TimeDelta one_day(TimeDelta::FromDays(1));
-  Time t = Time::Now();
+  Time t = AutofillClock::Now();
 
   EXPECT_CALL(observer_, AutofillEntriesChanged(_))
       .WillOnce(SignalEvent(&done_event_));
@@ -255,9 +253,8 @@
   // This will verify that the correct notification is triggered,
   // passing the correct list of autofill keys in the details.
   const AutofillChange expected_changes[] = {
-    AutofillChange(AutofillChange::REMOVE, AutofillKey(name1_, value1_)),
-    AutofillChange(AutofillChange::REMOVE, AutofillKey(name2_, value2_))
-  };
+      AutofillChange(AutofillChange::REMOVE, AutofillKey(name1_, value1_)),
+      AutofillChange(AutofillChange::REMOVE, AutofillKey(name2_, value2_))};
   EXPECT_CALL(observer_,
               AutofillEntriesChanged(ElementsAreArray(expected_changes)))
       .WillOnce(SignalEvent(&done_event_));
@@ -271,8 +268,8 @@
   AutofillProfile profile;
 
   // Check that GUID-based notification was sent.
-  const AutofillProfileChange expected_change(
-      AutofillProfileChange::ADD, profile.guid(), &profile);
+  const AutofillProfileChange expected_change(AutofillProfileChange::ADD,
+                                              profile.guid(), &profile);
   EXPECT_CALL(observer_, AutofillProfileChanged(expected_change))
       .WillOnce(SignalEvent(&done_event_));
 
diff --git a/components/autofill/core/common/BUILD.gn b/components/autofill/core/common/BUILD.gn
index d0d4d220d..2f096ca 100644
--- a/components/autofill/core/common/BUILD.gn
+++ b/components/autofill/core/common/BUILD.gn
@@ -29,6 +29,8 @@
     "autofill_regexes.h",
     "autofill_switches.cc",
     "autofill_switches.h",
+    "autofill_tick_clock.cc",
+    "autofill_tick_clock.h",
     "autofill_util.cc",
     "autofill_util.h",
     "form_data.cc",
diff --git a/components/autofill/core/common/autofill_clock.cc b/components/autofill/core/common/autofill_clock.cc
index 0336eb95..60169c8c 100644
--- a/components/autofill/core/common/autofill_clock.cc
+++ b/components/autofill/core/common/autofill_clock.cc
@@ -9,7 +9,7 @@
 
 namespace autofill {
 namespace {
-base::Clock* g_autofill_clock = nullptr;
+const base::Clock* g_autofill_clock = nullptr;
 }  // namespace
 
 // static
@@ -25,7 +25,7 @@
 }
 
 // static
-void AutofillClock::SetTestClock(base::Clock* clock) {
+void AutofillClock::SetTestClock(const base::Clock* clock) {
   DCHECK(clock);
   g_autofill_clock = clock;
 }
diff --git a/components/autofill/core/common/autofill_clock.h b/components/autofill/core/common/autofill_clock.h
index 651d9cdf..2280d168 100644
--- a/components/autofill/core/common/autofill_clock.h
+++ b/components/autofill/core/common/autofill_clock.h
@@ -16,7 +16,7 @@
 // with a customizable clock to facilitate testing.
 class AutofillClock {
  public:
-  // Returns the current time based on |clock_|.
+  // Returns the current time based last set clock.
   static base::Time Now();
 
  private:
@@ -26,7 +26,7 @@
   static void SetClock();
 
   // Sets the clock to be used for tests.
-  static void SetTestClock(base::Clock* clock);
+  static void SetTestClock(const base::Clock* clock);
 
   AutofillClock() = delete;
   ~AutofillClock() = delete;
diff --git a/components/autofill/core/common/autofill_tick_clock.cc b/components/autofill/core/common/autofill_tick_clock.cc
new file mode 100644
index 0000000..594916e
--- /dev/null
+++ b/components/autofill/core/common/autofill_tick_clock.cc
@@ -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.
+
+#include "components/autofill/core/common/autofill_tick_clock.h"
+
+#include "base/time/default_tick_clock.h"
+#include "base/time/tick_clock.h"
+
+namespace autofill {
+namespace {
+const base::TickClock* g_autofill_tick_clock = nullptr;
+}  // namespace
+
+// static
+base::TimeTicks AutofillTickClock::NowTicks() {
+  if (!g_autofill_tick_clock)
+    SetTickClock();
+  return g_autofill_tick_clock->NowTicks();
+}
+
+// static
+void AutofillTickClock::SetTickClock() {
+  g_autofill_tick_clock = base::DefaultTickClock::GetInstance();
+}
+
+// static
+void AutofillTickClock::SetTestTickClock(const base::TickClock* tick_clock) {
+  DCHECK(tick_clock);
+  g_autofill_tick_clock = tick_clock;
+}
+
+}  // namespace autofill
diff --git a/components/autofill/core/common/autofill_tick_clock.h b/components/autofill/core/common/autofill_tick_clock.h
new file mode 100644
index 0000000..a438604
--- /dev/null
+++ b/components/autofill/core/common/autofill_tick_clock.h
@@ -0,0 +1,37 @@
+// 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 COMPONENTS_AUTOFILL_CORE_COMMON_AUTOFILL_TICK_CLOCK_H_
+#define COMPONENTS_AUTOFILL_CORE_COMMON_AUTOFILL_TICK_CLOCK_H_
+
+namespace base {
+class TickClock;
+class TimeTicks;
+}  // namespace base
+
+namespace autofill {
+
+// Handles getting the current time for the Autofill feature. Can be injected
+// with a customizable tick clock to facilitate testing.
+class AutofillTickClock {
+ public:
+  // Returns the current time based last set tick clock.
+  static base::TimeTicks NowTicks();
+
+ private:
+  friend class TestAutofillTickClock;
+
+  // Resets a normal tick clock.
+  static void SetTickClock();
+
+  // Sets the tick clock to be used for tests.
+  static void SetTestTickClock(const base::TickClock* tick_clock);
+
+  AutofillTickClock() = delete;
+  ~AutofillTickClock() = delete;
+};
+
+}  // namespace autofill
+
+#endif  // COMPONENTS_AUTOFILL_CORE_COMMON_AUTOFILL_TICK_CLOCK_H_
diff --git a/components/autofill/core/common/mojom/autofill_types_mojom_traits_unittest.cc b/components/autofill/core/common/mojom/autofill_types_mojom_traits_unittest.cc
index 24061ea..4419cd3 100644
--- a/components/autofill/core/common/mojom/autofill_types_mojom_traits_unittest.cc
+++ b/components/autofill/core/common/mojom/autofill_types_mojom_traits_unittest.cc
@@ -9,6 +9,7 @@
 #include "base/strings/utf_string_conversions.h"
 #include "base/test/task_environment.h"
 #include "components/autofill/core/browser/autofill_test_utils.h"
+#include "components/autofill/core/common/autofill_clock.h"
 #include "components/autofill/core/common/form_data.h"
 #include "components/autofill/core/common/form_field_data.h"
 #include "components/autofill/core/common/mojom/test_autofill_types.mojom.h"
@@ -91,8 +92,8 @@
   form->new_password_marked_by_site = false;
   form->new_password_element = base::ASCIIToUTF16("confirmation_password");
   form->preferred = false;
-  form->date_created = base::Time::Now();
-  form->date_synced = base::Time::Now();
+  form->date_created = AutofillClock::Now();
+  form->date_synced = AutofillClock::Now();
   form->blacklisted_by_user = false;
   form->type = PasswordForm::Type::kGenerated;
   form->times_used = 999;
diff --git a/components/autofill_assistant/browser/BUILD.gn b/components/autofill_assistant/browser/BUILD.gn
index 9ddc5a1..97cbfbcb 100644
--- a/components/autofill_assistant/browser/BUILD.gn
+++ b/components/autofill_assistant/browser/BUILD.gn
@@ -34,8 +34,6 @@
     "actions/action.cc",
     "actions/action.h",
     "actions/action_delegate.h",
-    "actions/autofill_action.cc",
-    "actions/autofill_action.h",
     "actions/click_action.cc",
     "actions/click_action.h",
     "actions/collect_user_data_action.cc",
@@ -78,6 +76,10 @@
     "actions/unsupported_action.h",
     "actions/upload_dom_action.cc",
     "actions/upload_dom_action.h",
+    "actions/use_address_action.cc",
+    "actions/use_address_action.h",
+    "actions/use_credit_card_action.cc",
+    "actions/use_credit_card_action.h",
     "actions/wait_for_document_action.cc",
     "actions/wait_for_document_action.h",
     "actions/wait_for_dom_action.cc",
@@ -185,7 +187,6 @@
 source_set("unit_tests") {
   testonly = true
   sources = [
-    "actions/autofill_action_unittest.cc",
     "actions/collect_user_data_action_unittest.cc",
     "actions/configure_bottom_sheet_action_unittest.cc",
     "actions/mock_action_delegate.cc",
@@ -194,6 +195,8 @@
     "actions/prompt_action_unittest.cc",
     "actions/set_form_field_value_action_unittest.cc",
     "actions/show_details_action_unittest.cc",
+    "actions/use_address_action_unittest.cc",
+    "actions/use_credit_card_action_unittest.cc",
     "actions/wait_for_document_action_unittest.cc",
     "actions/wait_for_dom_action_unittest.cc",
     "batch_element_checker_unittest.cc",
diff --git a/components/autofill_assistant/browser/actions/action_delegate.h b/components/autofill_assistant/browser/actions/action_delegate.h
index 74360d7..e418be4 100644
--- a/components/autofill_assistant/browser/actions/action_delegate.h
+++ b/components/autofill_assistant/browser/actions/action_delegate.h
@@ -74,8 +74,9 @@
   //
   // TODO(crbug.com/806868): Consider embedding that wait right into
   // WebController and eliminate double-lookup.
-  virtual void ShortWaitForElement(const Selector& selector,
-                                   base::OnceCallback<void(bool)> callback) = 0;
+  virtual void ShortWaitForElement(
+      const Selector& selector,
+      base::OnceCallback<void(const ClientStatus&)> callback) = 0;
 
   // Wait for up to |max_wait_time| for element conditions to match on the page,
   // then call |callback| with a successful status if at least an element
@@ -85,10 +86,10 @@
   virtual void WaitForDom(
       base::TimeDelta max_wait_time,
       bool allow_interrupt,
-      base::RepeatingCallback<void(BatchElementChecker*,
-                                   base::OnceCallback<void(bool)>)>
-          check_elements,
-      base::OnceCallback<void(ProcessedActionStatusProto)> callback) = 0;
+      base::RepeatingCallback<
+          void(BatchElementChecker*,
+               base::OnceCallback<void(const ClientStatus&)>)> check_elements,
+      base::OnceCallback<void(const ClientStatus&)> callback) = 0;
 
   // Click or tap the element given by |selector| on the web page.
   virtual void ClickOrTapElement(
@@ -167,7 +168,8 @@
   // empty string in case of error or empty value.
   virtual void GetFieldValue(
       const Selector& selector,
-      base::OnceCallback<void(bool, const std::string&)> callback) = 0;
+      base::OnceCallback<void(const ClientStatus&, const std::string&)>
+          callback) = 0;
 
   // Set the |value| of field |selector| and return the result through
   // |callback|. If |simulate_key_presses| is true, the value will be set by
diff --git a/components/autofill_assistant/browser/actions/autofill_action.cc b/components/autofill_assistant/browser/actions/autofill_action.cc
deleted file mode 100644
index 9fdfa92..0000000
--- a/components/autofill_assistant/browser/actions/autofill_action.cc
+++ /dev/null
@@ -1,375 +0,0 @@
-// Copyright 2018 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/autofill_assistant/browser/actions/autofill_action.h"
-
-#include <utility>
-#include <vector>
-
-#include "base/bind.h"
-#include "base/callback.h"
-#include "base/strings/string_number_conversions.h"
-#include "base/strings/stringprintf.h"
-#include "base/strings/utf_string_conversions.h"
-#include "base/time/time.h"
-#include "components/autofill/core/browser/data_model/autofill_profile.h"
-#include "components/autofill/core/browser/data_model/credit_card.h"
-#include "components/autofill_assistant/browser/actions/action_delegate.h"
-#include "components/autofill_assistant/browser/batch_element_checker.h"
-#include "components/autofill_assistant/browser/client_memory.h"
-#include "components/autofill_assistant/browser/client_status.h"
-
-namespace autofill_assistant {
-
-AutofillAction::AutofillAction(ActionDelegate* delegate,
-                               const ActionProto& proto)
-    : Action(delegate, proto) {
-  if (proto.has_use_address()) {
-    is_autofill_card_ = false;
-    prompt_ = proto.use_address().prompt();
-    name_ = proto.use_address().name();
-    selector_ = Selector(proto.use_address().form_field_element());
-    for (const auto& required_field_proto :
-         proto_.use_address().required_fields()) {
-      required_fields_.emplace_back();
-      RequiredField& required_field = required_fields_.back();
-      required_field.address_field = required_field_proto.address_field();
-      required_field.selector = Selector(required_field_proto.element());
-      required_field.simulate_key_presses =
-          required_field_proto.simulate_key_presses();
-      required_field.delay_in_millisecond =
-          required_field_proto.delay_in_millisecond();
-      required_field.forced = required_field_proto.forced();
-    }
-  } else {
-    DCHECK(proto.has_use_card());
-    is_autofill_card_ = true;
-    prompt_ = proto.use_card().prompt();
-    name_ = "";
-    selector_ = Selector(proto.use_card().form_field_element());
-    for (const auto& required_field_proto :
-         proto_.use_card().required_fields()) {
-      required_fields_.emplace_back();
-      RequiredField& required_field = required_fields_.back();
-      required_field.card_field = required_field_proto.card_field();
-      required_field.selector = Selector(required_field_proto.element());
-      required_field.simulate_key_presses =
-          required_field_proto.simulate_key_presses();
-      required_field.delay_in_millisecond =
-          required_field_proto.delay_in_millisecond();
-      required_field.forced = required_field_proto.forced();
-    }
-  }
-  selector_.MustBeVisible();
-  DCHECK(!selector_.empty());
-}
-
-AutofillAction::~AutofillAction() = default;
-
-void AutofillAction::InternalProcessAction(
-    ProcessActionCallback action_callback) {
-  process_action_callback_ = std::move(action_callback);
-
-  // Ensure data already selected in a previous action.
-  auto* client_memory = delegate_->GetClientMemory();
-  bool has_valid_data =
-      (is_autofill_card_ && client_memory->selected_card()) ||
-      (!is_autofill_card_ && client_memory->selected_address(name_));
-  if (!has_valid_data) {
-    auto* error_info = processed_action_proto_->mutable_status_details()
-                           ->mutable_autofill_error_info();
-    error_info->set_address_key_requested(name_);
-    error_info->set_client_memory_address_key_names(
-        client_memory->GetAllAddressKeyNames());
-    error_info->set_address_pointee_was_null(
-        !client_memory->has_selected_address(name_) ||
-        !client_memory->selected_address(name_));
-    EndAction(PRECONDITION_FAILED);
-    return;
-  }
-
-  FillFormWithData();
-}
-
-void AutofillAction::EndAction(ProcessedActionStatusProto status) {
-  EndAction(ClientStatus(status));
-}
-
-void AutofillAction::EndAction(const ClientStatus& status) {
-  UpdateProcessedAction(status);
-  std::move(process_action_callback_).Run(std::move(processed_action_proto_));
-}
-
-void AutofillAction::FillFormWithData() {
-  delegate_->ShortWaitForElement(
-      selector_, base::BindOnce(&AutofillAction::OnWaitForElement,
-                                weak_ptr_factory_.GetWeakPtr()));
-}
-
-void AutofillAction::OnWaitForElement(bool element_found) {
-  if (!element_found) {
-    EndAction(ELEMENT_RESOLUTION_FAILED);
-    return;
-  }
-
-  DCHECK(!selector_.empty());
-  if (is_autofill_card_) {
-    delegate_->GetFullCard(base::BindOnce(&AutofillAction::OnGetFullCard,
-                                          weak_ptr_factory_.GetWeakPtr()));
-    return;
-  }
-
-  DVLOG(3) << "Retrieving address from client memory under '" << name_ << "'.";
-  const autofill::AutofillProfile* profile =
-      delegate_->GetClientMemory()->selected_address(name_);
-  DCHECK(profile);
-  auto fallback_data = std::make_unique<FallbackData>();
-  fallback_data->profile = profile;
-  delegate_->FillAddressForm(
-      profile, selector_,
-      base::BindOnce(&AutofillAction::OnFormFilled,
-                     weak_ptr_factory_.GetWeakPtr(), std::move(fallback_data)));
-}
-
-void AutofillAction::OnGetFullCard(std::unique_ptr<autofill::CreditCard> card,
-                                   const base::string16& cvc) {
-  if (!card) {
-    EndAction(GET_FULL_CARD_FAILED);
-    return;
-  }
-
-  auto fallback_data = std::make_unique<FallbackData>();
-  fallback_data->cvc = base::UTF16ToUTF8(cvc);
-  fallback_data->expiration_month = card->expiration_month();
-  fallback_data->expiration_year = card->expiration_year();
-
-  delegate_->FillCardForm(
-      std::move(card), cvc, selector_,
-      base::BindOnce(&AutofillAction::OnFormFilled,
-                     weak_ptr_factory_.GetWeakPtr(), std::move(fallback_data)));
-}
-
-void AutofillAction::OnFormFilled(std::unique_ptr<FallbackData> fallback_data,
-                                  const ClientStatus& status) {
-  // In case Autofill failed, we fail the action.
-  if (!status.ok()) {
-    EndAction(status);
-    return;
-  }
-  CheckRequiredFields(std::move(fallback_data));
-}
-
-void AutofillAction::CheckRequiredFields(
-    std::unique_ptr<FallbackData> fallback_data) {
-  // If there are no required fields, finish the action successfully.
-  if (required_fields_.empty()) {
-    EndAction(ACTION_APPLIED);
-    return;
-  }
-
-  DCHECK(!batch_element_checker_);
-  batch_element_checker_ = std::make_unique<BatchElementChecker>();
-  for (size_t i = 0; i < required_fields_.size(); i++) {
-    if (required_fields_[i].forced)
-      continue;
-
-    batch_element_checker_->AddFieldValueCheck(
-        required_fields_[i].selector,
-        base::BindOnce(&AutofillAction::OnGetRequiredFieldValue,
-                       weak_ptr_factory_.GetWeakPtr(), i));
-  }
-  batch_element_checker_->AddAllDoneCallback(
-      base::BindOnce(&AutofillAction::OnCheckRequiredFieldsDone,
-                     weak_ptr_factory_.GetWeakPtr(), std::move(fallback_data)));
-  delegate_->RunElementChecks(batch_element_checker_.get());
-}
-
-void AutofillAction::OnGetRequiredFieldValue(size_t required_fields_index,
-                                             bool exists,
-                                             const std::string& value) {
-  required_fields_[required_fields_index].status =
-      value.empty() ? EMPTY : NOT_EMPTY;
-}
-
-void AutofillAction::OnCheckRequiredFieldsDone(
-    std::unique_ptr<FallbackData> fallback_data) {
-  batch_element_checker_.reset();
-
-  // We process all fields with an empty value in order to perform the fallback
-  // on all those fields, if any.
-  bool should_fallback = false;
-  for (const RequiredField& required_field : required_fields_) {
-    if (required_field.ShouldFallback(fallback_data != nullptr)) {
-      should_fallback = true;
-      break;
-    }
-  }
-
-  if (!should_fallback) {
-    EndAction(ACTION_APPLIED);
-    return;
-  }
-
-  if (!fallback_data) {
-    // Validation failed and we don't want to try the fallback.
-    EndAction(MANUAL_FALLBACK);
-    return;
-  }
-
-  // If there are any fallbacks for the empty fields, set them, otherwise fail
-  // immediately.
-  bool has_fallbacks = false;
-  for (const RequiredField& required_field : required_fields_) {
-    if (!required_field.ShouldFallback(/* has_fallback_data= */ true))
-      continue;
-
-    if (!GetFallbackValue(required_field, *fallback_data).empty()) {
-      has_fallbacks = true;
-    }
-  }
-  if (!has_fallbacks) {
-    EndAction(MANUAL_FALLBACK);
-    return;
-  }
-
-  // Set the fallback values and check again.
-  SetFallbackFieldValuesSequentially(0, std::move(fallback_data));
-}
-
-void AutofillAction::SetFallbackFieldValuesSequentially(
-    size_t required_fields_index,
-    std::unique_ptr<FallbackData> fallback_data) {
-  // Skip non-empty fields.
-  while (required_fields_index < required_fields_.size() &&
-         !required_fields_[required_fields_index].ShouldFallback(
-             fallback_data != nullptr)) {
-    required_fields_index++;
-  }
-
-  // If there are no more fields to set, check the required fields again,
-  // but this time we don't want to try the fallback in case of failure.
-  if (required_fields_index >= required_fields_.size()) {
-    DCHECK_EQ(required_fields_index, required_fields_.size());
-
-    CheckRequiredFields(/* fallback_data= */ nullptr);
-    return;
-  }
-
-  // Set the next field to its fallback value.
-  const RequiredField& required_field = required_fields_[required_fields_index];
-  std::string fallback_value = GetFallbackValue(required_field, *fallback_data);
-  if (fallback_value.empty()) {
-    DVLOG(3) << "No fallback for " << required_field.selector;
-    // If there is no fallback value, we skip this failed field.
-    SetFallbackFieldValuesSequentially(++required_fields_index,
-                                       std::move(fallback_data));
-    return;
-  }
-  DVLOG(3) << "Setting fallback value for " << required_field.selector;
-
-  delegate_->SetFieldValue(
-      required_field.selector, fallback_value,
-      required_field.simulate_key_presses, required_field.delay_in_millisecond,
-      base::BindOnce(&AutofillAction::OnSetFallbackFieldValue,
-                     weak_ptr_factory_.GetWeakPtr(), required_fields_index,
-                     std::move(fallback_data)));
-}
-
-void AutofillAction::OnSetFallbackFieldValue(
-    size_t required_fields_index,
-    std::unique_ptr<FallbackData> fallback_data,
-    const ClientStatus& status) {
-  if (!status.ok()) {
-    // Fallback failed: we stop the script without checking the fields.
-    EndAction(MANUAL_FALLBACK);
-    return;
-  }
-  SetFallbackFieldValuesSequentially(++required_fields_index,
-                                     std::move(fallback_data));
-}
-
-std::string AutofillAction::GetFallbackValue(
-    const RequiredField& required_field,
-    const FallbackData& fallback_data) {
-  if (required_field.address_field !=
-          UseAddressProto::RequiredField::UNDEFINED &&
-      fallback_data.profile) {
-    return base::UTF16ToUTF8(GetAddressFieldValue(
-        fallback_data.profile, required_field.address_field));
-  }
-  if (required_field.card_field !=
-      UseCreditCardProto::RequiredField::UNDEFINED) {
-    return GetCreditCardFieldValue(required_field.card_field, fallback_data);
-  }
-  NOTREACHED() << "Unsupported field type for " << required_field.selector;
-  return "";
-}
-
-std::string AutofillAction::GetCreditCardFieldValue(
-    UseCreditCardProto::RequiredField::CardField field,
-    const FallbackData& fallback_data) {
-  switch (field) {
-    case UseCreditCardProto::RequiredField::CREDIT_CARD_VERIFICATION_CODE:
-      return fallback_data.cvc;
-
-    case UseCreditCardProto::RequiredField::CREDIT_CARD_EXP_MONTH:
-      if (fallback_data.expiration_month > 0)
-        return base::StringPrintf("%02d", fallback_data.expiration_month);
-      break;
-
-    case UseCreditCardProto::RequiredField::CREDIT_CARD_EXP_2_DIGIT_YEAR:
-      if (fallback_data.expiration_year > 0)
-        return base::StringPrintf("%02d", fallback_data.expiration_year % 100);
-      break;
-
-    case UseCreditCardProto::RequiredField::CREDIT_CARD_EXP_4_DIGIT_YEAR:
-      if (fallback_data.expiration_year > 0)
-        return base::NumberToString(fallback_data.expiration_year);
-      break;
-
-    case UseCreditCardProto::RequiredField::UNDEFINED:
-      NOTREACHED();
-      return "";
-  }
-  return "";
-}
-
-base::string16 AutofillAction::GetAddressFieldValue(
-    const autofill::AutofillProfile* profile,
-    const UseAddressProto::RequiredField::AddressField& address_field) {
-  // TODO(crbug.com/806868): Get the actual application locale.
-  std::string app_locale = "en-US";
-  switch (address_field) {
-    case UseAddressProto::RequiredField::FIRST_NAME:
-      return profile->GetInfo(autofill::NAME_FIRST, app_locale);
-    case UseAddressProto::RequiredField::LAST_NAME:
-      return profile->GetInfo(autofill::NAME_LAST, app_locale);
-    case UseAddressProto::RequiredField::FULL_NAME:
-      return profile->GetInfo(autofill::NAME_FULL, app_locale);
-    case UseAddressProto::RequiredField::PHONE_NUMBER:
-      return profile->GetInfo(autofill::PHONE_HOME_WHOLE_NUMBER, app_locale);
-    case UseAddressProto::RequiredField::EMAIL:
-      return profile->GetInfo(autofill::EMAIL_ADDRESS, app_locale);
-    case UseAddressProto::RequiredField::ORGANIZATION:
-      return profile->GetInfo(autofill::COMPANY_NAME, app_locale);
-    case UseAddressProto::RequiredField::COUNTRY_CODE:
-      return profile->GetInfo(autofill::ADDRESS_HOME_COUNTRY, app_locale);
-    case UseAddressProto::RequiredField::REGION:
-      return profile->GetInfo(autofill::ADDRESS_HOME_STATE, app_locale);
-    case UseAddressProto::RequiredField::STREET_ADDRESS:
-      return profile->GetInfo(autofill::ADDRESS_HOME_STREET_ADDRESS,
-                              app_locale);
-    case UseAddressProto::RequiredField::LOCALITY:
-      return profile->GetInfo(autofill::ADDRESS_HOME_CITY, app_locale);
-    case UseAddressProto::RequiredField::DEPENDANT_LOCALITY:
-      return profile->GetInfo(autofill::ADDRESS_HOME_DEPENDENT_LOCALITY,
-                              app_locale);
-    case UseAddressProto::RequiredField::POSTAL_CODE:
-      return profile->GetInfo(autofill::ADDRESS_HOME_ZIP, app_locale);
-    case UseAddressProto::RequiredField::UNDEFINED:
-      NOTREACHED();
-      return base::string16();
-  }
-}
-}  // namespace autofill_assistant
diff --git a/components/autofill_assistant/browser/actions/autofill_action.h b/components/autofill_assistant/browser/actions/autofill_action.h
deleted file mode 100644
index 327a55a1..0000000
--- a/components/autofill_assistant/browser/actions/autofill_action.h
+++ /dev/null
@@ -1,158 +0,0 @@
-// Copyright 2018 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_AUTOFILL_ASSISTANT_BROWSER_ACTIONS_AUTOFILL_ACTION_H_
-#define COMPONENTS_AUTOFILL_ASSISTANT_BROWSER_ACTIONS_AUTOFILL_ACTION_H_
-
-#include <memory>
-#include <string>
-#include <vector>
-
-#include "base/callback.h"
-#include "base/macros.h"
-#include "base/memory/weak_ptr.h"
-#include "components/autofill_assistant/browser/actions/action.h"
-#include "components/autofill_assistant/browser/batch_element_checker.h"
-
-namespace autofill {
-class AutofillProfile;
-class CreditCard;
-}  // namespace autofill
-
-namespace autofill_assistant {
-class ClientStatus;
-
-// An action to autofill a form using a local address or credit card.
-class AutofillAction : public Action {
- public:
-  explicit AutofillAction(ActionDelegate* delegate, const ActionProto& proto);
-  ~AutofillAction() override;
-
- private:
-  enum FieldValueStatus { UNKNOWN, EMPTY, NOT_EMPTY };
-  struct RequiredField {
-    Selector selector;
-    bool simulate_key_presses = false;
-    int delay_in_millisecond = 0;
-    bool forced = false;
-    FieldValueStatus status = UNKNOWN;
-
-    // When filling in credit card, card_field must be set. When filling in
-    // address, address_field must be set.
-    UseCreditCardProto::RequiredField::CardField card_field =
-        UseCreditCardProto::RequiredField::UNDEFINED;
-    UseAddressProto::RequiredField::AddressField address_field =
-        UseAddressProto::RequiredField::UNDEFINED;
-
-    // Returns true if fallback is required for this field.
-    bool ShouldFallback(bool has_fallback_data) const {
-      return status == EMPTY || (forced && has_fallback_data);
-    }
-  };
-
-  // Data necessary for filling in the fallback fields. This is kept in a
-  // separate struct to make sure we don't keep it for longer than strictly
-  // necessary.
-  struct FallbackData {
-    FallbackData() = default;
-    ~FallbackData() = default;
-
-    // Profile for UseAddress fallback.
-    const autofill::AutofillProfile* profile = nullptr;
-
-    // Card information for UseCreditCard fallback.
-    std::string cvc;
-    int expiration_year = 0;
-    int expiration_month = 0;
-
-   private:
-    DISALLOW_COPY_AND_ASSIGN(FallbackData);
-  };
-
-  // Overrides Action:
-  void InternalProcessAction(ProcessActionCallback callback) override;
-
-  void EndAction(ProcessedActionStatusProto status);
-  void EndAction(const ClientStatus& status);
-
-  // Fill the form using data in client memory. Return whether filling succeeded
-  // or not through OnAddressFormFilled or OnCardFormFilled.
-  void FillFormWithData();
-  void OnWaitForElement(bool element_found);
-
-  // Called after getting full credit card with its cvc.
-  void OnGetFullCard(std::unique_ptr<autofill::CreditCard> card,
-                     const base::string16& cvc);
-
-  // Called when the form, credit card or address, has been filled.
-  void OnFormFilled(std::unique_ptr<FallbackData> fallback_data,
-                    const ClientStatus& status);
-
-  // Check whether all required fields have a non-empty value. If it is the
-  // case, finish the action successfully. If it's not and |fallback_data|
-  // is null, fail the action. If |fallback_data| is non-null, use it to attempt
-  // to fill the failed fields without Autofill.
-  void CheckRequiredFields(std::unique_ptr<FallbackData> fallback_data);
-
-  // Triggers the check for a specific field.
-  void CheckRequiredFieldsSequentially(
-      bool allow_fallback,
-      size_t required_fields_index,
-      std::unique_ptr<FallbackData> fallback_data);
-
-  // Updates |required_fields_value_status_|.
-  void OnGetRequiredFieldValue(size_t required_fields_index,
-                               bool exists,
-                               const std::string& value);
-
-  // Called when all required fields have been checked.
-  void OnCheckRequiredFieldsDone(std::unique_ptr<FallbackData> fallback_data);
-
-  // Gets the fallback value.
-  std::string GetFallbackValue(const RequiredField& required_field,
-                               const FallbackData& fallback_data);
-
-  // Gets the value of |field| from |fallback_data|, if available. Returns an
-  // empty string otherwise.
-  std::string GetCreditCardFieldValue(
-      UseCreditCardProto::RequiredField::CardField field,
-      const FallbackData& fallback_data);
-
-  // Get the value of |address_field| associated to profile |profile|. Return
-  // empty string if there is no data available.
-  base::string16 GetAddressFieldValue(
-      const autofill::AutofillProfile* profile,
-      const UseAddressProto::RequiredField::AddressField& address_field);
-
-  // Sets fallback field values for empty fields from
-  // |required_fields_value_status_|.
-  void SetFallbackFieldValuesSequentially(
-      size_t required_fields_index,
-      std::unique_ptr<FallbackData> fallback_data);
-
-  // Called after trying to set form values without Autofill in case of fallback
-  // after failed validation.
-  void OnSetFallbackFieldValue(size_t required_fields_index,
-                               std::unique_ptr<FallbackData> fallback_data,
-                               const ClientStatus& status);
-
-  // Usage of the autofilled address. Ignored if autofilling a card.
-  std::string name_;
-  std::string prompt_;
-  Selector selector_;
-
-  // True if autofilling a card, otherwise we are autofilling an address.
-  bool is_autofill_card_;
-  std::vector<RequiredField> required_fields_;
-
-  std::unique_ptr<BatchElementChecker> batch_element_checker_;
-
-  ProcessActionCallback process_action_callback_;
-  base::WeakPtrFactory<AutofillAction> weak_ptr_factory_{this};
-
-  DISALLOW_COPY_AND_ASSIGN(AutofillAction);
-};
-
-}  // namespace autofill_assistant
-#endif  // COMPONENTS_AUTOFILL_ASSISTANT_BROWSER_ACTIONS_AUTOFILL_ACTION_H_
diff --git a/components/autofill_assistant/browser/actions/autofill_action_unittest.cc b/components/autofill_assistant/browser/actions/autofill_action_unittest.cc
deleted file mode 100644
index 6e782ef..0000000
--- a/components/autofill_assistant/browser/actions/autofill_action_unittest.cc
+++ /dev/null
@@ -1,459 +0,0 @@
-// Copyright 2018 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/autofill_assistant/browser/actions/autofill_action.h"
-
-#include <utility>
-
-#include "base/guid.h"
-#include "base/strings/utf_string_conversions.h"
-#include "base/test/gmock_callback_support.h"
-#include "base/test/mock_callback.h"
-#include "components/autofill/core/browser/autofill_test_utils.h"
-#include "components/autofill/core/browser/data_model/autofill_profile.h"
-#include "components/autofill_assistant/browser/actions/mock_action_delegate.h"
-#include "components/autofill_assistant/browser/mock_personal_data_manager.h"
-#include "components/autofill_assistant/browser/web/mock_web_controller.h"
-#include "testing/gmock/include/gmock/gmock.h"
-
-namespace autofill_assistant {
-namespace {
-
-using ::base::test::RunOnceCallback;
-using ::testing::_;
-using ::testing::Eq;
-using ::testing::Expectation;
-using ::testing::InSequence;
-using ::testing::Invoke;
-using ::testing::NotNull;
-using ::testing::Return;
-using ::testing::SaveArgPointee;
-
-class AutofillActionTest : public testing::Test {
- public:
-  void SetUp() override {
-    // Build two identical autofill profiles. One for the memory, one for the
-    // mock.
-    auto autofill_profile = std::make_unique<autofill::AutofillProfile>(
-        base::GenerateGUID(), autofill::test::kEmptyOrigin);
-    autofill::test::SetProfileInfo(autofill_profile.get(), kFirstName, "",
-                                   kLastName, kEmail, "", "", "", "", "", "",
-                                   "", "");
-    autofill::test::SetProfileInfo(&autofill_profile_, kFirstName, "",
-                                   kLastName, kEmail, "", "", "", "", "", "",
-                                   "", "");
-    client_memory_.set_selected_address(kAddressName,
-                                        std::move(autofill_profile));
-
-    ON_CALL(mock_personal_data_manager_, GetProfileByGUID)
-        .WillByDefault(Return(&autofill_profile_));
-    ON_CALL(mock_action_delegate_, GetClientMemory)
-        .WillByDefault(Return(&client_memory_));
-    ON_CALL(mock_action_delegate_, GetPersonalDataManager)
-        .WillByDefault(Return(&mock_personal_data_manager_));
-    ON_CALL(mock_action_delegate_, RunElementChecks)
-        .WillByDefault(Invoke([this](BatchElementChecker* checker) {
-          checker->Run(&mock_web_controller_);
-        }));
-    ON_CALL(mock_action_delegate_, OnShortWaitForElement(_, _))
-        .WillByDefault(RunOnceCallback<1>(true));
-  }
-
- protected:
-  const char* const kAddressName = "billing";
-  const char* const kFakeSelector = "#selector";
-  const char* const kSelectionPrompt = "prompt";
-  const char* const kFirstName = "FirstName";
-  const char* const kLastName = "LastName";
-  const char* const kEmail = "foobar@gmail.com";
-
-  ActionProto CreateUseAddressAction() {
-    ActionProto action;
-    UseAddressProto* use_address = action.mutable_use_address();
-    use_address->set_name(kAddressName);
-    use_address->mutable_form_field_element()->add_selectors(kFakeSelector);
-    return action;
-  }
-
-  ActionProto CreateUseCreditCardAction() {
-    ActionProto action;
-    action.mutable_use_card()->mutable_form_field_element()->add_selectors(
-        kFakeSelector);
-    return action;
-  }
-
-  UseAddressProto::RequiredField* AddRequiredField(
-      ActionProto* action,
-      UseAddressProto::RequiredField::AddressField type,
-      std::string selector) {
-    auto* required_field = action->mutable_use_address()->add_required_fields();
-    required_field->set_address_field(type);
-    required_field->mutable_element()->add_selectors(selector);
-    return required_field;
-  }
-
-  UseCreditCardProto::RequiredField* AddRequiredField(
-      ActionProto* action,
-      UseCreditCardProto::RequiredField::CardField type,
-      std::string selector) {
-    auto* required_field = action->mutable_use_card()->add_required_fields();
-    required_field->set_card_field(type);
-    required_field->mutable_element()->add_selectors(selector);
-    return required_field;
-  }
-
-  ActionProto CreateUseCardAction() {
-    ActionProto action;
-    UseCreditCardProto* use_card = action.mutable_use_card();
-    use_card->mutable_form_field_element()->add_selectors(kFakeSelector);
-    return action;
-  }
-
-  ProcessedActionStatusProto ProcessAction(const ActionProto& action_proto) {
-    AutofillAction action(&mock_action_delegate_, action_proto);
-    ProcessedActionProto capture;
-    EXPECT_CALL(callback_, Run(_)).WillOnce(SaveArgPointee<0>(&capture));
-    action.ProcessAction(callback_.Get());
-    return capture.status();
-  }
-
-  base::MockCallback<Action::ProcessActionCallback> callback_;
-  MockPersonalDataManager mock_personal_data_manager_;
-  MockActionDelegate mock_action_delegate_;
-  MockWebController mock_web_controller_;
-  ClientMemory client_memory_;
-
-  autofill::AutofillProfile autofill_profile_;
-};
-
-#if !defined(OS_ANDROID)
-#define MAYBE_FillManually FillManually
-#else
-#define MAYBE_FillManually DISABLED_FillManually
-#endif
-TEST_F(AutofillActionTest, MAYBE_FillManually) {
-  InSequence seq;
-
-  ActionProto action_proto = CreateUseAddressAction();
-  action_proto.mutable_use_address()->set_prompt(kSelectionPrompt);
-
-  EXPECT_EQ(ProcessedActionStatusProto::MANUAL_FALLBACK,
-            ProcessAction(action_proto));
-}
-
-TEST_F(AutofillActionTest, NoSelectedAddress) {
-  InSequence seq;
-
-  ActionProto action_proto = CreateUseAddressAction();
-  action_proto.mutable_use_address()->set_prompt(kSelectionPrompt);
-
-  client_memory_.set_selected_address(kAddressName, nullptr);
-
-  EXPECT_EQ(ProcessedActionStatusProto::PRECONDITION_FAILED,
-            ProcessAction(action_proto));
-}
-
-TEST_F(AutofillActionTest, PreconditionFailedPopulatesUnexpectedErrorInfo) {
-  InSequence seq;
-
-  ActionProto action_proto = CreateUseAddressAction();
-  action_proto.mutable_use_address()->set_prompt(kSelectionPrompt);
-  client_memory_.set_selected_address(kAddressName, nullptr);
-  client_memory_.set_selected_address("one_more", nullptr);
-
-  AutofillAction action(&mock_action_delegate_, action_proto);
-
-  ProcessedActionProto processed_action;
-  EXPECT_CALL(callback_, Run(_)).WillOnce(SaveArgPointee<0>(&processed_action));
-  action.ProcessAction(callback_.Get());
-
-  EXPECT_EQ(ProcessedActionStatusProto::PRECONDITION_FAILED,
-            processed_action.status());
-  const auto& error_info =
-      processed_action.status_details().autofill_error_info();
-  EXPECT_EQ(base::JoinString({kAddressName, "one_more"}, ","),
-            error_info.client_memory_address_key_names());
-  EXPECT_EQ(kAddressName, error_info.address_key_requested());
-  EXPECT_TRUE(error_info.address_pointee_was_null());
-}
-
-TEST_F(AutofillActionTest, ShortWaitForElementVisible) {
-  EXPECT_CALL(
-      mock_action_delegate_,
-      OnShortWaitForElement(Selector({kFakeSelector}).MustBeVisible(), _))
-      .WillOnce(RunOnceCallback<1>(true));
-
-  ActionProto action_proto = CreateUseAddressAction();
-  // Autofill succeeds.
-  EXPECT_CALL(mock_action_delegate_, OnFillAddressForm(NotNull(), _, _))
-      .WillOnce(RunOnceCallback<2>(OkClientStatus()));
-
-  // Validation succeeds.
-  ON_CALL(mock_web_controller_, OnGetFieldValue(_, _))
-      .WillByDefault(RunOnceCallback<1>(true, "not empty"));
-
-  EXPECT_EQ(ProcessedActionStatusProto::ACTION_APPLIED,
-            ProcessAction(action_proto));
-}
-
-TEST_F(AutofillActionTest, ValidationSucceeds) {
-  InSequence seq;
-
-  ActionProto action_proto = CreateUseAddressAction();
-  AddRequiredField(&action_proto, UseAddressProto::RequiredField::FIRST_NAME,
-                   "#first_name");
-  AddRequiredField(&action_proto, UseAddressProto::RequiredField::LAST_NAME,
-                   "#last_name");
-  AddRequiredField(&action_proto, UseAddressProto::RequiredField::EMAIL,
-                   "#email");
-
-  // Autofill succeeds.
-  EXPECT_CALL(mock_action_delegate_,
-              OnFillAddressForm(
-                  NotNull(), Eq(Selector({kFakeSelector}).MustBeVisible()), _))
-      .WillOnce(RunOnceCallback<2>(OkClientStatus()));
-
-  // Validation succeeds.
-  ON_CALL(mock_web_controller_, OnGetFieldValue(_, _))
-      .WillByDefault(RunOnceCallback<1>(true, "not empty"));
-
-  EXPECT_EQ(ProcessedActionStatusProto::ACTION_APPLIED,
-            ProcessAction(action_proto));
-}
-
-TEST_F(AutofillActionTest, FallbackFails) {
-  InSequence seq;
-
-  ActionProto action_proto = CreateUseAddressAction();
-  AddRequiredField(&action_proto, UseAddressProto::RequiredField::FIRST_NAME,
-                   "#first_name");
-  AddRequiredField(&action_proto, UseAddressProto::RequiredField::LAST_NAME,
-                   "#last_name");
-  AddRequiredField(&action_proto, UseAddressProto::RequiredField::EMAIL,
-                   "#email");
-
-  // Autofill succeeds.
-  EXPECT_CALL(mock_action_delegate_,
-              OnFillAddressForm(
-                  NotNull(), Eq(Selector({kFakeSelector}).MustBeVisible()), _))
-      .WillOnce(RunOnceCallback<2>(OkClientStatus()));
-
-  // Validation fails when getting FIRST_NAME.
-  EXPECT_CALL(mock_web_controller_,
-              OnGetFieldValue(Eq(Selector({"#email"})), _))
-      .WillOnce(RunOnceCallback<1>(true, "not empty"));
-  EXPECT_CALL(mock_web_controller_,
-              OnGetFieldValue(Eq(Selector({"#first_name"})), _))
-      .WillOnce(RunOnceCallback<1>(true, ""));
-  EXPECT_CALL(mock_web_controller_,
-              OnGetFieldValue(Eq(Selector({"#last_name"})), _))
-      .WillOnce(RunOnceCallback<1>(true, "not empty"));
-
-  // Fallback fails.
-  EXPECT_CALL(mock_action_delegate_,
-              OnSetFieldValue(Eq(Selector({"#first_name"})), kFirstName, _))
-      .WillOnce(RunOnceCallback<2>(ClientStatus(OTHER_ACTION_STATUS)));
-
-  EXPECT_EQ(ProcessedActionStatusProto::MANUAL_FALLBACK,
-            ProcessAction(action_proto));
-}
-
-TEST_F(AutofillActionTest, FallbackSucceeds) {
-  InSequence seq;
-
-  ActionProto action_proto = CreateUseAddressAction();
-  AddRequiredField(&action_proto, UseAddressProto::RequiredField::FIRST_NAME,
-                   "#first_name");
-  AddRequiredField(&action_proto, UseAddressProto::RequiredField::LAST_NAME,
-                   "#last_name");
-  AddRequiredField(&action_proto, UseAddressProto::RequiredField::EMAIL,
-                   "#email");
-
-  // Autofill succeeds.
-  EXPECT_CALL(mock_action_delegate_,
-              OnFillAddressForm(
-                  NotNull(), Eq(Selector({kFakeSelector}).MustBeVisible()), _))
-      .WillOnce(RunOnceCallback<2>(OkClientStatus()));
-
-  {
-    InSequence seq;
-
-    // Validation fails when getting FIRST_NAME.
-    EXPECT_CALL(mock_web_controller_,
-                OnGetFieldValue(Eq(Selector({"#email"})), _))
-        .WillOnce(RunOnceCallback<1>(true, "not empty"));
-    EXPECT_CALL(mock_web_controller_,
-                OnGetFieldValue(Eq(Selector({"#first_name"})), _))
-        .WillOnce(RunOnceCallback<1>(true, ""));
-    EXPECT_CALL(mock_web_controller_,
-                OnGetFieldValue(Eq(Selector({"#last_name"})), _))
-        .WillOnce(RunOnceCallback<1>(true, "not empty"));
-
-    // Fallback succeeds.
-    EXPECT_CALL(mock_action_delegate_,
-                OnSetFieldValue(Eq(Selector({"#first_name"})), kFirstName, _))
-        .WillOnce(RunOnceCallback<2>(OkClientStatus()));
-
-    // Second validation succeeds.
-    EXPECT_CALL(mock_web_controller_, OnGetFieldValue(_, _))
-        .WillRepeatedly(RunOnceCallback<1>(true, "not empty"));
-  }
-  EXPECT_EQ(ProcessedActionStatusProto::ACTION_APPLIED,
-            ProcessAction(action_proto));
-}
-
-TEST_F(AutofillActionTest, FillCreditCardNoCardSelected) {
-  ActionProto action = CreateUseCreditCardAction();
-  EXPECT_EQ(ProcessedActionStatusProto::PRECONDITION_FAILED,
-            ProcessAction(action));
-}
-
-TEST_F(AutofillActionTest, FillCreditCard) {
-  ActionProto action = CreateUseCreditCardAction();
-
-  autofill::CreditCard credit_card;
-  client_memory_.set_selected_card(
-      std::make_unique<autofill::CreditCard>(credit_card));
-  EXPECT_CALL(mock_action_delegate_, OnGetFullCard(_))
-      .WillOnce(RunOnceCallback<0>(credit_card, base::UTF8ToUTF16("123")));
-  EXPECT_CALL(mock_action_delegate_,
-              OnFillCardForm(_, base::UTF8ToUTF16("123"),
-                             Selector({kFakeSelector}).MustBeVisible(), _))
-      .WillOnce(RunOnceCallback<3>(OkClientStatus()));
-
-  EXPECT_EQ(ProcessedActionStatusProto::ACTION_APPLIED, ProcessAction(action));
-}
-
-TEST_F(AutofillActionTest, FillCreditCardRequiredFieldsFilled) {
-  // Validation succeeds.
-  ON_CALL(mock_web_controller_, OnGetFieldValue(_, _))
-      .WillByDefault(RunOnceCallback<1>(true, "not empty"));
-
-  ActionProto action = CreateUseCreditCardAction();
-  AddRequiredField(
-      &action, UseCreditCardProto::RequiredField::CREDIT_CARD_VERIFICATION_CODE,
-      "#cvc");
-  AddRequiredField(&action,
-                   UseCreditCardProto::RequiredField::CREDIT_CARD_EXP_MONTH,
-                   "#expmonth");
-
-  autofill::CreditCard credit_card;
-  client_memory_.set_selected_card(
-      std::make_unique<autofill::CreditCard>(credit_card));
-  EXPECT_CALL(mock_action_delegate_, OnGetFullCard(_))
-      .WillOnce(RunOnceCallback<0>(credit_card, base::UTF8ToUTF16("123")));
-  EXPECT_CALL(mock_action_delegate_,
-              OnFillCardForm(_, base::UTF8ToUTF16("123"),
-                             Selector({kFakeSelector}).MustBeVisible(), _))
-      .WillOnce(RunOnceCallback<3>(OkClientStatus()));
-
-  EXPECT_EQ(ProcessedActionStatusProto::ACTION_APPLIED, ProcessAction(action));
-}
-
-TEST_F(AutofillActionTest, FillCreditCardWithFallback) {
-  ActionProto action = CreateUseCreditCardAction();
-  AddRequiredField(
-      &action, UseCreditCardProto::RequiredField::CREDIT_CARD_VERIFICATION_CODE,
-      "#cvc");
-  AddRequiredField(&action,
-                   UseCreditCardProto::RequiredField::CREDIT_CARD_EXP_MONTH,
-                   "#expmonth");
-  AddRequiredField(
-      &action, UseCreditCardProto::RequiredField::CREDIT_CARD_EXP_2_DIGIT_YEAR,
-      "#expyear2");
-  AddRequiredField(
-      &action, UseCreditCardProto::RequiredField::CREDIT_CARD_EXP_4_DIGIT_YEAR,
-      "#expyear4");
-
-  // First validation fails.
-  EXPECT_CALL(mock_web_controller_, OnGetFieldValue(Selector({"#cvc"}), _))
-      .WillOnce(RunOnceCallback<1>(true, ""));
-  EXPECT_CALL(mock_web_controller_, OnGetFieldValue(Selector({"#expmonth"}), _))
-      .WillOnce(RunOnceCallback<1>(true, ""));
-  EXPECT_CALL(mock_web_controller_, OnGetFieldValue(Selector({"#expyear2"}), _))
-      .WillOnce(RunOnceCallback<1>(true, ""));
-  EXPECT_CALL(mock_web_controller_, OnGetFieldValue(Selector({"#expyear4"}), _))
-      .WillOnce(RunOnceCallback<1>(true, ""));
-
-  // Expect fields to be filled
-  Expectation set_cvc =
-      EXPECT_CALL(mock_action_delegate_,
-                  OnSetFieldValue(Selector({"#cvc"}), "123", _))
-          .WillOnce(RunOnceCallback<2>(OkClientStatus()));
-  Expectation set_expmonth =
-      EXPECT_CALL(mock_action_delegate_,
-                  OnSetFieldValue(Selector({"#expmonth"}), "09", _))
-          .WillOnce(RunOnceCallback<2>(OkClientStatus()));
-  Expectation set_expyear2 =
-      EXPECT_CALL(mock_action_delegate_,
-                  OnSetFieldValue(Selector({"#expyear2"}), "24", _))
-          .WillOnce(RunOnceCallback<2>(OkClientStatus()));
-  Expectation set_expyear4 =
-      EXPECT_CALL(mock_action_delegate_,
-                  OnSetFieldValue(Selector({"#expyear4"}), "2024", _))
-          .WillOnce(RunOnceCallback<2>(OkClientStatus()));
-
-  // After fallback, second validation succeeds.
-  EXPECT_CALL(mock_web_controller_, OnGetFieldValue(Selector({"#cvc"}), _))
-      .After(set_cvc)
-      .WillOnce(RunOnceCallback<1>(true, "not empty"));
-  EXPECT_CALL(mock_web_controller_, OnGetFieldValue(Selector({"#expmonth"}), _))
-      .After(set_expmonth)
-      .WillOnce(RunOnceCallback<1>(true, "not empty"));
-  EXPECT_CALL(mock_web_controller_, OnGetFieldValue(Selector({"#expyear2"}), _))
-      .After(set_expyear2)
-      .WillOnce(RunOnceCallback<1>(true, "not empty"));
-  EXPECT_CALL(mock_web_controller_, OnGetFieldValue(Selector({"#expyear4"}), _))
-      .After(set_expyear4)
-      .WillOnce(RunOnceCallback<1>(true, "not empty"));
-
-  autofill::CreditCard credit_card;
-  credit_card.SetExpirationMonth(9);
-  credit_card.SetExpirationYear(2024);
-  client_memory_.set_selected_card(
-      std::make_unique<autofill::CreditCard>(credit_card));
-  EXPECT_CALL(mock_action_delegate_, OnGetFullCard(_))
-      .WillOnce(RunOnceCallback<0>(credit_card, base::UTF8ToUTF16("123")));
-  EXPECT_CALL(mock_action_delegate_,
-              OnFillCardForm(_, base::UTF8ToUTF16("123"),
-                             Selector({kFakeSelector}).MustBeVisible(), _))
-      .WillOnce(RunOnceCallback<3>(OkClientStatus()));
-
-  EXPECT_EQ(ProcessedActionStatusProto::ACTION_APPLIED, ProcessAction(action));
-}
-
-TEST_F(AutofillActionTest, ForcedFallback) {
-  ActionProto action = CreateUseCreditCardAction();
-  auto* cvc_required = AddRequiredField(
-      &action, UseCreditCardProto::RequiredField::CREDIT_CARD_VERIFICATION_CODE,
-      "#cvc");
-  cvc_required->set_forced(true);
-  cvc_required->set_simulate_key_presses(true);
-  cvc_required->set_delay_in_millisecond(1000);
-
-  // No field is ever empty
-  ON_CALL(mock_web_controller_, OnGetFieldValue(_, _))
-      .WillByDefault(RunOnceCallback<1>(true, "not empty"));
-
-  // But we still want the CVC filled, with simulated keypresses.
-  Expectation set_cvc =
-      EXPECT_CALL(mock_action_delegate_,
-                  OnSetFieldValue(Selector({"#cvc"}), "123", true, 1000, _))
-          .WillOnce(RunOnceCallback<4>(OkClientStatus()));
-
-  autofill::CreditCard credit_card;
-  client_memory_.set_selected_card(
-      std::make_unique<autofill::CreditCard>(credit_card));
-  EXPECT_CALL(mock_action_delegate_, OnGetFullCard(_))
-      .WillOnce(RunOnceCallback<0>(credit_card, base::UTF8ToUTF16("123")));
-  EXPECT_CALL(mock_action_delegate_,
-              OnFillCardForm(_, base::UTF8ToUTF16("123"),
-                             Selector({kFakeSelector}).MustBeVisible(), _))
-      .WillOnce(RunOnceCallback<3>(OkClientStatus()));
-
-  EXPECT_EQ(ProcessedActionStatusProto::ACTION_APPLIED, ProcessAction(action));
-}
-
-}  // namespace
-}  // namespace autofill_assistant
diff --git a/components/autofill_assistant/browser/actions/click_action.cc b/components/autofill_assistant/browser/actions/click_action.cc
index a26f48c..b96e0ed 100644
--- a/components/autofill_assistant/browser/actions/click_action.cc
+++ b/components/autofill_assistant/browser/actions/click_action.cc
@@ -9,6 +9,7 @@
 #include "base/bind.h"
 #include "base/callback.h"
 #include "components/autofill_assistant/browser/actions/action_delegate.h"
+#include "components/autofill_assistant/browser/client_status.h"
 #include "components/autofill_assistant/browser/service.pb.h"
 
 namespace autofill_assistant {
@@ -49,9 +50,9 @@
 
 void ClickAction::OnWaitForElement(ProcessActionCallback callback,
                                    const Selector& selector,
-                                   bool element_found) {
-  if (!element_found) {
-    UpdateProcessedAction(ELEMENT_RESOLUTION_FAILED);
+                                   const ClientStatus& element_status) {
+  if (!element_status.ok()) {
+    UpdateProcessedAction(element_status.proto_status());
     std::move(callback).Run(std::move(processed_action_proto_));
     return;
   }
diff --git a/components/autofill_assistant/browser/actions/click_action.h b/components/autofill_assistant/browser/actions/click_action.h
index 5c2b6af..ecd21c25 100644
--- a/components/autofill_assistant/browser/actions/click_action.h
+++ b/components/autofill_assistant/browser/actions/click_action.h
@@ -29,7 +29,7 @@
 
   void OnWaitForElement(ProcessActionCallback callback,
                         const Selector& selector,
-                        bool element_found);
+                        const ClientStatus& element_status);
   void OnClick(ProcessActionCallback callback, const ClientStatus& status);
 
   ClickType click_type_;
diff --git a/components/autofill_assistant/browser/actions/focus_element_action.cc b/components/autofill_assistant/browser/actions/focus_element_action.cc
index 44efa8d..8d3b3d2 100644
--- a/components/autofill_assistant/browser/actions/focus_element_action.cc
+++ b/components/autofill_assistant/browser/actions/focus_element_action.cc
@@ -10,6 +10,7 @@
 #include "base/bind.h"
 #include "base/callback.h"
 #include "components/autofill_assistant/browser/actions/action_delegate.h"
+#include "components/autofill_assistant/browser/client_status.h"
 #include "components/autofill_assistant/browser/service.pb.h"
 
 namespace autofill_assistant {
@@ -61,9 +62,9 @@
 void FocusElementAction::OnWaitForElement(ProcessActionCallback callback,
                                           const Selector& selector,
                                           const TopPadding& top_padding,
-                                          bool element_found) {
-  if (!element_found) {
-    UpdateProcessedAction(ELEMENT_RESOLUTION_FAILED);
+                                          const ClientStatus& element_status) {
+  if (!element_status.ok()) {
+    UpdateProcessedAction(element_status.proto_status());
     std::move(callback).Run(std::move(processed_action_proto_));
     return;
   }
diff --git a/components/autofill_assistant/browser/actions/focus_element_action.h b/components/autofill_assistant/browser/actions/focus_element_action.h
index 145f692..cc7b665 100644
--- a/components/autofill_assistant/browser/actions/focus_element_action.h
+++ b/components/autofill_assistant/browser/actions/focus_element_action.h
@@ -27,7 +27,7 @@
   void OnWaitForElement(ProcessActionCallback callback,
                         const Selector& selector,
                         const TopPadding& top_padding,
-                        bool element_found);
+                        const ClientStatus& element_status);
   void OnFocusElement(ProcessActionCallback callback,
                       const ClientStatus& status);
 
diff --git a/components/autofill_assistant/browser/actions/highlight_element_action.cc b/components/autofill_assistant/browser/actions/highlight_element_action.cc
index 5c549006e..765bcd7 100644
--- a/components/autofill_assistant/browser/actions/highlight_element_action.cc
+++ b/components/autofill_assistant/browser/actions/highlight_element_action.cc
@@ -9,6 +9,7 @@
 #include "base/bind.h"
 #include "base/callback.h"
 #include "components/autofill_assistant/browser/actions/action_delegate.h"
+#include "components/autofill_assistant/browser/client_status.h"
 
 namespace autofill_assistant {
 
@@ -36,11 +37,12 @@
                                std::move(callback), selector));
 }
 
-void HighlightElementAction::OnWaitForElement(ProcessActionCallback callback,
-                                              const Selector& selector,
-                                              bool element_found) {
-  if (!element_found) {
-    UpdateProcessedAction(ELEMENT_RESOLUTION_FAILED);
+void HighlightElementAction::OnWaitForElement(
+    ProcessActionCallback callback,
+    const Selector& selector,
+    const ClientStatus& element_status) {
+  if (!element_status.ok()) {
+    UpdateProcessedAction(element_status.proto_status());
     std::move(callback).Run(std::move(processed_action_proto_));
     return;
   }
diff --git a/components/autofill_assistant/browser/actions/highlight_element_action.h b/components/autofill_assistant/browser/actions/highlight_element_action.h
index 9b08300..6720f31 100644
--- a/components/autofill_assistant/browser/actions/highlight_element_action.h
+++ b/components/autofill_assistant/browser/actions/highlight_element_action.h
@@ -29,7 +29,7 @@
 
   void OnWaitForElement(ProcessActionCallback callback,
                         const Selector& selector,
-                        bool element_found);
+                        const ClientStatus& element_status);
   void OnHighlightElement(ProcessActionCallback callback,
                           const ClientStatus& status);
 
diff --git a/components/autofill_assistant/browser/actions/mock_action_delegate.h b/components/autofill_assistant/browser/actions/mock_action_delegate.h
index c708be31..d2271c8c 100644
--- a/components/autofill_assistant/browser/actions/mock_action_delegate.h
+++ b/components/autofill_assistant/browser/actions/mock_action_delegate.h
@@ -28,31 +28,33 @@
 
   MOCK_METHOD1(RunElementChecks, void(BatchElementChecker*));
 
-  void ShortWaitForElement(const Selector& selector,
-                           base::OnceCallback<void(bool)> callback) override {
+  void ShortWaitForElement(
+      const Selector& selector,
+      base::OnceCallback<void(const ClientStatus&)> callback) override {
     OnShortWaitForElement(selector, callback);
   }
 
   MOCK_METHOD2(OnShortWaitForElement,
-               void(const Selector& selector, base::OnceCallback<void(bool)>&));
+               void(const Selector& selector,
+                    base::OnceCallback<void(const ClientStatus&)>&));
 
   void WaitForDom(
       base::TimeDelta max_wait_time,
       bool allow_interrupt,
-      base::RepeatingCallback<void(BatchElementChecker*,
-                                   base::OnceCallback<void(bool)>)>
-          check_elements,
-      base::OnceCallback<void(ProcessedActionStatusProto)> callback) override {
+      base::RepeatingCallback<
+          void(BatchElementChecker*,
+               base::OnceCallback<void(const ClientStatus&)>)> check_elements,
+      base::OnceCallback<void(const ClientStatus&)> callback) override {
     OnWaitForDom(max_wait_time, allow_interrupt, check_elements, callback);
   }
 
-  MOCK_METHOD4(
-      OnWaitForDom,
-      void(base::TimeDelta,
-           bool,
-           base::RepeatingCallback<void(BatchElementChecker*,
-                                        base::OnceCallback<void(bool)>)>&,
-           base::OnceCallback<void(ProcessedActionStatusProto)>&));
+  MOCK_METHOD4(OnWaitForDom,
+               void(base::TimeDelta,
+                    bool,
+                    base::RepeatingCallback<
+                        void(BatchElementChecker*,
+                             base::OnceCallback<void(const ClientStatus&)>)>&,
+                    base::OnceCallback<void(const ClientStatus&)>&));
 
   MOCK_METHOD1(SetStatusMessage, void(const std::string& message));
   MOCK_METHOD0(GetStatusMessage, std::string());
@@ -131,16 +133,16 @@
     OnGetFullCard(transformed_callback);
   }
 
-  void GetFieldValue(
-      const Selector& selector,
-      base::OnceCallback<void(bool, const std::string&)> callback) {
+  void GetFieldValue(const Selector& selector,
+                     base::OnceCallback<void(const ClientStatus&,
+                                             const std::string&)> callback) {
     OnGetFieldValue(selector, callback);
   }
 
-  MOCK_METHOD2(
-      OnGetFieldValue,
-      void(const Selector& selector,
-           base::OnceCallback<void(bool, const std::string&)>& callback));
+  MOCK_METHOD2(OnGetFieldValue,
+               void(const Selector& selector,
+                    base::OnceCallback<void(const ClientStatus&,
+                                            const std::string&)>& callback));
 
   void SetFieldValue(const Selector& selector,
                      const std::string& value,
diff --git a/components/autofill_assistant/browser/actions/prompt_action.cc b/components/autofill_assistant/browser/actions/prompt_action.cc
index 4ac8e2c..9de12bc 100644
--- a/components/autofill_assistant/browser/actions/prompt_action.cc
+++ b/components/autofill_assistant/browser/actions/prompt_action.cc
@@ -152,8 +152,10 @@
   delegate_->RunElementChecks(auto_select_checker_.get());
 }
 
-void PromptAction::OnAutoSelectElementExists(int choice_index, bool exists) {
-  if (exists)
+void PromptAction::OnAutoSelectElementExists(
+    int choice_index,
+    const ClientStatus& element_status) {
+  if (element_status.ok())
     auto_select_choice_index_ = choice_index;
 
   // Calling OnSuggestionChosen() is delayed until try_done, as it indirectly
diff --git a/components/autofill_assistant/browser/actions/prompt_action.h b/components/autofill_assistant/browser/actions/prompt_action.h
index f166292..b93e0e7 100644
--- a/components/autofill_assistant/browser/actions/prompt_action.h
+++ b/components/autofill_assistant/browser/actions/prompt_action.h
@@ -40,7 +40,8 @@
   void UpdateUserActions();
   bool HasAutoSelect();
   void CheckAutoSelect();
-  void OnAutoSelectElementExists(int choice_index, bool exists);
+  void OnAutoSelectElementExists(int choice_index,
+                                 const ClientStatus& element_status);
   void OnAutoSelectDone();
   void OnSuggestionChosen(int choice_index);
 
diff --git a/components/autofill_assistant/browser/actions/prompt_action_unittest.cc b/components/autofill_assistant/browser/actions/prompt_action_unittest.cc
index 009a4513..cb81c388 100644
--- a/components/autofill_assistant/browser/actions/prompt_action_unittest.cc
+++ b/components/autofill_assistant/browser/actions/prompt_action_unittest.cc
@@ -37,9 +37,9 @@
 
   void SetUp() override {
     ON_CALL(mock_web_controller_, OnElementCheck(_, _))
-        .WillByDefault(RunOnceCallback<1>(false));
+        .WillByDefault(RunOnceCallback<1>(ClientStatus()));
     ON_CALL(mock_web_controller_, OnGetFieldValue(_, _))
-        .WillByDefault(RunOnceCallback<1>(false, ""));
+        .WillByDefault(RunOnceCallback<1>(ClientStatus(), ""));
 
     ON_CALL(mock_action_delegate_, RunElementChecks)
         .WillByDefault(Invoke([this](BatchElementChecker* checker) {
@@ -146,13 +146,13 @@
 
   EXPECT_CALL(mock_web_controller_,
               OnElementCheck(Eq(Selector({"element"})), _))
-      .WillRepeatedly(RunOnceCallback<1>(true));
+      .WillRepeatedly(RunOnceCallback<1>(OkClientStatus()));
   task_env_.FastForwardBy(base::TimeDelta::FromSeconds(1));
   ASSERT_THAT(user_actions_, Pointee(SizeIs(1)));
 
   EXPECT_CALL(mock_web_controller_,
               OnElementCheck(Eq(Selector({"element"})), _))
-      .WillRepeatedly(RunOnceCallback<1>(false));
+      .WillRepeatedly(RunOnceCallback<1>(ClientStatus()));
   task_env_.FastForwardBy(base::TimeDelta::FromSeconds(1));
   ASSERT_THAT(user_actions_, Pointee(IsEmpty()));
 }
@@ -170,14 +170,14 @@
 
   EXPECT_CALL(mock_web_controller_,
               OnElementCheck(Eq(Selector({"element"})), _))
-      .WillRepeatedly(RunOnceCallback<1>(true));
+      .WillRepeatedly(RunOnceCallback<1>(OkClientStatus()));
   task_env_.FastForwardBy(base::TimeDelta::FromSeconds(1));
   ASSERT_THAT(user_actions_, Pointee(SizeIs(1)));
   EXPECT_TRUE((*user_actions_)[0].enabled());
 
   EXPECT_CALL(mock_web_controller_,
               OnElementCheck(Eq(Selector({"element"})), _))
-      .WillRepeatedly(RunOnceCallback<1>(false));
+      .WillRepeatedly(RunOnceCallback<1>(ClientStatus()));
   task_env_.FastForwardBy(base::TimeDelta::FromSeconds(1));
   ASSERT_THAT(user_actions_, Pointee(SizeIs(1)));
   EXPECT_FALSE((*user_actions_)[0].enabled());
@@ -196,7 +196,7 @@
 
   EXPECT_CALL(mock_web_controller_,
               OnElementCheck(Eq(Selector({"element"})), _))
-      .WillRepeatedly(RunOnceCallback<1>(true));
+      .WillRepeatedly(RunOnceCallback<1>(OkClientStatus()));
 
   EXPECT_CALL(mock_action_delegate_, CancelPrompt());
   EXPECT_CALL(
@@ -226,7 +226,7 @@
 
   EXPECT_CALL(mock_web_controller_,
               OnElementCheck(Eq(Selector({"element"})), _))
-      .WillRepeatedly(RunOnceCallback<1>(true));
+      .WillRepeatedly(RunOnceCallback<1>(OkClientStatus()));
   EXPECT_CALL(
       callback_,
       Run(Pointee(AllOf(Property(&ProcessedActionProto::status, ACTION_APPLIED),
diff --git a/components/autofill_assistant/browser/actions/select_option_action.cc b/components/autofill_assistant/browser/actions/select_option_action.cc
index 3c9b96ff..f488fa6 100644
--- a/components/autofill_assistant/browser/actions/select_option_action.cc
+++ b/components/autofill_assistant/browser/actions/select_option_action.cc
@@ -9,6 +9,7 @@
 #include "base/bind.h"
 #include "base/callback.h"
 #include "components/autofill_assistant/browser/actions/action_delegate.h"
+#include "components/autofill_assistant/browser/client_status.h"
 
 namespace autofill_assistant {
 
@@ -45,9 +46,9 @@
 
 void SelectOptionAction::OnWaitForElement(ProcessActionCallback callback,
                                           const Selector& selector,
-                                          bool element_found) {
-  if (!element_found) {
-    UpdateProcessedAction(ELEMENT_RESOLUTION_FAILED);
+                                          const ClientStatus& element_status) {
+  if (!element_status.ok()) {
+    UpdateProcessedAction(element_status.proto_status());
     std::move(callback).Run(std::move(processed_action_proto_));
     return;
   }
diff --git a/components/autofill_assistant/browser/actions/select_option_action.h b/components/autofill_assistant/browser/actions/select_option_action.h
index 7da3615..ca632c4 100644
--- a/components/autofill_assistant/browser/actions/select_option_action.h
+++ b/components/autofill_assistant/browser/actions/select_option_action.h
@@ -27,7 +27,7 @@
 
   void OnWaitForElement(ProcessActionCallback callback,
                         const Selector& selector,
-                        bool element_found);
+                        const ClientStatus& element_status);
   void OnSelectOption(ProcessActionCallback callback,
                       const ClientStatus& status);
 
diff --git a/components/autofill_assistant/browser/actions/set_attribute_action.cc b/components/autofill_assistant/browser/actions/set_attribute_action.cc
index 7e72315..42733cb 100644
--- a/components/autofill_assistant/browser/actions/set_attribute_action.cc
+++ b/components/autofill_assistant/browser/actions/set_attribute_action.cc
@@ -9,6 +9,7 @@
 #include "base/bind.h"
 #include "base/callback.h"
 #include "components/autofill_assistant/browser/actions/action_delegate.h"
+#include "components/autofill_assistant/browser/client_status.h"
 
 namespace autofill_assistant {
 
@@ -37,9 +38,9 @@
 
 void SetAttributeAction::OnWaitForElement(ProcessActionCallback callback,
                                           const Selector& selector,
-                                          bool element_found) {
-  if (!element_found) {
-    UpdateProcessedAction(ELEMENT_RESOLUTION_FAILED);
+                                          const ClientStatus& element_status) {
+  if (!element_status.ok()) {
+    UpdateProcessedAction(element_status.proto_status());
     std::move(callback).Run(std::move(processed_action_proto_));
     return;
   }
diff --git a/components/autofill_assistant/browser/actions/set_attribute_action.h b/components/autofill_assistant/browser/actions/set_attribute_action.h
index 57b3f9d..7bb43d2 100644
--- a/components/autofill_assistant/browser/actions/set_attribute_action.h
+++ b/components/autofill_assistant/browser/actions/set_attribute_action.h
@@ -27,7 +27,7 @@
 
   void OnWaitForElement(ProcessActionCallback callback,
                         const Selector& selector,
-                        bool element_found);
+                        const ClientStatus& element_status);
   void OnSetAttribute(ProcessActionCallback callback,
                       const ClientStatus& status);
 
diff --git a/components/autofill_assistant/browser/actions/set_form_field_value_action.cc b/components/autofill_assistant/browser/actions/set_form_field_value_action.cc
index 7abd2a8..10beaf3 100644
--- a/components/autofill_assistant/browser/actions/set_form_field_value_action.cc
+++ b/components/autofill_assistant/browser/actions/set_form_field_value_action.cc
@@ -112,9 +112,10 @@
                                 weak_ptr_factory_.GetWeakPtr()));
 }
 
-void SetFormFieldValueAction::OnWaitForElement(bool element_found) {
-  if (!element_found) {
-    EndAction(ClientStatus(ELEMENT_RESOLUTION_FAILED));
+void SetFormFieldValueAction::OnWaitForElement(
+    const ClientStatus& element_status) {
+  if (!element_status.ok()) {
+    EndAction(ClientStatus(element_status.proto_status()));
     return;
   }
   // Start with first value, then call OnSetFieldValue() recursively until done.
@@ -181,10 +182,10 @@
 void SetFormFieldValueAction::OnGetFieldValue(
     int field_index,
     const std::string& requested_value,
-    bool get_value_status,
+    const ClientStatus& element_status,
     const std::string& actual_value) {
   // Move to next value if |GetFieldValue| failed.
-  if (!get_value_status) {
+  if (!element_status.ok()) {
     OnSetFieldValue(field_index + 1, OkClientStatus());
     return;
   }
diff --git a/components/autofill_assistant/browser/actions/set_form_field_value_action.h b/components/autofill_assistant/browser/actions/set_form_field_value_action.h
index 77398be7..adfbf7b9 100644
--- a/components/autofill_assistant/browser/actions/set_form_field_value_action.h
+++ b/components/autofill_assistant/browser/actions/set_form_field_value_action.h
@@ -50,11 +50,11 @@
   // Overrides Action:
   void InternalProcessAction(ProcessActionCallback callback) override;
 
-  void OnWaitForElement(bool element_found);
+  void OnWaitForElement(const ClientStatus& element_status);
 
   void OnGetFieldValue(int field_index,
                        const std::string& requested_value,
-                       bool status,
+                       const ClientStatus& element_status,
                        const std::string& actual_value);
 
   void OnSetFieldValue(int next, const ClientStatus& status);
diff --git a/components/autofill_assistant/browser/actions/set_form_field_value_action_unittest.cc b/components/autofill_assistant/browser/actions/set_form_field_value_action_unittest.cc
index 9abee9a..10534d6 100644
--- a/components/autofill_assistant/browser/actions/set_form_field_value_action_unittest.cc
+++ b/components/autofill_assistant/browser/actions/set_form_field_value_action_unittest.cc
@@ -44,7 +44,7 @@
     ON_CALL(mock_action_delegate_, GetWebsiteLoginFetcher)
         .WillByDefault(Return(&mock_website_login_fetcher_));
     ON_CALL(mock_action_delegate_, OnShortWaitForElement(_, _))
-        .WillByDefault(RunOnceCallback<1>(true));
+        .WillByDefault(RunOnceCallback<1>(OkClientStatus()));
     ON_CALL(mock_action_delegate_, OnSetFieldValue(_, _, _, _, _))
         .WillByDefault(RunOnceCallback<4>(OkClientStatus()));
 
@@ -118,7 +118,7 @@
   value->set_use_username(true);
   SetFormFieldValueAction action(&mock_action_delegate_, proto_);
   ON_CALL(mock_action_delegate_, OnGetFieldValue(_, _))
-      .WillByDefault(RunOnceCallback<1>(true, kFakeUsername));
+      .WillByDefault(RunOnceCallback<1>(OkClientStatus(), kFakeUsername));
   EXPECT_CALL(mock_action_delegate_,
               OnSetFieldValue(fake_selector_, kFakeUsername, _, _, _))
       .WillOnce(RunOnceCallback<4>(OkClientStatus()));
@@ -134,7 +134,7 @@
   value->set_use_password(true);
   SetFormFieldValueAction action(&mock_action_delegate_, proto_);
   ON_CALL(mock_action_delegate_, OnGetFieldValue(_, _))
-      .WillByDefault(RunOnceCallback<1>(true, kFakePassword));
+      .WillByDefault(RunOnceCallback<1>(OkClientStatus(), kFakePassword));
   EXPECT_CALL(mock_action_delegate_,
               OnSetFieldValue(fake_selector_, kFakePassword, _, _, _))
       .WillOnce(RunOnceCallback<4>(OkClientStatus()));
@@ -180,7 +180,7 @@
   value->set_text("SomeText𠜎");
   SetFormFieldValueAction action(&mock_action_delegate_, proto_);
   ON_CALL(mock_action_delegate_, OnGetFieldValue(_, _))
-      .WillByDefault(RunOnceCallback<1>(true, "SomeText𠜎"));
+      .WillByDefault(RunOnceCallback<1>(OkClientStatus(), "SomeText𠜎"));
   EXPECT_CALL(mock_action_delegate_,
               OnSetFieldValue(fake_selector_, "SomeText𠜎", _, _, _))
       .WillOnce(RunOnceCallback<4>(OkClientStatus()));
@@ -198,7 +198,7 @@
   SetFormFieldValueAction action(&mock_action_delegate_, proto_);
 
   ON_CALL(mock_action_delegate_, OnGetFieldValue(_, _))
-      .WillByDefault(RunOnceCallback<1>(true, ""));
+      .WillByDefault(RunOnceCallback<1>(OkClientStatus(), ""));
 
   {
     InSequence seq;
@@ -226,7 +226,7 @@
   value->set_use_password(true);
   SetFormFieldValueAction action(&mock_action_delegate_, proto_);
   ON_CALL(mock_action_delegate_, OnGetFieldValue(_, _))
-      .WillByDefault(RunOnceCallback<1>(true, kFakePassword));
+      .WillByDefault(RunOnceCallback<1>(OkClientStatus(), kFakePassword));
   action.ProcessAction(callback_.Get());
   EXPECT_TRUE(action.field_inputs_.empty());
 }
diff --git a/components/autofill_assistant/browser/actions/upload_dom_action.cc b/components/autofill_assistant/browser/actions/upload_dom_action.cc
index a339b62..9d3c8a20 100644
--- a/components/autofill_assistant/browser/actions/upload_dom_action.cc
+++ b/components/autofill_assistant/browser/actions/upload_dom_action.cc
@@ -36,9 +36,9 @@
 
 void UploadDomAction::OnWaitForElement(ProcessActionCallback callback,
                                        const Selector& selector,
-                                       bool element_found) {
-  if (!element_found) {
-    UpdateProcessedAction(ELEMENT_RESOLUTION_FAILED);
+                                       const ClientStatus& element_status) {
+  if (!element_status.ok()) {
+    UpdateProcessedAction(element_status.proto_status());
     std::move(callback).Run(std::move(processed_action_proto_));
     return;
   }
diff --git a/components/autofill_assistant/browser/actions/upload_dom_action.h b/components/autofill_assistant/browser/actions/upload_dom_action.h
index 1d757f7..1d0cc50 100644
--- a/components/autofill_assistant/browser/actions/upload_dom_action.h
+++ b/components/autofill_assistant/browser/actions/upload_dom_action.h
@@ -24,7 +24,7 @@
 
   void OnWaitForElement(ProcessActionCallback callback,
                         const Selector& selector,
-                        bool element_found);
+                        const ClientStatus& element_status);
   void OnGetOuterHtml(ProcessActionCallback callback,
                       const ClientStatus& status,
                       const std::string& outer_html);
diff --git a/components/autofill_assistant/browser/actions/use_address_action.cc b/components/autofill_assistant/browser/actions/use_address_action.cc
new file mode 100644
index 0000000..646cd2f
--- /dev/null
+++ b/components/autofill_assistant/browser/actions/use_address_action.cc
@@ -0,0 +1,297 @@
+// Copyright 2018 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/autofill_assistant/browser/actions/use_address_action.h"
+
+#include <utility>
+#include <vector>
+
+#include "base/bind.h"
+#include "base/callback.h"
+#include "base/strings/string_number_conversions.h"
+#include "base/strings/stringprintf.h"
+#include "base/strings/utf_string_conversions.h"
+#include "base/time/time.h"
+#include "components/autofill/core/browser/data_model/autofill_profile.h"
+#include "components/autofill_assistant/browser/actions/action_delegate.h"
+#include "components/autofill_assistant/browser/batch_element_checker.h"
+#include "components/autofill_assistant/browser/client_memory.h"
+#include "components/autofill_assistant/browser/client_status.h"
+
+namespace autofill_assistant {
+
+UseAddressAction::UseAddressAction(ActionDelegate* delegate,
+                                   const ActionProto& proto)
+    : Action(delegate, proto) {
+  DCHECK(proto.has_use_address());
+  prompt_ = proto.use_address().prompt();
+  name_ = proto.use_address().name();
+  for (const auto& required_field_proto :
+       proto_.use_address().required_fields()) {
+    required_fields_.emplace_back();
+    RequiredField& required_field = required_fields_.back();
+    required_field.address_field = required_field_proto.address_field();
+    required_field.selector = Selector(required_field_proto.element());
+    required_field.simulate_key_presses =
+        required_field_proto.simulate_key_presses();
+    required_field.delay_in_millisecond =
+        required_field_proto.delay_in_millisecond();
+    required_field.forced = required_field_proto.forced();
+  }
+
+  selector_ = Selector(proto.use_address().form_field_element());
+  selector_.MustBeVisible();
+  DCHECK(!selector_.empty());
+}
+
+UseAddressAction::~UseAddressAction() = default;
+
+void UseAddressAction::InternalProcessAction(
+    ProcessActionCallback action_callback) {
+  process_action_callback_ = std::move(action_callback);
+
+  // Ensure data already selected in a previous action.
+  auto* client_memory = delegate_->GetClientMemory();
+  if (!client_memory->has_selected_address(name_)) {
+    auto* error_info = processed_action_proto_->mutable_status_details()
+                           ->mutable_autofill_error_info();
+    error_info->set_address_key_requested(name_);
+    error_info->set_client_memory_address_key_names(
+        client_memory->GetAllAddressKeyNames());
+    error_info->set_address_pointee_was_null(
+        !client_memory->has_selected_address(name_) ||
+        !client_memory->selected_address(name_));
+    EndAction(PRECONDITION_FAILED);
+    return;
+  }
+
+  FillFormWithData();
+}
+
+void UseAddressAction::EndAction(ProcessedActionStatusProto status) {
+  EndAction(ClientStatus(status));
+}
+
+void UseAddressAction::EndAction(const ClientStatus& status) {
+  UpdateProcessedAction(status);
+  std::move(process_action_callback_).Run(std::move(processed_action_proto_));
+}
+
+void UseAddressAction::FillFormWithData() {
+  delegate_->ShortWaitForElement(
+      selector_, base::BindOnce(&UseAddressAction::OnWaitForElement,
+                                weak_ptr_factory_.GetWeakPtr()));
+}
+
+void UseAddressAction::OnWaitForElement(const ClientStatus& element_status) {
+  if (!element_status.ok()) {
+    EndAction(element_status.proto_status());
+    return;
+  }
+
+  DCHECK(!selector_.empty());
+  DVLOG(3) << "Retrieving address from client memory under '" << name_ << "'.";
+  const autofill::AutofillProfile* profile =
+      delegate_->GetClientMemory()->selected_address(name_);
+  DCHECK(profile);
+  auto fallback_data = std::make_unique<FallbackData>();
+  fallback_data->profile = profile;
+  delegate_->FillAddressForm(
+      profile, selector_,
+      base::BindOnce(&UseAddressAction::OnFormFilled,
+                     weak_ptr_factory_.GetWeakPtr(), std::move(fallback_data)));
+}
+
+void UseAddressAction::OnFormFilled(std::unique_ptr<FallbackData> fallback_data,
+                                    const ClientStatus& status) {
+  // In case Autofill failed, we fail the action.
+  if (!status.ok()) {
+    EndAction(status);
+    return;
+  }
+  CheckRequiredFields(std::move(fallback_data));
+}
+
+void UseAddressAction::CheckRequiredFields(
+    std::unique_ptr<FallbackData> fallback_data) {
+  // If there are no required fields, finish the action successfully.
+  if (required_fields_.empty()) {
+    EndAction(ACTION_APPLIED);
+    return;
+  }
+
+  DCHECK(!batch_element_checker_);
+  batch_element_checker_ = std::make_unique<BatchElementChecker>();
+  for (size_t i = 0; i < required_fields_.size(); i++) {
+    if (required_fields_[i].forced)
+      continue;
+
+    batch_element_checker_->AddFieldValueCheck(
+        required_fields_[i].selector,
+        base::BindOnce(&UseAddressAction::OnGetRequiredFieldValue,
+                       weak_ptr_factory_.GetWeakPtr(), i));
+  }
+  batch_element_checker_->AddAllDoneCallback(
+      base::BindOnce(&UseAddressAction::OnCheckRequiredFieldsDone,
+                     weak_ptr_factory_.GetWeakPtr(), std::move(fallback_data)));
+  delegate_->RunElementChecks(batch_element_checker_.get());
+}
+
+void UseAddressAction::OnGetRequiredFieldValue(
+    size_t required_fields_index,
+    const ClientStatus& element_status,
+    const std::string& value) {
+  required_fields_[required_fields_index].status =
+      value.empty() ? EMPTY : NOT_EMPTY;
+}
+
+void UseAddressAction::OnCheckRequiredFieldsDone(
+    std::unique_ptr<FallbackData> fallback_data) {
+  batch_element_checker_.reset();
+
+  // We process all fields with an empty value in order to perform the fallback
+  // on all those fields, if any.
+  bool should_fallback = false;
+  for (const RequiredField& required_field : required_fields_) {
+    if (required_field.ShouldFallback(fallback_data != nullptr)) {
+      should_fallback = true;
+      break;
+    }
+  }
+
+  if (!should_fallback) {
+    EndAction(ACTION_APPLIED);
+    return;
+  }
+
+  if (!fallback_data) {
+    // Validation failed and we don't want to try the fallback.
+    EndAction(MANUAL_FALLBACK);
+    return;
+  }
+
+  // If there are any fallbacks for the empty fields, set them, otherwise fail
+  // immediately.
+  bool has_fallbacks = false;
+  for (const RequiredField& required_field : required_fields_) {
+    if (!required_field.ShouldFallback(/* has_fallback_data= */ true))
+      continue;
+
+    if (!GetFallbackValue(required_field, *fallback_data).empty()) {
+      has_fallbacks = true;
+    }
+  }
+  if (!has_fallbacks) {
+    EndAction(MANUAL_FALLBACK);
+    return;
+  }
+
+  // Set the fallback values and check again.
+  SetFallbackFieldValuesSequentially(0, std::move(fallback_data));
+}
+
+void UseAddressAction::SetFallbackFieldValuesSequentially(
+    size_t required_fields_index,
+    std::unique_ptr<FallbackData> fallback_data) {
+  // Skip non-empty fields.
+  while (required_fields_index < required_fields_.size() &&
+         !required_fields_[required_fields_index].ShouldFallback(
+             fallback_data != nullptr)) {
+    required_fields_index++;
+  }
+
+  // If there are no more fields to set, check the required fields again,
+  // but this time we don't want to try the fallback in case of failure.
+  if (required_fields_index >= required_fields_.size()) {
+    DCHECK_EQ(required_fields_index, required_fields_.size());
+
+    CheckRequiredFields(/* fallback_data= */ nullptr);
+    return;
+  }
+
+  // Set the next field to its fallback value.
+  const RequiredField& required_field = required_fields_[required_fields_index];
+  std::string fallback_value = GetFallbackValue(required_field, *fallback_data);
+  if (fallback_value.empty()) {
+    DVLOG(3) << "No fallback for " << required_field.selector;
+    // If there is no fallback value, we skip this failed field.
+    SetFallbackFieldValuesSequentially(++required_fields_index,
+                                       std::move(fallback_data));
+    return;
+  }
+  DVLOG(3) << "Setting fallback value for " << required_field.selector;
+
+  delegate_->SetFieldValue(
+      required_field.selector, fallback_value,
+      required_field.simulate_key_presses, required_field.delay_in_millisecond,
+      base::BindOnce(&UseAddressAction::OnSetFallbackFieldValue,
+                     weak_ptr_factory_.GetWeakPtr(), required_fields_index,
+                     std::move(fallback_data)));
+}
+
+void UseAddressAction::OnSetFallbackFieldValue(
+    size_t required_fields_index,
+    std::unique_ptr<FallbackData> fallback_data,
+    const ClientStatus& status) {
+  if (!status.ok()) {
+    // Fallback failed: we stop the script without checking the fields.
+    EndAction(MANUAL_FALLBACK);
+    return;
+  }
+  SetFallbackFieldValuesSequentially(++required_fields_index,
+                                     std::move(fallback_data));
+}
+
+std::string UseAddressAction::GetFallbackValue(
+    const RequiredField& required_field,
+    const FallbackData& fallback_data) {
+  if (required_field.address_field !=
+          UseAddressProto::RequiredField::UNDEFINED &&
+      fallback_data.profile) {
+    return base::UTF16ToUTF8(GetAddressFieldValue(
+        fallback_data.profile, required_field.address_field));
+  }
+
+  NOTREACHED() << "Unsupported field type for " << required_field.selector;
+  return "";
+}
+
+base::string16 UseAddressAction::GetAddressFieldValue(
+    const autofill::AutofillProfile* profile,
+    const UseAddressProto::RequiredField::AddressField& address_field) {
+  // TODO(crbug.com/806868): Get the actual application locale.
+  std::string app_locale = "en-US";
+  switch (address_field) {
+    case UseAddressProto::RequiredField::FIRST_NAME:
+      return profile->GetInfo(autofill::NAME_FIRST, app_locale);
+    case UseAddressProto::RequiredField::LAST_NAME:
+      return profile->GetInfo(autofill::NAME_LAST, app_locale);
+    case UseAddressProto::RequiredField::FULL_NAME:
+      return profile->GetInfo(autofill::NAME_FULL, app_locale);
+    case UseAddressProto::RequiredField::PHONE_NUMBER:
+      return profile->GetInfo(autofill::PHONE_HOME_WHOLE_NUMBER, app_locale);
+    case UseAddressProto::RequiredField::EMAIL:
+      return profile->GetInfo(autofill::EMAIL_ADDRESS, app_locale);
+    case UseAddressProto::RequiredField::ORGANIZATION:
+      return profile->GetInfo(autofill::COMPANY_NAME, app_locale);
+    case UseAddressProto::RequiredField::COUNTRY_CODE:
+      return profile->GetInfo(autofill::ADDRESS_HOME_COUNTRY, app_locale);
+    case UseAddressProto::RequiredField::REGION:
+      return profile->GetInfo(autofill::ADDRESS_HOME_STATE, app_locale);
+    case UseAddressProto::RequiredField::STREET_ADDRESS:
+      return profile->GetInfo(autofill::ADDRESS_HOME_STREET_ADDRESS,
+                              app_locale);
+    case UseAddressProto::RequiredField::LOCALITY:
+      return profile->GetInfo(autofill::ADDRESS_HOME_CITY, app_locale);
+    case UseAddressProto::RequiredField::DEPENDANT_LOCALITY:
+      return profile->GetInfo(autofill::ADDRESS_HOME_DEPENDENT_LOCALITY,
+                              app_locale);
+    case UseAddressProto::RequiredField::POSTAL_CODE:
+      return profile->GetInfo(autofill::ADDRESS_HOME_ZIP, app_locale);
+    case UseAddressProto::RequiredField::UNDEFINED:
+      NOTREACHED();
+      return base::string16();
+  }
+}
+}  // namespace autofill_assistant
diff --git a/components/autofill_assistant/browser/actions/use_address_action.h b/components/autofill_assistant/browser/actions/use_address_action.h
new file mode 100644
index 0000000..2d28c13
--- /dev/null
+++ b/components/autofill_assistant/browser/actions/use_address_action.h
@@ -0,0 +1,137 @@
+// Copyright 2018 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_AUTOFILL_ASSISTANT_BROWSER_ACTIONS_USE_ADDRESS_ACTION_H_
+#define COMPONENTS_AUTOFILL_ASSISTANT_BROWSER_ACTIONS_USE_ADDRESS_ACTION_H_
+
+#include <memory>
+#include <string>
+#include <vector>
+
+#include "base/callback.h"
+#include "base/macros.h"
+#include "base/memory/weak_ptr.h"
+#include "components/autofill_assistant/browser/actions/action.h"
+#include "components/autofill_assistant/browser/batch_element_checker.h"
+
+namespace autofill {
+class AutofillProfile;
+}  // namespace autofill
+
+namespace autofill_assistant {
+class ClientStatus;
+
+// An action to autofill a form using a local address.
+class UseAddressAction : public Action {
+ public:
+  explicit UseAddressAction(ActionDelegate* delegate, const ActionProto& proto);
+  ~UseAddressAction() override;
+
+ private:
+  enum FieldValueStatus { UNKNOWN, EMPTY, NOT_EMPTY };
+  struct RequiredField {
+    Selector selector;
+    bool simulate_key_presses = false;
+    int delay_in_millisecond = 0;
+    bool forced = false;
+    FieldValueStatus status = UNKNOWN;
+
+    // When filling in address, address_field must be set.
+    UseAddressProto::RequiredField::AddressField address_field =
+        UseAddressProto::RequiredField::UNDEFINED;
+
+    // Returns true if fallback is required for this field.
+    bool ShouldFallback(bool has_fallback_data) const {
+      return status == EMPTY || (forced && has_fallback_data);
+    }
+  };
+
+  // Data necessary for filling in the fallback fields. This is kept in a
+  // separate struct to make sure we don't keep it for longer than strictly
+  // necessary.
+  struct FallbackData {
+    FallbackData() = default;
+    ~FallbackData() = default;
+
+    // Profile for UseAddress fallback.
+    const autofill::AutofillProfile* profile = nullptr;
+
+   private:
+    DISALLOW_COPY_AND_ASSIGN(FallbackData);
+  };
+
+  // Overrides Action:
+  void InternalProcessAction(ProcessActionCallback callback) override;
+
+  void EndAction(ProcessedActionStatusProto status);
+  void EndAction(const ClientStatus& status);
+
+  // Fill the form using data in client memory. Return whether filling succeeded
+  // or not through OnFormFilled.
+  void FillFormWithData();
+  void OnWaitForElement(const ClientStatus& element_status);
+
+  // Called when the address has been filled.
+  void OnFormFilled(std::unique_ptr<FallbackData> fallback_data,
+                    const ClientStatus& status);
+
+  // Check whether all required fields have a non-empty value. If it is the
+  // case, finish the action successfully. If it's not and |fallback_data|
+  // is null, fail the action. If |fallback_data| is non-null, use it to attempt
+  // to fill the failed fields without Autofill.
+  void CheckRequiredFields(std::unique_ptr<FallbackData> fallback_data);
+
+  // Triggers the check for a specific field.
+  void CheckRequiredFieldsSequentially(
+      bool allow_fallback,
+      size_t required_fields_index,
+      std::unique_ptr<FallbackData> fallback_data);
+
+  // Updates |required_fields_value_status_|.
+  void OnGetRequiredFieldValue(size_t required_fields_index,
+                               const ClientStatus& element_status,
+                               const std::string& value);
+
+  // Called when all required fields have been checked.
+  void OnCheckRequiredFieldsDone(std::unique_ptr<FallbackData> fallback_data);
+
+  // Gets the fallback value.
+  std::string GetFallbackValue(const RequiredField& required_field,
+                               const FallbackData& fallback_data);
+
+  // Get the value of |address_field| associated to profile |profile|. Return
+  // empty string if there is no data available.
+  base::string16 GetAddressFieldValue(
+      const autofill::AutofillProfile* profile,
+      const UseAddressProto::RequiredField::AddressField& address_field);
+
+  // Sets fallback field values for empty fields from
+  // |required_fields_value_status_|.
+  void SetFallbackFieldValuesSequentially(
+      size_t required_fields_index,
+      std::unique_ptr<FallbackData> fallback_data);
+
+  // Called after trying to set form values without Autofill in case of fallback
+  // after failed validation.
+  void OnSetFallbackFieldValue(size_t required_fields_index,
+                               std::unique_ptr<FallbackData> fallback_data,
+                               const ClientStatus& status);
+
+  // Usage of the autofilled address.
+  std::string name_;
+  std::string prompt_;
+  Selector selector_;
+
+  std::vector<RequiredField> required_fields_;
+
+  std::unique_ptr<BatchElementChecker> batch_element_checker_;
+
+  ProcessActionCallback process_action_callback_;
+  base::WeakPtrFactory<UseAddressAction> weak_ptr_factory_{this};
+
+  DISALLOW_COPY_AND_ASSIGN(UseAddressAction);
+};
+
+}  // namespace autofill_assistant
+#endif  // COMPONENTS_AUTOFILL_ASSISTANT_BROWSER_ACTIONS_AUTOFILL_ACTION_H_
diff --git a/components/autofill_assistant/browser/actions/use_address_action_unittest.cc b/components/autofill_assistant/browser/actions/use_address_action_unittest.cc
new file mode 100644
index 0000000..0abdd8fb
--- /dev/null
+++ b/components/autofill_assistant/browser/actions/use_address_action_unittest.cc
@@ -0,0 +1,284 @@
+// Copyright 2018 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/autofill_assistant/browser/actions/use_address_action.h"
+
+#include <utility>
+
+#include "base/guid.h"
+#include "base/strings/utf_string_conversions.h"
+#include "base/test/gmock_callback_support.h"
+#include "base/test/mock_callback.h"
+#include "build/build_config.h"
+#include "components/autofill/core/browser/autofill_test_utils.h"
+#include "components/autofill/core/browser/data_model/autofill_profile.h"
+#include "components/autofill_assistant/browser/actions/mock_action_delegate.h"
+#include "components/autofill_assistant/browser/mock_personal_data_manager.h"
+#include "components/autofill_assistant/browser/web/mock_web_controller.h"
+#include "testing/gmock/include/gmock/gmock.h"
+
+namespace autofill_assistant {
+namespace {
+
+using ::base::test::RunOnceCallback;
+using ::testing::_;
+using ::testing::Eq;
+using ::testing::Expectation;
+using ::testing::InSequence;
+using ::testing::Invoke;
+using ::testing::NotNull;
+using ::testing::Return;
+using ::testing::SaveArgPointee;
+
+class UseAddressActionTest : public testing::Test {
+ public:
+  void SetUp() override {
+    // Build two identical autofill profiles. One for the memory, one for the
+    // mock.
+    auto autofill_profile = std::make_unique<autofill::AutofillProfile>(
+        base::GenerateGUID(), autofill::test::kEmptyOrigin);
+    autofill::test::SetProfileInfo(autofill_profile.get(), kFirstName, "",
+                                   kLastName, kEmail, "", "", "", "", "", "",
+                                   "", "");
+    autofill::test::SetProfileInfo(&autofill_profile_, kFirstName, "",
+                                   kLastName, kEmail, "", "", "", "", "", "",
+                                   "", "");
+    client_memory_.set_selected_address(kAddressName,
+                                        std::move(autofill_profile));
+
+    ON_CALL(mock_personal_data_manager_, GetProfileByGUID)
+        .WillByDefault(Return(&autofill_profile_));
+    ON_CALL(mock_action_delegate_, GetClientMemory)
+        .WillByDefault(Return(&client_memory_));
+    ON_CALL(mock_action_delegate_, GetPersonalDataManager)
+        .WillByDefault(Return(&mock_personal_data_manager_));
+    ON_CALL(mock_action_delegate_, RunElementChecks)
+        .WillByDefault(Invoke([this](BatchElementChecker* checker) {
+          checker->Run(&mock_web_controller_);
+        }));
+    ON_CALL(mock_action_delegate_, OnShortWaitForElement(_, _))
+        .WillByDefault(RunOnceCallback<1>(OkClientStatus()));
+  }
+
+ protected:
+  const char* const kAddressName = "billing";
+  const char* const kFakeSelector = "#selector";
+  const char* const kSelectionPrompt = "prompt";
+  const char* const kFirstName = "FirstName";
+  const char* const kLastName = "LastName";
+  const char* const kEmail = "foobar@gmail.com";
+
+  ActionProto CreateUseAddressAction() {
+    ActionProto action;
+    UseAddressProto* use_address = action.mutable_use_address();
+    use_address->set_name(kAddressName);
+    use_address->mutable_form_field_element()->add_selectors(kFakeSelector);
+    return action;
+  }
+
+  UseAddressProto::RequiredField* AddRequiredField(
+      ActionProto* action,
+      UseAddressProto::RequiredField::AddressField type,
+      std::string selector) {
+    auto* required_field = action->mutable_use_address()->add_required_fields();
+    required_field->set_address_field(type);
+    required_field->mutable_element()->add_selectors(selector);
+    return required_field;
+  }
+
+  ProcessedActionStatusProto ProcessAction(const ActionProto& action_proto) {
+    UseAddressAction action(&mock_action_delegate_, action_proto);
+    ProcessedActionProto capture;
+    EXPECT_CALL(callback_, Run(_)).WillOnce(SaveArgPointee<0>(&capture));
+    action.ProcessAction(callback_.Get());
+    return capture.status();
+  }
+
+  base::MockCallback<Action::ProcessActionCallback> callback_;
+  MockPersonalDataManager mock_personal_data_manager_;
+  MockActionDelegate mock_action_delegate_;
+  MockWebController mock_web_controller_;
+  ClientMemory client_memory_;
+
+  autofill::AutofillProfile autofill_profile_;
+};
+
+#if !defined(OS_ANDROID)
+#define MAYBE_FillManually FillManually
+#else
+#define MAYBE_FillManually DISABLED_FillManually
+#endif
+TEST_F(UseAddressActionTest, MAYBE_FillManually) {
+  InSequence seq;
+
+  ActionProto action_proto = CreateUseAddressAction();
+  action_proto.mutable_use_address()->set_prompt(kSelectionPrompt);
+
+  EXPECT_EQ(ProcessedActionStatusProto::MANUAL_FALLBACK,
+            ProcessAction(action_proto));
+}
+
+TEST_F(UseAddressActionTest, NoSelectedAddress) {
+  InSequence seq;
+
+  ActionProto action_proto = CreateUseAddressAction();
+  action_proto.mutable_use_address()->set_prompt(kSelectionPrompt);
+
+  client_memory_.set_selected_address(kAddressName, nullptr);
+
+  EXPECT_EQ(ProcessedActionStatusProto::PRECONDITION_FAILED,
+            ProcessAction(action_proto));
+}
+
+TEST_F(UseAddressActionTest, PreconditionFailedPopulatesUnexpectedErrorInfo) {
+  InSequence seq;
+
+  ActionProto action_proto = CreateUseAddressAction();
+  action_proto.mutable_use_address()->set_prompt(kSelectionPrompt);
+  client_memory_.set_selected_address(kAddressName, nullptr);
+  client_memory_.set_selected_address("one_more", nullptr);
+
+  UseAddressAction action(&mock_action_delegate_, action_proto);
+
+  ProcessedActionProto processed_action;
+  EXPECT_CALL(callback_, Run(_)).WillOnce(SaveArgPointee<0>(&processed_action));
+  action.ProcessAction(callback_.Get());
+
+  EXPECT_EQ(ProcessedActionStatusProto::PRECONDITION_FAILED,
+            processed_action.status());
+  const auto& error_info =
+      processed_action.status_details().autofill_error_info();
+  EXPECT_EQ(base::JoinString({kAddressName, "one_more"}, ","),
+            error_info.client_memory_address_key_names());
+  EXPECT_EQ(kAddressName, error_info.address_key_requested());
+  EXPECT_TRUE(error_info.address_pointee_was_null());
+}
+
+TEST_F(UseAddressActionTest, ShortWaitForElementVisible) {
+  EXPECT_CALL(
+      mock_action_delegate_,
+      OnShortWaitForElement(Selector({kFakeSelector}).MustBeVisible(), _))
+      .WillOnce(RunOnceCallback<1>(OkClientStatus()));
+
+  ActionProto action_proto = CreateUseAddressAction();
+  // Autofill succeeds.
+  EXPECT_CALL(mock_action_delegate_, OnFillAddressForm(NotNull(), _, _))
+      .WillOnce(RunOnceCallback<2>(OkClientStatus()));
+
+  // Validation succeeds.
+  ON_CALL(mock_web_controller_, OnGetFieldValue(_, _))
+      .WillByDefault(RunOnceCallback<1>(OkClientStatus(), "not empty"));
+
+  EXPECT_EQ(ProcessedActionStatusProto::ACTION_APPLIED,
+            ProcessAction(action_proto));
+}
+
+TEST_F(UseAddressActionTest, ValidationSucceeds) {
+  InSequence seq;
+
+  ActionProto action_proto = CreateUseAddressAction();
+  AddRequiredField(&action_proto, UseAddressProto::RequiredField::FIRST_NAME,
+                   "#first_name");
+  AddRequiredField(&action_proto, UseAddressProto::RequiredField::LAST_NAME,
+                   "#last_name");
+  AddRequiredField(&action_proto, UseAddressProto::RequiredField::EMAIL,
+                   "#email");
+
+  // Autofill succeeds.
+  EXPECT_CALL(mock_action_delegate_,
+              OnFillAddressForm(
+                  NotNull(), Eq(Selector({kFakeSelector}).MustBeVisible()), _))
+      .WillOnce(RunOnceCallback<2>(OkClientStatus()));
+
+  // Validation succeeds.
+  ON_CALL(mock_web_controller_, OnGetFieldValue(_, _))
+      .WillByDefault(RunOnceCallback<1>(OkClientStatus(), "not empty"));
+
+  EXPECT_EQ(ProcessedActionStatusProto::ACTION_APPLIED,
+            ProcessAction(action_proto));
+}
+
+TEST_F(UseAddressActionTest, FallbackFails) {
+  InSequence seq;
+
+  ActionProto action_proto = CreateUseAddressAction();
+  AddRequiredField(&action_proto, UseAddressProto::RequiredField::FIRST_NAME,
+                   "#first_name");
+  AddRequiredField(&action_proto, UseAddressProto::RequiredField::LAST_NAME,
+                   "#last_name");
+  AddRequiredField(&action_proto, UseAddressProto::RequiredField::EMAIL,
+                   "#email");
+
+  // Autofill succeeds.
+  EXPECT_CALL(mock_action_delegate_,
+              OnFillAddressForm(
+                  NotNull(), Eq(Selector({kFakeSelector}).MustBeVisible()), _))
+      .WillOnce(RunOnceCallback<2>(OkClientStatus()));
+
+  // Validation fails when getting FIRST_NAME.
+  EXPECT_CALL(mock_web_controller_,
+              OnGetFieldValue(Eq(Selector({"#email"})), _))
+      .WillOnce(RunOnceCallback<1>(OkClientStatus(), "not empty"));
+  EXPECT_CALL(mock_web_controller_,
+              OnGetFieldValue(Eq(Selector({"#first_name"})), _))
+      .WillOnce(RunOnceCallback<1>(OkClientStatus(), ""));
+  EXPECT_CALL(mock_web_controller_,
+              OnGetFieldValue(Eq(Selector({"#last_name"})), _))
+      .WillOnce(RunOnceCallback<1>(OkClientStatus(), "not empty"));
+
+  // Fallback fails.
+  EXPECT_CALL(mock_action_delegate_,
+              OnSetFieldValue(Eq(Selector({"#first_name"})), kFirstName, _))
+      .WillOnce(RunOnceCallback<2>(ClientStatus(OTHER_ACTION_STATUS)));
+
+  EXPECT_EQ(ProcessedActionStatusProto::MANUAL_FALLBACK,
+            ProcessAction(action_proto));
+}
+
+TEST_F(UseAddressActionTest, FallbackSucceeds) {
+  InSequence seq;
+
+  ActionProto action_proto = CreateUseAddressAction();
+  AddRequiredField(&action_proto, UseAddressProto::RequiredField::FIRST_NAME,
+                   "#first_name");
+  AddRequiredField(&action_proto, UseAddressProto::RequiredField::LAST_NAME,
+                   "#last_name");
+  AddRequiredField(&action_proto, UseAddressProto::RequiredField::EMAIL,
+                   "#email");
+
+  // Autofill succeeds.
+  EXPECT_CALL(mock_action_delegate_,
+              OnFillAddressForm(
+                  NotNull(), Eq(Selector({kFakeSelector}).MustBeVisible()), _))
+      .WillOnce(RunOnceCallback<2>(OkClientStatus()));
+
+  {
+    InSequence seq;
+
+    // Validation fails when getting FIRST_NAME.
+    EXPECT_CALL(mock_web_controller_,
+                OnGetFieldValue(Eq(Selector({"#email"})), _))
+        .WillOnce(RunOnceCallback<1>(OkClientStatus(), "not empty"));
+    EXPECT_CALL(mock_web_controller_,
+                OnGetFieldValue(Eq(Selector({"#first_name"})), _))
+        .WillOnce(RunOnceCallback<1>(OkClientStatus(), ""));
+    EXPECT_CALL(mock_web_controller_,
+                OnGetFieldValue(Eq(Selector({"#last_name"})), _))
+        .WillOnce(RunOnceCallback<1>(OkClientStatus(), "not empty"));
+
+    // Fallback succeeds.
+    EXPECT_CALL(mock_action_delegate_,
+                OnSetFieldValue(Eq(Selector({"#first_name"})), kFirstName, _))
+        .WillOnce(RunOnceCallback<2>(OkClientStatus()));
+
+    // Second validation succeeds.
+    EXPECT_CALL(mock_web_controller_, OnGetFieldValue(_, _))
+        .WillRepeatedly(RunOnceCallback<1>(OkClientStatus(), "not empty"));
+  }
+  EXPECT_EQ(ProcessedActionStatusProto::ACTION_APPLIED,
+            ProcessAction(action_proto));
+}
+
+}  // namespace
+}  // namespace autofill_assistant
diff --git a/components/autofill_assistant/browser/actions/use_credit_card_action.cc b/components/autofill_assistant/browser/actions/use_credit_card_action.cc
new file mode 100644
index 0000000..1aafb22b
--- /dev/null
+++ b/components/autofill_assistant/browser/actions/use_credit_card_action.cc
@@ -0,0 +1,289 @@
+// Copyright 2018 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/autofill_assistant/browser/actions/use_credit_card_action.h"
+
+#include <utility>
+#include <vector>
+
+#include "base/bind.h"
+#include "base/callback.h"
+#include "base/strings/string_number_conversions.h"
+#include "base/strings/stringprintf.h"
+#include "base/strings/utf_string_conversions.h"
+#include "base/time/time.h"
+#include "components/autofill/core/browser/data_model/autofill_profile.h"
+#include "components/autofill/core/browser/data_model/credit_card.h"
+#include "components/autofill_assistant/browser/actions/action_delegate.h"
+#include "components/autofill_assistant/browser/batch_element_checker.h"
+#include "components/autofill_assistant/browser/client_memory.h"
+#include "components/autofill_assistant/browser/client_status.h"
+
+namespace autofill_assistant {
+
+UseCreditCardAction::UseCreditCardAction(ActionDelegate* delegate,
+                                         const ActionProto& proto)
+    : Action(delegate, proto) {
+  DCHECK(proto.has_use_card());
+  prompt_ = proto.use_card().prompt();
+  for (const auto& required_field_proto : proto_.use_card().required_fields()) {
+    required_fields_.emplace_back();
+    RequiredField& required_field = required_fields_.back();
+    required_field.card_field = required_field_proto.card_field();
+    required_field.selector = Selector(required_field_proto.element());
+    required_field.simulate_key_presses =
+        required_field_proto.simulate_key_presses();
+    required_field.delay_in_millisecond =
+        required_field_proto.delay_in_millisecond();
+    required_field.forced = required_field_proto.forced();
+  }
+
+  selector_ = Selector(proto.use_card().form_field_element());
+  selector_.MustBeVisible();
+  DCHECK(!selector_.empty());
+}
+
+UseCreditCardAction::~UseCreditCardAction() = default;
+
+void UseCreditCardAction::InternalProcessAction(
+    ProcessActionCallback action_callback) {
+  process_action_callback_ = std::move(action_callback);
+
+  // Ensure data already selected in a previous action.
+  auto* client_memory = delegate_->GetClientMemory();
+  if (!client_memory->has_selected_card()) {
+    EndAction(PRECONDITION_FAILED);
+    return;
+  }
+
+  FillFormWithData();
+}
+
+void UseCreditCardAction::EndAction(ProcessedActionStatusProto status) {
+  EndAction(ClientStatus(status));
+}
+
+void UseCreditCardAction::EndAction(const ClientStatus& status) {
+  UpdateProcessedAction(status);
+  std::move(process_action_callback_).Run(std::move(processed_action_proto_));
+}
+
+void UseCreditCardAction::FillFormWithData() {
+  delegate_->ShortWaitForElement(
+      selector_, base::BindOnce(&UseCreditCardAction::OnWaitForElement,
+                                weak_ptr_factory_.GetWeakPtr()));
+}
+
+void UseCreditCardAction::OnWaitForElement(const ClientStatus& element_status) {
+  if (!element_status.ok()) {
+    EndAction(element_status.proto_status());
+    return;
+  }
+
+  delegate_->GetFullCard(base::BindOnce(&UseCreditCardAction::OnGetFullCard,
+                                        weak_ptr_factory_.GetWeakPtr()));
+  return;
+}
+
+void UseCreditCardAction::OnGetFullCard(
+    std::unique_ptr<autofill::CreditCard> card,
+    const base::string16& cvc) {
+  if (!card) {
+    EndAction(GET_FULL_CARD_FAILED);
+    return;
+  }
+
+  auto fallback_data = std::make_unique<FallbackData>();
+  fallback_data->cvc = base::UTF16ToUTF8(cvc);
+  fallback_data->expiration_month = card->expiration_month();
+  fallback_data->expiration_year = card->expiration_year();
+
+  delegate_->FillCardForm(
+      std::move(card), cvc, selector_,
+      base::BindOnce(&UseCreditCardAction::OnFormFilled,
+                     weak_ptr_factory_.GetWeakPtr(), std::move(fallback_data)));
+}
+
+void UseCreditCardAction::OnFormFilled(
+    std::unique_ptr<FallbackData> fallback_data,
+    const ClientStatus& status) {
+  // In case Autofill failed, we fail the action.
+  if (!status.ok()) {
+    EndAction(status);
+    return;
+  }
+  CheckRequiredFields(std::move(fallback_data));
+}
+
+void UseCreditCardAction::CheckRequiredFields(
+    std::unique_ptr<FallbackData> fallback_data) {
+  // If there are no required fields, finish the action successfully.
+  if (required_fields_.empty()) {
+    EndAction(ACTION_APPLIED);
+    return;
+  }
+
+  DCHECK(!batch_element_checker_);
+  batch_element_checker_ = std::make_unique<BatchElementChecker>();
+  for (size_t i = 0; i < required_fields_.size(); i++) {
+    if (required_fields_[i].forced)
+      continue;
+
+    batch_element_checker_->AddFieldValueCheck(
+        required_fields_[i].selector,
+        base::BindOnce(&UseCreditCardAction::OnGetRequiredFieldValue,
+                       weak_ptr_factory_.GetWeakPtr(), i));
+  }
+  batch_element_checker_->AddAllDoneCallback(
+      base::BindOnce(&UseCreditCardAction::OnCheckRequiredFieldsDone,
+                     weak_ptr_factory_.GetWeakPtr(), std::move(fallback_data)));
+  delegate_->RunElementChecks(batch_element_checker_.get());
+}
+
+void UseCreditCardAction::OnGetRequiredFieldValue(
+    size_t required_fields_index,
+    const ClientStatus& element_status,
+    const std::string& value) {
+  required_fields_[required_fields_index].status =
+      value.empty() ? EMPTY : NOT_EMPTY;
+}
+
+void UseCreditCardAction::OnCheckRequiredFieldsDone(
+    std::unique_ptr<FallbackData> fallback_data) {
+  batch_element_checker_.reset();
+
+  // We process all fields with an empty value in order to perform the fallback
+  // on all those fields, if any.
+  bool should_fallback = false;
+  for (const RequiredField& required_field : required_fields_) {
+    if (required_field.ShouldFallback(fallback_data != nullptr)) {
+      should_fallback = true;
+      break;
+    }
+  }
+
+  if (!should_fallback) {
+    EndAction(ACTION_APPLIED);
+    return;
+  }
+
+  if (!fallback_data) {
+    // Validation failed and we don't want to try the fallback.
+    EndAction(MANUAL_FALLBACK);
+    return;
+  }
+
+  // If there are any fallbacks for the empty fields, set them, otherwise fail
+  // immediately.
+  bool has_fallbacks = false;
+  for (const RequiredField& required_field : required_fields_) {
+    if (!required_field.ShouldFallback(/* has_fallback_data= */ true))
+      continue;
+
+    if (!GetFallbackValue(required_field, *fallback_data).empty()) {
+      has_fallbacks = true;
+    }
+  }
+  if (!has_fallbacks) {
+    EndAction(MANUAL_FALLBACK);
+    return;
+  }
+
+  // Set the fallback values and check again.
+  SetFallbackFieldValuesSequentially(0, std::move(fallback_data));
+}
+
+void UseCreditCardAction::SetFallbackFieldValuesSequentially(
+    size_t required_fields_index,
+    std::unique_ptr<FallbackData> fallback_data) {
+  // Skip non-empty fields.
+  while (required_fields_index < required_fields_.size() &&
+         !required_fields_[required_fields_index].ShouldFallback(
+             fallback_data != nullptr)) {
+    required_fields_index++;
+  }
+
+  // If there are no more fields to set, check the required fields again,
+  // but this time we don't want to try the fallback in case of failure.
+  if (required_fields_index >= required_fields_.size()) {
+    DCHECK_EQ(required_fields_index, required_fields_.size());
+
+    CheckRequiredFields(/* fallback_data= */ nullptr);
+    return;
+  }
+
+  // Set the next field to its fallback value.
+  const RequiredField& required_field = required_fields_[required_fields_index];
+  std::string fallback_value = GetFallbackValue(required_field, *fallback_data);
+  if (fallback_value.empty()) {
+    DVLOG(3) << "No fallback for " << required_field.selector;
+    // If there is no fallback value, we skip this failed field.
+    SetFallbackFieldValuesSequentially(++required_fields_index,
+                                       std::move(fallback_data));
+    return;
+  }
+  DVLOG(3) << "Setting fallback value for " << required_field.selector;
+
+  delegate_->SetFieldValue(
+      required_field.selector, fallback_value,
+      required_field.simulate_key_presses, required_field.delay_in_millisecond,
+      base::BindOnce(&UseCreditCardAction::OnSetFallbackFieldValue,
+                     weak_ptr_factory_.GetWeakPtr(), required_fields_index,
+                     std::move(fallback_data)));
+}
+
+void UseCreditCardAction::OnSetFallbackFieldValue(
+    size_t required_fields_index,
+    std::unique_ptr<FallbackData> fallback_data,
+    const ClientStatus& status) {
+  if (!status.ok()) {
+    // Fallback failed: we stop the script without checking the fields.
+    EndAction(MANUAL_FALLBACK);
+    return;
+  }
+  SetFallbackFieldValuesSequentially(++required_fields_index,
+                                     std::move(fallback_data));
+}
+
+std::string UseCreditCardAction::GetFallbackValue(
+    const RequiredField& required_field,
+    const FallbackData& fallback_data) {
+  if (required_field.card_field !=
+      UseCreditCardProto::RequiredField::UNDEFINED) {
+    return GetCreditCardFieldValue(required_field.card_field, fallback_data);
+  }
+
+  NOTREACHED() << "Unsupported field type for " << required_field.selector;
+  return "";
+}
+
+std::string UseCreditCardAction::GetCreditCardFieldValue(
+    UseCreditCardProto::RequiredField::CardField field,
+    const FallbackData& fallback_data) {
+  switch (field) {
+    case UseCreditCardProto::RequiredField::CREDIT_CARD_VERIFICATION_CODE:
+      return fallback_data.cvc;
+
+    case UseCreditCardProto::RequiredField::CREDIT_CARD_EXP_MONTH:
+      if (fallback_data.expiration_month > 0)
+        return base::StringPrintf("%02d", fallback_data.expiration_month);
+      break;
+
+    case UseCreditCardProto::RequiredField::CREDIT_CARD_EXP_2_DIGIT_YEAR:
+      if (fallback_data.expiration_year > 0)
+        return base::StringPrintf("%02d", fallback_data.expiration_year % 100);
+      break;
+
+    case UseCreditCardProto::RequiredField::CREDIT_CARD_EXP_4_DIGIT_YEAR:
+      if (fallback_data.expiration_year > 0)
+        return base::NumberToString(fallback_data.expiration_year);
+      break;
+
+    case UseCreditCardProto::RequiredField::UNDEFINED:
+      NOTREACHED();
+      return "";
+  }
+  return "";
+}
+}  // namespace autofill_assistant
diff --git a/components/autofill_assistant/browser/actions/use_credit_card_action.h b/components/autofill_assistant/browser/actions/use_credit_card_action.h
new file mode 100644
index 0000000..9d572c2
--- /dev/null
+++ b/components/autofill_assistant/browser/actions/use_credit_card_action.h
@@ -0,0 +1,142 @@
+// Copyright 2018 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_AUTOFILL_ASSISTANT_BROWSER_ACTIONS_USE_CREDIT_CARD_ACTION_H_
+#define COMPONENTS_AUTOFILL_ASSISTANT_BROWSER_ACTIONS_USE_CREDIT_CARD_ACTION_H_
+
+#include <memory>
+#include <string>
+#include <vector>
+
+#include "base/callback.h"
+#include "base/macros.h"
+#include "base/memory/weak_ptr.h"
+#include "components/autofill_assistant/browser/actions/action.h"
+#include "components/autofill_assistant/browser/batch_element_checker.h"
+
+namespace autofill {
+class CreditCard;
+}  // namespace autofill
+
+namespace autofill_assistant {
+class ClientStatus;
+
+// An action to autofill a form using a credit card.
+class UseCreditCardAction : public Action {
+ public:
+  explicit UseCreditCardAction(ActionDelegate* delegate,
+                               const ActionProto& proto);
+  ~UseCreditCardAction() override;
+
+ private:
+  enum FieldValueStatus { UNKNOWN, EMPTY, NOT_EMPTY };
+  struct RequiredField {
+    Selector selector;
+    bool simulate_key_presses = false;
+    int delay_in_millisecond = 0;
+    bool forced = false;
+    FieldValueStatus status = UNKNOWN;
+
+    // When filling in credit card, card_field must be set.
+    UseCreditCardProto::RequiredField::CardField card_field =
+        UseCreditCardProto::RequiredField::UNDEFINED;
+
+    // Returns true if fallback is required for this field.
+    bool ShouldFallback(bool has_fallback_data) const {
+      return status == EMPTY || (forced && has_fallback_data);
+    }
+  };
+
+  // Data necessary for filling in the fallback fields. This is kept in a
+  // separate struct to make sure we don't keep it for longer than strictly
+  // necessary.
+  struct FallbackData {
+    FallbackData() = default;
+    ~FallbackData() = default;
+
+    // Card information for UseCreditCard fallback.
+    std::string cvc;
+    int expiration_year = 0;
+    int expiration_month = 0;
+
+   private:
+    DISALLOW_COPY_AND_ASSIGN(FallbackData);
+  };
+
+  // Overrides Action:
+  void InternalProcessAction(ProcessActionCallback callback) override;
+
+  void EndAction(ProcessedActionStatusProto status);
+  void EndAction(const ClientStatus& status);
+
+  // Fill the form using data in client memory. Return whether filling succeeded
+  // or not through OnFormFilled.
+  void FillFormWithData();
+  void OnWaitForElement(const ClientStatus& element_status);
+
+  // Called after getting full credit card with its cvc.
+  void OnGetFullCard(std::unique_ptr<autofill::CreditCard> card,
+                     const base::string16& cvc);
+
+  // Called when the form credit card has been filled.
+  void OnFormFilled(std::unique_ptr<FallbackData> fallback_data,
+                    const ClientStatus& status);
+
+  // Check whether all required fields have a non-empty value. If it is the
+  // case, finish the action successfully. If it's not and |fallback_data|
+  // is null, fail the action. If |fallback_data| is non-null, use it to attempt
+  // to fill the failed fields without Autofill.
+  void CheckRequiredFields(std::unique_ptr<FallbackData> fallback_data);
+
+  // Triggers the check for a specific field.
+  void CheckRequiredFieldsSequentially(
+      bool allow_fallback,
+      size_t required_fields_index,
+      std::unique_ptr<FallbackData> fallback_data);
+
+  // Updates |required_fields_value_status_|.
+  void OnGetRequiredFieldValue(size_t required_fields_index,
+                               const ClientStatus& element_status,
+                               const std::string& value);
+
+  // Called when all required fields have been checked.
+  void OnCheckRequiredFieldsDone(std::unique_ptr<FallbackData> fallback_data);
+
+  // Gets the fallback value.
+  std::string GetFallbackValue(const RequiredField& required_field,
+                               const FallbackData& fallback_data);
+
+  // Gets the value of |field| from |fallback_data|, if available. Returns an
+  // empty string otherwise.
+  std::string GetCreditCardFieldValue(
+      UseCreditCardProto::RequiredField::CardField field,
+      const FallbackData& fallback_data);
+
+  // Sets fallback field values for empty fields from
+  // |required_fields_value_status_|.
+  void SetFallbackFieldValuesSequentially(
+      size_t required_fields_index,
+      std::unique_ptr<FallbackData> fallback_data);
+
+  // Called after trying to set form values without Autofill in case of fallback
+  // after failed validation.
+  void OnSetFallbackFieldValue(size_t required_fields_index,
+                               std::unique_ptr<FallbackData> fallback_data,
+                               const ClientStatus& status);
+
+  std::string prompt_;
+  Selector selector_;
+
+  std::vector<RequiredField> required_fields_;
+
+  std::unique_ptr<BatchElementChecker> batch_element_checker_;
+
+  ProcessActionCallback process_action_callback_;
+  base::WeakPtrFactory<UseCreditCardAction> weak_ptr_factory_{this};
+
+  DISALLOW_COPY_AND_ASSIGN(UseCreditCardAction);
+};
+
+}  // namespace autofill_assistant
+#endif  // COMPONENTS_AUTOFILL_ASSISTANT_BROWSER_ACTIONS_AUTOFILL_ACTION_H_
diff --git a/components/autofill_assistant/browser/actions/use_credit_card_action_unittest.cc b/components/autofill_assistant/browser/actions/use_credit_card_action_unittest.cc
new file mode 100644
index 0000000..0e000c7
--- /dev/null
+++ b/components/autofill_assistant/browser/actions/use_credit_card_action_unittest.cc
@@ -0,0 +1,265 @@
+// Copyright 2018 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/autofill_assistant/browser/actions/use_credit_card_action.h"
+
+#include <utility>
+
+#include "base/guid.h"
+#include "base/strings/utf_string_conversions.h"
+#include "base/test/gmock_callback_support.h"
+#include "base/test/mock_callback.h"
+#include "components/autofill/core/browser/autofill_test_utils.h"
+#include "components/autofill/core/browser/data_model/autofill_profile.h"
+#include "components/autofill_assistant/browser/actions/mock_action_delegate.h"
+#include "components/autofill_assistant/browser/mock_personal_data_manager.h"
+#include "components/autofill_assistant/browser/web/mock_web_controller.h"
+#include "testing/gmock/include/gmock/gmock.h"
+
+namespace autofill_assistant {
+namespace {
+
+using ::base::test::RunOnceCallback;
+using ::testing::_;
+using ::testing::Eq;
+using ::testing::Expectation;
+using ::testing::InSequence;
+using ::testing::Invoke;
+using ::testing::NotNull;
+using ::testing::Return;
+using ::testing::SaveArgPointee;
+
+class UseCreditCardActionTest : public testing::Test {
+ public:
+  void SetUp() override {
+    // Build two identical autofill profiles. One for the memory, one for the
+    // mock.
+    auto autofill_profile = std::make_unique<autofill::AutofillProfile>(
+        base::GenerateGUID(), autofill::test::kEmptyOrigin);
+    autofill::test::SetProfileInfo(autofill_profile.get(), kFirstName, "",
+                                   kLastName, kEmail, "", "", "", "", "", "",
+                                   "", "");
+    autofill::test::SetProfileInfo(&autofill_profile_, kFirstName, "",
+                                   kLastName, kEmail, "", "", "", "", "", "",
+                                   "", "");
+    client_memory_.set_selected_address(kAddressName,
+                                        std::move(autofill_profile));
+
+    ON_CALL(mock_personal_data_manager_, GetProfileByGUID)
+        .WillByDefault(Return(&autofill_profile_));
+    ON_CALL(mock_action_delegate_, GetClientMemory)
+        .WillByDefault(Return(&client_memory_));
+    ON_CALL(mock_action_delegate_, GetPersonalDataManager)
+        .WillByDefault(Return(&mock_personal_data_manager_));
+    ON_CALL(mock_action_delegate_, RunElementChecks)
+        .WillByDefault(Invoke([this](BatchElementChecker* checker) {
+          checker->Run(&mock_web_controller_);
+        }));
+    ON_CALL(mock_action_delegate_, OnShortWaitForElement(_, _))
+        .WillByDefault(RunOnceCallback<1>(OkClientStatus()));
+  }
+
+ protected:
+  const char* const kAddressName = "billing";
+  const char* const kFakeSelector = "#selector";
+  const char* const kSelectionPrompt = "prompt";
+  const char* const kFirstName = "FirstName";
+  const char* const kLastName = "LastName";
+  const char* const kEmail = "foobar@gmail.com";
+
+  ActionProto CreateUseCreditCardAction() {
+    ActionProto action;
+    action.mutable_use_card()->mutable_form_field_element()->add_selectors(
+        kFakeSelector);
+    return action;
+  }
+
+  UseCreditCardProto::RequiredField* AddRequiredField(
+      ActionProto* action,
+      UseCreditCardProto::RequiredField::CardField type,
+      std::string selector) {
+    auto* required_field = action->mutable_use_card()->add_required_fields();
+    required_field->set_card_field(type);
+    required_field->mutable_element()->add_selectors(selector);
+    return required_field;
+  }
+
+  ActionProto CreateUseCardAction() {
+    ActionProto action;
+    UseCreditCardProto* use_card = action.mutable_use_card();
+    use_card->mutable_form_field_element()->add_selectors(kFakeSelector);
+    return action;
+  }
+
+  ProcessedActionStatusProto ProcessAction(const ActionProto& action_proto) {
+    UseCreditCardAction action(&mock_action_delegate_, action_proto);
+    ProcessedActionProto capture;
+    EXPECT_CALL(callback_, Run(_)).WillOnce(SaveArgPointee<0>(&capture));
+    action.ProcessAction(callback_.Get());
+    return capture.status();
+  }
+
+  base::MockCallback<Action::ProcessActionCallback> callback_;
+  MockPersonalDataManager mock_personal_data_manager_;
+  MockActionDelegate mock_action_delegate_;
+  MockWebController mock_web_controller_;
+  ClientMemory client_memory_;
+
+  autofill::AutofillProfile autofill_profile_;
+};
+
+TEST_F(UseCreditCardActionTest, FillCreditCardNoCardSelected) {
+  ActionProto action = CreateUseCreditCardAction();
+  EXPECT_EQ(ProcessedActionStatusProto::PRECONDITION_FAILED,
+            ProcessAction(action));
+}
+
+TEST_F(UseCreditCardActionTest, FillCreditCard) {
+  ActionProto action = CreateUseCreditCardAction();
+
+  autofill::CreditCard credit_card;
+  client_memory_.set_selected_card(
+      std::make_unique<autofill::CreditCard>(credit_card));
+  EXPECT_CALL(mock_action_delegate_, OnGetFullCard(_))
+      .WillOnce(RunOnceCallback<0>(credit_card, base::UTF8ToUTF16("123")));
+  EXPECT_CALL(mock_action_delegate_,
+              OnFillCardForm(_, base::UTF8ToUTF16("123"),
+                             Selector({kFakeSelector}).MustBeVisible(), _))
+      .WillOnce(RunOnceCallback<3>(OkClientStatus()));
+
+  EXPECT_EQ(ProcessedActionStatusProto::ACTION_APPLIED, ProcessAction(action));
+}
+
+TEST_F(UseCreditCardActionTest, FillCreditCardRequiredFieldsFilled) {
+  // Validation succeeds.
+  ON_CALL(mock_web_controller_, OnGetFieldValue(_, _))
+      .WillByDefault(RunOnceCallback<1>(OkClientStatus(), "not empty"));
+
+  ActionProto action = CreateUseCreditCardAction();
+  AddRequiredField(
+      &action, UseCreditCardProto::RequiredField::CREDIT_CARD_VERIFICATION_CODE,
+      "#cvc");
+  AddRequiredField(&action,
+                   UseCreditCardProto::RequiredField::CREDIT_CARD_EXP_MONTH,
+                   "#expmonth");
+
+  autofill::CreditCard credit_card;
+  client_memory_.set_selected_card(
+      std::make_unique<autofill::CreditCard>(credit_card));
+  EXPECT_CALL(mock_action_delegate_, OnGetFullCard(_))
+      .WillOnce(RunOnceCallback<0>(credit_card, base::UTF8ToUTF16("123")));
+  EXPECT_CALL(mock_action_delegate_,
+              OnFillCardForm(_, base::UTF8ToUTF16("123"),
+                             Selector({kFakeSelector}).MustBeVisible(), _))
+      .WillOnce(RunOnceCallback<3>(OkClientStatus()));
+
+  EXPECT_EQ(ProcessedActionStatusProto::ACTION_APPLIED, ProcessAction(action));
+}
+
+TEST_F(UseCreditCardActionTest, FillCreditCardWithFallback) {
+  ActionProto action = CreateUseCreditCardAction();
+  AddRequiredField(
+      &action, UseCreditCardProto::RequiredField::CREDIT_CARD_VERIFICATION_CODE,
+      "#cvc");
+  AddRequiredField(&action,
+                   UseCreditCardProto::RequiredField::CREDIT_CARD_EXP_MONTH,
+                   "#expmonth");
+  AddRequiredField(
+      &action, UseCreditCardProto::RequiredField::CREDIT_CARD_EXP_2_DIGIT_YEAR,
+      "#expyear2");
+  AddRequiredField(
+      &action, UseCreditCardProto::RequiredField::CREDIT_CARD_EXP_4_DIGIT_YEAR,
+      "#expyear4");
+
+  // First validation fails.
+  EXPECT_CALL(mock_web_controller_, OnGetFieldValue(Selector({"#cvc"}), _))
+      .WillOnce(RunOnceCallback<1>(OkClientStatus(), ""));
+  EXPECT_CALL(mock_web_controller_, OnGetFieldValue(Selector({"#expmonth"}), _))
+      .WillOnce(RunOnceCallback<1>(OkClientStatus(), ""));
+  EXPECT_CALL(mock_web_controller_, OnGetFieldValue(Selector({"#expyear2"}), _))
+      .WillOnce(RunOnceCallback<1>(OkClientStatus(), ""));
+  EXPECT_CALL(mock_web_controller_, OnGetFieldValue(Selector({"#expyear4"}), _))
+      .WillOnce(RunOnceCallback<1>(OkClientStatus(), ""));
+
+  // Expect fields to be filled
+  Expectation set_cvc =
+      EXPECT_CALL(mock_action_delegate_,
+                  OnSetFieldValue(Selector({"#cvc"}), "123", _))
+          .WillOnce(RunOnceCallback<2>(OkClientStatus()));
+  Expectation set_expmonth =
+      EXPECT_CALL(mock_action_delegate_,
+                  OnSetFieldValue(Selector({"#expmonth"}), "09", _))
+          .WillOnce(RunOnceCallback<2>(OkClientStatus()));
+  Expectation set_expyear2 =
+      EXPECT_CALL(mock_action_delegate_,
+                  OnSetFieldValue(Selector({"#expyear2"}), "24", _))
+          .WillOnce(RunOnceCallback<2>(OkClientStatus()));
+  Expectation set_expyear4 =
+      EXPECT_CALL(mock_action_delegate_,
+                  OnSetFieldValue(Selector({"#expyear4"}), "2024", _))
+          .WillOnce(RunOnceCallback<2>(OkClientStatus()));
+
+  // After fallback, second validation succeeds.
+  EXPECT_CALL(mock_web_controller_, OnGetFieldValue(Selector({"#cvc"}), _))
+      .After(set_cvc)
+      .WillOnce(RunOnceCallback<1>(OkClientStatus(), "not empty"));
+  EXPECT_CALL(mock_web_controller_, OnGetFieldValue(Selector({"#expmonth"}), _))
+      .After(set_expmonth)
+      .WillOnce(RunOnceCallback<1>(OkClientStatus(), "not empty"));
+  EXPECT_CALL(mock_web_controller_, OnGetFieldValue(Selector({"#expyear2"}), _))
+      .After(set_expyear2)
+      .WillOnce(RunOnceCallback<1>(OkClientStatus(), "not empty"));
+  EXPECT_CALL(mock_web_controller_, OnGetFieldValue(Selector({"#expyear4"}), _))
+      .After(set_expyear4)
+      .WillOnce(RunOnceCallback<1>(OkClientStatus(), "not empty"));
+
+  autofill::CreditCard credit_card;
+  credit_card.SetExpirationMonth(9);
+  credit_card.SetExpirationYear(2024);
+  client_memory_.set_selected_card(
+      std::make_unique<autofill::CreditCard>(credit_card));
+  EXPECT_CALL(mock_action_delegate_, OnGetFullCard(_))
+      .WillOnce(RunOnceCallback<0>(credit_card, base::UTF8ToUTF16("123")));
+  EXPECT_CALL(mock_action_delegate_,
+              OnFillCardForm(_, base::UTF8ToUTF16("123"),
+                             Selector({kFakeSelector}).MustBeVisible(), _))
+      .WillOnce(RunOnceCallback<3>(OkClientStatus()));
+
+  EXPECT_EQ(ProcessedActionStatusProto::ACTION_APPLIED, ProcessAction(action));
+}
+
+TEST_F(UseCreditCardActionTest, ForcedFallback) {
+  ActionProto action = CreateUseCreditCardAction();
+  auto* cvc_required = AddRequiredField(
+      &action, UseCreditCardProto::RequiredField::CREDIT_CARD_VERIFICATION_CODE,
+      "#cvc");
+  cvc_required->set_forced(true);
+  cvc_required->set_simulate_key_presses(true);
+  cvc_required->set_delay_in_millisecond(1000);
+
+  // No field is ever empty
+  ON_CALL(mock_web_controller_, OnGetFieldValue(_, _))
+      .WillByDefault(RunOnceCallback<1>(OkClientStatus(), "not empty"));
+
+  // But we still want the CVC filled, with simulated keypresses.
+  Expectation set_cvc =
+      EXPECT_CALL(mock_action_delegate_,
+                  OnSetFieldValue(Selector({"#cvc"}), "123", true, 1000, _))
+          .WillOnce(RunOnceCallback<4>(OkClientStatus()));
+
+  autofill::CreditCard credit_card;
+  client_memory_.set_selected_card(
+      std::make_unique<autofill::CreditCard>(credit_card));
+  EXPECT_CALL(mock_action_delegate_, OnGetFullCard(_))
+      .WillOnce(RunOnceCallback<0>(credit_card, base::UTF8ToUTF16("123")));
+  EXPECT_CALL(mock_action_delegate_,
+              OnFillCardForm(_, base::UTF8ToUTF16("123"),
+                             Selector({kFakeSelector}).MustBeVisible(), _))
+      .WillOnce(RunOnceCallback<3>(OkClientStatus()));
+
+  EXPECT_EQ(ProcessedActionStatusProto::ACTION_APPLIED, ProcessAction(action));
+}
+
+}  // namespace
+}  // namespace autofill_assistant
diff --git a/components/autofill_assistant/browser/actions/wait_for_document_action.cc b/components/autofill_assistant/browser/actions/wait_for_document_action.cc
index 384aa92..976ad32 100644
--- a/components/autofill_assistant/browser/actions/wait_for_document_action.cc
+++ b/components/autofill_assistant/browser/actions/wait_for_document_action.cc
@@ -24,7 +24,7 @@
   Selector selector(proto_.wait_for_document().frame());
   if (selector.empty()) {
     // No element to wait for.
-    OnShortWaitForElement(/* element_found= */ true);
+    OnShortWaitForElement(ClientStatus(ACTION_APPLIED));
     return;
   }
   delegate_->ShortWaitForElement(
@@ -32,10 +32,10 @@
                                weak_ptr_factory_.GetWeakPtr()));
 }
 
-void WaitForDocumentAction::OnShortWaitForElement(bool element_found) {
-  if (!element_found) {
-    SendResult(ClientStatus(ELEMENT_RESOLUTION_FAILED),
-               DOCUMENT_UNKNOWN_READY_STATE);
+void WaitForDocumentAction::OnShortWaitForElement(
+    const ClientStatus& element_status) {
+  if (!element_status.ok()) {
+    SendResult(element_status, DOCUMENT_UNKNOWN_READY_STATE);
     return;
   }
   delegate_->GetDocumentReadyState(
diff --git a/components/autofill_assistant/browser/actions/wait_for_document_action.h b/components/autofill_assistant/browser/actions/wait_for_document_action.h
index 1667cbe..a817993 100644
--- a/components/autofill_assistant/browser/actions/wait_for_document_action.h
+++ b/components/autofill_assistant/browser/actions/wait_for_document_action.h
@@ -22,7 +22,7 @@
   // Overrides Action:
   void InternalProcessAction(ProcessActionCallback callback) override;
 
-  void OnShortWaitForElement(bool element_found);
+  void OnShortWaitForElement(const ClientStatus& status);
 
   void OnGetStartState(const ClientStatus& status,
                        DocumentReadyState start_state);
diff --git a/components/autofill_assistant/browser/actions/wait_for_document_action_unittest.cc b/components/autofill_assistant/browser/actions/wait_for_document_action_unittest.cc
index db02dac..7cf07a0f 100644
--- a/components/autofill_assistant/browser/actions/wait_for_document_action_unittest.cc
+++ b/components/autofill_assistant/browser/actions/wait_for_document_action_unittest.cc
@@ -185,7 +185,7 @@
 TEST_F(WaitForDocumentActionTest, CheckDocumentInFrame) {
   EXPECT_CALL(mock_action_delegate_,
               OnShortWaitForElement(Selector({"#frame"}), _))
-      .WillRepeatedly(RunOnceCallback<1>(true));
+      .WillRepeatedly(RunOnceCallback<1>(OkClientStatus()));
 
   EXPECT_CALL(mock_action_delegate_,
               OnGetDocumentReadyState(Selector({"#frame"}), _))
@@ -199,7 +199,8 @@
 
 TEST_F(WaitForDocumentActionTest, CheckFrameElementNotFound) {
   EXPECT_CALL(mock_action_delegate_, OnShortWaitForElement(_, _))
-      .WillRepeatedly(RunOnceCallback<1>(false));
+      .WillRepeatedly(
+          RunOnceCallback<1>(ClientStatus(ELEMENT_RESOLUTION_FAILED)));
 
   proto_.set_timeout_ms(0);
   proto_.mutable_frame()->add_selectors("#frame");
diff --git a/components/autofill_assistant/browser/actions/wait_for_dom_action.cc b/components/autofill_assistant/browser/actions/wait_for_dom_action.cc
index 7fdc7791..339e003 100644
--- a/components/autofill_assistant/browser/actions/wait_for_dom_action.cc
+++ b/components/autofill_assistant/browser/actions/wait_for_dom_action.cc
@@ -35,14 +35,14 @@
   AddConditionsFromProto();
   if (conditions_.empty()) {
     DVLOG(2) << "WaitForDomAction: no selectors specified";
-    OnCheckDone(std::move(callback), INVALID_ACTION);
+    OnCheckDone(std::move(callback), ClientStatus(INVALID_ACTION));
     return;
   }
   for (size_t i = 0; i < conditions_.size(); i++) {
     if (conditions_[i].selector.empty()) {
       DVLOG(2) << "WaitForDomAction: selector for condition " << i
                << " is empty";
-      OnCheckDone(std::move(callback), INVALID_SELECTOR);
+      OnCheckDone(std::move(callback), ClientStatus(INVALID_SELECTOR));
       return;
     }
   }
@@ -112,8 +112,9 @@
   condition.server_payload = server_payload;
 }
 
-void WaitForDomAction::CheckElements(BatchElementChecker* checker,
-                                     base::OnceCallback<void(bool)> callback) {
+void WaitForDomAction::CheckElements(
+    BatchElementChecker* checker,
+    base::OnceCallback<void(const ClientStatus&)> callback) {
   for (size_t i = 0; i < conditions_.size(); i++) {
     checker->AddElementCheck(
         conditions_[i].selector,
@@ -125,32 +126,53 @@
                      weak_ptr_factory_.GetWeakPtr(), std::move(callback)));
 }
 
-void WaitForDomAction::OnSingleElementCheckDone(size_t condition_index,
-                                                bool found) {
+void WaitForDomAction::OnSingleElementCheckDone(
+    size_t condition_index,
+    const ClientStatus& element_status) {
   DCHECK(condition_index < conditions_.size());
   Condition& condition = conditions_[condition_index];
-  condition.match =
-      condition.predicate == SelectorPredicate::kMatch ? found : !found;
+  condition.status_proto = element_status.proto_status();
+  condition.match = condition.predicate == SelectorPredicate::kMatch
+                        ? element_status.ok()
+                        : !element_status.ok();
   // We can't stop here since the batch checker does not support stopping from a
   // single element callback.
 }
 
 void WaitForDomAction::OnAllElementChecksDone(
-    base::OnceCallback<void(bool)> callback) {
+    base::OnceCallback<void(const ClientStatus&)> callback) {
   size_t match_count = 0;
+  ProcessedActionStatusProto last_error = UNKNOWN_ACTION_STATUS;
   for (auto& condition : conditions_) {
     if (condition.match) {
       match_count++;
+    } else {
+      switch (condition.predicate) {
+        case SelectorPredicate::kMatch:
+          // For an expected match, return the status.
+          last_error = condition.status_proto;
+          break;
+        case SelectorPredicate::kNoMatch:
+          // For an expected non-match, return an ELEMENT_RESOLUTION_FAILED for
+          // lack of better status. We're expecting the element to not be there,
+          // but it is.
+          last_error = ELEMENT_RESOLUTION_FAILED;
+          break;
+
+          // Intentionally no default case to make compilation fail if a new
+          // value was added to the enum that is not treated not here.
+      }
     }
   }
   bool success =
       require_all_ ? match_count == conditions_.size() : match_count > 0;
-  std::move(callback).Run(success);
+  std::move(callback).Run(success ? OkClientStatus()
+                                  : ClientStatus(last_error));
 }
 
 void WaitForDomAction::OnCheckDone(ProcessActionCallback callback,
-                                   ProcessedActionStatusProto status) {
-  UpdateProcessedAction(status);
+                                   const ClientStatus& status) {
+  UpdateProcessedAction(status.proto_status());
   for (auto& condition : conditions_) {
     if (condition.match && !condition.server_payload.empty()) {
       processed_action_proto_->mutable_wait_for_dom_result()
diff --git a/components/autofill_assistant/browser/actions/wait_for_dom_action.h b/components/autofill_assistant/browser/actions/wait_for_dom_action.h
index d56fa4c..45fe5e0 100644
--- a/components/autofill_assistant/browser/actions/wait_for_dom_action.h
+++ b/components/autofill_assistant/browser/actions/wait_for_dom_action.h
@@ -12,6 +12,7 @@
 #include "base/macros.h"
 #include "base/memory/weak_ptr.h"
 #include "components/autofill_assistant/browser/actions/action.h"
+#include "components/autofill_assistant/browser/client_status.h"
 #include "components/autofill_assistant/browser/service.pb.h"
 
 namespace autofill_assistant {
@@ -42,6 +43,9 @@
     // True if the condition matched.
     bool match = false;
 
+    // Status proto result associated with this condition.
+    ProcessedActionStatusProto status_proto;
+
     // A payload to report to the server when this condition match. Empty
     // payloads are not reported.
     std::string server_payload;
@@ -62,14 +66,16 @@
                     const std::string& server_payload);
 
   // Check all elements using the given BatchElementChecker and reports the
-  // result to |callback|.
+  // result to |callback|. In case of failure, the last failed status is
+  // returned.
   void CheckElements(BatchElementChecker* checker,
-                     base::OnceCallback<void(bool)> callback);
-  void OnSingleElementCheckDone(size_t condition_index, bool result);
-  void OnAllElementChecksDone(base::OnceCallback<void(bool)> callback);
+                     base::OnceCallback<void(const ClientStatus&)> callback);
+  void OnSingleElementCheckDone(size_t condition_index,
+                                const ClientStatus& element_status);
+  void OnAllElementChecksDone(
+      base::OnceCallback<void(const ClientStatus&)> callback);
 
-  void OnCheckDone(ProcessActionCallback callback,
-                   ProcessedActionStatusProto status);
+  void OnCheckDone(ProcessActionCallback callback, const ClientStatus& status);
 
   bool require_all_ = false;
   std::vector<Condition> conditions_;
diff --git a/components/autofill_assistant/browser/actions/wait_for_dom_action_unittest.cc b/components/autofill_assistant/browser/actions/wait_for_dom_action_unittest.cc
index 15426de0..9a3632f 100644
--- a/components/autofill_assistant/browser/actions/wait_for_dom_action_unittest.cc
+++ b/components/autofill_assistant/browser/actions/wait_for_dom_action_unittest.cc
@@ -30,7 +30,8 @@
 
   void SetUp() override {
     ON_CALL(mock_web_controller_, OnElementCheck(_, _))
-        .WillByDefault(RunOnceCallback<1>(false));
+        .WillByDefault(
+            RunOnceCallback<1>(ClientStatus(ELEMENT_RESOLUTION_FAILED)));
 
     EXPECT_CALL(mock_action_delegate_, OnWaitForDom(_, _, _, _))
         .WillRepeatedly(Invoke(this, &WaitForDomActionTest::FakeWaitForDom));
@@ -41,10 +42,10 @@
   void FakeWaitForDom(
       base::TimeDelta max_wait_time,
       bool allow_interrupt,
-      base::RepeatingCallback<void(BatchElementChecker*,
-                                   base::OnceCallback<void(bool)>)>&
-          check_elements,
-      base::OnceCallback<void(ProcessedActionStatusProto)>& callback) {
+      base::RepeatingCallback<
+          void(BatchElementChecker*,
+               base::OnceCallback<void(const ClientStatus&)>)>& check_elements,
+      base::OnceCallback<void(const ClientStatus&)>& callback) {
     checker_ = std::make_unique<BatchElementChecker>();
     has_check_elements_result_ = false;
     check_elements.Run(
@@ -58,7 +59,7 @@
   }
 
   // Called from the check_elements callback passed to FakeWaitForDom.
-  void OnCheckElementsDone(bool result) {
+  void OnCheckElementsDone(const ClientStatus& result) {
     ASSERT_FALSE(has_check_elements_result_);  // Duplicate calls
     has_check_elements_result_ = true;
     check_elements_result_ = result;
@@ -67,11 +68,10 @@
   // Called by |checker_| once it's done. This ends the call to
   // FakeWaitForDom().
   void OnWaitForDomDone(
-      base::OnceCallback<void(ProcessedActionStatusProto)> callback) {
+      base::OnceCallback<void(const ClientStatus&)> callback) {
     ASSERT_TRUE(
         has_check_elements_result_);  // OnCheckElementsDone() not called
-    std::move(callback).Run(check_elements_result_ ? ACTION_APPLIED
-                                                   : ELEMENT_RESOLUTION_FAILED);
+    std::move(callback).Run(check_elements_result_);
   }
 
   // Runs the action defined in |proto_| and reports the result to |callback_|.
@@ -88,7 +88,7 @@
   WaitForDomProto proto_;
   std::unique_ptr<BatchElementChecker> checker_;
   bool has_check_elements_result_ = false;
-  bool check_elements_result_ = false;
+  ClientStatus check_elements_result_;
 };
 
 TEST_F(WaitForDomActionTest, NoSelectors) {
@@ -100,7 +100,7 @@
 
 TEST_F(WaitForDomActionTest, MatchOneElementFound) {
   EXPECT_CALL(mock_web_controller_, OnElementCheck(Selector({"#element"}), _))
-      .WillRepeatedly(RunOnceCallback<1>(true));
+      .WillRepeatedly(RunOnceCallback<1>(OkClientStatus()));
 
   proto_.mutable_wait_until()->add_selectors("#element");
   EXPECT_CALL(
@@ -118,7 +118,7 @@
 
 TEST_F(WaitForDomActionTest, NoMatchOneElementFound) {
   EXPECT_CALL(mock_web_controller_, OnElementCheck(Selector({"#element"}), _))
-      .WillRepeatedly(RunOnceCallback<1>(true));
+      .WillRepeatedly(RunOnceCallback<1>(OkClientStatus()));
 
   proto_.mutable_wait_while()->add_selectors("#element");
   EXPECT_CALL(callback_, Run(Pointee(Property(&ProcessedActionProto::status,
@@ -136,9 +136,9 @@
 
 TEST_F(WaitForDomActionTest, AllConditionsMetWantAll) {
   EXPECT_CALL(mock_web_controller_, OnElementCheck(Selector({"#element1"}), _))
-      .WillRepeatedly(RunOnceCallback<1>(true));
+      .WillRepeatedly(RunOnceCallback<1>(OkClientStatus()));
   EXPECT_CALL(mock_web_controller_, OnElementCheck(Selector({"#element2"}), _))
-      .WillRepeatedly(RunOnceCallback<1>(false));
+      .WillRepeatedly(RunOnceCallback<1>(ClientStatus()));
   proto_.mutable_wait_for_all()
       ->add_conditions()
       ->mutable_must_match()
@@ -155,9 +155,9 @@
 
 TEST_F(WaitForDomActionTest, AllConditionsMetWantSome) {
   EXPECT_CALL(mock_web_controller_, OnElementCheck(Selector({"#element1"}), _))
-      .WillRepeatedly(RunOnceCallback<1>(true));
+      .WillRepeatedly(RunOnceCallback<1>(OkClientStatus()));
   EXPECT_CALL(mock_web_controller_, OnElementCheck(Selector({"#element2"}), _))
-      .WillRepeatedly(RunOnceCallback<1>(false));
+      .WillRepeatedly(RunOnceCallback<1>(ClientStatus()));
   proto_.mutable_wait_for_any()
       ->add_conditions()
       ->mutable_must_match()
@@ -234,13 +234,13 @@
 
 TEST_F(WaitForDomActionTest, ReportMatchesToServer) {
   EXPECT_CALL(mock_web_controller_, OnElementCheck(Selector({"#element1"}), _))
-      .WillRepeatedly(RunOnceCallback<1>(true));
+      .WillRepeatedly(RunOnceCallback<1>(OkClientStatus()));
   EXPECT_CALL(mock_web_controller_, OnElementCheck(Selector({"#element2"}), _))
-      .WillRepeatedly(RunOnceCallback<1>(false));
+      .WillRepeatedly(RunOnceCallback<1>(ClientStatus()));
   EXPECT_CALL(mock_web_controller_, OnElementCheck(Selector({"#element3"}), _))
-      .WillRepeatedly(RunOnceCallback<1>(false));
+      .WillRepeatedly(RunOnceCallback<1>(ClientStatus()));
   EXPECT_CALL(mock_web_controller_, OnElementCheck(Selector({"#element4"}), _))
-      .WillRepeatedly(RunOnceCallback<1>(true));
+      .WillRepeatedly(RunOnceCallback<1>(OkClientStatus()));
 
   auto* condition1 = proto_.mutable_wait_for_any()->add_conditions();
   condition1->mutable_must_match()->add_selectors("#element1");
diff --git a/components/autofill_assistant/browser/batch_element_checker.cc b/components/autofill_assistant/browser/batch_element_checker.cc
index 4cdad7c7..b8aa975 100644
--- a/components/autofill_assistant/browser/batch_element_checker.cc
+++ b/components/autofill_assistant/browser/batch_element_checker.cc
@@ -84,9 +84,9 @@
 
 void BatchElementChecker::OnElementChecked(
     std::vector<ElementCheckCallback>* callbacks,
-    bool exists) {
+    const ClientStatus& element_status) {
   for (auto& callback : *callbacks) {
-    std::move(callback).Run(exists);
+    std::move(callback).Run(element_status);
   }
   callbacks->clear();
   CheckDone();
@@ -94,10 +94,10 @@
 
 void BatchElementChecker::OnGetFieldValue(
     std::vector<GetFieldValueCallback>* callbacks,
-    bool exists,
+    const ClientStatus& element_status,
     const std::string& value) {
   for (auto& callback : *callbacks) {
-    std::move(callback).Run(exists, value);
+    std::move(callback).Run(element_status, value);
   }
   callbacks->clear();
   CheckDone();
diff --git a/components/autofill_assistant/browser/batch_element_checker.h b/components/autofill_assistant/browser/batch_element_checker.h
index 9cf89362..23670ec 100644
--- a/components/autofill_assistant/browser/batch_element_checker.h
+++ b/components/autofill_assistant/browser/batch_element_checker.h
@@ -15,6 +15,7 @@
 #include "base/callback.h"
 #include "base/macros.h"
 #include "base/memory/weak_ptr.h"
+#include "components/autofill_assistant/browser/client_status.h"
 #include "components/autofill_assistant/browser/selector.h"
 
 namespace autofill_assistant {
@@ -30,7 +31,7 @@
   // Callback for AddElementCheck. Argument is true if the check passed.
   //
   // An ElementCheckCallback must not delete its calling BatchElementChecker.
-  using ElementCheckCallback = base::OnceCallback<void(bool)>;
+  using ElementCheckCallback = base::OnceCallback<void(const ClientStatus&)>;
 
   // Callback for AddFieldValueCheck. Argument is true is the element exists.
   // The string contains the field value, or an empty string if accessing the
@@ -38,7 +39,7 @@
   //
   // An ElementCheckCallback must not delete its calling BatchElementChecker.
   using GetFieldValueCallback =
-      base::OnceCallback<void(bool, const std::string&)>;
+      base::OnceCallback<void(const ClientStatus&, const std::string&)>;
 
   // Checks an element.
   //
@@ -68,9 +69,9 @@
 
  private:
   void OnElementChecked(std::vector<ElementCheckCallback>* callbacks,
-                        bool exists);
+                        const ClientStatus& element_status);
   void OnGetFieldValue(std::vector<GetFieldValueCallback>* callbacks,
-                       bool exists,
+                       const ClientStatus& element_status,
                        const std::string& value);
   void CheckDone();
 
diff --git a/components/autofill_assistant/browser/batch_element_checker_unittest.cc b/components/autofill_assistant/browser/batch_element_checker_unittest.cc
index 37695c2..dd72e03 100644
--- a/components/autofill_assistant/browser/batch_element_checker_unittest.cc
+++ b/components/autofill_assistant/browser/batch_element_checker_unittest.cc
@@ -35,13 +35,14 @@
 
   void SetUp() override {
     ON_CALL(mock_web_controller_, OnElementCheck(_, _))
-        .WillByDefault(RunOnceCallback<1>(false));
+        .WillByDefault(RunOnceCallback<1>(ClientStatus()));
     ON_CALL(mock_web_controller_, OnGetFieldValue(_, _))
-        .WillByDefault(RunOnceCallback<1>(false, ""));
+        .WillByDefault(RunOnceCallback<1>(ClientStatus(), ""));
   }
 
-  void OnElementExistenceCheck(const std::string& name, bool result) {
-    element_exists_results_[name] = result;
+  void OnElementExistenceCheck(const std::string& name,
+                               const ClientStatus& result) {
+    element_exists_results_[name] = result.ok();
   }
 
   BatchElementChecker::ElementCheckCallback ElementExistenceCallback(
@@ -50,8 +51,9 @@
                           base::Unretained(this), name);
   }
 
-  void OnVisibilityRequirementCheck(const std::string& name, bool result) {
-    element_visible_results_[name] = result;
+  void OnVisibilityRequirementCheck(const std::string& name,
+                                    const ClientStatus& result) {
+    element_visible_results_[name] = result.ok();
   }
 
   BatchElementChecker::ElementCheckCallback VisibilityRequirementCallback(
@@ -62,7 +64,7 @@
   }
 
   void OnFieldValueCheck(const std::string& name,
-                         bool exists,
+                         const ClientStatus& result,
                          const std::string& value) {
     get_field_value_results_[name] = value;
   }
@@ -104,7 +106,7 @@
 
 TEST_F(BatchElementCheckerTest, OneElementFound) {
   EXPECT_CALL(mock_web_controller_, OnElementCheck(Eq(Selector({"exists"})), _))
-      .WillOnce(RunOnceCallback<1>(true));
+      .WillOnce(RunOnceCallback<1>(OkClientStatus()));
   checks_.AddElementCheck(Selector({"exists"}),
                           ElementExistenceCallback("exists"));
   Run("was_run");
@@ -116,7 +118,7 @@
 TEST_F(BatchElementCheckerTest, OneElementNotFound) {
   EXPECT_CALL(mock_web_controller_,
               OnElementCheck(Eq(Selector({"does_not_exist"})), _))
-      .WillOnce(RunOnceCallback<1>(false));
+      .WillOnce(RunOnceCallback<1>(ClientStatus()));
   checks_.AddElementCheck(Selector({"does_not_exist"}),
                           ElementExistenceCallback("does_not_exist"));
   Run("was_run");
@@ -127,7 +129,7 @@
 
 TEST_F(BatchElementCheckerTest, OneFieldValueFound) {
   EXPECT_CALL(mock_web_controller_, OnGetFieldValue(Eq(Selector({"field"})), _))
-      .WillOnce(RunOnceCallback<1>(true, "some value"));
+      .WillOnce(RunOnceCallback<1>(OkClientStatus(), "some value"));
   checks_.AddFieldValueCheck(Selector({"field"}), FieldValueCallback("field"));
   Run("was_run");
 
@@ -137,7 +139,7 @@
 
 TEST_F(BatchElementCheckerTest, OneFieldValueNotFound) {
   EXPECT_CALL(mock_web_controller_, OnGetFieldValue(Eq(Selector({"field"})), _))
-      .WillOnce(RunOnceCallback<1>(false, ""));
+      .WillOnce(RunOnceCallback<1>(ClientStatus(), ""));
   checks_.AddFieldValueCheck(Selector({"field"}), FieldValueCallback("field"));
   Run("was_run");
 
@@ -147,7 +149,7 @@
 
 TEST_F(BatchElementCheckerTest, OneFieldValueEmpty) {
   EXPECT_CALL(mock_web_controller_, OnGetFieldValue(Eq(Selector({"field"})), _))
-      .WillOnce(RunOnceCallback<1>(true, ""));
+      .WillOnce(RunOnceCallback<1>(OkClientStatus(), ""));
   checks_.AddFieldValueCheck(Selector({"field"}), FieldValueCallback("field"));
   Run("was_run");
 
@@ -157,15 +159,15 @@
 
 TEST_F(BatchElementCheckerTest, MultipleElements) {
   EXPECT_CALL(mock_web_controller_, OnElementCheck(Eq(Selector({"1"})), _))
-      .WillOnce(RunOnceCallback<1>(true));
+      .WillOnce(RunOnceCallback<1>(OkClientStatus()));
   EXPECT_CALL(mock_web_controller_, OnElementCheck(Eq(Selector({"2"})), _))
-      .WillOnce(RunOnceCallback<1>(true));
+      .WillOnce(RunOnceCallback<1>(OkClientStatus()));
   EXPECT_CALL(mock_web_controller_, OnElementCheck(Eq(Selector({"3"})), _))
-      .WillOnce(RunOnceCallback<1>(false));
+      .WillOnce(RunOnceCallback<1>(ClientStatus()));
   EXPECT_CALL(mock_web_controller_, OnGetFieldValue(Eq(Selector({"4"})), _))
-      .WillOnce(RunOnceCallback<1>(true, "value"));
+      .WillOnce(RunOnceCallback<1>(OkClientStatus(), "value"));
   EXPECT_CALL(mock_web_controller_, OnGetFieldValue(Eq(Selector({"5"})), _))
-      .WillOnce(RunOnceCallback<1>(false, ""));
+      .WillOnce(RunOnceCallback<1>(ClientStatus(), ""));
 
   checks_.AddElementCheck(Selector({"1"}), ElementExistenceCallback("1"));
   checks_.AddElementCheck(Selector({"2"}), ElementExistenceCallback("2"));
@@ -184,9 +186,9 @@
 
 TEST_F(BatchElementCheckerTest, DeduplicateElementExists) {
   EXPECT_CALL(mock_web_controller_, OnElementCheck(Eq(Selector({"1"})), _))
-      .WillOnce(RunOnceCallback<1>(true));
+      .WillOnce(RunOnceCallback<1>(OkClientStatus()));
   EXPECT_CALL(mock_web_controller_, OnElementCheck(Eq(Selector({"2"})), _))
-      .WillOnce(RunOnceCallback<1>(true));
+      .WillOnce(RunOnceCallback<1>(OkClientStatus()));
 
   checks_.AddElementCheck(Selector({"1"}), ElementExistenceCallback("first 1"));
   checks_.AddElementCheck(Selector({"1"}),
@@ -204,10 +206,10 @@
 TEST_F(BatchElementCheckerTest, DeduplicateElementVisible) {
   EXPECT_CALL(mock_web_controller_,
               OnElementCheck(Eq(Selector({"1"}).MustBeVisible()), _))
-      .WillOnce(RunOnceCallback<1>(true));
+      .WillOnce(RunOnceCallback<1>(OkClientStatus()));
   EXPECT_CALL(mock_web_controller_,
               OnElementCheck(Eq(Selector({"2"}).MustBeVisible()), _))
-      .WillOnce(RunOnceCallback<1>(true));
+      .WillOnce(RunOnceCallback<1>(OkClientStatus()));
 
   checks_.AddElementCheck(Selector({"1"}).MustBeVisible(),
                           VisibilityRequirementCallback("first 1"));
diff --git a/components/autofill_assistant/browser/client_memory.cc b/components/autofill_assistant/browser/client_memory.cc
index 2f7dfcd..b61a9a6 100644
--- a/components/autofill_assistant/browser/client_memory.cc
+++ b/components/autofill_assistant/browser/client_memory.cc
@@ -20,7 +20,7 @@
 }
 
 bool ClientMemory::has_selected_card() const {
-  return selected_card_.has_value();
+  return selected_card() != nullptr;
 }
 
 const autofill::AutofillProfile* ClientMemory::selected_address(
@@ -44,7 +44,7 @@
 }
 
 bool ClientMemory::has_selected_address(const std::string& name) const {
-  return selected_addresses_.find(name) != selected_addresses_.end();
+  return selected_address(name) != nullptr;
 }
 
 void ClientMemory::set_selected_login(const WebsiteLoginFetcher::Login& login) {
@@ -52,7 +52,7 @@
 }
 
 bool ClientMemory::has_selected_login() const {
-  return selected_login_.has_value();
+  return selected_login() != nullptr;
 }
 
 const WebsiteLoginFetcher::Login* ClientMemory::selected_login() const {
diff --git a/components/autofill_assistant/browser/client_status.cc b/components/autofill_assistant/browser/client_status.cc
index 6ee79da..18566c3 100644
--- a/components/autofill_assistant/browser/client_status.cc
+++ b/components/autofill_assistant/browser/client_status.cc
@@ -77,51 +77,39 @@
     case ProcessedActionStatusProto::USER_ABORTED_ACTION:
       out << "USER_ABORTED_ACTION";
       break;
-
     case ProcessedActionStatusProto::GET_FULL_CARD_FAILED:
       out << "GET_FULL_CARD_FAILED";
       break;
-
     case ProcessedActionStatusProto::PRECONDITION_FAILED:
       out << "PRECONDITION_FAILED";
       break;
-
     case ProcessedActionStatusProto::INVALID_ACTION:
       out << "INVALID_ACTION";
       break;
-
     case ProcessedActionStatusProto::UNSUPPORTED:
       out << "UNSUPPORTED";
       break;
-
     case ProcessedActionStatusProto::TIMED_OUT:
       out << "TIMED_OUT";
       break;
-
     case ProcessedActionStatusProto::ELEMENT_UNSTABLE:
       out << "ELEMENT_UNSTABLE";
       break;
-
     case ProcessedActionStatusProto::INVALID_SELECTOR:
       out << "INVALID_SELECTOR";
       break;
-
     case ProcessedActionStatusProto::OPTION_VALUE_NOT_FOUND:
       out << "OPTION_VALUE_NOT_FOUND";
       break;
-
     case ProcessedActionStatusProto::UNEXPECTED_JS_ERROR:
       out << "UNEXPECTED_JS_ERROR";
       break;
-
     case ProcessedActionStatusProto::TOO_MANY_ELEMENTS:
       out << "TOO_MANY_ELEMENTS";
       break;
-
     case ProcessedActionStatusProto::NAVIGATION_ERROR:
       out << "NAVIGATION_ERROR";
       break;
-
     case ProcessedActionStatusProto::AUTOFILL_INFO_NOT_AVAILABLE:
       out << "AUTOFILL_INFO_NOT_AVAILABLE";
       break;
diff --git a/components/autofill_assistant/browser/controller_unittest.cc b/components/autofill_assistant/browser/controller_unittest.cc
index b9d8f20..064ed887 100644
--- a/components/autofill_assistant/browser/controller_unittest.cc
+++ b/components/autofill_assistant/browser/controller_unittest.cc
@@ -126,7 +126,7 @@
         .WillByDefault(RunOnceCallback<4>(true, ""));
 
     ON_CALL(*mock_web_controller_, OnElementCheck(_, _))
-        .WillByDefault(RunOnceCallback<1>(false));
+        .WillByDefault(RunOnceCallback<1>(ClientStatus()));
 
     ON_CALL(mock_observer_, OnStateChanged(_))
         .WillByDefault(Invoke([this](AutofillAssistantState state) {
@@ -761,7 +761,7 @@
   }
 
   EXPECT_CALL(*mock_web_controller_, OnElementCheck(_, _))
-      .WillRepeatedly(RunOnceCallback<1>(true));
+      .WillRepeatedly(RunOnceCallback<1>(OkClientStatus()));
   task_environment()->FastForwardBy(base::TimeDelta::FromSeconds(1));
 
   EXPECT_EQ(AutofillAssistantState::AUTOSTART_FALLBACK_PROMPT,
diff --git a/components/autofill_assistant/browser/element_precondition.cc b/components/autofill_assistant/browser/element_precondition.cc
index 45efbfd77..59f0986 100644
--- a/components/autofill_assistant/browser/element_precondition.cc
+++ b/components/autofill_assistant/browser/element_precondition.cc
@@ -42,7 +42,7 @@
 
   callback_ = std::move(callback);
   for (const auto& selector : elements_exist_) {
-    base::OnceCallback<void(bool)> callback =
+    base::OnceCallback<void(const ClientStatus&)> callback =
         base::BindOnce(&ElementPrecondition::OnCheckElementExists,
                        weak_ptr_factory_.GetWeakPtr());
     batch_checks->AddElementCheck(selector, std::move(callback));
@@ -57,14 +57,15 @@
   }
 }
 
-void ElementPrecondition::OnCheckElementExists(bool exists) {
-  ReportCheckResult(exists);
+void ElementPrecondition::OnCheckElementExists(
+    const ClientStatus& element_status) {
+  ReportCheckResult(element_status.ok());
 }
 
 void ElementPrecondition::OnGetFieldValue(int index,
-                                          bool exists,
+                                          const ClientStatus& element_status,
                                           const std::string& value) {
-  if (!exists) {
+  if (!element_status.ok()) {
     ReportCheckResult(false);
     return;
   }
diff --git a/components/autofill_assistant/browser/element_precondition.h b/components/autofill_assistant/browser/element_precondition.h
index 9e7497f..edfce0d 100644
--- a/components/autofill_assistant/browser/element_precondition.h
+++ b/components/autofill_assistant/browser/element_precondition.h
@@ -11,6 +11,7 @@
 #include "base/callback.h"
 #include "base/macros.h"
 #include "base/memory/weak_ptr.h"
+#include "components/autofill_assistant/browser/client_status.h"
 #include "components/autofill_assistant/browser/service.pb.h"
 
 namespace autofill_assistant {
@@ -37,8 +38,10 @@
   bool empty() { return elements_exist_.empty() && form_value_match_.empty(); }
 
  private:
-  void OnCheckElementExists(bool exists);
-  void OnGetFieldValue(int index, bool exists, const std::string& value);
+  void OnCheckElementExists(const ClientStatus& element_status);
+  void OnGetFieldValue(int index,
+                       const ClientStatus& element_status,
+                       const std::string& value);
   void ReportCheckResult(bool success);
 
   std::vector<Selector> elements_exist_;
diff --git a/components/autofill_assistant/browser/element_precondition_unittest.cc b/components/autofill_assistant/browser/element_precondition_unittest.cc
index eb00f23c..542528b 100644
--- a/components/autofill_assistant/browser/element_precondition_unittest.cc
+++ b/components/autofill_assistant/browser/element_precondition_unittest.cc
@@ -28,20 +28,20 @@
  public:
   void SetUp() override {
     ON_CALL(mock_web_controller_, OnElementCheck(Eq(Selector({"exists"})), _))
-        .WillByDefault(RunOnceCallback<1>(true));
+        .WillByDefault(RunOnceCallback<1>(OkClientStatus()));
     ON_CALL(mock_web_controller_, OnElementCheck(Eq(Selector({"empty"})), _))
-        .WillByDefault(RunOnceCallback<1>(true));
+        .WillByDefault(RunOnceCallback<1>(OkClientStatus()));
     ON_CALL(mock_web_controller_,
             OnElementCheck(Eq(Selector({"does_not_exist"})), _))
-        .WillByDefault(RunOnceCallback<1>(false));
+        .WillByDefault(RunOnceCallback<1>(ClientStatus()));
 
     ON_CALL(mock_web_controller_, OnGetFieldValue(Eq(Selector({"exists"})), _))
-        .WillByDefault(RunOnceCallback<1>(true, "foo"));
+        .WillByDefault(RunOnceCallback<1>(OkClientStatus(), "foo"));
     ON_CALL(mock_web_controller_,
             OnGetFieldValue(Eq(Selector({"does_not_exist"})), _))
-        .WillByDefault(RunOnceCallback<1>(false, ""));
+        .WillByDefault(RunOnceCallback<1>(ClientStatus(), ""));
     ON_CALL(mock_web_controller_, OnGetFieldValue(Eq(Selector({"empty"})), _))
-        .WillByDefault(RunOnceCallback<1>(true, ""));
+        .WillByDefault(RunOnceCallback<1>(OkClientStatus(), ""));
   }
 
  protected:
diff --git a/components/autofill_assistant/browser/protocol_utils.cc b/components/autofill_assistant/browser/protocol_utils.cc
index da35b09..a4ed0d4d 100644
--- a/components/autofill_assistant/browser/protocol_utils.cc
+++ b/components/autofill_assistant/browser/protocol_utils.cc
@@ -8,7 +8,6 @@
 
 #include "base/feature_list.h"
 #include "base/logging.h"
-#include "components/autofill_assistant/browser/actions/autofill_action.h"
 #include "components/autofill_assistant/browser/actions/click_action.h"
 #include "components/autofill_assistant/browser/actions/collect_user_data_action.h"
 #include "components/autofill_assistant/browser/actions/configure_bottom_sheet_action.h"
@@ -30,6 +29,8 @@
 #include "components/autofill_assistant/browser/actions/tell_action.h"
 #include "components/autofill_assistant/browser/actions/unsupported_action.h"
 #include "components/autofill_assistant/browser/actions/upload_dom_action.h"
+#include "components/autofill_assistant/browser/actions/use_address_action.h"
+#include "components/autofill_assistant/browser/actions/use_credit_card_action.h"
 #include "components/autofill_assistant/browser/actions/wait_for_document_action.h"
 #include "components/autofill_assistant/browser/actions/wait_for_dom_action.h"
 #include "components/autofill_assistant/browser/actions/wait_for_navigation_action.h"
@@ -209,8 +210,10 @@
         break;
       }
       case ActionProto::ActionInfoCase::kUseAddress:
+        client_action = std::make_unique<UseAddressAction>(delegate, action);
+        break;
       case ActionProto::ActionInfoCase::kUseCard: {
-        client_action = std::make_unique<AutofillAction>(delegate, action);
+        client_action = std::make_unique<UseCreditCardAction>(delegate, action);
         break;
       }
       case ActionProto::ActionInfoCase::kWaitForDom: {
diff --git a/components/autofill_assistant/browser/retry_timer.cc b/components/autofill_assistant/browser/retry_timer.cc
index 4ded92bb..5ee8774 100644
--- a/components/autofill_assistant/browser/retry_timer.cc
+++ b/components/autofill_assistant/browser/retry_timer.cc
@@ -6,6 +6,7 @@
 
 #include "base/bind.h"
 #include "base/bind_helpers.h"
+#include "components/autofill_assistant/browser/client_status.h"
 
 namespace autofill_assistant {
 
@@ -14,8 +15,9 @@
 
 void RetryTimer::Start(
     base::TimeDelta max_wait_time,
-    base::RepeatingCallback<void(base::OnceCallback<void(bool)>)> task,
-    base::OnceCallback<void(bool)> on_done) {
+    base::RepeatingCallback<void(base::OnceCallback<void(const ClientStatus&)>)>
+        task,
+    base::OnceCallback<void(const ClientStatus&)> on_done) {
   Reset();
   task_ = std::move(task);
   on_done_ = std::move(on_done);
@@ -47,15 +49,15 @@
                            weak_ptr_factory_.GetWeakPtr(), task_id_));
 }
 
-void RetryTimer::OnTaskDone(int64_t task_id, bool success) {
+void RetryTimer::OnTaskDone(int64_t task_id, const ClientStatus& status) {
   if (task_id != task_id_)  // Ignore callbacks from cancelled tasks
     return;
 
   remaining_attempts_--;
-  if (success || remaining_attempts_ <= 0) {
+  if (status.ok() || remaining_attempts_ <= 0) {
     CHECK_GE(remaining_attempts_, 0);
     task_.Reset();  // release any resources held by the callback
-    std::move(on_done_).Run(success);
+    std::move(on_done_).Run(status);
     // Don't do anything after calling on_done_, as it could have deleted this.
     return;
   }
diff --git a/components/autofill_assistant/browser/retry_timer.h b/components/autofill_assistant/browser/retry_timer.h
index af5876d..40b96404 100644
--- a/components/autofill_assistant/browser/retry_timer.h
+++ b/components/autofill_assistant/browser/retry_timer.h
@@ -12,6 +12,7 @@
 #include "base/memory/weak_ptr.h"
 #include "base/time/time.h"
 #include "base/timer/timer.h"
+#include "components/autofill_assistant/browser/client_status.h"
 
 namespace autofill_assistant {
 
@@ -39,8 +40,9 @@
   // If |max_wait_time| is 0 or lower than the retry period, the task is
   // executed exactly once.
   void Start(base::TimeDelta max_wait_time,
-             base::RepeatingCallback<void(base::OnceCallback<void(bool)>)> task,
-             base::OnceCallback<void(bool)> on_done);
+             base::RepeatingCallback<
+                 void(base::OnceCallback<void(const ClientStatus&)>)> task,
+             base::OnceCallback<void(const ClientStatus&)> on_done);
 
   // Cancels any pending tasks or timer. Any |on_done| callbacks passed to Start
   // is released without being called.
@@ -54,13 +56,14 @@
  private:
   void Reset();
   void RunTask();
-  void OnTaskDone(int64_t task_id_, bool success);
+  void OnTaskDone(int64_t task_id_, const ClientStatus& status);
 
   const base::TimeDelta period_;
   int64_t remaining_attempts_ = 1;
   int64_t task_id_ = 0;
-  base::RepeatingCallback<void(base::OnceCallback<void(bool)>)> task_;
-  base::OnceCallback<void(bool)> on_done_;
+  base::RepeatingCallback<void(base::OnceCallback<void(const ClientStatus&)>)>
+      task_;
+  base::OnceCallback<void(const ClientStatus&)> on_done_;
   std::unique_ptr<base::OneShotTimer> timer_;
 
   base::WeakPtrFactory<RetryTimer> weak_ptr_factory_{this};
diff --git a/components/autofill_assistant/browser/retry_timer_unittest.cc b/components/autofill_assistant/browser/retry_timer_unittest.cc
index 1bad8148..727f3765c 100644
--- a/components/autofill_assistant/browser/retry_timer_unittest.cc
+++ b/components/autofill_assistant/browser/retry_timer_unittest.cc
@@ -20,6 +20,10 @@
 
 namespace {
 
+MATCHER_P(EqualsStatus, status, "") {
+  return arg.proto_status() == status.proto_status();
+}
+
 class RetryTimerTest : public testing::Test {
  protected:
   RetryTimerTest()
@@ -29,37 +33,38 @@
     task_environment_.FastForwardBy(base::TimeDelta::FromSeconds(1));
   }
 
-  base::RepeatingCallback<void(base::OnceCallback<void(bool)>)>
+  base::RepeatingCallback<void(base::OnceCallback<void(const ClientStatus&)>)>
   AlwaysFailsCallback() {
     return base::BindRepeating(&RetryTimerTest::AlwaysFails,
                                base::Unretained(this));
   }
 
-  void AlwaysFails(base::OnceCallback<void(bool)> callback) {
+  void AlwaysFails(base::OnceCallback<void(const ClientStatus&)> callback) {
     try_count_++;
-    std::move(callback).Run(false);
+    std::move(callback).Run(ClientStatus());
   }
 
-  base::RepeatingCallback<void(base::OnceCallback<void(bool)>)>
+  base::RepeatingCallback<void(base::OnceCallback<void(const ClientStatus&)>)>
   SucceedsOnceCallback(int succeds_at) {
     return base::BindRepeating(&RetryTimerTest::SucceedsOnce,
                                base::Unretained(this), succeds_at);
   }
 
-  void SucceedsOnce(int succeeds_at, base::OnceCallback<void(bool)> callback) {
+  void SucceedsOnce(int succeeds_at,
+                    base::OnceCallback<void(const ClientStatus&)> callback) {
     EXPECT_GE(succeeds_at, try_count_);
     bool success = succeeds_at == try_count_;
     try_count_++;
-    std::move(callback).Run(success);
+    std::move(callback).Run(success ? OkClientStatus() : ClientStatus());
   }
 
-  base::RepeatingCallback<void(base::OnceCallback<void(bool)>)>
+  base::RepeatingCallback<void(base::OnceCallback<void(const ClientStatus&)>)>
   CaptureCallback() {
     return base::BindRepeating(&RetryTimerTest::Capture,
                                base::Unretained(this));
   }
 
-  void Capture(base::OnceCallback<void(bool)> callback) {
+  void Capture(base::OnceCallback<void(const ClientStatus&)> callback) {
     try_count_++;
     captured_callback_ = std::move(callback);
   }
@@ -69,13 +74,14 @@
   base::test::TaskEnvironment task_environment_;
 
   int try_count_ = 0;
-  base::OnceCallback<void(bool)> captured_callback_;
-  base::MockCallback<base::OnceCallback<void(bool)>> done_callback_;
+  base::OnceCallback<void(const ClientStatus&)> captured_callback_;
+  base::MockCallback<base::OnceCallback<void(const ClientStatus&)>>
+      done_callback_;
 };
 
 TEST_F(RetryTimerTest, TryOnceAndSucceed) {
   RetryTimer retry_timer(base::TimeDelta::FromSeconds(1));
-  EXPECT_CALL(done_callback_, Run(true));
+  EXPECT_CALL(done_callback_, Run(EqualsStatus(OkClientStatus())));
   retry_timer.Start(base::TimeDelta::FromSeconds(10), SucceedsOnceCallback(0),
                     done_callback_.Get());
   EXPECT_EQ(1, try_count_);
@@ -83,7 +89,7 @@
 
 TEST_F(RetryTimerTest, TryOnceAndFail) {
   RetryTimer retry_timer(base::TimeDelta::FromSeconds(1));
-  EXPECT_CALL(done_callback_, Run(false));
+  EXPECT_CALL(done_callback_, Run(EqualsStatus(ClientStatus())));
   retry_timer.Start(base::TimeDelta::FromSeconds(0), AlwaysFailsCallback(),
                     done_callback_.Get());
   EXPECT_EQ(1, try_count_);
@@ -96,7 +102,7 @@
   EXPECT_EQ(1, try_count_);
   FastForwardOneSecond();
   EXPECT_EQ(2, try_count_);
-  EXPECT_CALL(done_callback_, Run(true));
+  EXPECT_CALL(done_callback_, Run(EqualsStatus(OkClientStatus())));
   FastForwardOneSecond();
   EXPECT_EQ(3, try_count_);
 }
@@ -108,7 +114,7 @@
   EXPECT_EQ(1, try_count_);
   FastForwardOneSecond();
   EXPECT_EQ(2, try_count_);
-  EXPECT_CALL(done_callback_, Run(false));
+  EXPECT_CALL(done_callback_, Run(EqualsStatus(ClientStatus())));
   FastForwardOneSecond();
   EXPECT_EQ(3, try_count_);
 }
@@ -130,7 +136,7 @@
                     done_callback_.Get());
   ASSERT_TRUE(captured_callback_);
   retry_timer.Cancel();
-  std::move(captured_callback_).Run(true);  // Should do nothing
+  std::move(captured_callback_).Run(OkClientStatus());  // Should do nothing
 }
 
 TEST_F(RetryTimerTest, GiveUpWhenLeavingScope) {
@@ -152,7 +158,7 @@
                       done_callback_.Get());
     ASSERT_TRUE(captured_callback_);
   }
-  std::move(captured_callback_).Run(true);  // Should do nothing
+  std::move(captured_callback_).Run(OkClientStatus());  // Should do nothing
 }
 
 TEST_F(RetryTimerTest, RestartOverridesFirstCall) {
@@ -161,11 +167,12 @@
   RetryTimer retry_timer(base::TimeDelta::FromSeconds(1));
   retry_timer.Start(base::TimeDelta::FromSeconds(1), AlwaysFailsCallback(),
                     done_callback_.Get());
-  base::MockCallback<base::OnceCallback<void(bool)>> done_callback2;
+  base::MockCallback<base::OnceCallback<void(const ClientStatus&)>>
+      done_callback2;
   retry_timer.Start(base::TimeDelta::FromSeconds(1), AlwaysFailsCallback(),
                     done_callback2.Get());
   EXPECT_EQ(2, try_count_);
-  EXPECT_CALL(done_callback2, Run(false));
+  EXPECT_CALL(done_callback2, Run(EqualsStatus(ClientStatus())));
   FastForwardOneSecond();
   EXPECT_EQ(3, try_count_);
 }
@@ -178,13 +185,14 @@
                     done_callback_.Get());
   ASSERT_TRUE(captured_callback_);
 
-  base::MockCallback<base::OnceCallback<void(bool)>> done_callback2;
+  base::MockCallback<base::OnceCallback<void(const ClientStatus&)>>
+      done_callback2;
   retry_timer.Start(base::TimeDelta::FromSeconds(1), AlwaysFailsCallback(),
                     done_callback2.Get());
 
-  std::move(captured_callback_).Run(true);  // Should do nothing
+  std::move(captured_callback_).Run(OkClientStatus());  // Should do nothing
 
-  EXPECT_CALL(done_callback2, Run(false));
+  EXPECT_CALL(done_callback2, Run(EqualsStatus(ClientStatus())));
   FastForwardOneSecond();
   EXPECT_EQ(3, try_count_);
 }
@@ -197,7 +205,7 @@
                     done_callback_.Get());
   EXPECT_TRUE(retry_timer.running());
 
-  EXPECT_CALL(done_callback_, Run(true));
+  EXPECT_CALL(done_callback_, Run(EqualsStatus(OkClientStatus())));
   FastForwardOneSecond();
   EXPECT_FALSE(retry_timer.running());
 }
diff --git a/components/autofill_assistant/browser/script_executor.cc b/components/autofill_assistant/browser/script_executor.cc
index acef62b3..8b7ae9c 100644
--- a/components/autofill_assistant/browser/script_executor.cc
+++ b/components/autofill_assistant/browser/script_executor.cc
@@ -154,7 +154,7 @@
 
 void ScriptExecutor::ShortWaitForElement(
     const Selector& selector,
-    base::OnceCallback<void(bool)> callback) {
+    base::OnceCallback<void(const ClientStatus&)> callback) {
   current_action_data_.wait_for_dom = std::make_unique<WaitForDomOperation>(
       this, delegate_, delegate_->GetSettings().short_wait_for_element_deadline,
       /* allow_interrupt= */ false,
@@ -169,9 +169,9 @@
     base::TimeDelta max_wait_time,
     bool allow_interrupt,
     base::RepeatingCallback<void(BatchElementChecker*,
-                                 base::OnceCallback<void(bool)>)>
+                                 base::OnceCallback<void(const ClientStatus&)>)>
         check_elements,
-    base::OnceCallback<void(ProcessedActionStatusProto)> callback) {
+    base::OnceCallback<void(const ClientStatus&)> callback) {
   current_action_data_.wait_for_dom = std::make_unique<WaitForDomOperation>(
       this, delegate_, max_wait_time, allow_interrupt, check_elements,
       base::BindOnce(&ScriptExecutor::OnWaitForElementVisibleWithInterrupts,
@@ -373,7 +373,8 @@
 
 void ScriptExecutor::GetFieldValue(
     const Selector& selector,
-    base::OnceCallback<void(bool, const std::string&)> callback) {
+    base::OnceCallback<void(const ClientStatus&, const std::string&)>
+        callback) {
   delegate_->GetWebController()->GetFieldValue(selector, std::move(callback));
 }
 
@@ -710,38 +711,37 @@
 void ScriptExecutor::CheckElementMatches(
     const Selector& selector,
     BatchElementChecker* checker,
-    base::OnceCallback<void(bool)> callback) {
+    base::OnceCallback<void(const ClientStatus&)> callback) {
   checker->AddElementCheck(selector, std::move(callback));
 }
 
 void ScriptExecutor::OnShortWaitForElement(
-    base::OnceCallback<void(bool)> callback,
-    bool element_found,
+    base::OnceCallback<void(const ClientStatus&)> callback,
+    const ClientStatus& element_status,
     const Result* interrupt_result) {
   // Interrupts cannot run, so should never be reported.
   DCHECK(!interrupt_result);
 
-  std::move(callback).Run(element_found);
+  std::move(callback).Run(element_status);
 }
 
 void ScriptExecutor::OnWaitForElementVisibleWithInterrupts(
-    base::OnceCallback<void(ProcessedActionStatusProto)> callback,
-    bool element_found,
+    base::OnceCallback<void(const ClientStatus&)> callback,
+    const ClientStatus& element_status,
     const Result* interrupt_result) {
   if (interrupt_result) {
     if (!interrupt_result->success) {
-      std::move(callback).Run(INTERRUPT_FAILED);
+      std::move(callback).Run(ClientStatus(INTERRUPT_FAILED));
       return;
     }
     if (interrupt_result->at_end != CONTINUE) {
       at_end_ = interrupt_result->at_end;
       should_stop_script_ = true;
-      std::move(callback).Run(MANUAL_FALLBACK);
+      std::move(callback).Run(ClientStatus(MANUAL_FALLBACK));
       return;
     }
   }
-  std::move(callback).Run(element_found ? ACTION_APPLIED
-                                        : ELEMENT_RESOLUTION_FAILED);
+  std::move(callback).Run(element_status);
 }
 
 ScriptExecutor::WaitForDomOperation::WaitForDomOperation(
@@ -750,7 +750,7 @@
     base::TimeDelta max_wait_time,
     bool allow_interrupt,
     base::RepeatingCallback<void(BatchElementChecker*,
-                                 base::OnceCallback<void(bool)>)>
+                                 base::OnceCallback<void(const ClientStatus&)>)>
         check_elements,
     WaitForDomOperation::Callback callback)
     : main_script_(main_script),
@@ -822,9 +822,9 @@
 }
 
 void ScriptExecutor::WaitForDomOperation::RunChecks(
-    base::OnceCallback<void(bool)> report_attempt_result) {
+    base::OnceCallback<void(const ClientStatus&)> report_attempt_result) {
   // Reset state possibly left over from previous runs.
-  element_check_result_ = false;
+  element_check_result_ = ClientStatus();
   runnable_interrupts_.clear();
   batch_element_checker_ = std::make_unique<BatchElementChecker>();
   check_elements_.Run(batch_element_checker_.get(),
@@ -860,15 +860,16 @@
     runnable_interrupts_.insert(interrupt);
 }
 
-void ScriptExecutor::WaitForDomOperation::OnElementCheckDone(bool result) {
-  element_check_result_ = result;
+void ScriptExecutor::WaitForDomOperation::OnElementCheckDone(
+    const ClientStatus& element_status) {
+  element_check_result_ = element_status;
 
   // Wait for all checks to run before reporting that the element was found to
   // the caller, so interrupts have a chance to run.
 }
 
 void ScriptExecutor::WaitForDomOperation::OnAllChecksDone(
-    base::OnceCallback<void(bool)> report_attempt_result) {
+    base::OnceCallback<void(const ClientStatus&)> report_attempt_result) {
   if (!runnable_interrupts_.empty()) {
     // We must go through runnable_interrupts_ to make sure priority order is
     // respected in case more than one interrupt is ready to run.
@@ -903,7 +904,7 @@
     const ScriptExecutor::Result& result) {
   interrupt_executor_.reset();
   if (!result.success || result.at_end != ScriptExecutor::CONTINUE) {
-    RunCallbackWithResult(false, &result);
+    RunCallbackWithResult(ClientStatus(INTERRUPT_FAILED), &result);
     return;
   }
   RestoreStatusMessage();
@@ -914,12 +915,13 @@
   Start();
 }
 
-void ScriptExecutor::WaitForDomOperation::RunCallback(bool found) {
-  RunCallbackWithResult(found, nullptr);
+void ScriptExecutor::WaitForDomOperation::RunCallback(
+    const ClientStatus& element_status) {
+  RunCallbackWithResult(element_status, nullptr);
 }
 
 void ScriptExecutor::WaitForDomOperation::RunCallbackWithResult(
-    bool check_result,
+    const ClientStatus& element_status,
     const ScriptExecutor::Result* result) {
   // stop element checking if one is still in progress
   batch_element_checker_.reset();
@@ -928,7 +930,7 @@
     return;
 
   RestorePreInterruptScroll();
-  std::move(callback_).Run(check_result, result);
+  std::move(callback_).Run(element_status, result);
 }
 
 void ScriptExecutor::WaitForDomOperation::SavePreInterruptState() {
diff --git a/components/autofill_assistant/browser/script_executor.h b/components/autofill_assistant/browser/script_executor.h
index aa79feb..4313941 100644
--- a/components/autofill_assistant/browser/script_executor.h
+++ b/components/autofill_assistant/browser/script_executor.h
@@ -101,15 +101,16 @@
 
   // Override ActionDelegate:
   void RunElementChecks(BatchElementChecker* checker) override;
-  void ShortWaitForElement(const Selector& selector,
-                           base::OnceCallback<void(bool)> callback) override;
+  void ShortWaitForElement(
+      const Selector& selector,
+      base::OnceCallback<void(const ClientStatus&)> callback) override;
   void WaitForDom(
       base::TimeDelta max_wait_time,
       bool allow_interrupt,
-      base::RepeatingCallback<void(BatchElementChecker*,
-                                   base::OnceCallback<void(bool)>)>
-          check_elements,
-      base::OnceCallback<void(ProcessedActionStatusProto)> callback) override;
+      base::RepeatingCallback<
+          void(BatchElementChecker*,
+               base::OnceCallback<void(const ClientStatus&)>)> check_elements,
+      base::OnceCallback<void(const ClientStatus&)> callback) override;
   void SetStatusMessage(const std::string& message) override;
   std::string GetStatusMessage() override;
   void SetBubbleMessage(const std::string& message) override;
@@ -148,7 +149,8 @@
       const ElementAreaProto& touchable_element_area) override;
   void GetFieldValue(
       const Selector& selector,
-      base::OnceCallback<void(bool, const std::string&)> callback) override;
+      base::OnceCallback<void(const ClientStatus&, const std::string&)>
+          callback) override;
   void SetFieldValue(
       const Selector& selector,
       const std::string& value,
@@ -219,8 +221,8 @@
     //
     // If the given result is non-null, it should be forwarded as the result of
     // the main script.
-    using Callback =
-        base::OnceCallback<void(bool, const ScriptExecutor::Result*)>;
+    using Callback = base::OnceCallback<void(const ClientStatus&,
+                                             const ScriptExecutor::Result*)>;
 
     // |main_script_| must not be null and outlive this instance.
     WaitForDomOperation(
@@ -228,9 +230,9 @@
         ScriptExecutorDelegate* delegate,
         base::TimeDelta max_wait_time,
         bool allow_interrupt,
-        base::RepeatingCallback<void(BatchElementChecker*,
-                                     base::OnceCallback<void(bool)>)>
-            check_elements,
+        base::RepeatingCallback<
+            void(BatchElementChecker*,
+                 base::OnceCallback<void(const ClientStatus&)>)> check_elements,
         WaitForDomOperation::Callback callback);
     ~WaitForDomOperation() override;
 
@@ -251,15 +253,17 @@
     void OnScriptListChanged(
         std::vector<std::unique_ptr<Script>> scripts) override;
 
-    void RunChecks(base::OnceCallback<void(bool)> report_attempt_result);
+    void RunChecks(
+        base::OnceCallback<void(const ClientStatus&)> report_attempt_result);
     void OnPreconditionCheckDone(const Script* interrupt,
                                  bool precondition_match);
-    void OnElementCheckDone(bool found);
-    void OnAllChecksDone(base::OnceCallback<void(bool)> report_attempt_result);
+    void OnElementCheckDone(const ClientStatus&);
+    void OnAllChecksDone(
+        base::OnceCallback<void(const ClientStatus&)> report_attempt_result);
     void RunInterrupt(const Script* interrupt);
     void OnInterruptDone(const ScriptExecutor::Result& result);
-    void RunCallback(bool found);
-    void RunCallbackWithResult(bool found,
+    void RunCallback(const ClientStatus& element_status);
+    void RunCallbackWithResult(const ClientStatus& element_status,
                                const ScriptExecutor::Result* result);
 
     // Saves the current state and sets save_pre_interrupt_state_.
@@ -277,13 +281,13 @@
     const base::TimeDelta max_wait_time_;
     const bool allow_interrupt_;
     base::RepeatingCallback<void(BatchElementChecker*,
-                                 base::OnceCallback<void(bool)>)>
+                                 base::OnceCallback<void(const ClientStatus&)>)>
         check_elements_;
     WaitForDomOperation::Callback callback_;
 
     std::unique_ptr<BatchElementChecker> batch_element_checker_;
     std::set<const Script*> runnable_interrupts_;
-    bool element_check_result_ = false;
+    ClientStatus element_check_result_;
 
     // An empty vector of interrupts that can be passed to interrupt_executor_
     // and outlives it. Interrupts must not run interrupts.
@@ -321,15 +325,17 @@
   void GetNextActions();
   void OnProcessedAction(base::TimeTicks start_time,
                          std::unique_ptr<ProcessedActionProto> action);
-  void CheckElementMatches(const Selector& selector,
-                           BatchElementChecker* checker,
-                           base::OnceCallback<void(bool)> callback);
-  void OnShortWaitForElement(base::OnceCallback<void(bool)> callback,
-                             bool element_found,
-                             const Result* interrupt_result);
+  void CheckElementMatches(
+      const Selector& selector,
+      BatchElementChecker* checker,
+      base::OnceCallback<void(const ClientStatus&)> callback);
+  void OnShortWaitForElement(
+      base::OnceCallback<void(const ClientStatus&)> callback,
+      const ClientStatus& element_status,
+      const Result* interrupt_result);
   void OnWaitForElementVisibleWithInterrupts(
-      base::OnceCallback<void(ProcessedActionStatusProto)> callback,
-      bool element_found,
+      base::OnceCallback<void(const ClientStatus&)> callback,
+      const ClientStatus& element_status,
       const Result* interrupt_result);
   void OnGetUserData(
       base::OnceCallback<void(std::unique_ptr<UserData>)> callback,
diff --git a/components/autofill_assistant/browser/script_executor_unittest.cc b/components/autofill_assistant/browser/script_executor_unittest.cc
index f6d73e7..8fdd457 100644
--- a/components/autofill_assistant/browser/script_executor_unittest.cc
+++ b/components/autofill_assistant/browser/script_executor_unittest.cc
@@ -69,7 +69,7 @@
         .WillByDefault(RunOnceCallback<1>(ClientStatus(OTHER_ACTION_STATUS)));
 
     ON_CALL(mock_web_controller_, OnElementCheck(_, _))
-        .WillByDefault(RunOnceCallback<1>(true));
+        .WillByDefault(RunOnceCallback<1>(OkClientStatus()));
     ON_CALL(mock_web_controller_, OnFocusElement(_, _, _))
         .WillByDefault(RunOnceCallback<2>(OkClientStatus()));
   }
@@ -524,12 +524,12 @@
   // element is found, and the action succeeds.
   EXPECT_CALL(mock_web_controller_,
               OnElementCheck(Eq(Selector({"element"})), _))
-      .WillOnce(RunOnceCallback<1>(false));
+      .WillOnce(RunOnceCallback<1>(ClientStatus()));
   executor_->Run(executor_callback_.Get());
 
   EXPECT_CALL(mock_web_controller_,
               OnElementCheck(Eq(Selector({"element"})), _))
-      .WillRepeatedly(RunOnceCallback<1>(true));
+      .WillRepeatedly(RunOnceCallback<1>(OkClientStatus()));
   EXPECT_CALL(executor_callback_, Run(_));
   task_environment_.FastForwardBy(base::TimeDelta::FromSeconds(1));
 
@@ -553,12 +553,12 @@
   // disappears, and the action succeeds.
   EXPECT_CALL(mock_web_controller_,
               OnElementCheck(Eq(Selector({"element"})), _))
-      .WillOnce(RunOnceCallback<1>(true));
+      .WillOnce(RunOnceCallback<1>(OkClientStatus()));
   executor_->Run(executor_callback_.Get());
 
   EXPECT_CALL(mock_web_controller_,
               OnElementCheck(Eq(Selector({"element"})), _))
-      .WillRepeatedly(RunOnceCallback<1>(false));
+      .WillRepeatedly(RunOnceCallback<1>(ClientStatus()));
   EXPECT_CALL(executor_callback_, Run(_));
   task_environment_.FastForwardBy(base::TimeDelta::FromSeconds(1));
 
@@ -724,10 +724,10 @@
 
   EXPECT_CALL(mock_web_controller_,
               OnElementCheck(Eq(Selector({"element"})), _))
-      .WillRepeatedly(RunOnceCallback<1>(true));
+      .WillRepeatedly(RunOnceCallback<1>(OkClientStatus()));
   EXPECT_CALL(mock_web_controller_,
               OnElementCheck(Eq(Selector({"interrupt_trigger"})), _))
-      .WillRepeatedly(RunOnceCallback<1>(false));
+      .WillRepeatedly(RunOnceCallback<1>(ClientStatus()));
 
   EXPECT_CALL(mock_service_, OnGetNextActions(_, _, _, _, _))
       .WillRepeatedly(RunOnceCallback<4>(true, ""));
@@ -1002,7 +1002,7 @@
   // First check does not find the element, wait for dom waits 1s.
   EXPECT_CALL(mock_web_controller_,
               OnElementCheck(Eq(Selector({"element"})), _))
-      .WillOnce(RunOnceCallback<1>(false));
+      .WillOnce(RunOnceCallback<1>(ClientStatus()));
   executor_->Run(executor_callback_.Get());
 
   // Navigation starts while WaitForDom is waiting. The action doesn't fail,
@@ -1016,7 +1016,7 @@
   // The end of navigation un-pauses WaitForDom.
   EXPECT_CALL(mock_web_controller_,
               OnElementCheck(Eq(Selector({"element"})), _))
-      .WillRepeatedly(RunOnceCallback<1>(true));
+      .WillRepeatedly(RunOnceCallback<1>(OkClientStatus()));
   EXPECT_CALL(executor_callback_, Run(_));
   delegate_.UpdateNavigationState(/* navigating= */ false, /* error= */ false);
 
@@ -1156,14 +1156,14 @@
   // fails.
   EXPECT_CALL(mock_web_controller_,
               OnElementCheck(Eq(Selector({"element"})), _))
-      .WillOnce(RunOnceCallback<1>(false));
+      .WillOnce(RunOnceCallback<1>(ClientStatus()));
   delegate_.UpdateNavigationState(/* navigating= */ false, /* error= */ false);
 
   // Checking for the element succeeds on the second try. Waiting avoids
   // depending on the order at which the listeners are called.
   EXPECT_CALL(mock_web_controller_,
               OnElementCheck(Eq(Selector({"element"})), _))
-      .WillOnce(RunOnceCallback<1>(true));
+      .WillOnce(RunOnceCallback<1>(OkClientStatus()));
   task_environment_.FastForwardBy(base::TimeDelta::FromSeconds(1));
 
   ASSERT_THAT(processed_actions_capture, SizeIs(1));
@@ -1187,7 +1187,7 @@
   // As the element doesn't exist, WaitForDom returns and waits for 1s.
   EXPECT_CALL(mock_web_controller_,
               OnElementCheck(Eq(Selector({"element"})), _))
-      .WillOnce(RunOnceCallback<1>(false));
+      .WillOnce(RunOnceCallback<1>(ClientStatus()));
   EXPECT_CALL(executor_callback_, Run(_));
   executor_->Run(executor_callback_.Get());
 
@@ -1196,7 +1196,7 @@
   // Navigation end forces a re-check, which succeeds
   EXPECT_CALL(mock_web_controller_,
               OnElementCheck(Eq(Selector({"element"})), _))
-      .WillRepeatedly(RunOnceCallback<1>(true));
+      .WillRepeatedly(RunOnceCallback<1>(OkClientStatus()));
   delegate_.UpdateNavigationState(/* navigating= */ false, /* error= */ false);
 
   ASSERT_THAT(processed_actions_capture, SizeIs(1));
@@ -1221,7 +1221,7 @@
   // As the element doesn't exist, WaitForDom returns and waits for 1s.
   EXPECT_CALL(mock_web_controller_,
               OnElementCheck(Eq(Selector({"element"})), _))
-      .WillOnce(RunOnceCallback<1>(false));
+      .WillOnce(RunOnceCallback<1>(ClientStatus()));
   EXPECT_CALL(executor_callback_, Run(_));
   executor_->Run(executor_callback_.Get());
 
@@ -1230,7 +1230,7 @@
   // Navigation end forces a re-check, which succeeds
   EXPECT_CALL(mock_web_controller_,
               OnElementCheck(Eq(Selector({"element"})), _))
-      .WillRepeatedly(RunOnceCallback<1>(true));
+      .WillRepeatedly(RunOnceCallback<1>(OkClientStatus()));
   delegate_.UpdateNavigationState(/* navigating= */ false, /* error= */ false);
 
   ASSERT_THAT(processed_actions_capture, SizeIs(2));
diff --git a/components/autofill_assistant/browser/script_precondition_unittest.cc b/components/autofill_assistant/browser/script_precondition_unittest.cc
index d4057a1..68e1a77 100644
--- a/components/autofill_assistant/browser/script_precondition_unittest.cc
+++ b/components/autofill_assistant/browser/script_precondition_unittest.cc
@@ -58,10 +58,10 @@
  public:
   void SetUp() override {
     ON_CALL(mock_web_controller_, OnElementCheck(Eq(Selector({"exists"})), _))
-        .WillByDefault(RunOnceCallback<1>(true));
+        .WillByDefault(RunOnceCallback<1>(OkClientStatus()));
     ON_CALL(mock_web_controller_,
             OnElementCheck(Eq(Selector({"does_not_exist"})), _))
-        .WillByDefault(RunOnceCallback<1>(false));
+        .WillByDefault(RunOnceCallback<1>(ClientStatus()));
 
     SetUrl("http://www.example.com/path");
 
@@ -177,7 +177,7 @@
 
 TEST_F(ScriptPreconditionTest, IgnoreEmptyElementsExist) {
   EXPECT_CALL(mock_web_controller_, OnElementCheck(Eq(Selector({"exists"})), _))
-      .WillOnce(RunOnceCallback<1>(true));
+      .WillOnce(RunOnceCallback<1>(OkClientStatus()));
 
   ScriptPreconditionProto proto;
   proto.add_elements_exist()->add_selectors("exists");
diff --git a/components/autofill_assistant/browser/script_tracker_unittest.cc b/components/autofill_assistant/browser/script_tracker_unittest.cc
index 131774ab..29d84a9 100644
--- a/components/autofill_assistant/browser/script_tracker_unittest.cc
+++ b/components/autofill_assistant/browser/script_tracker_unittest.cc
@@ -36,10 +36,10 @@
     delegate_.SetCurrentURL(GURL("http://www.example.com/"));
 
     ON_CALL(mock_web_controller_, OnElementCheck(Eq(Selector({"exists"})), _))
-        .WillByDefault(RunOnceCallback<1>(true));
+        .WillByDefault(RunOnceCallback<1>(OkClientStatus()));
     ON_CALL(mock_web_controller_,
             OnElementCheck(Eq(Selector({"does_not_exist"})), _))
-        .WillByDefault(RunOnceCallback<1>(false));
+        .WillByDefault(RunOnceCallback<1>(ClientStatus()));
 
     // Scripts run, but have no actions.
     ON_CALL(mock_service_, OnGetActions(_, _, _, _, _, _))
@@ -153,7 +153,6 @@
 }
 
 TEST_F(ScriptTrackerTest, DoNotCheckInterruptWithNoName) {
-
   // The interrupt's preconditions would all be met, but it won't be reported
   // since it doesn't have a name.
   auto* no_name = AddScript("", "path1", "exists");
@@ -264,7 +263,7 @@
 TEST_F(ScriptTrackerTest, CheckScriptsAfterDOMChange) {
   EXPECT_CALL(mock_web_controller_,
               OnElementCheck(Eq(Selector({"maybe_exists"})), _))
-      .WillOnce(RunOnceCallback<1>(false));
+      .WillOnce(RunOnceCallback<1>(ClientStatus()));
 
   AddScript("script name", "script path", "maybe_exists");
   SetAndCheckScripts();
@@ -272,10 +271,10 @@
   // No scripts are runnable.
   EXPECT_THAT(runnable_scripts(), IsEmpty());
 
-  // DOM has changed; OnElementExists now returns true.
+  // DOM has changed; OnElementExists now returns truthy.
   EXPECT_CALL(mock_web_controller_,
               OnElementCheck(Eq(Selector({"maybe_exists"})), _))
-      .WillOnce(RunOnceCallback<1>(true));
+      .WillOnce(RunOnceCallback<1>(OkClientStatus()));
   tracker_.CheckScripts();
 
   // The script can now run
diff --git a/components/autofill_assistant/browser/service.proto b/components/autofill_assistant/browser/service.proto
index e6f242b..d83c72e 100644
--- a/components/autofill_assistant/browser/service.proto
+++ b/components/autofill_assistant/browser/service.proto
@@ -588,6 +588,7 @@
   optional bool address_pointee_was_null = 3;
 }
 
+// Next: 22
 enum ProcessedActionStatusProto {
   UNKNOWN_ACTION_STATUS = 0;
 
diff --git a/components/autofill_assistant/browser/web/mock_web_controller.h b/components/autofill_assistant/browser/web/mock_web_controller.h
index 03e0fb7..bf89e46b 100644
--- a/components/autofill_assistant/browser/web/mock_web_controller.h
+++ b/components/autofill_assistant/browser/web/mock_web_controller.h
@@ -47,24 +47,26 @@
                     const TopPadding& top_padding,
                     base::OnceCallback<void(const ClientStatus&)>& callback));
 
-  void ElementCheck(const Selector& selector,
-                    bool strict,
-                    base::OnceCallback<void(bool)> callback) override {
+  void ElementCheck(
+      const Selector& selector,
+      bool strict,
+      base::OnceCallback<void(const ClientStatus&)> callback) override {
     OnElementCheck(selector, callback);
   }
   MOCK_METHOD2(OnElementCheck,
                void(const Selector& selector,
-                    base::OnceCallback<void(bool)>& callback));
+                    base::OnceCallback<void(const ClientStatus&)>& callback));
 
   void GetFieldValue(
       const Selector& selector,
-      base::OnceCallback<void(bool, const std::string&)> callback) override {
+      base::OnceCallback<void(const ClientStatus&, const std::string&)>
+          callback) override {
     OnGetFieldValue(selector, callback);
   }
-  MOCK_METHOD2(
-      OnGetFieldValue,
-      void(const Selector& selector,
-           base::OnceCallback<void(bool, const std::string&)>& callback));
+  MOCK_METHOD2(OnGetFieldValue,
+               void(const Selector& selector,
+                    base::OnceCallback<void(const ClientStatus&,
+                                            const std::string&)>& callback));
 
   void GetVisualViewport(
       base::OnceCallback<void(bool, const RectF&)> callback) override {
diff --git a/components/autofill_assistant/browser/web/web_controller.cc b/components/autofill_assistant/browser/web/web_controller.cc
index b9a30b4..5be7f0a 100644
--- a/components/autofill_assistant/browser/web/web_controller.cc
+++ b/components/autofill_assistant/browser/web/web_controller.cc
@@ -524,9 +524,10 @@
   std::move(callback).Run(OkClientStatus());
 }
 
-void WebController::ElementCheck(const Selector& selector,
-                                 bool strict,
-                                 base::OnceCallback<void(bool)> callback) {
+void WebController::ElementCheck(
+    const Selector& selector,
+    bool strict,
+    base::OnceCallback<void(const ClientStatus&)> callback) {
   DCHECK(!selector.empty());
   FindElement(
       selector, strict,
@@ -535,13 +536,13 @@
 }
 
 void WebController::OnFindElementForCheck(
-    base::OnceCallback<void(bool)> callback,
+    base::OnceCallback<void(const ClientStatus&)> callback,
     const ClientStatus& status,
     std::unique_ptr<ElementFinder::Result> result) {
   DVLOG_IF(1,
            !status.ok() && status.proto_status() != ELEMENT_RESOLUTION_FAILED)
       << __func__ << ": " << status;
-  std::move(callback).Run(status.ok());
+  std::move(callback).Run(status);
 }
 
 void WebController::WaitForWindowHeightChange(
@@ -939,7 +940,8 @@
 
 void WebController::GetFieldValue(
     const Selector& selector,
-    base::OnceCallback<void(bool, const std::string&)> callback) {
+    base::OnceCallback<void(const ClientStatus&, const std::string&)>
+        callback) {
   FindElement(
       selector,
       /* strict_mode= */ true,
@@ -948,12 +950,12 @@
 }
 
 void WebController::OnFindElementForGetFieldValue(
-    base::OnceCallback<void(bool, const std::string&)> callback,
+    base::OnceCallback<void(const ClientStatus&, const std::string&)> callback,
     const ClientStatus& status,
     std::unique_ptr<ElementFinder::Result> element_result) {
   const std::string object_id = element_result->object_id;
   if (!status.ok()) {
-    std::move(callback).Run(/* exists= */ false, "");
+    std::move(callback).Run(status, "");
     return;
   }
 
@@ -969,7 +971,8 @@
 }
 
 void WebController::OnGetValueAttribute(
-    base::OnceCallback<void(bool, const std::string&)> callback,
+    base::OnceCallback<void(const ClientStatus& element_status,
+                            const std::string&)> callback,
     const DevtoolsClient::ReplyStatus& reply_status,
     std::unique_ptr<runtime::CallFunctionOnResult> result) {
   std::string value;
@@ -979,7 +982,7 @@
   DVLOG_IF(1, !status.ok())
       << __func__ << "Failed to get attribute value: " << status;
   SafeGetStringValue(result->GetResult(), &value);
-  std::move(callback).Run(/* exists= */ true, value);
+  std::move(callback).Run(status, value);
 }
 
 void WebController::SetFieldValue(
diff --git a/components/autofill_assistant/browser/web/web_controller.h b/components/autofill_assistant/browser/web/web_controller.h
index 7a98bff..7131905 100644
--- a/components/autofill_assistant/browser/web/web_controller.h
+++ b/components/autofill_assistant/browser/web/web_controller.h
@@ -122,7 +122,8 @@
   // Normally done through BatchElementChecker.
   virtual void GetFieldValue(
       const Selector& selector,
-      base::OnceCallback<void(bool, const std::string&)> callback);
+      base::OnceCallback<void(const ClientStatus&, const std::string&)>
+          callback);
 
   // Set the |value| of field |selector| and return the result through
   // |callback|. If |simulate_key_presses| is true, the value will be set by
@@ -180,9 +181,10 @@
   // pass. Otherwise, there must be at least one.
   //
   // To check multiple elements, use a BatchElementChecker.
-  virtual void ElementCheck(const Selector& selector,
-                            bool strict,
-                            base::OnceCallback<void(bool)> callback);
+  virtual void ElementCheck(
+      const Selector& selector,
+      bool strict,
+      base::OnceCallback<void(const ClientStatus&)> callback);
 
   // Calls the callback once the main document window has been resized.
   virtual void WaitForWindowHeightChange(
@@ -272,9 +274,10 @@
       base::OnceCallback<void(const ClientStatus&)> callback,
       const DevtoolsClient::ReplyStatus& reply_status,
       std::unique_ptr<input::DispatchTouchEventResult> result);
-  void OnFindElementForCheck(base::OnceCallback<void(bool)> callback,
-                             const ClientStatus& status,
-                             std::unique_ptr<ElementFinder::Result> result);
+  void OnFindElementForCheck(
+      base::OnceCallback<void(const ClientStatus&)> callback,
+      const ClientStatus& status,
+      std::unique_ptr<ElementFinder::Result> result);
   void OnWaitForWindowHeightChange(
       base::OnceCallback<void(const ClientStatus&)> callback,
       const DevtoolsClient::ReplyStatus& reply_status,
@@ -332,11 +335,13 @@
       const DevtoolsClient::ReplyStatus& reply_status,
       std::unique_ptr<runtime::CallFunctionOnResult> result);
   void OnFindElementForGetFieldValue(
-      base::OnceCallback<void(bool, const std::string&)> callback,
+      base::OnceCallback<void(const ClientStatus&, const std::string&)>
+          callback,
       const ClientStatus& status,
       std::unique_ptr<ElementFinder::Result> element_result);
   void OnGetValueAttribute(
-      base::OnceCallback<void(bool, const std::string&)> callback,
+      base::OnceCallback<void(const ClientStatus&, const std::string&)>
+          callback,
       const DevtoolsClient::ReplyStatus& reply_status,
       std::unique_ptr<runtime::CallFunctionOnResult> result);
   void InternalSetFieldValue(
diff --git a/components/autofill_assistant/browser/web/web_controller_browsertest.cc b/components/autofill_assistant/browser/web/web_controller_browsertest.cc
index 9fbae121..15bfb05 100644
--- a/components/autofill_assistant/browser/web/web_controller_browsertest.cc
+++ b/components/autofill_assistant/browser/web/web_controller_browsertest.cc
@@ -128,8 +128,8 @@
                                    const Selector& selector,
                                    size_t* pending_number_of_checks_output,
                                    bool expected_result,
-                                   bool result) {
-    EXPECT_EQ(expected_result, result) << "selector: " << selector;
+                                   const ClientStatus& result) {
+    EXPECT_EQ(expected_result, result.ok()) << "selector: " << selector;
     *pending_number_of_checks_output -= 1;
     if (*pending_number_of_checks_output == 0) {
       done_callback.Run();
@@ -164,9 +164,9 @@
 
   void OnWaitForElementRemove(const base::Closure& done_callback,
                               const Selector& selector,
-                              bool result) {
+                              const ClientStatus& result) {
     done_callback.Run();
-    if (result) {
+    if (result.ok()) {
       WaitForElementRemove(selector);
     }
   }
@@ -329,7 +329,7 @@
   void OnGetFieldValue(const base::Closure& done_callback,
                        size_t* pending_number_of_checks_output,
                        const std::string& expected_value,
-                       bool exists,
+                       const ClientStatus& status,
                        const std::string& value) {
     // Don't use ASSERT_EQ here: if the check fails, this would result in
     // an endless loop without meaningful test results.
diff --git a/components/cast_channel/cast_socket.cc b/components/cast_channel/cast_socket.cc
index 26ef514..83c811a 100644
--- a/components/cast_channel/cast_socket.cc
+++ b/components/cast_channel/cast_socket.cc
@@ -34,6 +34,7 @@
 #include "components/cast_channel/proto/cast_channel.pb.h"
 #include "content/public/browser/browser_task_traits.h"
 #include "content/public/browser/browser_thread.h"
+#include "mojo/public/cpp/bindings/pending_remote.h"
 #include "net/base/address_list.h"
 #include "net/base/host_port_pair.h"
 #include "net/base/net_errors.h"
@@ -82,7 +83,7 @@
       nullptr /* tcp_connected_socket_options */,
       net::MutableNetworkTrafficAnnotationTag(
           CastSocketImpl::GetNetworkTrafficAnnotationTag()),
-      std::move(request), nullptr /* observer */,
+      std::move(request), mojo::NullRemote() /* observer */,
       base::BindOnce(OnConnected, std::move(callback)));
 }
 
@@ -419,7 +420,7 @@
   tcp_socket_->UpgradeToTLS(
       host_port_pair, std::move(options),
       net::MutableNetworkTrafficAnnotationTag(GetNetworkTrafficAnnotationTag()),
-      mojo::MakeRequest(&socket_), nullptr /* observer */,
+      mojo::MakeRequest(&socket_), mojo::NullRemote() /* observer */,
       base::BindOnce(&CastSocketImpl::OnUpgradeToTLS,
                      weak_factory_.GetWeakPtr()));
 
diff --git a/components/chromeos_camera/mojo_mjpeg_decode_accelerator.cc b/components/chromeos_camera/mojo_mjpeg_decode_accelerator.cc
index 39af013f..a789f220 100644
--- a/components/chromeos_camera/mojo_mjpeg_decode_accelerator.cc
+++ b/components/chromeos_camera/mojo_mjpeg_decode_accelerator.cc
@@ -18,9 +18,10 @@
 
 MojoMjpegDecodeAccelerator::MojoMjpegDecodeAccelerator(
     scoped_refptr<base::SequencedTaskRunner> io_task_runner,
-    chromeos_camera::mojom::MjpegDecodeAcceleratorPtrInfo jpeg_decoder)
+    mojo::PendingRemote<chromeos_camera::mojom::MjpegDecodeAccelerator>
+        jpeg_decoder)
     : io_task_runner_(std::move(io_task_runner)),
-      jpeg_decoder_info_(std::move(jpeg_decoder)) {}
+      jpeg_decoder_remote_(std::move(jpeg_decoder)) {}
 
 MojoMjpegDecodeAccelerator::~MojoMjpegDecodeAccelerator() {
   DCHECK(io_task_runner_->RunsTasksInCurrentSequence());
@@ -36,10 +37,10 @@
                                                  InitCB init_cb) {
   DCHECK(io_task_runner_->RunsTasksInCurrentSequence());
 
-  jpeg_decoder_.Bind(std::move(jpeg_decoder_info_));
+  jpeg_decoder_.Bind(std::move(jpeg_decoder_remote_));
 
   // base::Unretained is safe because |this| owns |jpeg_decoder_|.
-  jpeg_decoder_.set_connection_error_handler(
+  jpeg_decoder_.set_disconnect_handler(
       base::Bind(&MojoMjpegDecodeAccelerator::OnLostConnectionToJpegDecoder,
                  base::Unretained(this)));
   jpeg_decoder_->Initialize(
diff --git a/components/chromeos_camera/mojo_mjpeg_decode_accelerator.h b/components/chromeos_camera/mojo_mjpeg_decode_accelerator.h
index 51b68e2..a774f7d 100644
--- a/components/chromeos_camera/mojo_mjpeg_decode_accelerator.h
+++ b/components/chromeos_camera/mojo_mjpeg_decode_accelerator.h
@@ -12,6 +12,8 @@
 #include "base/macros.h"
 #include "components/chromeos_camera/common/mjpeg_decode_accelerator.mojom.h"
 #include "components/chromeos_camera/mjpeg_decode_accelerator.h"
+#include "mojo/public/cpp/bindings/pending_remote.h"
+#include "mojo/public/cpp/bindings/remote.h"
 
 namespace base {
 class SequencedTaskRunner;
@@ -26,7 +28,8 @@
  public:
   MojoMjpegDecodeAccelerator(
       scoped_refptr<base::SequencedTaskRunner> io_task_runner,
-      chromeos_camera::mojom::MjpegDecodeAcceleratorPtrInfo jpeg_decoder);
+      mojo::PendingRemote<chromeos_camera::mojom::MjpegDecodeAccelerator>
+          jpeg_decoder);
   ~MojoMjpegDecodeAccelerator() override;
 
   // MjpegDecodeAccelerator implementation.
@@ -55,13 +58,15 @@
 
   Client* client_ = nullptr;
 
-  // Used to safely pass the chromeos_camera::mojom::MjpegDecodeAcceleratorPtr
-  // from one thread to another. It is set in the constructor and consumed in
+  // Used to safely pass the
+  // chromeos_mojo::Remote<camera::mojom::MjpegDecodeAccelerator> from one
+  // thread to another. It is set in the constructor and consumed in
   // InitializeAsync().
   // TODO(mcasas): s/jpeg_decoder_/jda_/ https://crbug.com/699255.
-  chromeos_camera::mojom::MjpegDecodeAcceleratorPtrInfo jpeg_decoder_info_;
+  mojo::PendingRemote<chromeos_camera::mojom::MjpegDecodeAccelerator>
+      jpeg_decoder_remote_;
 
-  chromeos_camera::mojom::MjpegDecodeAcceleratorPtr jpeg_decoder_;
+  mojo::Remote<chromeos_camera::mojom::MjpegDecodeAccelerator> jpeg_decoder_;
 
   DISALLOW_COPY_AND_ASSIGN(MojoMjpegDecodeAccelerator);
 };
diff --git a/components/chromeos_camera/mojo_mjpeg_decode_accelerator_service.cc b/components/chromeos_camera/mojo_mjpeg_decode_accelerator_service.cc
index 57b855a..5816af8 100644
--- a/components/chromeos_camera/mojo_mjpeg_decode_accelerator_service.cc
+++ b/components/chromeos_camera/mojo_mjpeg_decode_accelerator_service.cc
@@ -25,7 +25,7 @@
 #include "components/chromeos_camera/dmabuf_utils.h"
 #include "media/base/bitstream_buffer.h"
 #include "media/base/video_frame.h"
-#include "mojo/public/cpp/bindings/strong_binding.h"
+#include "mojo/public/cpp/bindings/self_owned_receiver.h"
 #include "mojo/public/cpp/system/platform_handle.h"
 #include "ui/gfx/geometry/rect.h"
 #include "ui/gfx/geometry/size.h"
@@ -64,9 +64,11 @@
 
 // static
 void MojoMjpegDecodeAcceleratorService::Create(
-    chromeos_camera::mojom::MjpegDecodeAcceleratorRequest request) {
+    mojo::PendingReceiver<chromeos_camera::mojom::MjpegDecodeAccelerator>
+        receiver) {
   auto* jpeg_decoder = new MojoMjpegDecodeAcceleratorService();
-  mojo::MakeStrongBinding(base::WrapUnique(jpeg_decoder), std::move(request));
+  mojo::MakeSelfOwnedReceiver(base::WrapUnique(jpeg_decoder),
+                              std::move(receiver));
 }
 
 MojoMjpegDecodeAcceleratorService::MojoMjpegDecodeAcceleratorService()
diff --git a/components/chromeos_camera/mojo_mjpeg_decode_accelerator_service.h b/components/chromeos_camera/mojo_mjpeg_decode_accelerator_service.h
index bc48888..fbb40d8 100644
--- a/components/chromeos_camera/mojo_mjpeg_decode_accelerator_service.h
+++ b/components/chromeos_camera/mojo_mjpeg_decode_accelerator_service.h
@@ -17,6 +17,7 @@
 #include "components/chromeos_camera/common/mjpeg_decode_accelerator.mojom.h"
 #include "components/chromeos_camera/gpu_mjpeg_decode_accelerator_factory.h"
 #include "components/chromeos_camera/mjpeg_decode_accelerator.h"
+#include "mojo/public/cpp/bindings/pending_receiver.h"
 
 namespace chromeos_camera {
 
@@ -27,7 +28,8 @@
       public MjpegDecodeAccelerator::Client {
  public:
   static void Create(
-      chromeos_camera::mojom::MjpegDecodeAcceleratorRequest request);
+      mojo::PendingReceiver<chromeos_camera::mojom::MjpegDecodeAccelerator>
+          receiver);
 
   ~MojoMjpegDecodeAcceleratorService() override;
 
diff --git a/components/content_capture/common/content_capture_mojom_traits_unittest.cc b/components/content_capture/common/content_capture_mojom_traits_unittest.cc
index 4116367..8afbed21 100644
--- a/components/content_capture/common/content_capture_mojom_traits_unittest.cc
+++ b/components/content_capture/common/content_capture_mojom_traits_unittest.cc
@@ -6,7 +6,8 @@
 #include "base/strings/utf_string_conversions.h"
 #include "base/test/task_environment.h"
 #include "components/content_capture/common/traits_test_service.test-mojom.h"
-#include "mojo/public/cpp/bindings/binding_set.h"
+#include "mojo/public/cpp/bindings/receiver_set.h"
+#include "mojo/public/cpp/bindings/remote.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
 namespace content_capture {
@@ -18,10 +19,10 @@
   ContentCaptureStructTraitsTest() = default;
 
  protected:
-  mojom::TraitsTestServicePtr GetTraitsTestProxy() {
-    mojom::TraitsTestServicePtr proxy;
-    traits_test_bindings_.AddBinding(this, mojo::MakeRequest(&proxy));
-    return proxy;
+  mojo::Remote<mojom::TraitsTestService> GetTraitsTestRemote() {
+    mojo::Remote<mojom::TraitsTestService> remote;
+    traits_test_receivers_.Add(this, remote.BindNewPipeAndPassReceiver());
+    return remote;
   }
 
  private:
@@ -33,7 +34,7 @@
   }
 
   base::test::TaskEnvironment task_environment_;
-  mojo::BindingSet<TraitsTestService> traits_test_bindings_;
+  mojo::ReceiverSet<TraitsTestService> traits_test_receivers_;
 
   DISALLOW_COPY_AND_ASSIGN(ContentCaptureStructTraitsTest);
 };
@@ -49,9 +50,9 @@
   input.bounds = gfx::Rect(10, 10);
   input.children.push_back(child);
 
-  mojom::TraitsTestServicePtr proxy = GetTraitsTestProxy();
+  mojo::Remote<mojom::TraitsTestService> remote = GetTraitsTestRemote();
   ContentCaptureData output;
-  proxy->EchoContentCaptureData(input, &output);
+  remote->EchoContentCaptureData(input, &output);
   EXPECT_EQ(input, output);
 }
 
diff --git a/components/domain_reliability/util.cc b/components/domain_reliability/util.cc
index 5c61a4e0..079e200 100644
--- a/components/domain_reliability/util.cc
+++ b/components/domain_reliability/util.cc
@@ -135,6 +135,7 @@
     case net::HttpResponseInfo::CONNECTION_INFO_QUIC_47:
     case net::HttpResponseInfo::CONNECTION_INFO_QUIC_48:
     case net::HttpResponseInfo::CONNECTION_INFO_QUIC_49:
+    case net::HttpResponseInfo::CONNECTION_INFO_QUIC_50:
     case net::HttpResponseInfo::CONNECTION_INFO_QUIC_99:
     case net::HttpResponseInfo::CONNECTION_INFO_QUIC_999:
       return "QUIC";
diff --git a/components/download/internal/common/download_job_factory.cc b/components/download/internal/common/download_job_factory.cc
index daa7b44a..fb23ce8 100644
--- a/components/download/internal/common/download_job_factory.cc
+++ b/components/download/internal/common/download_job_factory.cc
@@ -59,6 +59,7 @@
     case net::HttpResponseInfo::CONNECTION_INFO_QUIC_47:
     case net::HttpResponseInfo::CONNECTION_INFO_QUIC_48:
     case net::HttpResponseInfo::CONNECTION_INFO_QUIC_49:
+    case net::HttpResponseInfo::CONNECTION_INFO_QUIC_50:
     case net::HttpResponseInfo::CONNECTION_INFO_QUIC_99:
     case net::HttpResponseInfo::CONNECTION_INFO_QUIC_999:
       return ConnectionType::kQUIC;
diff --git a/components/guest_os/guest_os_engagement_metrics.cc b/components/guest_os/guest_os_engagement_metrics.cc
index df67b35..350b34d 100644
--- a/components/guest_os/guest_os_engagement_metrics.cc
+++ b/components/guest_os/guest_os_engagement_metrics.cc
@@ -98,7 +98,7 @@
     aura::Window* gained_active,
     aura::Window* lost_active) {
   UpdateEngagementTime();
-  matched_window_active_ = window_matcher_.Run(gained_active);
+  matched_window_active_ = gained_active && window_matcher_.Run(gained_active);
 }
 
 void GuestOsEngagementMetrics::OnSessionStateChanged() {
diff --git a/components/page_load_metrics/browser/protocol_util.cc b/components/page_load_metrics/browser/protocol_util.cc
index 3dc0c31..efdd0d8 100644
--- a/components/page_load_metrics/browser/protocol_util.cc
+++ b/components/page_load_metrics/browser/protocol_util.cc
@@ -41,6 +41,7 @@
     case net::HttpResponseInfo::CONNECTION_INFO_QUIC_47:
     case net::HttpResponseInfo::CONNECTION_INFO_QUIC_48:
     case net::HttpResponseInfo::CONNECTION_INFO_QUIC_49:
+    case net::HttpResponseInfo::CONNECTION_INFO_QUIC_50:
     case net::HttpResponseInfo::CONNECTION_INFO_QUIC_99:
     case net::HttpResponseInfo::CONNECTION_INFO_QUIC_999:
       return NetworkProtocol::kQuic;
diff --git a/components/pdf/renderer/pepper_pdf_host.cc b/components/pdf/renderer/pepper_pdf_host.cc
index d8a28e6..ff44f18 100644
--- a/components/pdf/renderer/pepper_pdf_host.cc
+++ b/components/pdf/renderer/pepper_pdf_host.cc
@@ -276,13 +276,12 @@
     const PP_PrivateAccessibilityPageInfo& page_info,
     const std::vector<PP_PrivateAccessibilityTextRunInfo>& text_run_info,
     const std::vector<PP_PrivateAccessibilityCharInfo>& chars,
-    const std::vector<ppapi::PdfAccessibilityLinkInfo>& links,
-    const std::vector<ppapi::PdfAccessibilityImageInfo>& images) {
+    const ppapi::PdfAccessibilityPageObjects& page_objects) {
   if (!host_->GetPluginInstance(pp_instance()))
     return PP_ERROR_FAILED;
   CreatePdfAccessibilityTreeIfNeeded();
-  pdf_accessibility_tree_->SetAccessibilityPageInfo(page_info, text_run_info,
-                                                    chars, links, images);
+  pdf_accessibility_tree_->SetAccessibilityPageInfo(
+      page_info, text_run_info, chars, page_objects.links, page_objects.images);
   return PP_OK;
 }
 
diff --git a/components/pdf/renderer/pepper_pdf_host.h b/components/pdf/renderer/pepper_pdf_host.h
index 9a20d0d..5505324 100644
--- a/components/pdf/renderer/pepper_pdf_host.h
+++ b/components/pdf/renderer/pepper_pdf_host.h
@@ -120,8 +120,7 @@
       const PP_PrivateAccessibilityPageInfo& page_info,
       const std::vector<PP_PrivateAccessibilityTextRunInfo>& text_runs,
       const std::vector<PP_PrivateAccessibilityCharInfo>& chars,
-      const std::vector<ppapi::PdfAccessibilityLinkInfo>& links,
-      const std::vector<ppapi::PdfAccessibilityImageInfo>& images);
+      const ppapi::PdfAccessibilityPageObjects& page_objects);
   int32_t OnHostMsgSelectionChanged(ppapi::host::HostMessageContext* context,
                                     const PP_FloatPoint& left,
                                     int32_t left_height,
diff --git a/components/performance_manager/performance_manager.cc b/components/performance_manager/performance_manager.cc
index aad56b5..60d8000 100644
--- a/components/performance_manager/performance_manager.cc
+++ b/components/performance_manager/performance_manager.cc
@@ -45,9 +45,4 @@
           std::move(graph_owned)));
 }
 
-// static
-content::LockObserver* PerformanceManager::GetLockObserver() {
-  return PerformanceManagerImpl::GetInstance()->lock_observer();
-}
-
 }  // namespace performance_manager
diff --git a/components/performance_manager/performance_manager_impl.h b/components/performance_manager/performance_manager_impl.h
index 2c90fba..053e4733 100644
--- a/components/performance_manager/performance_manager_impl.h
+++ b/components/performance_manager/performance_manager_impl.h
@@ -17,7 +17,6 @@
 #include "base/sequenced_task_runner.h"
 #include "base/task_runner_util.h"
 #include "components/performance_manager/graph/graph_impl.h"
-#include "components/performance_manager/performance_manager_lock_observer.h"
 #include "components/performance_manager/public/graph/worker_node.h"
 #include "components/performance_manager/public/performance_manager.h"
 #include "components/performance_manager/public/render_process_host_proxy.h"
@@ -117,8 +116,6 @@
   // TODO(chrisha): Hide this after the last consumer stops using it!
   static scoped_refptr<base::SequencedTaskRunner> GetTaskRunner();
 
-  content::LockObserver* lock_observer() { return &lock_observer_; }
-
   // Indicates whether or not the caller is currently running on the PM task
   // runner.
   bool OnPMTaskRunnerForTesting() const {
@@ -149,9 +146,6 @@
 
   GraphImpl graph_;
 
-  // The LockObserver registered with //content to track lock acquisitions.
-  PerformanceManagerLockObserver lock_observer_;
-
   SEQUENCE_CHECKER(sequence_checker_);
 
   DISALLOW_COPY_AND_ASSIGN(PerformanceManagerImpl);
diff --git a/components/performance_manager/performance_manager_lock_observer.cc b/components/performance_manager/performance_manager_lock_observer.cc
index 6fbe537..680af5c 100644
--- a/components/performance_manager/performance_manager_lock_observer.cc
+++ b/components/performance_manager/performance_manager_lock_observer.cc
@@ -25,7 +25,11 @@
 }  // namespace
 
 PerformanceManagerLockObserver::PerformanceManagerLockObserver() = default;
-PerformanceManagerLockObserver::~PerformanceManagerLockObserver() = default;
+
+PerformanceManagerLockObserver::~PerformanceManagerLockObserver() {
+  // TODO(https://crbug.com/1013760): DCHECK that this happens after ThreadPool
+  // shutdown.
+}
 
 void PerformanceManagerLockObserver::OnFrameStartsHoldingWebLocks(
     int render_process_id,
diff --git a/components/performance_manager/public/performance_manager.h b/components/performance_manager/public/performance_manager.h
index 191742c..4686bf3 100644
--- a/components/performance_manager/public/performance_manager.h
+++ b/components/performance_manager/public/performance_manager.h
@@ -8,10 +8,6 @@
 #include "base/callback.h"
 #include "base/location.h"
 
-namespace content {
-class LockObserver;
-}
-
 namespace performance_manager {
 
 class Graph;
@@ -37,12 +33,6 @@
   static void PassToGraph(const base::Location& from_here,
                           std::unique_ptr<GraphOwned> graph_owned);
 
-  // Returns the LockObserver that should be exposed to //content to allow the
-  // performance manager to track usage of locks in frames. Valid to call from
-  // any thread, but external synchronization is needed to make sure that the
-  // performance manager is available.
-  static content::LockObserver* GetLockObserver();
-
  protected:
   PerformanceManager();
   virtual ~PerformanceManager();
diff --git a/components/prefs/json_pref_store_unittest.cc b/components/prefs/json_pref_store_unittest.cc
index 5ab55c0..1395433 100644
--- a/components/prefs/json_pref_store_unittest.cc
+++ b/components/prefs/json_pref_store_unittest.cc
@@ -732,8 +732,8 @@
 void SuccessfulWriteReplyObserver::ObserveNextWriteCallback(
     JsonPrefStore* json_pref_store) {
   json_pref_store->RegisterOnNextSuccessfulWriteReply(
-      base::Bind(&SuccessfulWriteReplyObserver::OnSuccessfulWrite,
-                 base::Unretained(this)));
+      base::BindOnce(&SuccessfulWriteReplyObserver::OnSuccessfulWrite,
+                     base::Unretained(this)));
 }
 
 enum WriteCallbackObservationState {
@@ -758,10 +758,10 @@
   WriteCallbackObservationState GetAndResetPostWriteObservationState();
 
   JsonPrefStore::OnWriteCallbackPair GetCallbackPair() {
-    return std::make_pair(
-        base::Bind(&WriteCallbacksObserver::OnPreWrite, base::Unretained(this)),
-        base::Bind(&WriteCallbacksObserver::OnPostWrite,
-                   base::Unretained(this)));
+    return std::make_pair(base::BindOnce(&WriteCallbacksObserver::OnPreWrite,
+                                         base::Unretained(this)),
+                          base::BindOnce(&WriteCallbacksObserver::OnPostWrite,
+                                         base::Unretained(this)));
   }
 
   void OnPreWrite() {
@@ -821,10 +821,10 @@
 
   void TriggerFakeWriteForCallback(JsonPrefStore* pref_store, bool success) {
     JsonPrefStore::PostWriteCallback(
-        base::Bind(&JsonPrefStore::RunOrScheduleNextSuccessfulWriteCallback,
-                   pref_store->AsWeakPtr()),
-        base::Bind(&WriteCallbacksObserver::OnPostWrite,
-                   base::Unretained(&write_callback_observer_)),
+        base::BindOnce(&JsonPrefStore::RunOrScheduleNextSuccessfulWriteCallback,
+                       pref_store->AsWeakPtr()),
+        base::BindOnce(&WriteCallbacksObserver::OnPostWrite,
+                       base::Unretained(&write_callback_observer_)),
         base::SequencedTaskRunnerHandle::Get(), success);
   }
 
diff --git a/components/prefs/mock_pref_change_callback.cc b/components/prefs/mock_pref_change_callback.cc
index 7ac2cd7..28cd41d6 100644
--- a/components/prefs/mock_pref_change_callback.cc
+++ b/components/prefs/mock_pref_change_callback.cc
@@ -13,8 +13,8 @@
 MockPrefChangeCallback::~MockPrefChangeCallback() {}
 
 PrefChangeRegistrar::NamedChangeCallback MockPrefChangeCallback::GetCallback() {
-  return base::Bind(&MockPrefChangeCallback::OnPreferenceChanged,
-                    base::Unretained(this));
+  return base::BindRepeating(&MockPrefChangeCallback::OnPreferenceChanged,
+                             base::Unretained(this));
 }
 
 void MockPrefChangeCallback::Expect(const std::string& pref_name,
diff --git a/components/prefs/pref_change_registrar.cc b/components/prefs/pref_change_registrar.cc
index eddd593..0db9284 100644
--- a/components/prefs/pref_change_registrar.cc
+++ b/components/prefs/pref_change_registrar.cc
@@ -82,9 +82,10 @@
     observers_[pref].Run(pref);
 }
 
-void PrefChangeRegistrar::InvokeUnnamedCallback(base::OnceClosure callback,
-                                                const std::string& pref_name) {
-  std::move(callback).Run();
+void PrefChangeRegistrar::InvokeUnnamedCallback(
+    const base::RepeatingClosure& callback,
+    const std::string& pref_name) {
+  callback.Run();
 }
 
 PrefService* PrefChangeRegistrar::prefs() {
diff --git a/components/prefs/pref_change_registrar.h b/components/prefs/pref_change_registrar.h
index e2cf9bcf8..86b4771 100644
--- a/components/prefs/pref_change_registrar.h
+++ b/components/prefs/pref_change_registrar.h
@@ -67,7 +67,7 @@
   void OnPreferenceChanged(PrefService* service,
                            const std::string& pref_name) override;
 
-  static void InvokeUnnamedCallback(base::OnceClosure callback,
+  static void InvokeUnnamedCallback(const base::RepeatingClosure& callback,
                                     const std::string& pref_name);
 
   using ObserverMap = std::map<std::string, NamedChangeCallback>;
diff --git a/components/prefs/pref_change_registrar_unittest.cc b/components/prefs/pref_change_registrar_unittest.cc
index b02b13a5..c41a62b 100644
--- a/components/prefs/pref_change_registrar_unittest.cc
+++ b/components/prefs/pref_change_registrar_unittest.cc
@@ -34,6 +34,12 @@
   MOCK_METHOD2(RemovePrefObserver, void(const std::string&, PrefObserver*));
 };
 
+// Due to overloads, base::DoNothing() cannot be passed directly to
+// PrefChangeRegistrar::Add() as it is convertible to all callbacks.
+base::RepeatingClosure DoNothingClosure() {
+  return base::DoNothing();
+}
+
 }  // namespace
 
 class PrefChangeRegistrarTest : public testing::Test {
@@ -44,8 +50,6 @@
  protected:
   void SetUp() override;
 
-  base::Closure observer() const { return base::DoNothing(); }
-
   MockPrefService* service() const { return service_.get(); }
 
  private:
@@ -65,8 +69,8 @@
               AddPrefObserver(Eq(std::string("test.pref.1")), &registrar));
   EXPECT_CALL(*service(),
               AddPrefObserver(Eq(std::string("test.pref.2")), &registrar));
-  registrar.Add("test.pref.1", observer());
-  registrar.Add("test.pref.2", observer());
+  registrar.Add("test.pref.1", DoNothingClosure());
+  registrar.Add("test.pref.2", DoNothingClosure());
   EXPECT_FALSE(registrar.IsEmpty());
 
   // Test removing.
@@ -91,7 +95,7 @@
   // Setup of auto-remove.
   EXPECT_CALL(*service(),
               AddPrefObserver(Eq(std::string("test.pref.1")), &registrar));
-  registrar.Add("test.pref.1", observer());
+  registrar.Add("test.pref.1", DoNothingClosure());
   Mock::VerifyAndClearExpectations(service());
   EXPECT_FALSE(registrar.IsEmpty());
 
@@ -108,8 +112,8 @@
               AddPrefObserver(Eq(std::string("test.pref.1")), &registrar));
   EXPECT_CALL(*service(),
               AddPrefObserver(Eq(std::string("test.pref.2")), &registrar));
-  registrar.Add("test.pref.1", observer());
-  registrar.Add("test.pref.2", observer());
+  registrar.Add("test.pref.1", DoNothingClosure());
+  registrar.Add("test.pref.2", DoNothingClosure());
   Mock::VerifyAndClearExpectations(service());
 
   EXPECT_CALL(*service(),
@@ -136,10 +140,9 @@
 
   PrefChangeRegistrar* CreatePrefChangeRegistrar() {
     PrefChangeRegistrar* pref_set = new PrefChangeRegistrar();
-    base::Closure callback = base::DoNothing();
     pref_set->Init(pref_service_.get());
-    pref_set->Add(kHomePage, callback);
-    pref_set->Add(kHomePageIsNewTabPage, callback);
+    pref_set->Add(kHomePage, DoNothingClosure());
+    pref_set->Add(kHomePageIsNewTabPage, DoNothingClosure());
     return pref_set;
   }
 
@@ -175,9 +178,9 @@
   using testing::Mock;
 
   PrefChangeRegistrar pref_set;
-  PrefChangeRegistrar::NamedChangeCallback callback = base::Bind(
-      &ObserveSetOfPreferencesTest::OnPreferenceChanged,
-      base::Unretained(this));
+  PrefChangeRegistrar::NamedChangeCallback callback =
+      base::BindRepeating(&ObserveSetOfPreferencesTest::OnPreferenceChanged,
+                          base::Unretained(this));
   pref_set.Init(pref_service_.get());
   pref_set.Add(kHomePage, callback);
   pref_set.Add(kHomePageIsNewTabPage, callback);
diff --git a/components/prefs/pref_member.cc b/components/prefs/pref_member.cc
index a8fa12c..4051e5c 100644
--- a/components/prefs/pref_member.cc
+++ b/components/prefs/pref_member.cc
@@ -54,37 +54,37 @@
   VerifyValuePrefName();
   // Load the value from preferences if it hasn't been loaded so far.
   if (!internal())
-    UpdateValueFromPref(base::Closure());
+    UpdateValueFromPref(base::OnceClosure());
   internal()->MoveToSequence(std::move(task_runner));
 }
 
 void PrefMemberBase::OnPreferenceChanged(PrefService* service,
                                          const std::string& pref_name) {
   VerifyValuePrefName();
-  UpdateValueFromPref((!setting_value_ && !observer_.is_null()) ?
-      base::Bind(observer_, pref_name) : base::Closure());
+  UpdateValueFromPref((!setting_value_ && !observer_.is_null())
+                          ? base::BindOnce(observer_, pref_name)
+                          : base::OnceClosure());
 }
 
-void PrefMemberBase::UpdateValueFromPref(const base::Closure& callback) const {
+void PrefMemberBase::UpdateValueFromPref(base::OnceClosure callback) const {
   VerifyValuePrefName();
   const PrefService::Preference* pref = prefs_->FindPreference(pref_name_);
   DCHECK(pref);
   if (!internal())
     CreateInternal();
-  internal()->UpdateValue(pref->GetValue()->DeepCopy(),
-                          pref->IsManaged(),
-                          pref->IsUserModifiable(),
-                          callback);
+  internal()->UpdateValue(pref->GetValue()->DeepCopy(), pref->IsManaged(),
+                          pref->IsUserModifiable(), std::move(callback));
 }
 
 void PrefMemberBase::VerifyPref() const {
   VerifyValuePrefName();
   if (!internal())
-    UpdateValueFromPref(base::Closure());
+    UpdateValueFromPref(base::OnceClosure());
 }
 
-void PrefMemberBase::InvokeUnnamedCallback(const base::Closure& callback,
-                                           const std::string& pref_name) {
+void PrefMemberBase::InvokeUnnamedCallback(
+    const base::RepeatingClosure& callback,
+    const std::string& pref_name) {
   callback.Run();
 }
 
diff --git a/components/prefs/pref_member.h b/components/prefs/pref_member.h
index f2166e6..6f24273 100644
--- a/components/prefs/pref_member.h
+++ b/components/prefs/pref_member.h
@@ -46,7 +46,7 @@
  public:
   // Type of callback you can register if you need to know the name of
   // the pref that is changing.
-  typedef base::Callback<void(const std::string&)> NamedChangeCallback;
+  using NamedChangeCallback = base::RepeatingCallback<void(const std::string&)>;
 
   PrefService* prefs() { return prefs_; }
   const PrefService* prefs() const { return prefs_; }
@@ -123,7 +123,7 @@
   // This method is used to do the actual sync with the preference.
   // Note: it is logically const, because it doesn't modify the state
   // seen by the outside world. It is just doing a lazy load behind the scenes.
-  void UpdateValueFromPref(const base::Closure& callback) const;
+  void UpdateValueFromPref(base::OnceClosure callback) const;
 
   // Verifies the preference name, and lazily loads the preference value if
   // it hasn't been loaded yet.
@@ -133,8 +133,8 @@
 
   virtual Internal* internal() const = 0;
 
-  // Used to allow registering plain base::Closure callbacks.
-  static void InvokeUnnamedCallback(const base::Closure& callback,
+  // Used to allow registering plain base::RepeatingClosure callbacks.
+  static void InvokeUnnamedCallback(const base::RepeatingClosure& callback,
                                     const std::string& pref_name);
 
  private:
@@ -173,10 +173,10 @@
   }
   void Init(const std::string& pref_name,
             PrefService* prefs,
-            const base::Closure& observer) {
+            const base::RepeatingClosure& observer) {
     subtle::PrefMemberBase::Init(
         pref_name, prefs,
-        base::Bind(&PrefMemberBase::InvokeUnnamedCallback, observer));
+        base::BindRepeating(&PrefMemberBase::InvokeUnnamedCallback, observer));
   }
   void Init(const std::string& pref_name, PrefService* prefs) {
     subtle::PrefMemberBase::Init(pref_name, prefs);
diff --git a/components/prefs/pref_member_unittest.cc b/components/prefs/pref_member_unittest.cc
index 126b18fc..ed2b1a2 100644
--- a/components/prefs/pref_member_unittest.cc
+++ b/components/prefs/pref_member_unittest.cc
@@ -80,8 +80,8 @@
   explicit PrefMemberTestClass(PrefService* prefs)
       : observe_cnt_(0), prefs_(prefs) {
     str_.Init(kStringPref, prefs,
-              base::Bind(&PrefMemberTestClass::OnPreferenceChanged,
-                         base::Unretained(this)));
+              base::BindRepeating(&PrefMemberTestClass::OnPreferenceChanged,
+                                  base::Unretained(this)));
   }
 
   void OnPreferenceChanged(const std::string& pref_name) {
diff --git a/components/prefs/pref_value_store.h b/components/prefs/pref_value_store.h
index 70a92bc..80ac8eb 100644
--- a/components/prefs/pref_value_store.h
+++ b/components/prefs/pref_value_store.h
@@ -33,7 +33,7 @@
 // be called on the UI thread.
 class COMPONENTS_PREFS_EXPORT PrefValueStore {
  public:
-  typedef base::Callback<void(const std::string&)> PrefChangedCallback;
+  using PrefChangedCallback = base::Callback<void(const std::string&)>;
 
   // Delegate used to observe certain events in the |PrefValueStore|'s lifetime.
   class Delegate {
diff --git a/components/prefs/pref_value_store_unittest.cc b/components/prefs/pref_value_store_unittest.cc
index bbbeed8..146c623 100644
--- a/components/prefs/pref_value_store_unittest.cc
+++ b/components/prefs/pref_value_store_unittest.cc
@@ -122,8 +122,8 @@
                            &pref_notifier_));
 
     pref_value_store_->set_callback(
-        base::Bind(&MockPrefModelAssociator::ProcessPrefChange,
-                   base::Unretained(sync_associator_.get())));
+        base::BindRepeating(&MockPrefModelAssociator::ProcessPrefChange,
+                            base::Unretained(sync_associator_.get())));
   }
 
   void CreateManagedPrefs() {
diff --git a/components/prefs/testing_pref_service.cc b/components/prefs/testing_pref_service.cc
index aa6582d..f6b170a 100644
--- a/components/prefs/testing_pref_service.cc
+++ b/components/prefs/testing_pref_service.cc
@@ -34,8 +34,9 @@
                                            pref_notifier),
           user_prefs,
           pref_registry,
-          base::Bind(&TestingPrefServiceBase<PrefService,
-                                             PrefRegistry>::HandleReadError),
+          base::BindRepeating(
+              &TestingPrefServiceBase<PrefService,
+                                      PrefRegistry>::HandleReadError),
           false),
       managed_prefs_(managed_prefs),
       extension_prefs_(extension_prefs),
diff --git a/components/sync/base/model_type.h b/components/sync/base/model_type.h
index 1ee889c7..4f42df2 100644
--- a/components/sync/base/model_type.h
+++ b/components/sync/base/model_type.h
@@ -192,24 +192,24 @@
   kApps = 12,
   kAppSettings = 13,
   kExtensionSettings = 14,
-  kDeprecatedAppNotifications = 15,
+  // kDeprecatedAppNotifications = 15,
   kHistoryDeleteDirectices = 16,
   kNigori = 17,
   kDeviceInfo = 18,
   kDeprecatedExperiments = 19,
-  kDeprecatedSyncedNotifications = 20,
+  // kDeprecatedSyncedNotifications = 20,
   kPriorityPreferences = 21,
   kDictionary = 22,
   kFaviconImages = 23,
   kFaviconTracking = 24,
   kProxyTabs = 25,
   kSupervisedUserSettings = 26,
-  kDeprecatedSupervisedUsers = 27,
-  kDeprecatedArticles = 28,
+  // kDeprecatedSupervisedUsers = 27,
+  // kDeprecatedArticles = 28,
   kAppList = 29,
-  kDeprecatedSupervisedUserSharedSettings = 30,
-  kDeprecatedSyncedNotificationAppInfo = 31,
-  kDeprecatedWifiCredentials = 32,
+  // kDeprecatedSupervisedUserSharedSettings = 30,
+  // kDeprecatedSyncedNotificationAppInfo = 31,
+  // kDeprecatedWifiCredentials = 32,
   kSupervisedUserWhitelists = 33,
   kAutofillWalletData = 34,
   kAutofillWalletMetadata = 35,
diff --git a/components/viz/host/gpu_client.cc b/components/viz/host/gpu_client.cc
index 68d8768..491c6022 100644
--- a/components/viz/host/gpu_client.cc
+++ b/components/viz/host/gpu_client.cc
@@ -166,10 +166,11 @@
 
 #if defined(OS_CHROMEOS)
 void GpuClient::CreateJpegDecodeAccelerator(
-    chromeos_camera::mojom::MjpegDecodeAcceleratorRequest jda_request) {
+    mojo::PendingReceiver<chromeos_camera::mojom::MjpegDecodeAccelerator>
+        jda_receiver) {
   if (auto* gpu_host = delegate_->EnsureGpuHost()) {
     gpu_host->gpu_service()->CreateJpegDecodeAccelerator(
-        std::move(jda_request));
+        std::move(jda_receiver));
   }
 }
 #endif  // defined(OS_CHROMEOS)
diff --git a/components/viz/host/gpu_client.h b/components/viz/host/gpu_client.h
index bf05f84..a64a444c 100644
--- a/components/viz/host/gpu_client.h
+++ b/components/viz/host/gpu_client.h
@@ -11,6 +11,7 @@
 #include "components/viz/host/gpu_host_impl.h"
 #include "components/viz/host/viz_host_export.h"
 #include "mojo/public/cpp/bindings/binding_set.h"
+#include "mojo/public/cpp/bindings/pending_receiver.h"
 #include "mojo/public/cpp/bindings/receiver_set.h"
 #include "services/viz/public/mojom/gpu.mojom.h"
 
@@ -58,8 +59,8 @@
 
 #if defined(OS_CHROMEOS)
   void CreateJpegDecodeAccelerator(
-      chromeos_camera::mojom::MjpegDecodeAcceleratorRequest jda_request)
-      override;
+      mojo::PendingReceiver<chromeos_camera::mojom::MjpegDecodeAccelerator>
+          jda_receiver) override;
 #endif  // defined(OS_CHROMEOS)
   void CreateVideoEncodeAcceleratorProvider(
       mojo::PendingReceiver<media::mojom::VideoEncodeAcceleratorProvider>
diff --git a/components/viz/service/BUILD.gn b/components/viz/service/BUILD.gn
index cd25831..be42091 100644
--- a/components/viz/service/BUILD.gn
+++ b/components/viz/service/BUILD.gn
@@ -59,6 +59,8 @@
     "display/output_surface_frame.h",
     "display/overlay_candidate.cc",
     "display/overlay_candidate.h",
+    "display/overlay_candidate_list.cc",
+    "display/overlay_candidate_list.h",
     "display/overlay_candidate_validator.cc",
     "display/overlay_candidate_validator.h",
     "display/overlay_processor.cc",
diff --git a/components/viz/service/display/direct_renderer.cc b/components/viz/service/display/direct_renderer.cc
index 5ff491b9..d31ac5d2 100644
--- a/components/viz/service/display/direct_renderer.cc
+++ b/components/viz/service/display/direct_renderer.cc
@@ -26,6 +26,7 @@
 #include "components/viz/service/display/bsp_walk_action.h"
 #include "components/viz/service/display/output_surface.h"
 #include "components/viz/service/display/overlay_candidate_validator.h"
+#include "components/viz/service/display/skia_output_surface.h"
 #include "ui/gfx/geometry/quad_f.h"
 #include "ui/gfx/geometry/rect_conversions.h"
 #include "ui/gfx/transform.h"
@@ -120,6 +121,7 @@
   // created processor. This would initialize the strategies on the validator as
   // well.
   overlay_processor_ = OverlayProcessor::CreateOverlayProcessor(
+      output_surface_->AsSkiaOutputSurface(),
       output_surface_->GetSurfaceHandle(), output_surface_->capabilities(),
       *settings_);
 
@@ -451,6 +453,7 @@
         output_surface_->UpdateGpuFence();
 
   FinishDrawingFrame();
+
   render_passes_in_draw_order->clear();
   render_pass_filters_.clear();
   render_pass_backdrop_filters_.clear();
diff --git a/components/viz/service/display/direct_renderer.h b/components/viz/service/display/direct_renderer.h
index 89e92d9..8e9eaaf 100644
--- a/components/viz/service/display/direct_renderer.h
+++ b/components/viz/service/display/direct_renderer.h
@@ -16,6 +16,7 @@
 #include "components/viz/service/display/ca_layer_overlay.h"
 #include "components/viz/service/display/dc_layer_overlay.h"
 #include "components/viz/service/display/display_resource_provider.h"
+#include "components/viz/service/display/overlay_candidate_list.h"
 #include "components/viz/service/display/overlay_processor.h"
 #include "components/viz/service/viz_service_export.h"
 #include "gpu/command_buffer/common/texture_in_use_response.h"
diff --git a/components/viz/service/display/display_resource_provider.cc b/components/viz/service/display/display_resource_provider.cc
index 855df6c..e80c362 100644
--- a/components/viz/service/display/display_resource_provider.cc
+++ b/components/viz/service/display/display_resource_provider.cc
@@ -172,10 +172,10 @@
   return true;
 }
 
-#if defined(OS_ANDROID)
 void DisplayResourceProvider::SendPromotionHints(
-    const OverlayCandidateList::PromotionHintInfoMap& promotion_hints,
+    const std::map<ResourceId, gfx::RectF>& promotion_hints,
     const ResourceIdSet& requestor_set) {
+#if defined(OS_ANDROID)
   GLES2Interface* gl = ContextGL();
   if (!gl)
     return;
@@ -210,8 +210,10 @@
     }
     UnlockForRead(id);
   }
+#endif
 }
 
+#if defined(OS_ANDROID)
 bool DisplayResourceProvider::IsBackedBySurfaceTexture(ResourceId id) {
   ChildResource* resource = GetResource(id);
   return resource->transferable.is_backed_by_surface_texture;
@@ -558,7 +560,7 @@
 void DisplayResourceProvider::TryReleaseResource(ResourceId id,
                                                  ChildResource* resource) {
   if (resource->marked_for_deletion && !resource->lock_for_read_count &&
-      !resource->locked_for_external_use) {
+      !resource->locked_for_external_use && !resource->lock_for_overlay_count) {
     auto child_it = children_.find(resource->child_id);
     DeleteAndReturnUnusedResourcesToChild(child_it, NORMAL, {id});
   }
@@ -897,6 +899,36 @@
   resource_provider_->UnlockForRead(resource_id_);
 }
 
+DisplayResourceProvider::ScopedReadLockSharedImage::ScopedReadLockSharedImage(
+    DisplayResourceProvider* resource_provider,
+    ResourceId resource_id)
+    : resource_provider_(resource_provider),
+      resource_id_(resource_id),
+      resource_(resource_provider_->GetResource(resource_id_)) {
+  DCHECK(resource_);
+  DCHECK(resource_->is_gpu_resource_type());
+  DCHECK(resource_->transferable.mailbox_holder.mailbox.IsSharedImage());
+
+  resource_->lock_for_overlay_count++;
+}
+
+gpu::Mailbox DisplayResourceProvider::ScopedReadLockSharedImage::mailbox()
+    const {
+  return resource_->transferable.mailbox_holder.mailbox;
+}
+
+gpu::SyncToken DisplayResourceProvider::ScopedReadLockSharedImage::sync_token()
+    const {
+  return resource_->transferable.mailbox_holder.sync_token;
+}
+
+DisplayResourceProvider::ScopedReadLockSharedImage::
+    ~ScopedReadLockSharedImage() {
+  DCHECK(resource_->lock_for_overlay_count);
+  resource_->lock_for_overlay_count--;
+  resource_provider_->TryReleaseResource(resource_id_, resource_);
+}
+
 DisplayResourceProvider::LockSetForExternalUse::LockSetForExternalUse(
     DisplayResourceProvider* resource_provider,
     ExternalUseClient* client)
diff --git a/components/viz/service/display/display_resource_provider.h b/components/viz/service/display/display_resource_provider.h
index b01be507..46817aca 100644
--- a/components/viz/service/display/display_resource_provider.h
+++ b/components/viz/service/display/display_resource_provider.h
@@ -24,13 +24,13 @@
 #include "components/viz/common/resources/shared_bitmap.h"
 #include "components/viz/common/resources/transferable_resource.h"
 #include "components/viz/service/display/external_use_client.h"
-#include "components/viz/service/display/overlay_candidate.h"
 #include "components/viz/service/display/resource_fence.h"
 #include "components/viz/service/viz_service_export.h"
 #include "gpu/command_buffer/common/sync_token.h"
 #include "third_party/khronos/GLES2/gl2.h"
 #include "third_party/khronos/GLES2/gl2ext.h"
 #include "third_party/skia/include/core/SkBitmap.h"
+#include "ui/gfx/geometry/rect_f.h"
 #include "ui/gfx/geometry/size.h"
 
 namespace gfx {
@@ -83,7 +83,6 @@
   bool OnMemoryDump(const base::trace_event::MemoryDumpArgs& args,
                     base::trace_event::ProcessMemoryDump* pmd) override;
 
-#if defined(OS_ANDROID)
   // Send an overlay promotion hint to all resources that requested it via
   // |requestor_set|.  |promotable_hints| contains all the resources that should
   // be told that they're promotable.  Others will be told that they're not.
@@ -94,9 +93,10 @@
   // to the requestor; the resource might be overlayable except that nobody
   // tried to do it.
   void SendPromotionHints(
-      const OverlayCandidateList::PromotionHintInfoMap& promotion_hints,
+      const std::map<ResourceId, gfx::RectF>& promotion_hints,
       const ResourceIdSet& requestor_set);
 
+#if defined(OS_ANDROID)
   // Indicates if this resource is backed by an Android SurfaceTexture, and thus
   // can't really be promoted to an overlay.
   bool IsBackedBySurfaceTexture(ResourceId id);
@@ -205,6 +205,23 @@
   struct ChildResource;
 
  public:
+  // Lock the resource to make sure the shared image is alive when accessing
+  // SharedImage Mailbox.
+  class VIZ_SERVICE_EXPORT ScopedReadLockSharedImage {
+   public:
+    ScopedReadLockSharedImage(DisplayResourceProvider* resource_provider,
+                              ResourceId resource_id);
+    ~ScopedReadLockSharedImage();
+
+    gpu::Mailbox mailbox() const;
+    gpu::SyncToken sync_token() const;
+
+   private:
+    DisplayResourceProvider* const resource_provider_;
+    const ResourceId resource_id_;
+    ChildResource* const resource_;
+  };
+
   // Maintains set of resources locked for external use by SkiaRenderer.
   class VIZ_SERVICE_EXPORT LockSetForExternalUse {
    public:
@@ -402,6 +419,8 @@
     // When true, the resource is currently being used externally. This is a
     // parallel counter to |lock_for_read_count| which can only go to 1.
     bool locked_for_external_use = false;
+    // The number of active users using this resource as overlay content.
+    int lock_for_overlay_count = 0;
 
     // When the resource should be deleted until it is actually reaped.
     bool marked_for_deletion = false;
diff --git a/components/viz/service/display/overlay_candidate.cc b/components/viz/service/display/overlay_candidate.cc
index 68adc58..3c7dc2b 100644
--- a/components/viz/service/display/overlay_candidate.cc
+++ b/components/viz/service/display/overlay_candidate.cc
@@ -331,36 +331,4 @@
 #endif
   return true;
 }
-
-OverlayCandidateList::OverlayCandidateList() = default;
-
-OverlayCandidateList::OverlayCandidateList(const OverlayCandidateList& other) =
-    default;
-
-OverlayCandidateList::OverlayCandidateList(OverlayCandidateList&& other) =
-    default;
-
-OverlayCandidateList::~OverlayCandidateList() = default;
-
-OverlayCandidateList& OverlayCandidateList::operator=(
-    const OverlayCandidateList& other) = default;
-
-OverlayCandidateList& OverlayCandidateList::operator=(
-    OverlayCandidateList&& other) = default;
-
-void OverlayCandidateList::AddPromotionHint(const OverlayCandidate& candidate) {
-  promotion_hint_info_map_[candidate.resource_id] = candidate.display_rect;
-}
-
-void OverlayCandidateList::AddToPromotionHintRequestorSetIfNeeded(
-    const DisplayResourceProvider* resource_provider,
-    const DrawQuad* quad) {
-  if (quad->material != DrawQuad::Material::kStreamVideoContent)
-    return;
-  ResourceId id = StreamVideoDrawQuad::MaterialCast(quad)->resource_id();
-  if (!resource_provider->DoesResourceWantPromotionHint(id))
-    return;
-  promotion_hint_requestor_set_.insert(id);
-}
-
 }  // namespace viz
diff --git a/components/viz/service/display/overlay_candidate.h b/components/viz/service/display/overlay_candidate.h
index e2604e8f..d19b87698 100644
--- a/components/viz/service/display/overlay_candidate.h
+++ b/components/viz/service/display/overlay_candidate.h
@@ -13,6 +13,7 @@
 #include "components/viz/common/quads/render_pass.h"
 #include "components/viz/common/resources/resource_id.h"
 #include "components/viz/service/viz_service_export.h"
+#include "gpu/command_buffer/common/mailbox.h"
 #include "ui/gfx/buffer_types.h"
 #include "ui/gfx/geometry/rect.h"
 #include "ui/gfx/geometry/rect_f.h"
@@ -137,37 +138,6 @@
                                 OverlayCandidate* candidate);
 };
 
-class VIZ_SERVICE_EXPORT OverlayCandidateList
-    : public std::vector<OverlayCandidate> {
- public:
-  OverlayCandidateList();
-  OverlayCandidateList(const OverlayCandidateList&);
-  OverlayCandidateList(OverlayCandidateList&&);
-  ~OverlayCandidateList();
-
-  OverlayCandidateList& operator=(const OverlayCandidateList&);
-  OverlayCandidateList& operator=(OverlayCandidateList&&);
-
-  // [id] == candidate's |display_rect| for all promotable resources.
-  using PromotionHintInfoMap = std::map<ResourceId, gfx::RectF>;
-
-  // For android, this provides a set of resources that could be promoted to
-  // overlay, if one backs them with a SurfaceView.
-  PromotionHintInfoMap promotion_hint_info_map_;
-
-  // Set of resources that have requested a promotion hint that also have quads
-  // that use them.
-  ResourceIdSet promotion_hint_requestor_set_;
-
-  // Helper to insert |candidate| into |promotion_hint_info_|.
-  void AddPromotionHint(const OverlayCandidate& candidate);
-
-  // Add |quad| to |promotion_hint_requestors_| if it is requesting a hint.
-  void AddToPromotionHintRequestorSetIfNeeded(
-      const DisplayResourceProvider* resource_provider,
-      const DrawQuad* quad);
-};
-
 }  // namespace viz
 
 #endif  // COMPONENTS_VIZ_SERVICE_DISPLAY_OVERLAY_CANDIDATE_H_
diff --git a/components/viz/service/display/overlay_candidate_list.cc b/components/viz/service/display/overlay_candidate_list.cc
new file mode 100644
index 0000000..61db5ed
--- /dev/null
+++ b/components/viz/service/display/overlay_candidate_list.cc
@@ -0,0 +1,76 @@
+// 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/viz/service/display/overlay_candidate_list.h"
+
+#include <algorithm>
+#include <limits>
+
+#include "base/logging.h"
+#include "build/build_config.h"
+#include "cc/base/math_util.h"
+#include "components/viz/common/quads/stream_video_draw_quad.h"
+#include "ui/gfx/geometry/rect_conversions.h"
+#include "ui/gfx/geometry/vector3d_f.h"
+#include "ui/gfx/video_types.h"
+
+namespace viz {
+
+OverlayCandidateList::OverlayCandidateList() = default;
+
+OverlayCandidateList::OverlayCandidateList(const OverlayCandidateList& other) =
+    default;
+
+OverlayCandidateList::OverlayCandidateList(OverlayCandidateList&& other) =
+    default;
+
+OverlayCandidateList::~OverlayCandidateList() = default;
+
+OverlayCandidateList& OverlayCandidateList::operator=(
+    const OverlayCandidateList& other) = default;
+
+OverlayCandidateList& OverlayCandidateList::operator=(
+    OverlayCandidateList&& other) = default;
+
+void OverlayCandidateList::AddPromotionHint(const OverlayCandidate& candidate) {
+  promotion_hint_info_map_[candidate.resource_id] = candidate.display_rect;
+}
+
+void OverlayCandidateList::AddToPromotionHintRequestorSetIfNeeded(
+    const DisplayResourceProvider* resource_provider,
+    const DrawQuad* quad) {
+  if (quad->material != DrawQuad::Material::kStreamVideoContent)
+    return;
+  ResourceId id = StreamVideoDrawQuad::MaterialCast(quad)->resource_id();
+  if (!resource_provider->DoesResourceWantPromotionHint(id))
+    return;
+  promotion_hint_requestor_set_.insert(id);
+}
+
+std::vector<DisplayResourceProvider::ScopedReadLockSharedImage>
+OverlayCandidateList::ConvertLocalPromotionToMailboxKeyed(
+    DisplayResourceProvider* resource_provider,
+    base::flat_set<gpu::Mailbox>* promotion_denied,
+    base::flat_map<gpu::Mailbox, gfx::Rect>* possible_promotions) {
+  DCHECK(empty() || size() == 1u);
+  std::vector<DisplayResourceProvider::ScopedReadLockSharedImage> locks;
+  for (auto& request : promotion_hint_requestor_set_) {
+    // If we successfully promote one candidate, then that promotion hint should
+    // be sent later when we schedule the overlay.
+    if (!empty() && front().resource_id == request)
+      continue;
+
+    locks.emplace_back(resource_provider, request);
+    auto iter = promotion_hint_info_map_.find(request);
+    if (iter != promotion_hint_info_map_.end()) {
+      // This is a possible promotion.
+      possible_promotions->emplace(locks.back().mailbox(),
+                                   gfx::ToEnclosedRect(iter->second));
+    } else {
+      promotion_denied->insert(locks.back().mailbox());
+    }
+  }
+  return locks;
+}
+}  // namespace viz
diff --git a/components/viz/service/display/overlay_candidate_list.h b/components/viz/service/display/overlay_candidate_list.h
new file mode 100644
index 0000000..f651dee4
--- /dev/null
+++ b/components/viz/service/display/overlay_candidate_list.h
@@ -0,0 +1,69 @@
+// 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 COMPONENTS_VIZ_SERVICE_DISPLAY_OVERLAY_CANDIDATE_LIST_H_
+#define COMPONENTS_VIZ_SERVICE_DISPLAY_OVERLAY_CANDIDATE_LIST_H_
+
+#include <map>
+#include <vector>
+
+#include "base/containers/flat_map.h"
+#include "build/build_config.h"
+#include "components/viz/common/resources/resource_id.h"
+#include "components/viz/service/display/display_resource_provider.h"
+#include "components/viz/service/display/overlay_candidate.h"
+#include "components/viz/service/viz_service_export.h"
+#include "gpu/command_buffer/common/mailbox.h"
+#include "ui/gfx/geometry/rect.h"
+#include "ui/gfx/geometry/rect_f.h"
+#include "ui/gfx/geometry/size.h"
+#include "ui/gfx/overlay_transform.h"
+#include "ui/gfx/transform.h"
+
+namespace viz {
+// This class defines a list of overlay candidates with extra information about
+// Android Classic video overlay information.
+// TODO(weiliangc): Do not inherit std::vector.
+class VIZ_SERVICE_EXPORT OverlayCandidateList
+    : public std::vector<OverlayCandidate> {
+ public:
+  OverlayCandidateList();
+  OverlayCandidateList(const OverlayCandidateList&);
+  OverlayCandidateList(OverlayCandidateList&&);
+  ~OverlayCandidateList();
+
+  OverlayCandidateList& operator=(const OverlayCandidateList&);
+  OverlayCandidateList& operator=(OverlayCandidateList&&);
+
+  // [id] == candidate's |display_rect| for all promotable resources.
+  using PromotionHintInfoMap = std::map<ResourceId, gfx::RectF>;
+
+  // For android, this provides a set of resources that could be promoted to
+  // overlay, if one backs them with a SurfaceView.
+  PromotionHintInfoMap promotion_hint_info_map_;
+
+  // Set of resources that have requested a promotion hint that also have quads
+  // that use them.
+  ResourceIdSet promotion_hint_requestor_set_;
+  // base::flat_set<DisplayResourceProvider::ScopedReadLockSharedImage>
+  //     promotion_requestors_shared_image_;
+
+  // Helper to insert |candidate| into |promotion_hint_info_|.
+  void AddPromotionHint(const OverlayCandidate& candidate);
+
+  // Add |quad| to |promotion_hint_requestors_| if it is requesting a hint.
+  void AddToPromotionHintRequestorSetIfNeeded(
+      const DisplayResourceProvider* resource_provider,
+      const DrawQuad* quad);
+
+  std::vector<DisplayResourceProvider::ScopedReadLockSharedImage>
+  ConvertLocalPromotionToMailboxKeyed(
+      DisplayResourceProvider* resource_provider,
+      base::flat_set<gpu::Mailbox>* promotion_denied,
+      base::flat_map<gpu::Mailbox, gfx::Rect>* possible_promotions);
+};
+
+}  // namespace viz
+
+#endif  // COMPONENTS_VIZ_SERVICE_DISPLAY_OVERLAY_CANDIDATE_LIST_H_
diff --git a/components/viz/service/display/overlay_processor.cc b/components/viz/service/display/overlay_processor.cc
index 20ef88a..992f5a2 100644
--- a/components/viz/service/display/overlay_processor.cc
+++ b/components/viz/service/display/overlay_processor.cc
@@ -14,9 +14,11 @@
 #include "components/viz/service/display/dc_layer_overlay.h"
 #include "components/viz/service/display/display_resource_provider.h"
 #include "components/viz/service/display/output_surface.h"
+#include "components/viz/service/display/overlay_candidate_list.h"
 #include "components/viz/service/display/overlay_candidate_validator.h"
 #include "components/viz/service/display/overlay_strategy_single_on_top.h"
 #include "components/viz/service/display/overlay_strategy_underlay.h"
+#include "components/viz/service/display/skia_output_surface.h"
 #include "ui/gfx/geometry/rect_conversions.h"
 #include "ui/gfx/transform.h"
 
@@ -24,27 +26,44 @@
 
 namespace {
 
-#if defined(OS_ANDROID)
 // Utility class to make sure that we notify resource that they're promotable
 // before returning from ProcessForOverlays.
 class SendPromotionHintsBeforeReturning {
  public:
   SendPromotionHintsBeforeReturning(DisplayResourceProvider* resource_provider,
-                                    OverlayCandidateList* candidates)
-      : resource_provider_(resource_provider), candidates_(candidates) {}
+                                    OverlayCandidateList* candidates,
+                                    SkiaOutputSurface* skia_output_surface)
+      : resource_provider_(resource_provider),
+        candidates_(candidates),
+        skia_output_surface_(skia_output_surface) {}
   ~SendPromotionHintsBeforeReturning() {
-    resource_provider_->SendPromotionHints(
-        candidates_->promotion_hint_info_map_,
-        candidates_->promotion_hint_requestor_set_);
+    if (skia_output_surface_) {
+      base::flat_set<gpu::Mailbox> promotion_denied;
+      base::flat_map<gpu::Mailbox, gfx::Rect> possible_promotions;
+      auto locks = candidates_->ConvertLocalPromotionToMailboxKeyed(
+          resource_provider_, &promotion_denied, &possible_promotions);
+
+      std::vector<gpu::SyncToken> locks_sync_tokens;
+      for (auto& read_lock : locks)
+        locks_sync_tokens.push_back(read_lock.sync_token());
+
+      skia_output_surface_->SendOverlayPromotionNotification(
+          std::move(locks_sync_tokens), std::move(promotion_denied),
+          std::move(possible_promotions));
+    } else {
+      resource_provider_->SendPromotionHints(
+          candidates_->promotion_hint_info_map_,
+          candidates_->promotion_hint_requestor_set_);
+    }
   }
 
  private:
   DisplayResourceProvider* resource_provider_;
   OverlayCandidateList* candidates_;
+  SkiaOutputSurface* skia_output_surface_;
 
   DISALLOW_COPY_AND_ASSIGN(SendPromotionHintsBeforeReturning);
 };
-#endif
 
 }  // namespace
 
@@ -106,21 +125,25 @@
 }
 
 std::unique_ptr<OverlayProcessor> OverlayProcessor::CreateOverlayProcessor(
+    SkiaOutputSurface* skia_output_surface,
     gpu::SurfaceHandle surface_handle,
     const OutputSurface::Capabilities& capabilities,
     const RendererSettings& renderer_settings) {
   return base::WrapUnique(
-      new OverlayProcessor(OverlayCandidateValidator::Create(
+      new OverlayProcessor(skia_output_surface,
+                           OverlayCandidateValidator::Create(
                                surface_handle, capabilities, renderer_settings),
                            std::make_unique<DCLayerOverlayProcessor>(
                                capabilities, renderer_settings)));
 }
 
 OverlayProcessor::OverlayProcessor(
+    SkiaOutputSurface* skia_output_surface,
     std::unique_ptr<OverlayCandidateValidator> overlay_validator,
     std::unique_ptr<DCLayerOverlayProcessor> dc_layer_overlay_processor)
     : overlay_validator_(std::move(overlay_validator)),
-      dc_layer_overlay_processor_(std::move(dc_layer_overlay_processor)) {
+      dc_layer_overlay_processor_(std::move(dc_layer_overlay_processor)),
+      skia_output_surface_(skia_output_surface) {
   DCHECK(dc_layer_overlay_processor_);
   if (overlay_validator_)
     overlay_validator_->InitializeStrategies();
@@ -129,7 +152,8 @@
 // For testing.
 OverlayProcessor::OverlayProcessor(
     std::unique_ptr<OverlayCandidateValidator> overlay_validator)
-    : OverlayProcessor(std::move(overlay_validator),
+    : OverlayProcessor(nullptr,
+                       std::move(overlay_validator),
                        std::make_unique<DCLayerOverlayProcessor>()) {}
 
 OverlayProcessor::~OverlayProcessor() = default;
@@ -194,12 +218,11 @@
     gfx::Rect* damage_rect,
     std::vector<gfx::Rect>* content_bounds) {
   TRACE_EVENT0("viz", "OverlayProcessor::ProcessForOverlays");
-#if defined(OS_ANDROID)
   // Be sure to send out notifications, regardless of whether we get to
   // processing for overlays or not.  If we don't, then we should notify that
   // they are not promotable.
-  SendPromotionHintsBeforeReturning notifier(resource_provider, candidates);
-#endif
+  SendPromotionHintsBeforeReturning notifier(resource_provider, candidates,
+                                             skia_output_surface_);
 
   // Clear to get ready to handle output surface as overlay.
   output_surface_already_handled_ = false;
diff --git a/components/viz/service/display/overlay_processor.h b/components/viz/service/display/overlay_processor.h
index 4227f05..2ca7db4 100644
--- a/components/viz/service/display/overlay_processor.h
+++ b/components/viz/service/display/overlay_processor.h
@@ -13,7 +13,6 @@
 #include "components/viz/common/quads/render_pass.h"
 #include "components/viz/service/display/ca_layer_overlay.h"
 #include "components/viz/service/display/dc_layer_overlay.h"
-#include "components/viz/service/display/overlay_candidate.h"
 #include "components/viz/service/viz_service_export.h"
 #include "gpu/ipc/common/surface_handle.h"
 
@@ -23,6 +22,7 @@
 
 namespace viz {
 class OutputSurface;
+class OverlayCandidateList;
 class OverlayCandidateValidator;
 class RendererSettings;
 
@@ -92,6 +92,7 @@
   using StrategyList = std::vector<std::unique_ptr<Strategy>>;
 
   static std::unique_ptr<OverlayProcessor> CreateOverlayProcessor(
+      SkiaOutputSurface* skia_output_surface,
       gpu::SurfaceHandle surface_handle,
       const OutputSurface::Capabilities& capabilities,
       const RendererSettings& renderer_settings);
@@ -159,6 +160,7 @@
 
  private:
   OverlayProcessor(
+      SkiaOutputSurface* skia_output_surface,
       std::unique_ptr<OverlayCandidateValidator> overlay_validator,
       std::unique_ptr<DCLayerOverlayProcessor> dc_layer_overlay_processor);
 
@@ -185,6 +187,7 @@
 
   std::unique_ptr<DCLayerOverlayProcessor> dc_layer_overlay_processor_;
 
+  SkiaOutputSurface* skia_output_surface_;
   bool output_surface_already_handled_;
   DISALLOW_COPY_AND_ASSIGN(OverlayProcessor);
 };
diff --git a/components/viz/service/display/overlay_strategy_fullscreen.cc b/components/viz/service/display/overlay_strategy_fullscreen.cc
index f5ef58f..8e38a6f 100644
--- a/components/viz/service/display/overlay_strategy_fullscreen.cc
+++ b/components/viz/service/display/overlay_strategy_fullscreen.cc
@@ -6,6 +6,7 @@
 
 #include "components/viz/common/quads/draw_quad.h"
 #include "components/viz/common/quads/solid_color_draw_quad.h"
+#include "components/viz/service/display/overlay_candidate_list.h"
 #include "components/viz/service/display/overlay_candidate_validator.h"
 #include "ui/gfx/geometry/rect_conversions.h"
 #include "ui/gfx/geometry/size_conversions.h"
diff --git a/components/viz/service/display/overlay_strategy_single_on_top.cc b/components/viz/service/display/overlay_strategy_single_on_top.cc
index 727a60f..f146823 100644
--- a/components/viz/service/display/overlay_strategy_single_on_top.cc
+++ b/components/viz/service/display/overlay_strategy_single_on_top.cc
@@ -4,6 +4,7 @@
 
 #include "components/viz/service/display/overlay_strategy_single_on_top.h"
 
+#include "components/viz/service/display/overlay_candidate_list.h"
 #include "components/viz/service/display/overlay_candidate_validator.h"
 #include "ui/gfx/buffer_types.h"
 #include "ui/gfx/geometry/rect_conversions.h"
diff --git a/components/viz/service/display/overlay_strategy_single_on_top.h b/components/viz/service/display/overlay_strategy_single_on_top.h
index b218411f..d89063e4 100644
--- a/components/viz/service/display/overlay_strategy_single_on_top.h
+++ b/components/viz/service/display/overlay_strategy_single_on_top.h
@@ -6,6 +6,7 @@
 #define COMPONENTS_VIZ_SERVICE_DISPLAY_OVERLAY_STRATEGY_SINGLE_ON_TOP_H_
 
 #include "base/macros.h"
+#include "components/viz/service/display/overlay_candidate.h"
 #include "components/viz/service/display/overlay_processor.h"
 #include "components/viz/service/viz_service_export.h"
 
diff --git a/components/viz/service/display/overlay_strategy_underlay.cc b/components/viz/service/display/overlay_strategy_underlay.cc
index 985c34d3..56a9e38 100644
--- a/components/viz/service/display/overlay_strategy_underlay.cc
+++ b/components/viz/service/display/overlay_strategy_underlay.cc
@@ -4,10 +4,10 @@
 
 #include "components/viz/service/display/overlay_strategy_underlay.h"
 
-#include "build/build_config.h"
 #include "components/viz/common/quads/draw_quad.h"
 #include "components/viz/common/quads/solid_color_draw_quad.h"
 #include "components/viz/service/display/display_resource_provider.h"
+#include "components/viz/service/display/overlay_candidate_list.h"
 #include "components/viz/service/display/overlay_candidate_validator.h"
 
 namespace viz {
diff --git a/components/viz/service/display/overlay_strategy_underlay_cast.cc b/components/viz/service/display/overlay_strategy_underlay_cast.cc
index b5da829..3abc6706 100644
--- a/components/viz/service/display/overlay_strategy_underlay_cast.cc
+++ b/components/viz/service/display/overlay_strategy_underlay_cast.cc
@@ -10,6 +10,7 @@
 #include "components/viz/common/quads/draw_quad.h"
 #include "components/viz/common/quads/solid_color_draw_quad.h"
 #include "components/viz/common/quads/video_hole_draw_quad.h"
+#include "components/viz/service/display/overlay_candidate_list.h"
 #include "ui/gfx/geometry/rect_conversions.h"
 
 namespace viz {
diff --git a/components/viz/service/display/skia_output_surface.h b/components/viz/service/display/skia_output_surface.h
index 690522d1..83cb9a3b 100644
--- a/components/viz/service/display/skia_output_surface.h
+++ b/components/viz/service/display/skia_output_surface.h
@@ -147,6 +147,19 @@
       base::OnceClosure callback,
       std::vector<gpu::SyncToken> sync_tokens) = 0;
 
+  // Only used for the Android pre-SurfaceControl overlay code path to pass all
+  // promotion hints.
+  virtual void SendOverlayPromotionNotification(
+      std::vector<gpu::SyncToken> sync_tokens,
+      base::flat_set<gpu::Mailbox> promotion_denied,
+      base::flat_map<gpu::Mailbox, gfx::Rect> possible_promotions) = 0;
+
+  // Only used for the Android pre-SurfaceControl overlay code path to pass the
+  // single overlay candidate information.
+  virtual void RenderToOverlay(gpu::SyncToken sync_token,
+                               gpu::Mailbox overlay_candidate_mailbox,
+                               const gfx::Rect& bounds) = 0;
+
  private:
   DISALLOW_COPY_AND_ASSIGN(SkiaOutputSurface);
 };
diff --git a/components/viz/service/display/skia_renderer.cc b/components/viz/service/display/skia_renderer.cc
index 887a126..3a44bac7 100644
--- a/components/viz/service/display/skia_renderer.cc
+++ b/components/viz/service/display/skia_renderer.cc
@@ -687,6 +687,22 @@
   if (use_swap_with_bounds_)
     swap_content_bounds_ = current_frame()->root_content_bounds;
 
+#if defined(OS_ANDROID)
+  if (!current_frame()->overlay_list.empty()) {
+    DCHECK_EQ(current_frame()->overlay_list.size(), 1u);
+    overlay_resource_locks_.emplace_back(
+        DisplayResourceProvider::ScopedReadLockSharedImage(
+            resource_provider_,
+            current_frame()->overlay_list.front().resource_id));
+    skia_output_surface_->RenderToOverlay(
+        overlay_resource_locks_.back()->sync_token(),
+        overlay_resource_locks_.back()->mailbox(),
+        ToNearestRect(current_frame()->overlay_list.front().display_rect));
+  } else {
+    overlay_resource_locks_.emplace_back(base::nullopt);
+  }
+#endif
+
   // TODO(weiliangc): Remove this once OverlayProcessor schedules overlays.
   if (current_frame()->output_surface_plane) {
     skia_output_surface_->ScheduleOutputSurfaceAsOverlay(
@@ -712,6 +728,11 @@
     output_frame.sub_buffer_rect = swap_buffer_rect_;
   }
 
+  // Unlock the overlay resource that was swapped last frame.
+  if (overlay_resource_locks_.size() > 1) {
+    overlay_resource_locks_.pop_front();
+  }
+
   switch (draw_mode_) {
     case DrawMode::DDL: {
       gpu::SyncToken sync_token = skia_output_surface_->SkiaSwapBuffers(
diff --git a/components/viz/service/display/skia_renderer.h b/components/viz/service/display/skia_renderer.h
index 4867116..9f6fc4b 100644
--- a/components/viz/service/display/skia_renderer.h
+++ b/components/viz/service/display/skia_renderer.h
@@ -258,6 +258,10 @@
 
   bool has_locked_overlay_resources_ = false;
 
+  base::circular_deque<
+      base::Optional<DisplayResourceProvider::ScopedReadLockSharedImage>>
+      overlay_resource_locks_;
+
   // Specific for SkPRecord.
   std::unique_ptr<SkPictureRecorder> root_recorder_;
   sk_sp<SkPicture> root_picture_;
diff --git a/components/viz/service/display_embedder/DEPS b/components/viz/service/display_embedder/DEPS
index 1a1f4982..577b438e 100644
--- a/components/viz/service/display_embedder/DEPS
+++ b/components/viz/service/display_embedder/DEPS
@@ -11,6 +11,7 @@
   "+components/viz/service/display/output_surface_client.h",
   "+components/viz/service/display/output_surface_frame.h",
   "+components/viz/service/display/output_surface.h",
+  "+components/viz/service/display/overlay_candidate_list.h",
   "+components/viz/service/display/overlay_candidate_validator.h",
   "+components/viz/service/display/renderer_utils.h",
   "+components/viz/service/display/resource_metadata.h",
diff --git a/components/viz/service/display_embedder/overlay_candidate_validator_android.cc b/components/viz/service/display_embedder/overlay_candidate_validator_android.cc
index 66b6a78c2..ff1337d19 100644
--- a/components/viz/service/display_embedder/overlay_candidate_validator_android.cc
+++ b/components/viz/service/display_embedder/overlay_candidate_validator_android.cc
@@ -6,6 +6,7 @@
 
 #include <memory>
 
+#include "components/viz/service/display/overlay_candidate_list.h"
 #include "components/viz/service/display/overlay_processor.h"
 #include "components/viz/service/display/overlay_strategy_underlay.h"
 #include "ui/gfx/geometry/rect_conversions.h"
diff --git a/components/viz/service/display_embedder/overlay_candidate_validator_ozone.cc b/components/viz/service/display_embedder/overlay_candidate_validator_ozone.cc
index 900aa8b..f04446dc 100644
--- a/components/viz/service/display_embedder/overlay_candidate_validator_ozone.cc
+++ b/components/viz/service/display_embedder/overlay_candidate_validator_ozone.cc
@@ -8,6 +8,7 @@
 
 #include <utility>
 
+#include "components/viz/service/display/overlay_candidate_list.h"
 #include "components/viz/service/display/overlay_strategy_fullscreen.h"
 #include "components/viz/service/display/overlay_strategy_single_on_top.h"
 #include "components/viz/service/display/overlay_strategy_underlay.h"
diff --git a/components/viz/service/display_embedder/overlay_candidate_validator_surface_control.cc b/components/viz/service/display_embedder/overlay_candidate_validator_surface_control.cc
index afc8a2e5..4f6dd8a 100644
--- a/components/viz/service/display_embedder/overlay_candidate_validator_surface_control.cc
+++ b/components/viz/service/display_embedder/overlay_candidate_validator_surface_control.cc
@@ -5,6 +5,7 @@
 #include "components/viz/service/display_embedder/overlay_candidate_validator_surface_control.h"
 
 #include "cc/base/math_util.h"
+#include "components/viz/service/display/overlay_candidate_list.h"
 #include "components/viz/service/display/overlay_strategy_fullscreen.h"
 #include "components/viz/service/display/overlay_strategy_single_on_top.h"
 #include "components/viz/service/display/overlay_strategy_underlay.h"
diff --git a/components/viz/service/display_embedder/overlay_candidate_validator_surface_control_unittest.cc b/components/viz/service/display_embedder/overlay_candidate_validator_surface_control_unittest.cc
index 8ef0985..96be4ad 100644
--- a/components/viz/service/display_embedder/overlay_candidate_validator_surface_control_unittest.cc
+++ b/components/viz/service/display_embedder/overlay_candidate_validator_surface_control_unittest.cc
@@ -4,6 +4,7 @@
 
 #include "components/viz/service/display_embedder/overlay_candidate_validator_surface_control.h"
 
+#include "components/viz/service/display/overlay_candidate_list.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "ui/gfx/test/gfx_util.h"
 
diff --git a/components/viz/service/display_embedder/skia_output_surface_impl.cc b/components/viz/service/display_embedder/skia_output_surface_impl.cc
index c34195b..88eff579 100644
--- a/components/viz/service/display_embedder/skia_output_surface_impl.cc
+++ b/components/viz/service/display_embedder/skia_output_surface_impl.cc
@@ -606,6 +606,31 @@
   ScheduleGpuTask(std::move(callback), std::vector<gpu::SyncToken>());
 }
 
+void SkiaOutputSurfaceImpl::SendOverlayPromotionNotification(
+    std::vector<gpu::SyncToken> sync_tokens,
+    base::flat_set<gpu::Mailbox> promotion_denied,
+    base::flat_map<gpu::Mailbox, gfx::Rect> possible_promotions) {
+#if defined(OS_ANDROID)
+  auto callback = base::BindOnce(
+      &SkiaOutputSurfaceImplOnGpu::SendOverlayPromotionNotification,
+      base::Unretained(impl_on_gpu_.get()), std::move(promotion_denied),
+      std::move(possible_promotions));
+  ScheduleGpuTask(std::move(callback), std::move(sync_tokens));
+#endif
+}
+
+void SkiaOutputSurfaceImpl::RenderToOverlay(
+    gpu::SyncToken sync_token,
+    gpu::Mailbox overlay_candidate_mailbox,
+    const gfx::Rect& bounds) {
+#if defined(OS_ANDROID)
+  auto callback = base::BindOnce(&SkiaOutputSurfaceImplOnGpu::RenderToOverlay,
+                                 base::Unretained(impl_on_gpu_.get()),
+                                 std::move(overlay_candidate_mailbox), bounds);
+  ScheduleGpuTask(std::move(callback), {sync_token});
+#endif
+}
+
 bool SkiaOutputSurfaceImpl::Initialize() {
   DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
 
diff --git a/components/viz/service/display_embedder/skia_output_surface_impl.h b/components/viz/service/display_embedder/skia_output_surface_impl.h
index 1590413..acc264f4 100644
--- a/components/viz/service/display_embedder/skia_output_surface_impl.h
+++ b/components/viz/service/display_embedder/skia_output_surface_impl.h
@@ -142,6 +142,19 @@
       base::OnceClosure callback,
       std::vector<gpu::SyncToken> sync_tokens) override;
 
+  // Wait on the resource sync tokens, and send the promotion hints to
+  // the |SharedImage| instances based on the |Mailbox| instances. This should
+  // exclude the actual overlay candidate.
+  void SendOverlayPromotionNotification(
+      std::vector<gpu::SyncToken> sync_tokens,
+      base::flat_set<gpu::Mailbox> promotion_denied,
+      base::flat_map<gpu::Mailbox, gfx::Rect> possible_promotions) override;
+
+  // Notify the overlay candidate to render.
+  void RenderToOverlay(gpu::SyncToken sync_token,
+                       gpu::Mailbox overlay_candidate_mailbox,
+                       const gfx::Rect& bounds) override;
+
  private:
   bool Initialize();
   void InitializeOnGpuThread(base::WaitableEvent* event, bool* result);
diff --git a/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc b/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc
index 26b1ae6b..752918c 100644
--- a/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc
+++ b/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc
@@ -1438,4 +1438,40 @@
   NOTIMPLEMENTED_LOG_ONCE();
 }
 
+void SkiaOutputSurfaceImplOnGpu::SendOverlayPromotionNotification(
+    base::flat_set<gpu::Mailbox> promotion_denied,
+    base::flat_map<gpu::Mailbox, gfx::Rect> possible_promotions) {
+#if defined(OS_ANDROID)
+  for (auto& denied : promotion_denied) {
+    auto shared_image_overlay =
+        shared_image_representation_factory_->ProduceOverlay(denied);
+    shared_image_overlay->NotifyOverlayPromotion(false, gfx::Rect());
+  }
+  for (auto& possible : possible_promotions) {
+    auto shared_image_overlay =
+        shared_image_representation_factory_->ProduceOverlay(possible.first);
+    shared_image_overlay->NotifyOverlayPromotion(true, possible.second);
+  }
+#endif
+}
+
+void SkiaOutputSurfaceImplOnGpu::RenderToOverlay(
+    gpu::Mailbox overlay_candidate_mailbox,
+    const gfx::Rect& bounds) {
+#if defined(OS_ANDROID)
+  auto shared_image_overlay =
+      shared_image_representation_factory_->ProduceOverlay(
+          overlay_candidate_mailbox);
+  // In current implementation, the BeginReadAccess will ends up calling
+  // CodecImage::RenderToOverlay. Currently this code path is only used for
+  // Android Classic video overlay, where update of the overlay plane is within
+  // media code. Since we are not actually passing an overlay plane to the
+  // display controller here, we are able to call EndReadAccess directly after
+  // BeginReadAccess.
+  shared_image_overlay->NotifyOverlayPromotion(true, bounds);
+  shared_image_overlay->BeginReadAccess();
+  shared_image_overlay->EndReadAccess();
+#endif
+}
+
 }  // namespace viz
diff --git a/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.h b/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.h
index eb9d790..0d55534 100644
--- a/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.h
+++ b/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.h
@@ -182,6 +182,13 @@
   void BufferPresented(const gfx::PresentationFeedback& feedback) override;
   GpuVSyncCallback GetGpuVSyncCallback() override;
 
+  void SendOverlayPromotionNotification(
+      base::flat_set<gpu::Mailbox> promotion_denied,
+      base::flat_map<gpu::Mailbox, gfx::Rect> possible_promotions);
+
+  void RenderToOverlay(gpu::Mailbox overlay_candidate_mailbox,
+                       const gfx::Rect& bounds);
+
  private:
   class ScopedPromiseImageAccess;
 
diff --git a/components/viz/test/fake_skia_output_surface.cc b/components/viz/test/fake_skia_output_surface.cc
index 0250b3cd..c1f7cd0 100644
--- a/components/viz/test/fake_skia_output_surface.cc
+++ b/components/viz/test/fake_skia_output_surface.cc
@@ -360,7 +360,21 @@
 
 void FakeSkiaOutputSurface::ScheduleGpuTaskForTesting(
     base::OnceClosure callback,
-    std::vector<gpu::SyncToken> sync_tokesn) {
+    std::vector<gpu::SyncToken> sync_tokens) {
+  NOTIMPLEMENTED();
+}
+
+void FakeSkiaOutputSurface::SendOverlayPromotionNotification(
+    std::vector<gpu::SyncToken> sync_tokens,
+    base::flat_set<gpu::Mailbox> promotion_denied,
+    base::flat_map<gpu::Mailbox, gfx::Rect> possible_promotions) {
+  NOTIMPLEMENTED();
+}
+
+void FakeSkiaOutputSurface::RenderToOverlay(
+    gpu::SyncToken sync_token,
+    gpu::Mailbox overlay_candidate_mailbox,
+    const gfx::Rect& bounds) {
   NOTIMPLEMENTED();
 }
 
diff --git a/components/viz/test/fake_skia_output_surface.h b/components/viz/test/fake_skia_output_surface.h
index 0c27b12..cf291e2 100644
--- a/components/viz/test/fake_skia_output_surface.h
+++ b/components/viz/test/fake_skia_output_surface.h
@@ -114,7 +114,15 @@
 
   void ScheduleGpuTaskForTesting(
       base::OnceClosure callback,
-      std::vector<gpu::SyncToken> sync_tokesn) override;
+      std::vector<gpu::SyncToken> sync_tokens) override;
+
+  void SendOverlayPromotionNotification(
+      std::vector<gpu::SyncToken> sync_tokens,
+      base::flat_set<gpu::Mailbox> promotion_denied,
+      base::flat_map<gpu::Mailbox, gfx::Rect> possible_promotions) override;
+  void RenderToOverlay(gpu::SyncToken sync_token,
+                       gpu::Mailbox overlay_candidate_mailbox,
+                       const gfx::Rect& bounds) override;
 
  private:
   explicit FakeSkiaOutputSurface(
diff --git a/content/browser/compositor/reflector_impl_unittest.cc b/content/browser/compositor/reflector_impl_unittest.cc
index 2ba96ac..bb09bf4 100644
--- a/content/browser/compositor/reflector_impl_unittest.cc
+++ b/content/browser/compositor/reflector_impl_unittest.cc
@@ -25,7 +25,7 @@
 #include "ui/compositor/test/test_context_factories.h"
 
 #if defined(USE_OZONE)
-#include "components/viz/service/display/overlay_candidate.h"
+#include "components/viz/service/display/overlay_candidate_list.h"
 #include "components/viz/service/display_embedder/overlay_candidate_validator_ozone.h"
 #include "ui/ozone/public/overlay_candidates_ozone.h"
 #endif  // defined(USE_OZONE)
diff --git a/content/browser/frame_host/navigation_request.cc b/content/browser/frame_host/navigation_request.cc
index 60266cc..7e0df0a 100644
--- a/content/browser/frame_host/navigation_request.cc
+++ b/content/browser/frame_host/navigation_request.cc
@@ -305,12 +305,18 @@
         destination = "embed";
         break;
       case blink::FrameOwnerElementType::kIframe:
+        destination = "iframe";
+        break;
       case blink::FrameOwnerElementType::kFrame:
+        destination = "frame";
+        break;
       case blink::FrameOwnerElementType::kPortal:
         // TODO(mkwst): "Portal"'s destination isn't actually defined at the
         // moment. Let's assume it'll be similar to a frame until we decide
         // otherwise.
-        destination = "nested-document";
+        // https://github.com/w3c/webappsec-fetch-metadata/issues/46
+        destination = "document";
+        break;
     }
 
     if (IsFetchMetadataDestinationEnabled()) {
diff --git a/content/browser/gpu/chromeos/delegate_to_browser_gpu_service_accelerator_factory.cc b/content/browser/gpu/chromeos/delegate_to_browser_gpu_service_accelerator_factory.cc
index 3277721..a670024 100644
--- a/content/browser/gpu/chromeos/delegate_to_browser_gpu_service_accelerator_factory.cc
+++ b/content/browser/gpu/chromeos/delegate_to_browser_gpu_service_accelerator_factory.cc
@@ -9,8 +9,10 @@
 namespace content {
 
 void DelegateToBrowserGpuServiceAcceleratorFactory::CreateJpegDecodeAccelerator(
-    chromeos_camera::mojom::MjpegDecodeAcceleratorRequest jda_request) {
-  VideoCaptureDependencies::CreateJpegDecodeAccelerator(std::move(jda_request));
+    mojo::PendingReceiver<chromeos_camera::mojom::MjpegDecodeAccelerator>
+        jda_receiver) {
+  VideoCaptureDependencies::CreateJpegDecodeAccelerator(
+      std::move(jda_receiver));
 }
 
 }  // namespace content
diff --git a/content/browser/gpu/chromeos/video_capture_dependencies.cc b/content/browser/gpu/chromeos/video_capture_dependencies.cc
index e941ce73..6b833148b 100644
--- a/content/browser/gpu/chromeos/video_capture_dependencies.cc
+++ b/content/browser/gpu/chromeos/video_capture_dependencies.cc
@@ -14,7 +14,8 @@
 
 // static
 void VideoCaptureDependencies::CreateJpegDecodeAccelerator(
-    chromeos_camera::mojom::MjpegDecodeAcceleratorRequest accelerator) {
+    mojo::PendingReceiver<chromeos_camera::mojom::MjpegDecodeAccelerator>
+        accelerator) {
   if (!BrowserThread::CurrentlyOn(BrowserThread::IO)) {
     base::PostTask(
         FROM_HERE, {BrowserThread::IO},
diff --git a/content/browser/gpu/chromeos/video_capture_dependencies.h b/content/browser/gpu/chromeos/video_capture_dependencies.h
index 4848c9f..8ee210d7 100644
--- a/content/browser/gpu/chromeos/video_capture_dependencies.h
+++ b/content/browser/gpu/chromeos/video_capture_dependencies.h
@@ -6,6 +6,7 @@
 #define CONTENT_BROWSER_GPU_CHROMEOS_VIDEO_CAPTURE_DEPENDENCIES_H_
 
 #include "content/common/content_export.h"
+#include "mojo/public/cpp/bindings/pending_receiver.h"
 #include "services/viz/privileged/mojom/gl/gpu_service.mojom.h"
 
 namespace content {
@@ -14,7 +15,8 @@
 class CONTENT_EXPORT VideoCaptureDependencies {
  public:
   static void CreateJpegDecodeAccelerator(
-      chromeos_camera::mojom::MjpegDecodeAcceleratorRequest accelerator);
+      mojo::PendingReceiver<chromeos_camera::mojom::MjpegDecodeAccelerator>
+          accelerator);
   static void CreateJpegEncodeAccelerator(
       chromeos_camera::mojom::JpegEncodeAcceleratorRequest accelerator);
 };
diff --git a/content/browser/renderer_host/pepper/content_browser_pepper_host_factory.cc b/content/browser/renderer_host/pepper/content_browser_pepper_host_factory.cc
index f4e39230..74bbf340 100644
--- a/content/browser/renderer_host/pepper/content_browser_pepper_host_factory.cc
+++ b/content/browser/renderer_host/pepper/content_browser_pepper_host_factory.cc
@@ -253,7 +253,8 @@
     PP_Instance instance,
     ppapi::TCPSocketVersion version,
     network::mojom::TCPConnectedSocketPtrInfo connected_socket,
-    network::mojom::SocketObserverRequest socket_observer_request,
+    mojo::PendingReceiver<network::mojom::SocketObserver>
+        socket_observer_receiver,
     mojo::ScopedDataPipeConsumerHandle receive_stream,
     mojo::ScopedDataPipeProducerHandle send_stream) {
   if (!CanCreateSocket())
@@ -262,7 +263,7 @@
       base::MakeRefCounted<PepperTCPSocketMessageFilter>(
           nullptr /* factory */, host_, instance, version));
   tcp_socket->SetConnectedSocket(
-      std::move(connected_socket), std::move(socket_observer_request),
+      std::move(connected_socket), std::move(socket_observer_receiver),
       std::move(receive_stream), std::move(send_stream));
   return std::unique_ptr<ppapi::host::ResourceHost>(
       new ppapi::host::MessageFilterHost(host_->GetPpapiHost(), instance, 0,
diff --git a/content/browser/renderer_host/pepper/content_browser_pepper_host_factory.h b/content/browser/renderer_host/pepper/content_browser_pepper_host_factory.h
index 4c75513..659451b8 100644
--- a/content/browser/renderer_host/pepper/content_browser_pepper_host_factory.h
+++ b/content/browser/renderer_host/pepper/content_browser_pepper_host_factory.h
@@ -10,6 +10,7 @@
 #include "base/compiler_specific.h"
 #include "base/macros.h"
 #include "base/memory/ref_counted.h"
+#include "mojo/public/cpp/bindings/pending_receiver.h"
 #include "mojo/public/cpp/system/data_pipe.h"
 #include "ppapi/c/pp_resource.h"
 #include "ppapi/host/host_factory.h"
@@ -43,7 +44,8 @@
       PP_Instance instance,
       ppapi::TCPSocketVersion version,
       network::mojom::TCPConnectedSocketPtrInfo connected_socket,
-      network::mojom::SocketObserverRequest socket_observer_request,
+      mojo::PendingReceiver<network::mojom::SocketObserver>
+          socket_observer_receiver,
       mojo::ScopedDataPipeConsumerHandle receive_stream,
       mojo::ScopedDataPipeProducerHandle send_stream);
 
diff --git a/content/browser/renderer_host/pepper/pepper_network_proxy_host.cc b/content/browser/renderer_host/pepper/pepper_network_proxy_host.cc
index 06a80147..41e984eb 100644
--- a/content/browser/renderer_host/pepper/pepper_network_proxy_host.cc
+++ b/content/browser/renderer_host/pepper/pepper_network_proxy_host.cc
@@ -17,6 +17,7 @@
 #include "content/public/browser/site_instance.h"
 #include "content/public/browser/storage_partition.h"
 #include "content/public/common/socket_permission_request.h"
+#include "mojo/public/cpp/bindings/pending_remote.h"
 #include "net/proxy_resolution/proxy_info.h"
 #include "ppapi/c/pp_errors.h"
 #include "ppapi/host/dispatch_host_message.h"
@@ -33,7 +34,8 @@
     int render_process_host_id,
     int render_frame_host_id,
     const GURL& url,
-    network::mojom::ProxyLookupClientPtr proxy_lookup_client) {
+    mojo::PendingRemote<network::mojom::ProxyLookupClient>
+        proxy_lookup_client) {
   RenderFrameHost* render_frame_host =
       RenderFrameHost::FromID(render_process_host_id, render_frame_host_id);
   if (!render_frame_host)
diff --git a/content/browser/renderer_host/pepper/pepper_proxy_lookup_helper.cc b/content/browser/renderer_host/pepper/pepper_proxy_lookup_helper.cc
index 465aacd..cb99530 100644
--- a/content/browser/renderer_host/pepper/pepper_proxy_lookup_helper.cc
+++ b/content/browser/renderer_host/pepper/pepper_proxy_lookup_helper.cc
@@ -13,8 +13,7 @@
 #include "base/threading/sequenced_task_runner_handle.h"
 #include "content/public/browser/browser_task_traits.h"
 #include "content/public/browser/browser_thread.h"
-#include "mojo/public/cpp/bindings/binding.h"
-#include "mojo/public/cpp/bindings/interface_request.h"
+#include "mojo/public/cpp/bindings/receiver.h"
 #include "net/base/net_errors.h"
 #include "url/gurl.h"
 
@@ -29,8 +28,7 @@
   UIThreadHelper(const GURL& url,
                  LookUpProxyForURLCallback look_up_proxy_for_url_callback,
                  LookUpCompleteCallback look_up_complete_callback)
-      : binding_(this),
-        look_up_complete_callback_(std::move(look_up_complete_callback)),
+      : look_up_complete_callback_(std::move(look_up_complete_callback)),
         callback_task_runner_(base::SequencedTaskRunnerHandle::Get()) {
     base::PostTask(
         FROM_HERE, {BrowserThread::UI},
@@ -45,9 +43,9 @@
                    LookUpProxyForURLCallback look_up_proxy_for_url_callback) {
     DCHECK_CURRENTLY_ON(BrowserThread::UI);
 
-    network::mojom::ProxyLookupClientPtr proxy_lookup_client;
-    binding_.Bind(mojo::MakeRequest(&proxy_lookup_client));
-    binding_.set_connection_error_handler(base::BindOnce(
+    mojo::PendingRemote<network::mojom::ProxyLookupClient> proxy_lookup_client =
+        receiver_.BindNewPipeAndPassRemote();
+    receiver_.set_disconnect_handler(base::BindOnce(
         &UIThreadHelper::OnProxyLookupComplete, base::Unretained(this),
         net::ERR_ABORTED, base::nullopt));
     if (!std::move(look_up_proxy_for_url_callback)
@@ -61,13 +59,13 @@
       const base::Optional<net::ProxyInfo>& proxy_info) override {
     DCHECK_CURRENTLY_ON(BrowserThread::UI);
 
-    binding_.Close();
+    receiver_.reset();
     callback_task_runner_->PostTask(
         FROM_HERE,
         base::BindOnce(std::move(look_up_complete_callback_), proxy_info));
   }
 
-  mojo::Binding<network::mojom::ProxyLookupClient> binding_;
+  mojo::Receiver<network::mojom::ProxyLookupClient> receiver_{this};
 
   LookUpCompleteCallback look_up_complete_callback_;
   scoped_refptr<base::SequencedTaskRunner> callback_task_runner_;
diff --git a/content/browser/renderer_host/pepper/pepper_proxy_lookup_helper.h b/content/browser/renderer_host/pepper/pepper_proxy_lookup_helper.h
index b184fb40..0d6b70ab 100644
--- a/content/browser/renderer_host/pepper/pepper_proxy_lookup_helper.h
+++ b/content/browser/renderer_host/pepper/pepper_proxy_lookup_helper.h
@@ -13,6 +13,7 @@
 #include "base/optional.h"
 #include "base/sequence_checker.h"
 #include "content/common/content_export.h"
+#include "mojo/public/cpp/bindings/pending_remote.h"
 #include "services/network/public/mojom/proxy_lookup_client.mojom.h"
 
 class GURL;
@@ -32,7 +33,8 @@
   // testing. Returns false if unable to make the call, for whatever reason.
   using LookUpProxyForURLCallback = base::OnceCallback<bool(
       const GURL& url,
-      network::mojom::ProxyLookupClientPtr proxy_lookup_client)>;
+      mojo::PendingRemote<network::mojom::ProxyLookupClient>
+          proxy_lookup_client)>;
 
   // Callback to invoke when complete. Invoked on thread the
   // PepperProxyLookupHelper was created on.
diff --git a/content/browser/renderer_host/pepper/pepper_proxy_lookup_helper_unittest.cc b/content/browser/renderer_host/pepper/pepper_proxy_lookup_helper_unittest.cc
index 7488548..808d02c 100644
--- a/content/browser/renderer_host/pepper/pepper_proxy_lookup_helper_unittest.cc
+++ b/content/browser/renderer_host/pepper/pepper_proxy_lookup_helper_unittest.cc
@@ -18,6 +18,7 @@
 #include "content/public/browser/browser_task_traits.h"
 #include "content/public/browser/browser_thread.h"
 #include "content/public/test/browser_task_environment.h"
+#include "mojo/public/cpp/bindings/remote.h"
 #include "net/base/net_errors.h"
 #include "net/proxy_resolution/proxy_info.h"
 #include "services/network/public/mojom/proxy_lookup_client.mojom.h"
@@ -51,10 +52,10 @@
       EXPECT_TRUE(proxy_lookup_client_);
   }
 
-  // Takes the |ProxyLookupClientPtr| passed by |lookup_helper_| to
+  // Takes the |mojo::Remote<ProxyLookupClient>| passed by |lookup_helper_| to
   // LookUpProxyForURLOnUIThread(). May only be called after |lookup_helper_|
   // has successfully called into LookUpProxyForURLOnUIThread().
-  network::mojom::ProxyLookupClientPtr ClaimProxyLookupClient() {
+  mojo::Remote<network::mojom::ProxyLookupClient> ClaimProxyLookupClient() {
     EXPECT_TRUE(proxy_lookup_client_);
     return std::move(proxy_lookup_client_);
   }
@@ -112,7 +113,8 @@
   bool LookUpProxyForURLOnUIThread(
       base::OnceClosure closure,
       const GURL& url,
-      network::mojom::ProxyLookupClientPtr proxy_lookup_client) {
+      mojo::PendingRemote<network::mojom::ProxyLookupClient>
+          proxy_lookup_client) {
     DCHECK_CURRENTLY_ON(BrowserThread::UI);
 
     std::move(closure).Run();
@@ -121,7 +123,7 @@
       return false;
 
     EXPECT_EQ(GURL(kTestURL), url);
-    proxy_lookup_client_ = std::move(proxy_lookup_client);
+    proxy_lookup_client_.Bind(std::move(proxy_lookup_client));
     return true;
   }
 
@@ -147,7 +149,7 @@
   std::unique_ptr<PepperProxyLookupHelper> lookup_helper_;
 
   base::Optional<net::ProxyInfo> proxy_info_;
-  network::mojom::ProxyLookupClientPtr proxy_lookup_client_;
+  mojo::Remote<network::mojom::ProxyLookupClient> proxy_lookup_client_;
 
   base::RunLoop lookup_complete_run_loop_;
 };
@@ -196,9 +198,9 @@
 TEST_F(PepperProxyLookupHelperTest, DestroyBeforeComplete) {
   StartLookup();
   base::RunLoop run_loop;
-  network::mojom::ProxyLookupClientPtr proxy_lookup_client =
+  mojo::Remote<network::mojom::ProxyLookupClient> proxy_lookup_client =
       ClaimProxyLookupClient();
-  proxy_lookup_client.set_connection_error_handler(run_loop.QuitClosure());
+  proxy_lookup_client.set_disconnect_handler(run_loop.QuitClosure());
   DestroyLookupHelper();
   run_loop.Run();
 }
diff --git a/content/browser/renderer_host/pepper/pepper_tcp_server_socket_message_filter.cc b/content/browser/renderer_host/pepper/pepper_tcp_server_socket_message_filter.cc
index d1886bd7..0b1197f 100644
--- a/content/browser/renderer_host/pepper/pepper_tcp_server_socket_message_filter.cc
+++ b/content/browser/renderer_host/pepper/pepper_tcp_server_socket_message_filter.cc
@@ -21,7 +21,7 @@
 #include "content/public/browser/storage_partition.h"
 #include "content/public/common/socket_permission_request.h"
 #include "mojo/public/cpp/bindings/callback_helpers.h"
-#include "mojo/public/cpp/bindings/interface_request.h"
+#include "mojo/public/cpp/bindings/pending_remote.h"
 #include "net/base/ip_address.h"
 #include "net/base/ip_endpoint.h"
 #include "net/base/net_errors.h"
@@ -196,15 +196,15 @@
   ppapi::host::ReplyMessageContext reply_context(
       context->MakeReplyMessageContext());
 
-  network::mojom::SocketObserverPtr socket_observer;
-  network::mojom::SocketObserverRequest socket_observer_request =
-      mojo::MakeRequest(&socket_observer);
+  mojo::PendingRemote<network::mojom::SocketObserver> socket_observer;
+  auto socket_observer_receiver =
+      socket_observer.InitWithNewPipeAndPassReceiver();
   socket_->Accept(
       std::move(socket_observer),
       mojo::WrapCallbackWithDefaultInvokeIfNotRun(
           base::BindOnce(&PepperTCPServerSocketMessageFilter::OnAcceptCompleted,
                          base::Unretained(this), reply_context,
-                         std::move(socket_observer_request)),
+                         std::move(socket_observer_receiver)),
           net::ERR_FAILED, base::nullopt /* remote_addr */,
           network::mojom::TCPConnectedSocketPtr(),
           mojo::ScopedDataPipeConsumerHandle(),
@@ -287,7 +287,8 @@
 
 void PepperTCPServerSocketMessageFilter::OnAcceptCompleted(
     const ppapi::host::ReplyMessageContext& context,
-    network::mojom::SocketObserverRequest socket_observer_request,
+    mojo::PendingReceiver<network::mojom::SocketObserver>
+        socket_observer_receiver,
     int net_result,
     const base::Optional<net::IPEndPoint>& remote_addr,
     network::mojom::TCPConnectedSocketPtr connected_socket,
@@ -315,7 +316,7 @@
     return;
   }
 
-  DCHECK(socket_observer_request.is_pending());
+  DCHECK(socket_observer_receiver.is_valid());
 
   PP_NetAddress_Private pp_remote_addr =
       NetAddressPrivateImpl::kInvalidNetAddress;
@@ -332,14 +333,15 @@
       base::BindOnce(
           &PepperTCPServerSocketMessageFilter::OnAcceptCompletedOnIOThread,
           this, context, connected_socket.PassInterface(),
-          std::move(socket_observer_request), std::move(receive_stream),
+          std::move(socket_observer_receiver), std::move(receive_stream),
           std::move(send_stream), bound_addr_, pp_remote_addr));
 }
 
 void PepperTCPServerSocketMessageFilter::OnAcceptCompletedOnIOThread(
     const ppapi::host::ReplyMessageContext& context,
     network::mojom::TCPConnectedSocketPtrInfo connected_socket,
-    network::mojom::SocketObserverRequest socket_observer_request,
+    mojo::PendingReceiver<network::mojom::SocketObserver>
+        socket_observer_receiver,
     mojo::ScopedDataPipeConsumerHandle receive_stream,
     mojo::ScopedDataPipeProducerHandle send_stream,
     PP_NetAddress_Private pp_local_addr,
@@ -352,7 +354,7 @@
   std::unique_ptr<ppapi::host::ResourceHost> host =
       factory_->CreateAcceptedTCPSocket(
           instance_, ppapi::TCP_SOCKET_VERSION_PRIVATE,
-          std::move(connected_socket), std::move(socket_observer_request),
+          std::move(connected_socket), std::move(socket_observer_receiver),
           std::move(receive_stream), std::move(send_stream));
   if (!host) {
     SendAcceptError(context, PP_ERROR_NOSPACE);
diff --git a/content/browser/renderer_host/pepper/pepper_tcp_server_socket_message_filter.h b/content/browser/renderer_host/pepper/pepper_tcp_server_socket_message_filter.h
index 0e18bc1..c5a5a78 100644
--- a/content/browser/renderer_host/pepper/pepper_tcp_server_socket_message_filter.h
+++ b/content/browser/renderer_host/pepper/pepper_tcp_server_socket_message_filter.h
@@ -17,6 +17,7 @@
 #include "base/optional.h"
 #include "build/build_config.h"
 #include "content/common/content_export.h"
+#include "mojo/public/cpp/bindings/pending_receiver.h"
 #include "mojo/public/cpp/system/data_pipe.h"
 #include "net/base/ip_endpoint.h"
 #include "ppapi/c/pp_instance.h"
@@ -95,18 +96,19 @@
   void OnListenCompleted(const ppapi::host::ReplyMessageContext& context,
                          int net_result,
                          const base::Optional<net::IPEndPoint>& local_addr);
-  void OnAcceptCompleted(
-      const ppapi::host::ReplyMessageContext& context,
-      network::mojom::SocketObserverRequest socket_observer_request,
-      int net_result,
-      const base::Optional<net::IPEndPoint>& remote_addr,
-      network::mojom::TCPConnectedSocketPtr connected_socket,
-      mojo::ScopedDataPipeConsumerHandle receive_stream,
-      mojo::ScopedDataPipeProducerHandle send_stream);
+  void OnAcceptCompleted(const ppapi::host::ReplyMessageContext& context,
+                         mojo::PendingReceiver<network::mojom::SocketObserver>
+                             socket_observer_receiver,
+                         int net_result,
+                         const base::Optional<net::IPEndPoint>& remote_addr,
+                         network::mojom::TCPConnectedSocketPtr connected_socket,
+                         mojo::ScopedDataPipeConsumerHandle receive_stream,
+                         mojo::ScopedDataPipeProducerHandle send_stream);
   void OnAcceptCompletedOnIOThread(
       const ppapi::host::ReplyMessageContext& context,
       network::mojom::TCPConnectedSocketPtrInfo connected_socket,
-      network::mojom::SocketObserverRequest socket_observer_request,
+      mojo::PendingReceiver<network::mojom::SocketObserver>
+          socket_observer_receiver,
       mojo::ScopedDataPipeConsumerHandle receive_stream,
       mojo::ScopedDataPipeProducerHandle send_stream,
       PP_NetAddress_Private pp_local_addr,
diff --git a/content/browser/renderer_host/pepper/pepper_tcp_socket_message_filter.cc b/content/browser/renderer_host/pepper/pepper_tcp_socket_message_filter.cc
index c8892ff..dd64d5f 100644
--- a/content/browser/renderer_host/pepper/pepper_tcp_socket_message_filter.cc
+++ b/content/browser/renderer_host/pepper/pepper_tcp_socket_message_filter.cc
@@ -23,7 +23,7 @@
 #include "content/public/browser/storage_partition.h"
 #include "content/public/common/socket_permission_request.h"
 #include "mojo/public/cpp/bindings/callback_helpers.h"
-#include "mojo/public/cpp/bindings/interface_request.h"
+#include "mojo/public/cpp/bindings/pending_remote.h"
 #include "net/base/address_family.h"
 #include "net/base/host_port_pair.h"
 #include "net/base/io_buffer.h"
@@ -75,7 +75,6 @@
       render_process_id_(0),
       render_frame_id_(0),
       binding_(this),
-      socket_observer_binding_(this),
       state_(TCPSocketState::INITIAL),
       bind_input_addr_(NetAddressPrivateImpl::kInvalidNetAddress),
       socket_options_(SOCKET_OPTION_NODELAY),
@@ -103,7 +102,8 @@
 
 void PepperTCPSocketMessageFilter::SetConnectedSocket(
     network::mojom::TCPConnectedSocketPtrInfo connected_socket,
-    network::mojom::SocketObserverRequest socket_observer_request,
+    mojo::PendingReceiver<network::mojom::SocketObserver>
+        socket_observer_receiver,
     mojo::ScopedDataPipeConsumerHandle receive_stream,
     mojo::ScopedDataPipeProducerHandle send_stream) {
   DCHECK_CURRENTLY_ON(BrowserThread::IO);
@@ -116,7 +116,7 @@
       FROM_HERE, {BrowserThread::UI},
       base::BindOnce(
           &PepperTCPSocketMessageFilter::SetConnectedSocketOnUIThread, this,
-          std::move(connected_socket), std::move(socket_observer_request),
+          std::move(connected_socket), std::move(socket_observer_receiver),
           std::move(receive_stream), std::move(send_stream)));
 }
 
@@ -136,7 +136,8 @@
 
 void PepperTCPSocketMessageFilter::SetConnectedSocketOnUIThread(
     network::mojom::TCPConnectedSocketPtrInfo connected_socket,
-    network::mojom::SocketObserverRequest socket_observer_request,
+    mojo::PendingReceiver<network::mojom::SocketObserver>
+        socket_observer_receiver,
     mojo::ScopedDataPipeConsumerHandle receive_stream,
     mojo::ScopedDataPipeProducerHandle send_stream) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
@@ -144,8 +145,8 @@
 
   state_ = TCPSocketState(TCPSocketState::CONNECTED);
   connected_socket_.Bind(std::move(connected_socket));
-  socket_observer_binding_.Bind(std::move(socket_observer_request));
-  socket_observer_binding_.set_connection_error_handler(
+  socket_observer_receiver_.Bind(std::move(socket_observer_receiver));
+  socket_observer_receiver_.set_disconnect_handler(
       base::BindOnce(&PepperTCPSocketMessageFilter::OnSocketObserverError,
                      base::Unretained(this)));
 
@@ -306,7 +307,7 @@
 
 void PepperTCPSocketMessageFilter::OnSocketObserverError() {
   // Note that this method may be called while a connection is still being made.
-  socket_observer_binding_.Close();
+  socket_observer_receiver_.reset();
 
   // Treat this as a read and write error. If read and write errors have already
   // been received, these calls will do nothing.
@@ -363,7 +364,7 @@
   network_context->CreateTCPBoundSocket(
       net::IPEndPoint(net::IPAddress(address), port),
       pepper_socket_utils::PepperTCPNetworkAnnotationTag(),
-      mojo::MakeRequest(&bound_socket_),
+      bound_socket_.BindNewPipeAndPassReceiver(),
       mojo::WrapCallbackWithDefaultInvokeIfNotRun(
           base::BindOnce(&PepperTCPSocketMessageFilter::OnBindCompleted,
                          weak_ptr_factory_.GetWeakPtr(),
@@ -484,13 +485,7 @@
   read_watcher_.reset();
   send_stream_.reset();
   write_watcher_.reset();
-  socket_observer_binding_.Close();
-
-  network::mojom::SocketObserverPtr socket_observer;
-  socket_observer_binding_.Bind(mojo::MakeRequest(&socket_observer));
-  socket_observer_binding_.set_connection_error_handler(
-      base::BindOnce(&PepperTCPSocketMessageFilter::OnSocketObserverError,
-                     base::Unretained(this)));
+  socket_observer_receiver_.reset();
 
   state_.SetPendingTransition(TCPSocketState::SSL_CONNECT);
 
@@ -501,7 +496,8 @@
   connected_socket_->UpgradeToTLS(
       host_port_pair, std::move(tls_client_socket_options),
       pepper_socket_utils::PepperTCPNetworkAnnotationTag(),
-      mojo::MakeRequest(&tls_client_socket_), std::move(socket_observer),
+      mojo::MakeRequest(&tls_client_socket_),
+      socket_observer_receiver_.BindNewPipeAndPassRemote(),
       mojo::WrapCallbackWithDefaultInvokeIfNotRun(
           base::BindOnce(&PepperTCPSocketMessageFilter::OnSSLHandshakeCompleted,
                          base::Unretained(this),
@@ -509,6 +505,10 @@
           net::ERR_FAILED, mojo::ScopedDataPipeConsumerHandle(),
           mojo::ScopedDataPipeProducerHandle(), base::nullopt /* ssl_info */));
 
+  socket_observer_receiver_.set_disconnect_handler(
+      base::BindOnce(&PepperTCPSocketMessageFilter::OnSocketObserverError,
+                     base::Unretained(this)));
+
   return PP_OK_COMPLETIONPENDING;
 }
 
@@ -615,16 +615,16 @@
 
   pending_accept_ = true;
 
-  network::mojom::SocketObserverPtr socket_observer;
-  network::mojom::SocketObserverRequest socket_observer_request =
-      mojo::MakeRequest(&socket_observer);
+  mojo::PendingRemote<network::mojom::SocketObserver> socket_observer;
+  auto socket_observer_receiver =
+      socket_observer.InitWithNewPipeAndPassReceiver();
   server_socket_->Accept(
       std::move(socket_observer),
       mojo::WrapCallbackWithDefaultInvokeIfNotRun(
           base::BindOnce(&PepperTCPSocketMessageFilter::OnAcceptCompleted,
                          base::Unretained(this),
                          context->MakeReplyMessageContext(),
-                         std::move(socket_observer_request)),
+                         std::move(socket_observer_receiver)),
           net::ERR_FAILED, base::nullopt /* remote_addr */,
           network::mojom::TCPConnectedSocketPtr(),
           mojo::ScopedDataPipeConsumerHandle(),
@@ -757,7 +757,7 @@
       // If no read error has been received yet, wait to receive one through
       // the SocketObserver interface.
       if (pending_read_pp_error_ == PP_OK_COMPLETIONPENDING) {
-        DCHECK(socket_observer_binding_.is_bound());
+        DCHECK(socket_observer_receiver_.is_bound());
         break;
       }
 
@@ -817,7 +817,7 @@
   while (true) {
     if (!send_stream_.is_valid()) {
       if (pending_write_pp_error_ == PP_OK_COMPLETIONPENDING) {
-        DCHECK(socket_observer_binding_.is_bound());
+        DCHECK(socket_observer_receiver_.is_bound());
         break;
       }
       SendWriteReply(pending_write_pp_error_);
@@ -868,10 +868,8 @@
   DCHECK(state_.IsPending(TCPSocketState::CONNECT));
   DCHECK(!address_list.empty());
 
-  network::mojom::SocketObserverPtr socket_observer;
-  socket_observer_binding_.Bind(mojo::MakeRequest(&socket_observer));
-
-  socket_observer_binding_.set_connection_error_handler(
+  auto socket_observer = socket_observer_receiver_.BindNewPipeAndPassRemote();
+  socket_observer_receiver_.set_disconnect_handler(
       base::BindOnce(&PepperTCPSocketMessageFilter::OnSocketObserverError,
                      base::Unretained(this)));
 
@@ -960,7 +958,7 @@
   // Handle errors.
 
   // This can happen even when the network service is behaving correctly, as
-  // we may see the |socket_observer_binding_| closed before receiving an
+  // we may see the |socket_observer_receiver_| closed before receiving an
   // error.
   pending_read_pp_error_ = PP_OK_COMPLETIONPENDING;
   pending_write_pp_error_ = PP_OK_COMPLETIONPENDING;
@@ -1076,7 +1074,8 @@
 
 void PepperTCPSocketMessageFilter::OnAcceptCompleted(
     const ppapi::host::ReplyMessageContext& context,
-    network::mojom::SocketObserverRequest socket_observer_request,
+    mojo::PendingReceiver<network::mojom::SocketObserver>
+        socket_observer_receiver,
     int net_result,
     const base::Optional<net::IPEndPoint>& remote_addr,
     network::mojom::TCPConnectedSocketPtr connected_socket,
@@ -1096,7 +1095,7 @@
     return;
   }
 
-  DCHECK(socket_observer_request.is_pending());
+  DCHECK(socket_observer_receiver.is_valid());
 
   PP_NetAddress_Private pp_remote_addr =
       NetAddressPrivateImpl::kInvalidNetAddress;
@@ -1121,7 +1120,7 @@
       FROM_HERE, {BrowserThread::IO},
       base::BindOnce(&PepperTCPSocketMessageFilter::OnAcceptCompletedOnIOThread,
                      this, context, connected_socket.PassInterface(),
-                     std::move(socket_observer_request),
+                     std::move(socket_observer_receiver),
                      std::move(receive_stream), std::move(send_stream),
                      bound_address, pp_remote_addr));
 }
@@ -1129,7 +1128,8 @@
 void PepperTCPSocketMessageFilter::OnAcceptCompletedOnIOThread(
     const ppapi::host::ReplyMessageContext& context,
     network::mojom::TCPConnectedSocketPtrInfo connected_socket,
-    network::mojom::SocketObserverRequest socket_observer_request,
+    mojo::PendingReceiver<network::mojom::SocketObserver>
+        socket_observer_receiver,
     mojo::ScopedDataPipeConsumerHandle receive_stream,
     mojo::ScopedDataPipeProducerHandle send_stream,
     PP_NetAddress_Private pp_local_addr,
@@ -1144,7 +1144,7 @@
   std::unique_ptr<ppapi::host::ResourceHost> host =
       factory_->CreateAcceptedTCPSocket(
           instance_, version_, std::move(connected_socket),
-          std::move(socket_observer_request), std::move(receive_stream),
+          std::move(socket_observer_receiver), std::move(receive_stream),
           std::move(send_stream));
   if (!host) {
     SendAcceptError(context, PP_ERROR_NOSPACE);
@@ -1359,7 +1359,7 @@
   tls_client_socket_.reset();
   server_socket_.reset();
   binding_.Close();
-  socket_observer_binding_.Close();
+  socket_observer_receiver_.reset();
 
   read_watcher_.reset();
   receive_stream_.reset();
diff --git a/content/browser/renderer_host/pepper/pepper_tcp_socket_message_filter.h b/content/browser/renderer_host/pepper/pepper_tcp_socket_message_filter.h
index 8874de1d..f11a89c6 100644
--- a/content/browser/renderer_host/pepper/pepper_tcp_socket_message_filter.h
+++ b/content/browser/renderer_host/pepper/pepper_tcp_socket_message_filter.h
@@ -21,6 +21,9 @@
 #include "content/browser/renderer_host/pepper/browser_ppapi_host_impl.h"
 #include "content/common/content_export.h"
 #include "mojo/public/cpp/bindings/binding.h"
+#include "mojo/public/cpp/bindings/pending_receiver.h"
+#include "mojo/public/cpp/bindings/receiver.h"
+#include "mojo/public/cpp/bindings/remote.h"
 #include "mojo/public/cpp/system/data_pipe.h"
 #include "net/base/address_list.h"
 #include "net/base/ip_endpoint.h"
@@ -75,7 +78,8 @@
   // before any messages are received,
   void SetConnectedSocket(
       network::mojom::TCPConnectedSocketPtrInfo connected_socket,
-      network::mojom::SocketObserverRequest socket_observer_request,
+      mojo::PendingReceiver<network::mojom::SocketObserver>
+          socket_observer_receiver,
       mojo::ScopedDataPipeConsumerHandle receive_stream,
       mojo::ScopedDataPipeProducerHandle send_stream);
 
@@ -97,7 +101,8 @@
 
   void SetConnectedSocketOnUIThread(
       network::mojom::TCPConnectedSocketPtrInfo connected_socket,
-      network::mojom::SocketObserverRequest socket_observer_request,
+      mojo::PendingReceiver<network::mojom::SocketObserver>
+          socket_observer_receiver,
       mojo::ScopedDataPipeConsumerHandle receive_stream,
       mojo::ScopedDataPipeProducerHandle send_stream);
 
@@ -194,19 +199,20 @@
                        int net_result,
                        const base::Optional<net::IPEndPoint>& local_addr);
 
-  void OnAcceptCompleted(
-      const ppapi::host::ReplyMessageContext& context,
-      network::mojom::SocketObserverRequest socket_observer_request,
-      int net_result,
-      const base::Optional<net::IPEndPoint>& remote_addr,
-      network::mojom::TCPConnectedSocketPtr connected_socket,
-      mojo::ScopedDataPipeConsumerHandle receive_stream,
-      mojo::ScopedDataPipeProducerHandle send_stream);
+  void OnAcceptCompleted(const ppapi::host::ReplyMessageContext& context,
+                         mojo::PendingReceiver<network::mojom::SocketObserver>
+                             socket_observer_receiver,
+                         int net_result,
+                         const base::Optional<net::IPEndPoint>& remote_addr,
+                         network::mojom::TCPConnectedSocketPtr connected_socket,
+                         mojo::ScopedDataPipeConsumerHandle receive_stream,
+                         mojo::ScopedDataPipeProducerHandle send_stream);
 
   void OnAcceptCompletedOnIOThread(
       const ppapi::host::ReplyMessageContext& context,
       network::mojom::TCPConnectedSocketPtrInfo connected_socket,
-      network::mojom::SocketObserverRequest socket_observer_request,
+      mojo::PendingReceiver<network::mojom::SocketObserver>
+          socket_observer_receiver,
       mojo::ScopedDataPipeConsumerHandle receive_stream,
       mojo::ScopedDataPipeProducerHandle send_stream,
       PP_NetAddress_Private pp_local_addr,
@@ -295,7 +301,8 @@
   // A reference to |this| must always be taken while |binding_| is bound to
   // ensure that if the error callback is called the object is alive.
   mojo::Binding<network::mojom::ResolveHostClient> binding_;
-  mojo::Binding<network::mojom::SocketObserver> socket_observer_binding_;
+  mojo::Receiver<network::mojom::SocketObserver> socket_observer_receiver_{
+      this};
 
   ppapi::TCPSocketState state_;
 
@@ -323,7 +330,7 @@
 
   // Holds socket if Bind() is called. Will be used to create a connected or
   // server socket, depending on the next call.
-  network::mojom::TCPBoundSocketPtr bound_socket_;
+  mojo::Remote<network::mojom::TCPBoundSocket> bound_socket_;
   // Holds socket if Connect() is called.
   network::mojom::TCPConnectedSocketPtr connected_socket_;
   // Holds socket if socket was upgraded to SSL.
diff --git a/content/browser/resolve_proxy_msg_helper.cc b/content/browser/resolve_proxy_msg_helper.cc
index 8be5690..e91d6d6 100644
--- a/content/browser/resolve_proxy_msg_helper.cc
+++ b/content/browser/resolve_proxy_msg_helper.cc
@@ -10,7 +10,6 @@
 #include "content/public/browser/browser_thread.h"
 #include "content/public/browser/render_process_host.h"
 #include "content/public/browser/storage_partition.h"
-#include "mojo/public/cpp/bindings/interface_request.h"
 #include "net/proxy_resolution/proxy_info.h"
 #include "services/network/public/mojom/network_context.mojom.h"
 
@@ -18,8 +17,7 @@
 
 ResolveProxyMsgHelper::ResolveProxyMsgHelper(int render_process_host_id)
     : BrowserMessageFilter(ViewMsgStart),
-      render_process_host_id_(render_process_host_id),
-      binding_(this) {}
+      render_process_host_id_(render_process_host_id) {}
 
 void ResolveProxyMsgHelper::OverrideThreadForMessage(
     const IPC::Message& message,
@@ -45,7 +43,7 @@
   pending_requests_.push_back(PendingRequest(url, reply_msg));
 
   // If nothing is in progress, start.
-  if (!binding_.is_bound()) {
+  if (!receiver_.is_bound()) {
     DCHECK_EQ(1u, pending_requests_.size());
     StartPendingRequest();
   }
@@ -53,18 +51,18 @@
 
 ResolveProxyMsgHelper::~ResolveProxyMsgHelper() {
   DCHECK(!owned_self_);
-  DCHECK(!binding_.is_bound());
+  DCHECK(!receiver_.is_bound());
 }
 
 void ResolveProxyMsgHelper::StartPendingRequest() {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
-  DCHECK(!binding_.is_bound());
+  DCHECK(!receiver_.is_bound());
   DCHECK(!pending_requests_.empty());
 
   // Start the request.
-  network::mojom::ProxyLookupClientPtr proxy_lookup_client;
-  binding_.Bind(mojo::MakeRequest(&proxy_lookup_client));
-  binding_.set_connection_error_handler(
+  mojo::PendingRemote<network::mojom::ProxyLookupClient> proxy_lookup_client =
+      receiver_.BindNewPipeAndPassRemote();
+  receiver_.set_disconnect_handler(
       base::BindOnce(&ResolveProxyMsgHelper::OnProxyLookupComplete,
                      base::Unretained(this), net::ERR_ABORTED, base::nullopt));
   owned_self_ = this;
@@ -76,7 +74,8 @@
 
 bool ResolveProxyMsgHelper::SendRequestToNetworkService(
     const GURL& url,
-    network::mojom::ProxyLookupClientPtr proxy_lookup_client) {
+    mojo::PendingRemote<network::mojom::ProxyLookupClient>
+        proxy_lookup_client) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
 
   RenderProcessHost* render_process_host =
@@ -96,7 +95,7 @@
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
   DCHECK(!pending_requests_.empty());
 
-  binding_.Close();
+  receiver_.reset();
 
   // Need to keep |this| alive until the end of this method, and then release
   // this reference. StartPendingRequest(), if called, will grab other
diff --git a/content/browser/resolve_proxy_msg_helper.h b/content/browser/resolve_proxy_msg_helper.h
index 5bf7fcb..30cfffa 100644
--- a/content/browser/resolve_proxy_msg_helper.h
+++ b/content/browser/resolve_proxy_msg_helper.h
@@ -14,7 +14,8 @@
 #include "base/sequenced_task_runner_helpers.h"
 #include "content/common/content_export.h"
 #include "content/public/browser/browser_message_filter.h"
-#include "mojo/public/cpp/bindings/binding.h"
+#include "mojo/public/cpp/bindings/pending_remote.h"
+#include "mojo/public/cpp/bindings/receiver.h"
 #include "services/network/public/mojom/proxy_lookup_client.mojom.h"
 #include "url/gurl.h"
 
@@ -65,7 +66,8 @@
   // to the RenderProcessHost no longer existing.
   virtual bool SendRequestToNetworkService(
       const GURL& url,
-      network::mojom::ProxyLookupClientPtr proxy_lookup_client);
+      mojo::PendingRemote<network::mojom::ProxyLookupClient>
+          proxy_lookup_client);
 
   // network::mojom::ProxyLookupClient implementation.
   void OnProxyLookupComplete(
@@ -99,12 +101,12 @@
 
   // Self-reference. Owned as long as there's an outstanding proxy lookup.
   // Needed to shut down safely, since this class is refcounted, with some
-  // references owned on multiple threads, while |binding_| lives on the UI
+  // references owned on multiple threads, while |receiver_| lives on the UI
   // thread, and may receive callbacks there whenever there's a pending request.
   scoped_refptr<ResolveProxyMsgHelper> owned_self_;
 
-  // Binding for the currently in-progress request, if any.
-  mojo::Binding<network::mojom::ProxyLookupClient> binding_;
+  // Receiver for the currently in-progress request, if any.
+  mojo::Receiver<network::mojom::ProxyLookupClient> receiver_{this};
 
   DISALLOW_COPY_AND_ASSIGN(ResolveProxyMsgHelper);
 };
diff --git a/content/browser/resolve_proxy_msg_helper_unittest.cc b/content/browser/resolve_proxy_msg_helper_unittest.cc
index 42514e4..56df64c 100644
--- a/content/browser/resolve_proxy_msg_helper_unittest.cc
+++ b/content/browser/resolve_proxy_msg_helper_unittest.cc
@@ -11,6 +11,7 @@
 #include "content/common/view_messages.h"
 #include "content/public/test/browser_task_environment.h"
 #include "ipc/ipc_test_sink.h"
+#include "mojo/public/cpp/bindings/remote.h"
 #include "net/base/net_errors.h"
 #include "net/proxy_resolution/proxy_info.h"
 #include "net/traffic_annotation/network_traffic_annotation_test_helper.h"
@@ -21,10 +22,11 @@
 
 class TestResolveProxyMsgHelper : public ResolveProxyMsgHelper {
  public:
-  // Incoming ProxyLookupClientPtrs are written to |proxy_lookup_client|.
+  // Incoming mojo::Remote<ProxyLookupClient>s are written to
+  // |proxy_lookup_client|.
   explicit TestResolveProxyMsgHelper(
       IPC::Listener* listener,
-      network::mojom::ProxyLookupClientPtr* proxy_lookup_client)
+      mojo::Remote<network::mojom::ProxyLookupClient>* proxy_lookup_client)
       : ResolveProxyMsgHelper(0 /* renderer_process_host_id */),
         listener_(listener),
         proxy_lookup_client_(proxy_lookup_client) {}
@@ -40,7 +42,8 @@
 
   bool SendRequestToNetworkService(
       const GURL& url,
-      network::mojom::ProxyLookupClientPtr proxy_lookup_client) override {
+      mojo::PendingRemote<network::mojom::ProxyLookupClient>
+          proxy_lookup_client) override {
     // Only one request should be send at a time.
     EXPECT_FALSE(*proxy_lookup_client_);
 
@@ -48,7 +51,7 @@
       return false;
 
     pending_url_ = url;
-    *proxy_lookup_client_ = std::move(proxy_lookup_client);
+    proxy_lookup_client_->Bind(std::move(proxy_lookup_client));
     return true;
   }
 
@@ -65,7 +68,7 @@
 
   bool fail_to_send_request_ = false;
 
-  network::mojom::ProxyLookupClientPtr* proxy_lookup_client_;
+  mojo::Remote<network::mojom::ProxyLookupClient>* proxy_lookup_client_;
   GURL pending_url_;
 
   DISALLOW_COPY_AND_ASSIGN(TestResolveProxyMsgHelper);
@@ -119,7 +122,7 @@
   scoped_refptr<TestResolveProxyMsgHelper> helper_;
   std::unique_ptr<PendingResult> pending_result_;
 
-  network::mojom::ProxyLookupClientPtr proxy_lookup_client_;
+  mojo::Remote<network::mojom::ProxyLookupClient> proxy_lookup_client_;
 
   IPC::TestSink test_sink_;
 };
@@ -265,7 +268,7 @@
   helper_ = nullptr;
   base::RunLoop().RunUntilIdle();
   EXPECT_TRUE(proxy_lookup_client_.is_bound());
-  EXPECT_FALSE(proxy_lookup_client_.encountered_error());
+  EXPECT_FALSE(!proxy_lookup_client_.is_connected());
 
   // Send Mojo message on the pipe.
   net::ProxyInfo proxy_info;
@@ -276,7 +279,7 @@
   // the pipe.
   base::RunLoop().RunUntilIdle();
   EXPECT_TRUE(!proxy_lookup_client_.is_bound() ||
-              proxy_lookup_client_.encountered_error());
+              !proxy_lookup_client_.is_connected());
   // The result should not have been sent.
   EXPECT_FALSE(pending_result());
 
@@ -366,7 +369,7 @@
   helper_ = nullptr;
   base::RunLoop().RunUntilIdle();
   EXPECT_TRUE(proxy_lookup_client_.is_bound());
-  EXPECT_FALSE(proxy_lookup_client_.encountered_error());
+  EXPECT_FALSE(!proxy_lookup_client_.is_connected());
 
   // Send Mojo message on the pipe.
   net::ProxyInfo proxy_info;
@@ -377,7 +380,7 @@
   // the pipe.
   base::RunLoop().RunUntilIdle();
   EXPECT_TRUE(!proxy_lookup_client_.is_bound() ||
-              proxy_lookup_client_.encountered_error());
+              !proxy_lookup_client_.is_connected());
   // The result should not have been sent.
   EXPECT_FALSE(pending_result());
 }
diff --git a/content/public/browser/chromeos/delegate_to_browser_gpu_service_accelerator_factory.h b/content/public/browser/chromeos/delegate_to_browser_gpu_service_accelerator_factory.h
index 2f1f3a43..7433cc9 100644
--- a/content/public/browser/chromeos/delegate_to_browser_gpu_service_accelerator_factory.h
+++ b/content/public/browser/chromeos/delegate_to_browser_gpu_service_accelerator_factory.h
@@ -6,6 +6,7 @@
 #define CONTENT_PUBLIC_BROWSER_CHROMEOS_DELEGATE_TO_BROWSER_GPU_SERVICE_ACCELERATOR_FACTORY_H_
 
 #include "content/common/content_export.h"
+#include "mojo/public/cpp/bindings/pending_receiver.h"
 #include "services/video_capture/public/mojom/video_capture_service.mojom.h"
 
 namespace content {
@@ -17,8 +18,8 @@
     : public video_capture::mojom::AcceleratorFactory {
  public:
   void CreateJpegDecodeAccelerator(
-      chromeos_camera::mojom::MjpegDecodeAcceleratorRequest jda_request)
-      override;
+      mojo::PendingReceiver<chromeos_camera::mojom::MjpegDecodeAccelerator>
+          jda_receiver) override;
 };
 
 }  // namespace content
diff --git a/content/public/common/BUILD.gn b/content/public/common/BUILD.gn
index 8913e0f..6223c89 100644
--- a/content/public/common/BUILD.gn
+++ b/content/public/common/BUILD.gn
@@ -176,6 +176,7 @@
     "pepper_plugin_info.cc",
     "pepper_plugin_info.h",
     "persistent_notification_status.h",
+    "previews_state.cc",
     "previews_state.h",
     "process_type.h",
     "profiling.cc",
diff --git a/content/public/common/previews_state.cc b/content/public/common/previews_state.cc
new file mode 100644
index 0000000..34f598a
--- /dev/null
+++ b/content/public/common/previews_state.cc
@@ -0,0 +1,40 @@
+// 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 "content/public/common/previews_state.h"
+
+#include "third_party/blink/public/platform/web_url_request.h"
+
+#define STATIC_ASSERT_PREVIEWS_ENUM(a, b)                   \
+  static_assert(static_cast<int>(a) == static_cast<int>(b), \
+                "mismatching enums: " #a)
+
+namespace content {
+
+// Ensure that content::PreviewsState and blink::WebURLRequest::PreviewsState
+// are kept in sync.
+STATIC_ASSERT_PREVIEWS_ENUM(PREVIEWS_UNSPECIFIED,
+                            blink::WebURLRequest::kPreviewsUnspecified);
+STATIC_ASSERT_PREVIEWS_ENUM(CLIENT_LOFI_AUTO_RELOAD,
+                            blink::WebURLRequest::kClientLoFiAutoReload);
+STATIC_ASSERT_PREVIEWS_ENUM(SERVER_LITE_PAGE_ON,
+                            blink::WebURLRequest::kServerLitePageOn);
+STATIC_ASSERT_PREVIEWS_ENUM(PREVIEWS_NO_TRANSFORM,
+                            blink::WebURLRequest::kPreviewsNoTransform);
+STATIC_ASSERT_PREVIEWS_ENUM(PREVIEWS_OFF, blink::WebURLRequest::kPreviewsOff);
+STATIC_ASSERT_PREVIEWS_ENUM(NOSCRIPT_ON, blink::WebURLRequest::kNoScriptOn);
+STATIC_ASSERT_PREVIEWS_ENUM(RESOURCE_LOADING_HINTS_ON,
+                            blink::WebURLRequest::kResourceLoadingHintsOn);
+STATIC_ASSERT_PREVIEWS_ENUM(OFFLINE_PAGE_ON,
+                            blink::WebURLRequest::kOfflinePageOn);
+STATIC_ASSERT_PREVIEWS_ENUM(LITE_PAGE_REDIRECT_ON,
+                            blink::WebURLRequest::kLitePageRedirectOn);
+STATIC_ASSERT_PREVIEWS_ENUM(LAZY_IMAGE_LOAD_DEFERRED,
+                            blink::WebURLRequest::kLazyImageLoadDeferred);
+STATIC_ASSERT_PREVIEWS_ENUM(LAZY_IMAGE_AUTO_RELOAD,
+                            blink::WebURLRequest::kLazyImageAutoReload);
+STATIC_ASSERT_PREVIEWS_ENUM(PREVIEWS_STATE_LAST,
+                            blink::WebURLRequest::kPreviewsStateLast);
+
+}  // namespace content
diff --git a/content/public/common/previews_state.h b/content/public/common/previews_state.h
index c8cad44..11e6bbb 100644
--- a/content/public/common/previews_state.h
+++ b/content/public/common/previews_state.h
@@ -5,13 +5,6 @@
 #ifndef CONTENT_PUBLIC_COMMON_PREVIEWS_STATE_H_
 #define CONTENT_PUBLIC_COMMON_PREVIEWS_STATE_H_
 
-#include "content/common/content_export.h"
-#include "third_party/blink/public/platform/web_url_request.h"
-
-#define STATIC_ASSERT_PREVIEWS_ENUM(a, b)                   \
-  static_assert(static_cast<int>(a) == static_cast<int>(b), \
-                "mismatching enums: " #a)
-
 namespace content {
 
 typedef int PreviewsState;
@@ -65,31 +58,6 @@
     SERVER_LITE_PAGE_ON | NOSCRIPT_ON | RESOURCE_LOADING_HINTS_ON |
     OFFLINE_PAGE_ON | LITE_PAGE_REDIRECT_ON;
 
-// Ensure that content::PreviewsState and blink::WebURLRequest::PreviewsState
-// are kept in sync.
-STATIC_ASSERT_PREVIEWS_ENUM(PREVIEWS_UNSPECIFIED,
-                            blink::WebURLRequest::kPreviewsUnspecified);
-STATIC_ASSERT_PREVIEWS_ENUM(CLIENT_LOFI_AUTO_RELOAD,
-                            blink::WebURLRequest::kClientLoFiAutoReload);
-STATIC_ASSERT_PREVIEWS_ENUM(SERVER_LITE_PAGE_ON,
-                            blink::WebURLRequest::kServerLitePageOn);
-STATIC_ASSERT_PREVIEWS_ENUM(PREVIEWS_NO_TRANSFORM,
-                            blink::WebURLRequest::kPreviewsNoTransform);
-STATIC_ASSERT_PREVIEWS_ENUM(PREVIEWS_OFF, blink::WebURLRequest::kPreviewsOff);
-STATIC_ASSERT_PREVIEWS_ENUM(NOSCRIPT_ON, blink::WebURLRequest::kNoScriptOn);
-STATIC_ASSERT_PREVIEWS_ENUM(RESOURCE_LOADING_HINTS_ON,
-                            blink::WebURLRequest::kResourceLoadingHintsOn);
-STATIC_ASSERT_PREVIEWS_ENUM(OFFLINE_PAGE_ON,
-                            blink::WebURLRequest::kOfflinePageOn);
-STATIC_ASSERT_PREVIEWS_ENUM(LITE_PAGE_REDIRECT_ON,
-                            blink::WebURLRequest::kLitePageRedirectOn);
-STATIC_ASSERT_PREVIEWS_ENUM(LAZY_IMAGE_LOAD_DEFERRED,
-                            blink::WebURLRequest::kLazyImageLoadDeferred);
-STATIC_ASSERT_PREVIEWS_ENUM(LAZY_IMAGE_AUTO_RELOAD,
-                            blink::WebURLRequest::kLazyImageAutoReload);
-STATIC_ASSERT_PREVIEWS_ENUM(PREVIEWS_STATE_LAST,
-                            blink::WebURLRequest::kPreviewsStateLast);
-
 }  // namespace content
 
 #endif  // CONTENT_PUBLIC_COMMON_PREVIEWS_STATE_H_
diff --git a/content/public/test/browser_test_base.cc b/content/public/test/browser_test_base.cc
index 5a3af74..683c3962 100644
--- a/content/public/test/browser_test_base.cc
+++ b/content/public/test/browser_test_base.cc
@@ -427,6 +427,12 @@
     InitializeBrowserMemoryInstrumentationClient();
   }
 
+  // All FeatureList overrides should have been registered prior to browser test
+  // SetUp().
+  base::FeatureList::ScopedDisallowOverrides disallow_feature_overrides(
+      "FeatureList overrides must happen in the test constructor, before "
+      "BrowserTestBase::SetUp() has run.");
+
   auto discardable_shared_memory_manager =
       std::make_unique<discardable_memory::DiscardableSharedMemoryManager>();
   auto service_manager_env = std::make_unique<ServiceManagerEnvironment>(
@@ -581,6 +587,14 @@
 }  // namespace
 
 void BrowserTestBase::ProxyRunTestOnMainThreadLoop() {
+#if !defined(OS_ANDROID)
+  // All FeatureList overrides should have been registered prior to browser test
+  // SetUp(). Note that on Android, this scoper lives in SetUp() above.
+  base::FeatureList::ScopedDisallowOverrides disallow_feature_overrides(
+      "FeatureList overrides must happen in the test constructor, before "
+      "BrowserTestBase::SetUp() has run.");
+#endif
+
   // Install a RunLoop timeout if none is present but do not override tests that
   // set a ScopedRunTimeoutForTest from their fixture's constructor (which
   // happens as part of setting up the test factory in gtest while
diff --git a/content/public/test/browser_test_base.h b/content/public/test/browser_test_base.h
index 71b2e7d..6a33d3f 100644
--- a/content/public/test/browser_test_base.h
+++ b/content/public/test/browser_test_base.h
@@ -32,21 +32,12 @@
   BrowserTestBase();
   ~BrowserTestBase() override;
 
-  // Configures everything for an in process browser test (i.e. feature list,
-  // thread pool, etc.) by invoking ContentMain (or manually on OS_ANDROID). As
-  // such all single-threaded initialization (such as
-  // base::test::ScopedFeatureList) must be done before this step, i.e.:
-  //   class MyFixture : public content::BrowserTestBase {
-  //    public:
-  //     void SetUp() override {
-  //       scoped_feature_list_.InitWithFeatures(features::kMyFeature);
-  //       content::BrowserTestBase::SetUp();
-  //     }
+  // Configures everything for an in process browser test (e.g. thread pool,
+  // etc.) by invoking ContentMain (or manually on OS_ANDROID). As such all
+  // single-threaded initialization must be done before this step.
   //
-  //    private:
-  //     base::test::ScopedFeatureList scoped_feature_list_;
-  //   };
-  // ContentMain then ends up invoking RunTestOnMainThreadLoop.
+  // ContentMain then ends up invoking RunTestOnMainThreadLoop with browser
+  // threads already running.
   void SetUp() override;
 
   // Restores state configured in SetUp.
diff --git a/content/renderer/media/webrtc/rtc_peer_connection_handler.cc b/content/renderer/media/webrtc/rtc_peer_connection_handler.cc
index 70f5927..5259079 100644
--- a/content/renderer/media/webrtc/rtc_peer_connection_handler.cc
+++ b/content/renderer/media/webrtc/rtc_peer_connection_handler.cc
@@ -16,7 +16,6 @@
 #include <vector>
 
 #include "base/bind.h"
-#include "base/command_line.h"
 #include "base/location.h"
 #include "base/logging.h"
 #include "base/metrics/histogram_functions.h"
@@ -24,11 +23,8 @@
 #include "base/stl_util.h"
 #include "base/strings/utf_string_conversions.h"
 #include "base/threading/thread_checker.h"
-#include "base/threading/thread_task_runner_handle.h"
 #include "base/trace_event/trace_event.h"
 #include "base/unguessable_token.h"
-#include "content/public/common/content_features.h"
-#include "content/public/common/content_switches.h"
 #include "content/renderer/media/webrtc/peer_connection_tracker.h"
 #include "content/renderer/media/webrtc/webrtc_set_description_observer.h"
 #include "content/renderer/render_thread_impl.h"
@@ -37,6 +33,7 @@
 #include "third_party/blink/public/platform/modules/mediastream/webrtc_uma_histograms.h"
 #include "third_party/blink/public/platform/modules/peerconnection/rtc_event_log_output_sink.h"
 #include "third_party/blink/public/platform/modules/peerconnection/rtc_event_log_output_sink_proxy_util.h"
+#include "third_party/blink/public/platform/platform.h"
 #include "third_party/blink/public/platform/web_media_constraints.h"
 #include "third_party/blink/public/platform/web_rtc_answer_options.h"
 #include "third_party/blink/public/platform/web_rtc_data_channel_init.h"
@@ -1026,8 +1023,7 @@
   // Choose between RTC smoothness algorithm and prerenderer smoothing.
   // Prerenderer smoothing is turned on if RTC smoothness is turned off.
   configuration_.set_prerenderer_smoothing(
-      base::CommandLine::ForCurrentProcess()->HasSwitch(
-          switches::kDisableRTCSmoothnessAlgorithm));
+      !blink::Platform::Current()->RTCSmoothnessAlgorithmEnabled());
 
   configuration_.set_experiment_cpu_load_estimator(
       base::FeatureList::IsEnabled(media::kNewEncodeCpuLoadEstimator));
@@ -1035,11 +1031,9 @@
   // Configure optional SRTP configurations enabled via the command line.
   configuration_.crypto_options = webrtc::CryptoOptions{};
   configuration_.crypto_options->srtp.enable_gcm_crypto_suites =
-      base::CommandLine::ForCurrentProcess()->HasSwitch(
-          switches::kEnableWebRtcSrtpAesGcm);
+      blink::Platform::Current()->IsWebRtcSrtpAesGcmEnabled();
   configuration_.crypto_options->srtp.enable_encrypted_rtp_header_extensions =
-      base::CommandLine::ForCurrentProcess()->HasSwitch(
-          switches::kEnableWebRtcSrtpEncryptedHeaders);
+      blink::Platform::Current()->IsWebRtcSrtpEncryptedHeadersEnabled();
 
   // Copy all the relevant constraints into |config|.
   CopyConstraintsIntoRtcConfiguration(options, &configuration_);
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
index 123a5b0..8cdda1a 100644
--- a/content/renderer/render_frame_impl.cc
+++ b/content/renderer/render_frame_impl.cc
@@ -1078,6 +1078,26 @@
 
 }  // namespace
 
+class RenderFrameImpl::AssertNavigationCommits {
+ public:
+  explicit AssertNavigationCommits(RenderFrameImpl* frame)
+      : frame_(frame->weak_factory_.GetWeakPtr()) {
+    CHECK_EQ(NavigationCommitState::kNone, frame->navigation_commit_state_);
+    frame->navigation_commit_state_ = NavigationCommitState::kWillCommitFromIPC;
+  }
+  ~AssertNavigationCommits() {
+    // Frame might have been synchronously detached when dispatching JS events.
+    if (frame_) {
+      CHECK_EQ(NavigationCommitState::kDidCommitFromIPC,
+               frame_->navigation_commit_state_);
+      frame_->navigation_commit_state_ = NavigationCommitState::kNone;
+    }
+  }
+
+ private:
+  const base::WeakPtr<RenderFrameImpl> frame_;
+};
+
 // This class uses existing WebNavigationBodyLoader to read the whole response
 // body into in-memory buffer, and then creates another body loader with static
 // data so that we can parse mhtml archive synchronously. This is a workaround
@@ -1089,17 +1109,45 @@
   // Once the body is read, fills |navigation_params| with the new body loader
   // and calls |done_callbcak|.
   MHTMLBodyLoaderClient(
+      RenderFrameImpl* frame,
       std::unique_ptr<blink::WebNavigationParams> navigation_params,
       base::OnceCallback<void(std::unique_ptr<blink::WebNavigationParams>)>
           done_callback)
-      : navigation_params_(std::move(navigation_params)),
+      : frame_(frame),
+        navigation_params_(std::move(navigation_params)),
+        body_loader_(std::move(navigation_params_->body_loader)),
         done_callback_(std::move(done_callback)) {
-    body_loader_ = std::move(navigation_params_->body_loader);
     body_loader_->StartLoadingBody(this, false /* use_isolated_code_cache */);
   }
 
-  ~MHTMLBodyLoaderClient() override {}
+  ~MHTMLBodyLoaderClient() override {
+    // MHTMLBodyLoaderClient is reset in several different places. Either:
+    CHECK(
+        // - the body load finished and the result is being committed, so
+        //   |BodyLoadingFinished| (see below) should still be on the stack, or
+        committing_ ||
+        // - MHTMLBodyLoaderClient is abandoned, either because:
+        //   - the browser requested a different navigation be committed in this
+        //     frame, i.e. the navigation commit state should be
+        //     kWillCommitFromIPC, or
+        NavigationCommitState::kWillCommitFromIPC ==
+            frame_->navigation_commit_state_ ||
+        //   - a new renderer-initiated navigation began, which explicitly
+        //     detaches any existing MHTMLBodyLoaderClient
+        //   - this renderer began the navigation and cancelled it with
+        //     |AbortClientNavigation|, e.g. JS called windows.stop(), which
+        //     explicitly detaches any existing MHTMLBodyLoaderClient
+        //   - the frame is detached and self-deleted, which also explicitly
+        //     detaches any existing MHTMLBodyLoaderClient
+        !frame_);
+  }
 
+  void Detach() {
+    CHECK(frame_->in_frame_tree_);
+    frame_ = nullptr;
+  }
+
+  // blink::WebNavigationBodyLoader::Client overrides:
   void BodyCodeCacheReceived(mojo_base::BigBuffer data) override {}
 
   void BodyDataReceived(base::span<const char> data) override {
@@ -1112,6 +1160,8 @@
                            int64_t total_decoded_body_length,
                            bool should_report_corb_blocking,
                            const base::Optional<WebURLError>& error) override {
+    committing_ = true;
+    AssertNavigationCommits assert_navigation_commits(frame_);
     if (!error.has_value()) {
       WebNavigationParams::FillBodyLoader(navigation_params_.get(), data_);
       // Clear |is_static_data| flag to avoid the special behavior it triggers,
@@ -1123,6 +1173,9 @@
   }
 
  private:
+  // |RenderFrameImpl| owns |this|, so |frame_| is guaranteed to be valid.
+  RenderFrameImpl* frame_;
+  bool committing_ = false;
   WebData data_;
   std::unique_ptr<blink::WebNavigationParams> navigation_params_;
   std::unique_ptr<blink::WebNavigationBodyLoader> body_loader_;
@@ -3384,6 +3437,8 @@
     return;
   }
 
+  AssertNavigationCommits assert_navigation_commits(this);
+
   bool was_initiated_in_this_frame = false;
   if (IsPerNavigationMojoInterfaceEnabled()) {
     was_initiated_in_this_frame =
@@ -3484,7 +3539,31 @@
     // We need this to retrieve the document mime type prior to committing.
     mhtml_body_loader_client_ =
         std::make_unique<RenderFrameImpl::MHTMLBodyLoaderClient>(
-            std::move(navigation_params), std::move(commit_with_params));
+            this, std::move(navigation_params), std::move(commit_with_params));
+    // The navigation didn't really commit, but lie about it anyway. Why? MHTML
+    // is a bit special: the renderer process is responsible for parsing the
+    // archive, but at this point, the response body isn't fully loaded yet.
+    // Instead, MHTMLBodyLoaderClient will read the entire response body and
+    // parse the archive to extract the main resource to be committed.
+    //
+    // There are two possibilities from this point:
+    // - MHTMLBodyLoaderClient::BodyLoadingFinished() is called. At that point,
+    //   the main resource can be extracted, and the navigation should be
+    //   synchronously committed. If this is a provisional frame, it will be
+    //   swapped in and committed. AssertNavigationCommits is used to ensure
+    //   that this always happens. ✔️
+    // - Alternatively, the pending archive load may be cancelled. This can only
+    //   happen if the renderer initiates a new navigation, or if the browser
+    //   requests that this frame commit a different navigation.
+    //   - If |this| is already swapped in, the reason for cancelling the
+    //     pending archive load does not matter. There will be no state skew
+    //     between the browser and the renderer, since |this| has already
+    //     committed a navigation. ✔️
+    //   - If |this| is provisional, the pending archive load may only be
+    //     cancelled by the browser requesting |this| to commit a different
+    //     navigation. AssertNavigationCommits ensures the new request ends up
+    //     committing and swapping in |this|, so this is OK. ✔️
+    navigation_commit_state_ = NavigationCommitState::kDidCommitFromIPC;
     return;
   }
 
@@ -3501,6 +3580,14 @@
       !browser_side_navigation_pending_url_.is_empty() &&
       browser_side_navigation_pending_url_ == commit_params.original_url &&
       commit_params.nav_entry_id == 0) {
+    // If a navigation has been cancelled in the renderer, the renderer must
+    // have already committed and swapped this frame into the frame tree:
+    // - a provisional frame cannot run JS, so it cannot self-cancel its own
+    //   navigation.
+    // - a provisional frame is only partially linked into the frame tree, so
+    //   other frames should not be able to reach into it to cancel the
+    //   navigation either.
+    CHECK(in_frame_tree_);
     return true;
   }
   return false;
@@ -3680,6 +3767,9 @@
   TRACE_EVENT1("navigation,benchmark,rail",
                "RenderFrameImpl::CommitFailedNavigation", "id", routing_id_);
   DCHECK(!NavigationTypeUtils::IsSameDocument(common_params->navigation_type));
+
+  AssertNavigationCommits assert_navigation_commits(this);
+
   RenderFrameImpl::PrepareRenderViewForNavigation(common_params->url,
                                                   *commit_params);
   sync_navigation_callback_.Cancel();
@@ -3721,6 +3811,16 @@
     Send(new FrameHostMsg_DidStopLoading(routing_id_));
     browser_side_navigation_pending_ = false;
     browser_side_navigation_pending_url_ = GURL();
+
+    // Disarm AssertNavigationCommits and pretend that the commit actually
+    // happened. Signalling that the load stopped /should/ signal the browser to
+    // tear down the speculative RFH associated with |this|...
+    // TODO(dcheng): This is potentially buggy. This means that the browser
+    // asked the renderer to commit a failed navigation, but it declined. In the
+    // future, when speculative RFH management is refactored, this will likely
+    // have to self-discard if |this| is provisional.
+    navigation_commit_state_ = NavigationCommitState::kDidCommitFromIPC;
+
     return;
   }
 
@@ -3769,6 +3869,14 @@
     }
     browser_side_navigation_pending_ = false;
     browser_side_navigation_pending_url_ = GURL();
+
+    // Disarm AssertNavigationCommits and pretend that the commit actually
+    // happened. Hopefully, either:
+    // - the browser process is signalled to stop loading, which /should/ signal
+    //   the browser to tear down the speculative RFH associated with |this| or
+    // - fallback content is triggered, which /should/ eventually discard |this|
+    //   as well.
+    navigation_commit_state_ = NavigationCommitState::kDidCommitFromIPC;
     return;
   }
 
@@ -4451,6 +4559,11 @@
     proxy->set_provisional_frame_routing_id(MSG_ROUTING_NONE);
   }
 
+  if (mhtml_body_loader_client_) {
+    mhtml_body_loader_client_->Detach();
+    mhtml_body_loader_client_.reset();
+  }
+
   delete this;
   // Object is invalid after this point.
 }
@@ -4641,6 +4754,9 @@
                "id", routing_id_,
                "url", GetLoadingUrl().possibly_invalid_spec());
 
+  if (navigation_commit_state_ == NavigationCommitState::kWillCommitFromIPC)
+    navigation_commit_state_ = NavigationCommitState::kDidCommitFromIPC;
+
   InternalDocumentStateData* internal_data =
       InternalDocumentStateData::FromDocumentLoader(
           frame_->GetDocumentLoader());
@@ -5080,9 +5196,13 @@
 }
 
 void RenderFrameImpl::AbortClientNavigation() {
+  CHECK(in_frame_tree_);
   browser_side_navigation_pending_ = false;
   sync_navigation_callback_.Cancel();
-  mhtml_body_loader_client_.reset();
+  if (mhtml_body_loader_client_) {
+    mhtml_body_loader_client_->Detach();
+    mhtml_body_loader_client_.reset();
+  }
   NotifyObserversOfFailedProvisionalLoad();
   if (!IsPerNavigationMojoInterfaceEnabled()) {
     Send(new FrameHostMsg_AbortNavigation(routing_id_));
@@ -6199,6 +6319,11 @@
 
 void RenderFrameImpl::BeginNavigation(
     std::unique_ptr<blink::WebNavigationInfo> info) {
+  // A provisional frame should never make a renderer-initiated navigation: no
+  // JS should be running in |this|, and no other frame should have a reference
+  // to |this|.
+  CHECK(in_frame_tree_);
+
   // This method is only called for renderer initiated navigations, which
   // may have originated from a link-click, script, drag-n-drop operation, etc.
 
@@ -6342,7 +6467,10 @@
     }
 
     sync_navigation_callback_.Cancel();
-    mhtml_body_loader_client_.reset();
+    if (mhtml_body_loader_client_) {
+      mhtml_body_loader_client_->Detach();
+      mhtml_body_loader_client_.reset();
+    }
 
     // First navigation in a frame to an empty document must be handled
     // synchronously.
diff --git a/content/renderer/render_frame_impl.h b/content/renderer/render_frame_impl.h
index 24de718..d90d6f6a 100644
--- a/content/renderer/render_frame_impl.h
+++ b/content/renderer/render_frame_impl.h
@@ -1752,6 +1752,26 @@
   std::unique_ptr<blink::WebURLLoaderFactoryForTest>
       web_url_loader_factory_override_for_test_;
 
+  // When the browser asks the renderer to commit a navigation, it should always
+  // result in a committed navigation reported via DidCommitProvisionalLoad().
+  // This is important because DidCommitProvisionalLoad() is responsible for
+  // swapping in the provisional local frame during a cross-process navigation.
+  // Since this involves updating state in both the browser process and the
+  // renderer process, this assert ensures that the state remains synchronized
+  // between the two processes.
+  //
+  // Note: there is one exception that can result in no commit happening.
+  // Committing a navigation runs unload handlers, which can detach |this|. In
+  // that case, it doesn't matter that the navigation never commits, since the
+  // logical node for |this| has been removed from the DOM.
+  enum class NavigationCommitState {
+    kNone,
+    kWillCommitFromIPC,
+    kDidCommitFromIPC,
+  };
+  class AssertNavigationCommits;
+  NavigationCommitState navigation_commit_state_ = NavigationCommitState::kNone;
+
   base::WeakPtrFactory<RenderFrameImpl> weak_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(RenderFrameImpl);
diff --git a/content/renderer/renderer_blink_platform_impl.cc b/content/renderer/renderer_blink_platform_impl.cc
index 9961fd9..ff1c1cb 100644
--- a/content/renderer/renderer_blink_platform_impl.cc
+++ b/content/renderer/renderer_blink_platform_impl.cc
@@ -764,6 +764,16 @@
       switches::kDisableWebRtcHWDecoding);
 }
 
+bool RendererBlinkPlatformImpl::IsWebRtcSrtpAesGcmEnabled() {
+  return base::CommandLine::ForCurrentProcess()->HasSwitch(
+      switches::kEnableWebRtcSrtpAesGcm);
+}
+
+bool RendererBlinkPlatformImpl::IsWebRtcSrtpEncryptedHeadersEnabled() {
+  return base::CommandLine::ForCurrentProcess()->HasSwitch(
+      switches::kEnableWebRtcSrtpEncryptedHeaders);
+}
+
 bool RendererBlinkPlatformImpl::AllowsLoopbackInPeerConnection() {
   return base::CommandLine::ForCurrentProcess()->HasSwitch(
       switches::kAllowLoopbackInPeerConnection);
diff --git a/content/renderer/renderer_blink_platform_impl.h b/content/renderer/renderer_blink_platform_impl.h
index ce554f1..ced769c3 100644
--- a/content/renderer/renderer_blink_platform_impl.h
+++ b/content/renderer/renderer_blink_platform_impl.h
@@ -168,6 +168,8 @@
       webrtc::VideoCodecType video_coded_type) override;
   bool IsWebRtcHWEncodingEnabled() override;
   bool IsWebRtcHWDecodingEnabled() override;
+  bool IsWebRtcSrtpAesGcmEnabled() override;
+  bool IsWebRtcSrtpEncryptedHeadersEnabled() override;
   bool AllowsLoopbackInPeerConnection() override;
 
   blink::WebVideoCaptureImplManager* GetVideoCaptureImplManager() override;
diff --git a/content/shell/browser/shell.cc b/content/shell/browser/shell.cc
index bb2076a..8f11214 100644
--- a/content/shell/browser/shell.cc
+++ b/content/shell/browser/shell.cc
@@ -45,8 +45,8 @@
 #include "content/shell/common/web_test/web_test_switches.h"
 #include "media/media_buildflags.h"
 #include "third_party/blink/public/common/peerconnection/webrtc_ip_handling_policy.h"
+#include "third_party/blink/public/common/presentation/presentation_receiver_flags.h"
 #include "third_party/blink/public/mojom/renderer_preferences.mojom.h"
-#include "third_party/blink/public/web/web_presentation_receiver_flags.h"
 
 namespace content {
 
diff --git a/content/shell/test_runner/test_interfaces.cc b/content/shell/test_runner/test_interfaces.cc
index 102a5ea..efe9746 100644
--- a/content/shell/test_runner/test_interfaces.cc
+++ b/content/shell/test_runner/test_interfaces.cc
@@ -123,6 +123,9 @@
       spec.find("://web-platform.test") != std::string::npos ||
       spec.find("/harness-tests/wpt/") != std::string::npos)
     test_runner_->set_is_web_platform_tests_mode();
+
+  use_mock_theme_ =
+      spec.find("/fast/scrolling/scrollbars/") != std::string::npos;
 }
 
 void TestInterfaces::WindowOpened(WebViewTestProxy* proxy) {
@@ -155,7 +158,7 @@
 }
 
 blink::WebThemeEngine* TestInterfaces::GetThemeEngine() {
-  if (!test_runner_->UseMockTheme())
+  if (!use_mock_theme_)
     return nullptr;
   if (!theme_engine_.get())
     theme_engine_.reset(new MockWebThemeEngine());
diff --git a/content/shell/test_runner/test_interfaces.h b/content/shell/test_runner/test_interfaces.h
index 8952824..23baf0b 100644
--- a/content/shell/test_runner/test_interfaces.h
+++ b/content/shell/test_runner/test_interfaces.h
@@ -57,6 +57,7 @@
   std::vector<WebViewTestProxy*> window_list_;
   blink::WebView* main_view_;
 
+  bool use_mock_theme_ = false;
   std::unique_ptr<MockWebThemeEngine> theme_engine_;
 
   DISALLOW_COPY_AND_ASSIGN(TestInterfaces);
diff --git a/content/shell/test_runner/test_runner.cc b/content/shell/test_runner/test_runner.cc
index adc9939..9afd266 100644
--- a/content/shell/test_runner/test_runner.cc
+++ b/content/shell/test_runner/test_runner.cc
@@ -263,7 +263,6 @@
   void SetTabKeyCyclesThroughElements(bool tab_key_cycles_through_elements);
   void SetTextDirection(const std::string& direction_name);
   void SetTextSubpixelPositioning(bool value);
-  void SetUseMockTheme(bool use);
   void SetViewSourceForFrame(const std::string& name, bool enabled);
   void SetWillSendRequestClearHeader(const std::string& header);
   void SetWindowIsKey(bool value);
@@ -586,7 +585,6 @@
                  &TestRunnerBindings::SetTextSubpixelPositioning)
       .SetMethod("setUseDashboardCompatibilityMode",
                  &TestRunnerBindings::NotImplemented)
-      .SetMethod("setUseMockTheme", &TestRunnerBindings::SetUseMockTheme)
       .SetMethod("setViewSourceForFrame",
                  &TestRunnerBindings::SetViewSourceForFrame)
       .SetMethod("setWillSendRequestClearHeader",
@@ -1118,11 +1116,6 @@
     runner_->SetWillSendRequestClearHeader(header);
 }
 
-void TestRunnerBindings::SetUseMockTheme(bool use) {
-  if (runner_)
-    runner_->SetUseMockTheme(use);
-}
-
 void TestRunnerBindings::WaitUntilExternalURLLoad() {
   if (runner_)
     runner_->WaitUntilExternalURLLoad();
@@ -1555,8 +1548,6 @@
   tooltip_text_ = std::string();
   web_history_item_count_ = 0;
 
-  SetUseMockTheme(true);
-
   weak_factory_.InvalidateWeakPtrs();
   work_queue_.Reset();
 
@@ -2420,11 +2411,6 @@
     http_headers_to_clear_.insert(header);
 }
 
-void TestRunner::SetUseMockTheme(bool use) {
-  use_mock_theme_ = use;
-  blink::SetMockThemeEnabledForTest(use);
-}
-
 void TestRunner::WaitUntilExternalURLLoad() {
   web_test_runtime_flags_.set_wait_until_external_url_load(true);
   web_test_runtime_flags_.set_wait_until_done(true);
diff --git a/content/shell/test_runner/test_runner.h b/content/shell/test_runner/test_runner.h
index 483692d..18235f1778 100644
--- a/content/shell/test_runner/test_runner.h
+++ b/content/shell/test_runner/test_runner.h
@@ -86,8 +86,6 @@
   // the middle of blink call stacks that have inconsistent state.
   void FinishTestIfReady();
 
-  bool UseMockTheme() const { return use_mock_theme_; }
-
   // WebTestRunner implementation.
   bool ShouldGeneratePixelResults() override;
   bool ShouldDumpAsAudio() const override;
@@ -413,9 +411,6 @@
   // Causes WillSendRequest to clear certain headers.
   void SetWillSendRequestClearHeader(const std::string& header);
 
-  // Sets a flag to enable the mock theme.
-  void SetUseMockTheme(bool use);
-
   // Sets a flag that causes the test to be marked as completed when the
   // WebLocalFrameClient receives a LoadURLExternally() call.
   void WaitUntilExternalURLLoad();
diff --git a/crypto/nss_util.cc b/crypto/nss_util.cc
index 8d8a29c..f3489604b 100644
--- a/crypto/nss_util.cc
+++ b/crypto/nss_util.cc
@@ -601,21 +601,7 @@
     DCHECK(!slot || !prepared_test_private_slot_);
     prepared_test_private_slot_ = std::move(slot);
   }
-#endif  // defined(OS_CHROMEOS)
 
-#if !defined(OS_CHROMEOS)
-  PK11SlotInfo* GetPersistentNSSKeySlot() {
-    // TODO(mattm): Change to DCHECK when callers have been fixed.
-    if (!thread_checker_.CalledOnValidThread()) {
-      DVLOG(1) << "Called on wrong thread.\n"
-               << base::debug::StackTrace().ToString();
-    }
-
-    return PK11_GetInternalKeySlot();
-  }
-#endif
-
-#if defined(OS_CHROMEOS)
   void GetSystemNSSKeySlotCallback(
       base::OnceCallback<void(ScopedPK11Slot)> callback) {
     std::move(callback).Run(
@@ -710,7 +696,11 @@
       PK11_FreeSlot(slot);
     }
 
-    root_ = InitDefaultRootCerts();
+    // Load nss's built-in root certs.
+    //
+    // TODO(mattm): DCHECK this succeeded when crbug.com/310972 is fixed.
+    // Failing to load root certs will it hard to talk to anybody via https.
+    LoadModule("Root Certs", "libnssckbi.so", nullptr);
 
     // Disable MD5 certificate signatures. (They are disabled by default in
     // NSS 3.14.)
@@ -724,18 +714,6 @@
   // shut down.
   ~NSSInitSingleton() = delete;
 
-  // Load nss's built-in root certs.
-  SECMODModule* InitDefaultRootCerts() {
-    SECMODModule* root = LoadModule("Root Certs", "libnssckbi.so", nullptr);
-    if (root)
-      return root;
-
-    // Aw, snap.  Can't find/load root cert shared library.
-    // This will make it hard to talk to anybody via https.
-    // TODO(mattm): Re-add the NOTREACHED here when crbug.com/310972 is fixed.
-    return nullptr;
-  }
-
   // Load the given module for this NSS session.
   static SECMODModule* LoadModule(const char* name,
                                   const char* library_path,
@@ -764,7 +742,6 @@
     return module;
   }
 
-  SECMODModule* root_ = nullptr;
 #if defined(OS_CHROMEOS)
   bool tpm_token_enabled_for_nss_ = false;
   bool initializing_tpm_token_ = false;
@@ -912,10 +889,4 @@
   return time.ToInternalValue() - base::Time::UnixEpoch().ToInternalValue();
 }
 
-#if !defined(OS_CHROMEOS)
-PK11SlotInfo* GetPersistentNSSKeySlot() {
-  return g_nss_singleton.Get().GetPersistentNSSKeySlot();
-}
-#endif
-
 }  // namespace crypto
diff --git a/crypto/nss_util_internal.h b/crypto/nss_util_internal.h
index 80b97eb..e1ef6c3 100644
--- a/crypto/nss_util_internal.h
+++ b/crypto/nss_util_internal.h
@@ -30,12 +30,6 @@
 CRYPTO_EXPORT ScopedPK11Slot OpenSoftwareNSSDB(const base::FilePath& path,
                                                const std::string& description);
 
-#if !defined(OS_CHROMEOS)
-// Returns a reference to the default NSS key slot for storing persistent data.
-// Caller must release returned reference with PK11_FreeSlot.
-CRYPTO_EXPORT PK11SlotInfo* GetPersistentNSSKeySlot() WARN_UNUSED_RESULT;
-#endif
-
 // A helper class that acquires the SECMOD list read lock while the
 // AutoSECMODListReadLock is in scope.
 class CRYPTO_EXPORT AutoSECMODListReadLock {
diff --git a/device/vr/public/mojom/browser_test_interfaces.mojom b/device/vr/public/mojom/browser_test_interfaces.mojom
index bbf8640..a9e321fc 100644
--- a/device/vr/public/mojom/browser_test_interfaces.mojom
+++ b/device/vr/public/mojom/browser_test_interfaces.mojom
@@ -128,7 +128,7 @@
 // It is always hosted in the XRDevice process, but only has effects while
 // running in browser tests with mock implementations of runtimes.
 interface XRServiceTestHook {
-  [Sync] SetTestHook(XRTestHook? hook) => ();
+  [Sync] SetTestHook(pending_remote<XRTestHook>? hook) => ();
 
   // Called by tests to trigger a termination of the Device Service Process
   // To test that the product can properly handle the service either crashing
diff --git a/docs/accessibility/overview.md b/docs/accessibility/overview.md
index 380f2a8..d11a2f0 100644
--- a/docs/accessibility/overview.md
+++ b/docs/accessibility/overview.md
@@ -505,7 +505,7 @@
 actions. This API is implemented in C++ by [AutomationInternalCustomBindings],
 which is renderer-side code, and in JavaScript by the [automation API]. The API
 is defined by [automation.idl], which must be kept synchronized with
-[ax_enums.idl].
+[ax_enums.mojom].
 
 [AccessibilityHostMsg_EventParams]: https://cs.chromium.org/chromium/src/content/common/accessibility_messages.h?sq=package:chromium&l=75
 [AutomationInternalCustomBindings]: https://cs.chromium.org/chromium/src/extensions/renderer/api/automation/automation_internal_custom_bindings.h
@@ -530,6 +530,6 @@
 [WebAXObject]: https://cs.chromium.org/chromium/src/third_party/blink/public/web/web_ax_object.h
 [automation API]: https://cs.chromium.org/chromium/src/chrome/renderer/resources/extensions/automation
 [automation.idl]: https://cs.chromium.org/chromium/src/extensions/common/api/automation.idl
-[ax_enums.idl]: https://cs.chromium.org/chromium/src/ui/accessibility/ax_enums.idl
+[ax_enums.mojom]: https://cs.chromium.org/chromium/src/ui/accessibility/ax_enums.mojom
 [chrome.automation API]: https://developer.chrome.com/extensions/automation
 [webui-js]: https://cs.chromium.org/chromium/src/ui/webui/resources/js/cr/ui/
diff --git a/extensions/browser/api/socket/tcp_socket.cc b/extensions/browser/api/socket/tcp_socket.cc
index e5824e3..df3683f 100644
--- a/extensions/browser/api/socket/tcp_socket.cc
+++ b/extensions/browser/api/socket/tcp_socket.cc
@@ -19,6 +19,7 @@
 #include "content/public/browser/storage_partition.h"
 #include "extensions/browser/api/api_resource.h"
 #include "extensions/browser/api/socket/mojo_data_pump.h"
+#include "mojo/public/cpp/bindings/pending_remote.h"
 #include "net/base/address_list.h"
 #include "net/base/ip_endpoint.h"
 #include "net/base/net_errors.h"
@@ -287,7 +288,7 @@
 
   accept_callback_ = std::move(callback);
   server_socket_->Accept(
-      nullptr /* observer */,
+      mojo::NullRemote() /* observer */,
       base::BindOnce(&TCPSocket::OnAccept, base::Unretained(this)));
 }
 
@@ -342,7 +343,7 @@
       base::nullopt, remote_addr_list, nullptr /* options */,
       net::MutableNetworkTrafficAnnotationTag(
           Socket::GetNetworkTrafficAnnotationTag()),
-      std::move(request), nullptr /* observer */,
+      std::move(request), mojo::NullRemote() /* observer */,
       std::move(completion_callback));
 }
 
@@ -556,7 +557,7 @@
       host_port_pair, std::move(mojo_socket_options),
       net::MutableNetworkTrafficAnnotationTag(
           Socket::GetNetworkTrafficAnnotationTag()),
-      std::move(tls_socket_request), nullptr /* observer */,
+      std::move(tls_socket_request), mojo::NullRemote() /* observer */,
       base::BindOnce(&TCPSocket::OnUpgradeToTLSComplete, base::Unretained(this),
                      std::move(callback), std::move(tls_socket),
                      local_addr_.value(), peer_addr_.value()));
diff --git a/extensions/common/api/automation.idl b/extensions/common/api/automation.idl
index 4f07a25d..ae02745 100644
--- a/extensions/common/api/automation.idl
+++ b/extensions/common/api/automation.idl
@@ -8,7 +8,7 @@
 // used to programmatically interact with a page by examining names, roles, and
 // states, listening for events, and performing actions on nodes.
 [nocompile] namespace automation {
-  // Keep the following enums in sync with 'ui/accessibility/ax_enums.idl'.
+  // Keep the following enums in sync with 'ui/accessibility/ax_enums.mojom'.
   // They are kept here purely for extension docs generation.
 
   // Possible events fired on an $(ref:automation.AutomationNode).
diff --git a/fuchsia/engine/browser/content_directory_loader_factory.cc b/fuchsia/engine/browser/content_directory_loader_factory.cc
index e88a03bf..0341505 100644
--- a/fuchsia/engine/browser/content_directory_loader_factory.cc
+++ b/fuchsia/engine/browser/content_directory_loader_factory.cc
@@ -335,18 +335,11 @@
     return;
   }
 
-  std::string requested_path = request.url.path();
-  if (requested_path.empty()) {
-    client->OnComplete(
-        network::URLLoaderCompletionStatus(net::ERR_INVALID_URL));
-    return;
-  }
-
-  // Not all VFS implementations handle leading slashes in the same way, so
-  // remove it for maximum compatibility.
-  // TODO(fxb/38339): Update this comment when issue is resolved.
-  if (requested_path[0] == '/')
-    requested_path = requested_path.substr(1, requested_path.size() - 1);
+  // Fuchsia paths do not support the notion of absolute paths, so strip the
+  // leading slash from the URL's path fragment.
+  base::StringPiece requested_path = request.url.path_piece();
+  DCHECK(requested_path.starts_with("/"));
+  requested_path.remove_prefix(1);
 
   fidl::InterfaceHandle<fuchsia::io::Node> file_handle;
   net::Error open_result = OpenFileFromDirectory(request.url.GetOrigin().host(),
@@ -362,10 +355,10 @@
   // |metadata_channel| will produce a ZX_CHANNEL_PEER_CLOSED status inside
   // ContentDirectoryURLLoader::Start().
   fidl::InterfaceHandle<fuchsia::io::Node> metadata_handle;
-  open_result =
-      OpenFileFromDirectory(request.url.GetOrigin().host(),
-                            base::FilePath(requested_path + "._metadata"),
-                            metadata_handle.NewRequest());
+  open_result = OpenFileFromDirectory(
+      request.url.GetOrigin().host(),
+      base::FilePath(requested_path.as_string() + "._metadata"),
+      metadata_handle.NewRequest());
   if (open_result != net::OK) {
     client->OnComplete(network::URLLoaderCompletionStatus(open_result));
     return;
diff --git a/google_apis/gcm/base/socket_stream_unittest.cc b/google_apis/gcm/base/socket_stream_unittest.cc
index f314ef56b..a7806bc 100644
--- a/google_apis/gcm/base/socket_stream_unittest.cc
+++ b/google_apis/gcm/base/socket_stream_unittest.cc
@@ -18,6 +18,7 @@
 #include "base/strings/string_piece.h"
 #include "base/test/bind_test_util.h"
 #include "base/test/task_environment.h"
+#include "mojo/public/cpp/bindings/pending_remote.h"
 #include "mojo/public/cpp/bindings/remote.h"
 #include "net/base/ip_address.h"
 #include "net/log/net_log_source.h"
@@ -232,7 +233,7 @@
   mojo_socket_factory_ptr_->CreateProxyResolvingSocket(
       kDestination, std::move(options),
       net::MutableNetworkTrafficAnnotationTag(TRAFFIC_ANNOTATION_FOR_TESTS),
-      mojo::MakeRequest(&mojo_socket_ptr_), nullptr /* observer */,
+      mojo::MakeRequest(&mojo_socket_ptr_), mojo::NullRemote() /* observer */,
       base::BindLambdaForTesting(
           [&](int result, const base::Optional<net::IPEndPoint>& local_addr,
               const base::Optional<net::IPEndPoint>& peer_addr,
diff --git a/google_apis/gcm/engine/connection_factory_impl.cc b/google_apis/gcm/engine/connection_factory_impl.cc
index 98ef194..b1d7289 100644
--- a/google_apis/gcm/engine/connection_factory_impl.cc
+++ b/google_apis/gcm/engine/connection_factory_impl.cc
@@ -15,6 +15,7 @@
 #include "google_apis/gcm/engine/connection_handler_impl.h"
 #include "google_apis/gcm/monitoring/gcm_stats_recorder.h"
 #include "google_apis/gcm/protocol/mcs.pb.h"
+#include "mojo/public/cpp/bindings/pending_remote.h"
 #include "net/base/net_errors.h"
 #include "net/http/http_request_headers.h"
 #include "net/http/proxy_fallback.h"
@@ -359,7 +360,7 @@
   socket_factory_->CreateProxyResolvingSocket(
       current_endpoint, std::move(options),
       net::MutableNetworkTrafficAnnotationTag(traffic_annotation),
-      mojo::MakeRequest(&socket_), nullptr /* observer */,
+      mojo::MakeRequest(&socket_), mojo::NullRemote() /* observer */,
       base::BindOnce(&ConnectionFactoryImpl::OnConnectDone,
                      base::Unretained(this)));
 }
diff --git a/google_apis/gcm/engine/connection_handler_impl_unittest.cc b/google_apis/gcm/engine/connection_handler_impl_unittest.cc
index 2c3abf0..ccba2c7 100644
--- a/google_apis/gcm/engine/connection_handler_impl_unittest.cc
+++ b/google_apis/gcm/engine/connection_handler_impl_unittest.cc
@@ -25,6 +25,7 @@
 #include "google_apis/gcm/base/mcs_util.h"
 #include "google_apis/gcm/base/socket_stream.h"
 #include "google_apis/gcm/protocol/mcs.pb.h"
+#include "mojo/public/cpp/bindings/pending_remote.h"
 #include "mojo/public/cpp/bindings/remote.h"
 #include "net/base/ip_address.h"
 #include "net/base/test_completion_callback.h"
@@ -248,7 +249,7 @@
   mojo_socket_factory_ptr_->CreateProxyResolvingSocket(
       kDestination, std::move(options),
       net::MutableNetworkTrafficAnnotationTag(TRAFFIC_ANNOTATION_FOR_TESTS),
-      mojo::MakeRequest(&mojo_socket_ptr_), nullptr /* observer */,
+      mojo::MakeRequest(&mojo_socket_ptr_), mojo::NullRemote() /* observer */,
       base::BindLambdaForTesting(
           [&](int result, const base::Optional<net::IPEndPoint>& local_addr,
               const base::Optional<net::IPEndPoint>& peer_addr,
diff --git a/gpu/ipc/common/mojom_traits_unittest.cc b/gpu/ipc/common/mojom_traits_unittest.cc
index fa039440..07f4c8b 100644
--- a/gpu/ipc/common/mojom_traits_unittest.cc
+++ b/gpu/ipc/common/mojom_traits_unittest.cc
@@ -11,7 +11,8 @@
 #include "gpu/ipc/common/gpu_feature_info.mojom.h"
 #include "gpu/ipc/common/gpu_feature_info_mojom_traits.h"
 #include "gpu/ipc/common/traits_test_service.mojom.h"
-#include "mojo/public/cpp/bindings/binding_set.h"
+#include "mojo/public/cpp/bindings/receiver_set.h"
+#include "mojo/public/cpp/bindings/remote.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
 namespace gpu {
@@ -23,10 +24,10 @@
   StructTraitsTest() = default;
 
  protected:
-  mojom::TraitsTestServicePtr GetTraitsTestProxy() {
-    mojom::TraitsTestServicePtr proxy;
-    traits_test_bindings_.AddBinding(this, mojo::MakeRequest(&proxy));
-    return proxy;
+  mojo::Remote<mojom::TraitsTestService> GetTraitsTestRemote() {
+    mojo::Remote<mojom::TraitsTestService> remote;
+    traits_test_receivers_.Add(this, remote.BindNewPipeAndPassReceiver());
+    return remote;
   }
 
  private:
@@ -83,7 +84,7 @@
   }
 
   base::test::TaskEnvironment task_environment_;
-  mojo::BindingSet<TraitsTestService> traits_test_bindings_;
+  mojo::ReceiverSet<TraitsTestService> traits_test_receivers_;
 
   DISALLOW_COPY_AND_ASSIGN(StructTraitsTest);
 };
@@ -93,9 +94,9 @@
 TEST_F(StructTraitsTest, DxDiagNode) {
   gpu::DxDiagNode input;
   input.values["abc"] = "123";
-  mojom::TraitsTestServicePtr proxy = GetTraitsTestProxy();
+  mojo::Remote<mojom::TraitsTestService> remote = GetTraitsTestRemote();
   gpu::DxDiagNode output;
-  proxy->EchoDxDiagNode(input, &output);
+  remote->EchoDxDiagNode(input, &output);
 
   gpu::DxDiagNode test_dx_diag_node;
   test_dx_diag_node.values["abc"] = "123";
@@ -123,9 +124,9 @@
   input.vendor_string = vendor_string;
   input.device_string = device_string;
   input.active = false;
-  mojom::TraitsTestServicePtr proxy = GetTraitsTestProxy();
+  mojo::Remote<mojom::TraitsTestService> remote = GetTraitsTestRemote();
   gpu::GPUInfo::GPUDevice output;
-  proxy->EchoGpuDevice(input, &output);
+  remote->EchoGpuDevice(input, &output);
 
   EXPECT_EQ(vendor_id, output.vendor_id);
   EXPECT_EQ(device_id, output.device_id);
@@ -225,9 +226,9 @@
   input.rgba_visual = rgba_visual;
 #endif
 
-  mojom::TraitsTestServicePtr proxy = GetTraitsTestProxy();
+  mojo::Remote<mojom::TraitsTestService> remote = GetTraitsTestRemote();
   gpu::GPUInfo output;
-  proxy->EchoGpuInfo(input, &output);
+  remote->EchoGpuInfo(input, &output);
 
   EXPECT_EQ(optimus, output.optimus);
   EXPECT_EQ(amd_switchable, output.amd_switchable);
@@ -309,9 +310,9 @@
 
 TEST_F(StructTraitsTest, EmptyGpuInfo) {
   gpu::GPUInfo input;
-  mojom::TraitsTestServicePtr proxy = GetTraitsTestProxy();
+  mojo::Remote<mojom::TraitsTestService> remote = GetTraitsTestRemote();
   gpu::GPUInfo output;
-  proxy->EchoGpuInfo(input, &output);
+  remote->EchoGpuInfo(input, &output);
 }
 
 TEST_F(StructTraitsTest, Mailbox) {
@@ -319,9 +320,9 @@
       0, 9, 8, 7, 6, 5, 4, 3, 2, 1, 9, 7, 5, 3, 1, 2};
   gpu::Mailbox input;
   input.SetName(mailbox_name);
-  mojom::TraitsTestServicePtr proxy = GetTraitsTestProxy();
+  mojo::Remote<mojom::TraitsTestService> remote = GetTraitsTestRemote();
   gpu::Mailbox output;
-  proxy->EchoMailbox(input, &output);
+  remote->EchoMailbox(input, &output);
   gpu::Mailbox test_mailbox;
   test_mailbox.SetName(mailbox_name);
   EXPECT_EQ(test_mailbox, output);
@@ -348,9 +349,9 @@
   input.sync_token = sync_token;
   input.texture_target = texture_target;
 
-  mojom::TraitsTestServicePtr proxy = GetTraitsTestProxy();
+  mojo::Remote<mojom::TraitsTestService> remote = GetTraitsTestRemote();
   gpu::MailboxHolder output;
-  proxy->EchoMailboxHolder(input, &output);
+  remote->EchoMailboxHolder(input, &output);
   EXPECT_EQ(mailbox, output.mailbox);
   EXPECT_EQ(sync_token, output.sync_token);
   EXPECT_EQ(texture_target, output.texture_target);
@@ -363,9 +364,9 @@
   const uint64_t release_count = 0xdeadbeefdead;
   gpu::SyncToken input(namespace_id, command_buffer_id, release_count);
   input.SetVerifyFlush();
-  mojom::TraitsTestServicePtr proxy = GetTraitsTestProxy();
+  mojo::Remote<mojom::TraitsTestService> remote = GetTraitsTestRemote();
   gpu::SyncToken output;
-  proxy->EchoSyncToken(input, &output);
+  remote->EchoSyncToken(input, &output);
   EXPECT_EQ(namespace_id, output.namespace_id());
   EXPECT_EQ(command_buffer_id, output.command_buffer_id());
   EXPECT_EQ(release_count, output.release_count());
@@ -388,9 +389,9 @@
   input.min_resolution = min_resolution;
   input.encrypted_only = false;
 
-  mojom::TraitsTestServicePtr proxy = GetTraitsTestProxy();
+  mojo::Remote<mojom::TraitsTestService> remote = GetTraitsTestRemote();
   gpu::VideoDecodeAcceleratorSupportedProfile output;
-  proxy->EchoVideoDecodeAcceleratorSupportedProfile(input, &output);
+  remote->EchoVideoDecodeAcceleratorSupportedProfile(input, &output);
   EXPECT_EQ(profile, output.profile);
   EXPECT_EQ(max_resolution, output.max_resolution);
   EXPECT_EQ(min_resolution, output.min_resolution);
@@ -407,9 +408,9 @@
   input.supported_profiles.push_back(
       gpu::VideoDecodeAcceleratorSupportedProfile());
 
-  mojom::TraitsTestServicePtr proxy = GetTraitsTestProxy();
+  mojo::Remote<mojom::TraitsTestService> remote = GetTraitsTestRemote();
   gpu::VideoDecodeAcceleratorCapabilities output;
-  proxy->EchoVideoDecodeAcceleratorCapabilities(input, &output);
+  remote->EchoVideoDecodeAcceleratorCapabilities(input, &output);
   EXPECT_EQ(flags, output.flags);
   EXPECT_EQ(input.supported_profiles.size(), output.supported_profiles.size());
 }
@@ -428,9 +429,9 @@
   input.max_framerate_numerator = max_framerate_numerator;
   input.max_framerate_denominator = max_framerate_denominator;
 
-  mojom::TraitsTestServicePtr proxy = GetTraitsTestProxy();
+  mojo::Remote<mojom::TraitsTestService> remote = GetTraitsTestRemote();
   gpu::VideoEncodeAcceleratorSupportedProfile output;
-  proxy->EchoVideoEncodeAcceleratorSupportedProfile(input, &output);
+  remote->EchoVideoEncodeAcceleratorSupportedProfile(input, &output);
   EXPECT_EQ(profile, output.profile);
   EXPECT_EQ(min_resolution, output.min_resolution);
   EXPECT_EQ(max_resolution, output.max_resolution);
@@ -444,9 +445,9 @@
   prefs.disable_gpu_watchdog = true;
   prefs.enable_gpu_driver_debug_logging = true;
 
-  mojom::TraitsTestServicePtr proxy = GetTraitsTestProxy();
+  mojo::Remote<mojom::TraitsTestService> remote = GetTraitsTestRemote();
   GpuPreferences echo;
-  proxy->EchoGpuPreferences(prefs, &echo);
+  remote->EchoGpuPreferences(prefs, &echo);
   EXPECT_TRUE(echo.gpu_startup_dialog);
   EXPECT_TRUE(echo.disable_gpu_watchdog);
   EXPECT_TRUE(echo.enable_gpu_driver_debug_logging);
diff --git a/ios/chrome/browser/ui/authentication/cells/table_view_account_item.mm b/ios/chrome/browser/ui/authentication/cells/table_view_account_item.mm
index f65631b..d4380c59 100644
--- a/ios/chrome/browser/ui/authentication/cells/table_view_account_item.mm
+++ b/ios/chrome/browser/ui/authentication/cells/table_view_account_item.mm
@@ -267,4 +267,13 @@
   return self.detailTextLabel.text;
 }
 
+- (NSArray<NSString*>*)accessibilityUserInputLabels {
+  NSMutableArray<NSString*>* userInputLabels = [[NSMutableArray alloc] init];
+  if (self.textLabel.text) {
+    [userInputLabels addObject:self.textLabel.text];
+  }
+
+  return userInputLabels;
+}
+
 @end
diff --git a/ios/chrome/browser/ui/autofill/manual_fill/fallback_coordinator_egtest.mm b/ios/chrome/browser/ui/autofill/manual_fill/fallback_coordinator_egtest.mm
index c79cab89..d684ece9 100644
--- a/ios/chrome/browser/ui/autofill/manual_fill/fallback_coordinator_egtest.mm
+++ b/ios/chrome/browser/ui/autofill/manual_fill/fallback_coordinator_egtest.mm
@@ -161,41 +161,33 @@
   return key;
 }
 
-// Finds the first view containing the keyboard which origin is not zero.
-UIView* KeyboardContainerForLayout(UIView* layout) {
-  CGRect frame = CGRectZero;
-  UIView* keyboardContainer = layout;
-  while (CGPointEqualToPoint(frame.origin, CGPointZero) && keyboardContainer) {
-    keyboardContainer = [keyboardContainer superview];
-    if (keyboardContainer) {
-      frame = keyboardContainer.frame;
-    }
-  }
-  return keyboardContainer;
+// Matcher for the Keyboard Window.
+id<GREYMatcher> KeyboardWindow(UIView* layout) {
+  id<GREYMatcher> classMatcher = grey_kindOfClass([UIWindow class]);
+  UIAccessibilityElement* key = KeyboardDismissKeyInLayout(layout);
+  id<GREYMatcher> parentMatcher =
+      grey_descendant(grey_accessibilityLabel(key.accessibilityLabel));
+  return grey_allOf(classMatcher, parentMatcher, nil);
 }
 
 // Returns YES if the keyboard is docked at the bottom. NO otherwise.
 BOOL IsKeyboardDockedForLayout(UIView* layout) {
-  UIView* keyboardContainer = KeyboardContainerForLayout(layout);
-  CGRect screenBounds = [[UIScreen mainScreen] bounds];
-  CGFloat maxY = CGRectGetMaxY(keyboardContainer.frame);
-  return [@(maxY) isEqualToNumber:@(screenBounds.size.height)];
+  CGRect keyboardFrameInWindow = [layout.window convertRect:layout.bounds
+                                                   fromView:layout];
+  CGRect windowBounds = layout.window.bounds;
+  CGFloat maxY = CGRectGetMaxY(keyboardFrameInWindow);
+
+  return [@(maxY) isEqualToNumber:@(windowBounds.size.height)];
 }
 
 // Undocks and split the keyboard by swiping it up. Does nothing if already
-// undocked.  Only works on iOS 12; it is an error to call this method on
-// iOS 13.  Some devices, like iPhone or iPad Pro, do not allow undocking or
+// undocked. Some devices, like iPhone or iPad Pro, do not allow undocking or
 // splitting, this returns NO if it is the case.
 BOOL UndockAndSplitKeyboard() {
   if (![ChromeEarlGrey isIPadIdiom]) {
     return NO;
   }
 
-  // TODO(crbug.com/985977): Remove this DCHECK once this method is updated to
-  // support iOS 13.
-  DCHECK(!base::ios::IsRunningOnIOS13OrLater())
-      << "Undocking the keyboard via this method does not work on iOS 13";
-
   UITextField* textField = ShowKeyboard();
 
   // Assert the "Dismiss-Key" is present.
@@ -215,38 +207,34 @@
     layout.accessibilityIdentifier = @"CRKBLayout";
   }
 
-  id<GREYMatcher> matcher =
-      grey_accessibilityID(layout.accessibilityIdentifier);
-
   UIAccessibilityElement* key = KeyboardDismissKeyInLayout(layout);
-  CGRect keyFrame = [key accessibilityFrame];
-  CGRect keyboardContainerFrame = KeyboardContainerForLayout(layout).frame;
-  CGPoint pointToKey = {keyFrame.origin.x - keyboardContainerFrame.origin.x,
-                        keyFrame.origin.y - keyboardContainerFrame.origin.y};
-  CGPoint startPoint = CGPointMake((pointToKey.x + keyFrame.size.width / 2.0) /
-                                       keyboardContainerFrame.size.width,
-                                   (pointToKey.y + keyFrame.size.height / 2.0) /
-                                       keyboardContainerFrame.size.height);
+  CGRect keyFrameInScreen = [key accessibilityFrame];
+  CGRect keyFrameInWindow = [UIScreen.mainScreen.coordinateSpace
+            convertRect:keyFrameInScreen
+      toCoordinateSpace:layout.window.coordinateSpace];
+  CGRect windowBounds = layout.window.bounds;
+
+  CGPoint startPoint = CGPointMake(
+      (keyFrameInWindow.origin.x + keyFrameInWindow.size.width / 2.0) /
+          windowBounds.size.width,
+      (keyFrameInWindow.origin.y + keyFrameInWindow.size.height / 2.0) /
+          windowBounds.size.height);
 
   id action = grey_swipeFastInDirectionWithStartPoint(
       kGREYDirectionUp, startPoint.x, startPoint.y);
-  [[EarlGrey selectElementWithMatcher:matcher] performAction:action];
+
+  [[EarlGrey selectElementWithMatcher:KeyboardWindow(layout)]
+      performAction:action];
 
   return !IsKeyboardDockedForLayout(layout);
 }
 
-// Docks the keyboard by swiping it down. Does nothing if already docked.  Only
-// works on iOS 12; it is an error to call this method on iOS 13.
+// Docks the keyboard by swiping it down. Does nothing if already docked.
 void DockKeyboard() {
   if (![ChromeEarlGrey isIPadIdiom]) {
     return;
   }
 
-  // TODO(crbug.com/985977): Remove this DCHECK once this method is updated to
-  // support iOS 13.
-  DCHECK(!base::ios::IsRunningOnIOS13OrLater())
-      << "Docking the keyboard via this method does not work on iOS 13";
-
   UITextField* textField = ShowKeyboard();
 
   // Assert the "Dismiss-Key" is present.
@@ -262,30 +250,39 @@
   }
 
   // Swipe it down.
-  id<GREYMatcher> classMatcher = grey_kindOfClass([UIWindow class]);
   UIAccessibilityElement* key = KeyboardDismissKeyInLayout(layout);
-  id<GREYMatcher> parentMatcher =
-      grey_descendant(grey_accessibilityLabel(key.accessibilityLabel));
-  id matcher = grey_allOf(classMatcher, parentMatcher, nil);
 
-  CGRect keyFrame = [key accessibilityFrame];
-  GREYAssertFalse(CGRectEqualToRect(keyFrame, CGRectZero),
+  CGRect keyFrameInScreen = [key accessibilityFrame];
+  CGRect keyFrameInWindow = [UIScreen.mainScreen.coordinateSpace
+            convertRect:keyFrameInScreen
+      toCoordinateSpace:layout.window.coordinateSpace];
+  CGRect windowBounds = layout.window.bounds;
+
+  GREYAssertFalse(CGRectEqualToRect(keyFrameInWindow, CGRectZero),
                   @"The dismiss key accessibility frame musn't be zero");
-  CGPoint startPoint =
-      CGPointMake((keyFrame.origin.x + keyFrame.size.width / 2.0) /
-                      [UIScreen mainScreen].bounds.size.width,
-                  (keyFrame.origin.y + keyFrame.size.height / 2.0) /
-                      [UIScreen mainScreen].bounds.size.height);
+  CGPoint startPoint = CGPointMake(
+      (keyFrameInWindow.origin.x + keyFrameInWindow.size.width / 2.0) /
+          windowBounds.size.width,
+      (keyFrameInWindow.origin.y + keyFrameInWindow.size.height / 2.0) /
+          windowBounds.size.height);
   id<GREYAction> action = grey_swipeFastInDirectionWithStartPoint(
       kGREYDirectionDown, startPoint.x, startPoint.y);
 
-  [[EarlGrey selectElementWithMatcher:matcher] performAction:action];
+  [[EarlGrey selectElementWithMatcher:KeyboardWindow(layout)]
+      performAction:action];
 
   // If we created a dummy textfield for this, remove it.
   [textField removeFromSuperview];
 
-  GREYAssertTrue(IsKeyboardDockedForLayout(layout),
-                 @"Keyboard should be docked");
+  GREYCondition* waitForDockedKeyboard =
+      [GREYCondition conditionWithName:@"Wait For Docked Keyboard Animations"
+                                 block:^BOOL {
+                                   return IsKeyboardDockedForLayout(layout);
+                                 }];
+
+  GREYAssertTrue([waitForDockedKeyboard
+                     waitWithTimeout:base::test::ios::kWaitForActionTimeout],
+                 @"Keyboard animations still present.");
 }
 
 }  // namespace
@@ -382,11 +379,6 @@
     [[EarlGrey selectElementWithMatcher:grey_kindOfClass([UITableView class])]
         assertWithMatcher:grey_notVisible()];
   }
-  if (!base::ios::IsRunningOnIOS13OrLater()) {
-    // TODO(crbug.com/985977): Remove this conditional once DockKeyboard() is
-    // updated to support iOS 13.
-    DockKeyboard();
-  }
   [super tearDown];
 }
 
@@ -558,11 +550,6 @@
     EARL_GREY_TEST_SKIPPED(@"Test not applicable for iPhone.");
   }
 
-  // TODO(crbug.com/985977): Reenable once undocking is supported on iOS 13.
-  if (base::ios::IsRunningOnIOS13OrLater()) {
-    EARL_GREY_TEST_DISABLED(@"Undocking the keyboard does not work on iOS 13");
-  }
-
   // Add the profile to be used.
   AddAutofillProfile(_personalDataManager);
 
@@ -636,11 +623,6 @@
     EARL_GREY_TEST_SKIPPED(@"Test not applicable for iPhone.");
   }
 
-  // TODO(crbug.com/985977): Reenable once undocking is supported on iOS 13.
-  if (base::ios::IsRunningOnIOS13OrLater()) {
-    EARL_GREY_TEST_DISABLED(@"Undocking the keyboard does not work on iOS 13");
-  }
-
   // Add the profile to use for verification.
   AddAutofillProfile(_personalDataManager);
 
diff --git a/ios/chrome/browser/ui/table_view/cells/table_view_image_item.mm b/ios/chrome/browser/ui/table_view/cells/table_view_image_item.mm
index 0ad9745e..0b708894 100644
--- a/ios/chrome/browser/ui/table_view/cells/table_view_image_item.mm
+++ b/ios/chrome/browser/ui/table_view/cells/table_view_image_item.mm
@@ -195,4 +195,13 @@
   return accessibilityTraits;
 }
 
+- (NSArray<NSString*>*)accessibilityUserInputLabels {
+  NSMutableArray<NSString*>* userInputLabels = [[NSMutableArray alloc] init];
+  if (self.textLabel.text) {
+    [userInputLabels addObject:self.textLabel.text];
+  }
+
+  return userInputLabels;
+}
+
 @end
diff --git a/ios/chrome/browser/ui/table_view/cells/table_view_url_item.mm b/ios/chrome/browser/ui/table_view/cells/table_view_url_item.mm
index a1e754cc..d430c36 100644
--- a/ios/chrome/browser/ui/table_view/cells/table_view_url_item.mm
+++ b/ios/chrome/browser/ui/table_view/cells/table_view_url_item.mm
@@ -303,6 +303,15 @@
   }
 }
 
+- (NSArray<NSString*>*)accessibilityUserInputLabels {
+  NSMutableArray<NSString*>* userInputLabels = [[NSMutableArray alloc] init];
+  if (self.titleLabel.text) {
+    [userInputLabels addObject:self.titleLabel.text];
+  }
+
+  return userInputLabels;
+}
+
 - (NSString*)accessibilityIdentifier {
   return self.titleLabel.text;
 }
diff --git a/jingle/glue/network_service_async_socket.cc b/jingle/glue/network_service_async_socket.cc
index 1cb3a7f1..e42e8e9 100644
--- a/jingle/glue/network_service_async_socket.cc
+++ b/jingle/glue/network_service_async_socket.cc
@@ -14,6 +14,7 @@
 #include "base/compiler_specific.h"
 #include "base/logging.h"
 #include "base/threading/thread_task_runner_handle.h"
+#include "mojo/public/cpp/bindings/pending_remote.h"
 #include "net/base/host_port_pair.h"
 #include "net/base/io_buffer.h"
 
@@ -26,7 +27,6 @@
     size_t write_buf_size,
     const net::NetworkTrafficAnnotationTag& traffic_annotation)
     : get_socket_factory_callback_(get_socket_factory_callback),
-      socket_observer_binding_(this),
       use_fake_tls_handshake_(use_fake_tls_handshake),
       state_(STATE_CLOSED),
       error_(ERROR_NONE),
@@ -156,9 +156,9 @@
 
   get_socket_factory_callback_.Run(mojo::MakeRequest(&socket_factory_));
 
-  network::mojom::SocketObserverPtr socket_observer;
-  network::mojom::SocketObserverRequest socket_observer_request =
-      mojo::MakeRequest(&socket_observer);
+  mojo::PendingRemote<network::mojom::SocketObserver> socket_observer;
+  auto socket_observer_receiver =
+      socket_observer.InitWithNewPipeAndPassReceiver();
   network::mojom::ProxyResolvingSocketOptionsPtr options =
       network::mojom::ProxyResolvingSocketOptions::New();
   options->use_tls = false;
@@ -169,7 +169,7 @@
       mojo::MakeRequest(&socket_), std::move(socket_observer),
       base::BindOnce(&NetworkServiceAsyncSocket::ProcessConnectDone,
                      base::Unretained(this),
-                     std::move(socket_observer_request)));
+                     std::move(socket_observer_receiver)));
   return true;
 }
 
@@ -177,7 +177,8 @@
 // read_state_ == IDLE -> read_state_ == WAITING (via WatchForReadReady())
 
 void NetworkServiceAsyncSocket::ProcessConnectDone(
-    network::mojom::SocketObserverRequest socket_observer_request,
+    mojo::PendingReceiver<network::mojom::SocketObserver>
+        socket_observer_receiver,
     int status,
     const base::Optional<net::IPEndPoint>& local_addr,
     const base::Optional<net::IPEndPoint>& peer_addr,
@@ -194,7 +195,7 @@
   }
   state_ = STATE_OPEN;
   ConnectPipes(std::move(receive_stream), std::move(send_stream));
-  BindSocketObserver(std::move(socket_observer_request));
+  BindSocketObserver(std::move(socket_observer_receiver));
 
   WatchForReadReady();
   // Write buffer should be empty.
@@ -382,7 +383,7 @@
   }
 
   if (result != MOJO_RESULT_OK) {
-    DCHECK(socket_observer_binding_.is_bound());
+    DCHECK(socket_observer_receiver_.is_bound());
     // Unlike with reads, as the pipe close notifier for writes is independent
     // and always armed, it can take care of all the errors.
     return;
@@ -452,7 +453,7 @@
 
   socket_ = nullptr;
   tls_socket_ = nullptr;
-  socket_observer_binding_.Close();
+  socket_observer_receiver_.reset();
   socket_factory_ = nullptr;
 
   if (state_ != STATE_CLOSED) {
@@ -486,10 +487,10 @@
   write_watcher_ = nullptr;
   write_close_watcher_ = nullptr;
   write_pipe_.reset();
-  socket_observer_binding_.Close();
-  network::mojom::SocketObserverPtr socket_observer;
-  network::mojom::SocketObserverRequest socket_observer_request =
-      mojo::MakeRequest(&socket_observer);
+  socket_observer_receiver_.reset();
+  mojo::PendingRemote<network::mojom::SocketObserver> socket_observer;
+  auto socket_observer_receiver =
+      socket_observer.InitWithNewPipeAndPassReceiver();
 
   socket_->UpgradeToTLS(
       net::HostPortPair(domain_name, 443),
@@ -497,7 +498,7 @@
       mojo::MakeRequest(&tls_socket_), std::move(socket_observer),
       base::BindOnce(&NetworkServiceAsyncSocket::ProcessSSLConnectDone,
                      base::Unretained(this),
-                     std::move(socket_observer_request)));
+                     std::move(socket_observer_receiver)));
   return true;
 }
 
@@ -507,7 +508,8 @@
 // WatchForWriteReady())
 
 void NetworkServiceAsyncSocket::ProcessSSLConnectDone(
-    network::mojom::SocketObserverRequest socket_observer_request,
+    mojo::PendingReceiver<network::mojom::SocketObserver>
+        socket_observer_receiver,
     int status,
     mojo::ScopedDataPipeConsumerHandle receive_stream,
     mojo::ScopedDataPipeProducerHandle send_stream) {
@@ -524,7 +526,7 @@
   }
   state_ = STATE_TLS_OPEN;
   ConnectPipes(std::move(receive_stream), std::move(send_stream));
-  BindSocketObserver(std::move(socket_observer_request));
+  BindSocketObserver(std::move(socket_observer_receiver));
 
   WatchForReadReady();
   if (write_end_ > 0U) {
@@ -569,9 +571,10 @@
 }
 
 void NetworkServiceAsyncSocket::BindSocketObserver(
-    network::mojom::SocketObserverRequest socket_observer_request) {
-  socket_observer_binding_.Bind(std::move(socket_observer_request));
-  socket_observer_binding_.set_connection_error_handler(
+    mojo::PendingReceiver<network::mojom::SocketObserver>
+        socket_observer_receiver) {
+  socket_observer_receiver_.Bind(std::move(socket_observer_receiver));
+  socket_observer_receiver_.set_disconnect_handler(
       base::BindOnce(&NetworkServiceAsyncSocket::ProcessSocketObserverError,
                      base::Unretained(this)));
 }
diff --git a/jingle/glue/network_service_async_socket.h b/jingle/glue/network_service_async_socket.h
index 5b6ae01..3fc01aa 100644
--- a/jingle/glue/network_service_async_socket.h
+++ b/jingle/glue/network_service_async_socket.h
@@ -18,7 +18,8 @@
 #include "base/memory/ref_counted.h"
 #include "base/memory/weak_ptr.h"
 #include "jingle/glue/network_service_config.h"
-#include "mojo/public/cpp/bindings/binding.h"
+#include "mojo/public/cpp/bindings/pending_receiver.h"
+#include "mojo/public/cpp/bindings/receiver.h"
 #include "mojo/public/cpp/system/data_pipe.h"
 #include "mojo/public/cpp/system/simple_watcher.h"
 #include "net/base/host_port_pair.h"
@@ -165,13 +166,13 @@
   void OnWriteError(int32_t net_error) override;
 
   // Connection functions.
-  void ProcessConnectDone(
-      network::mojom::SocketObserverRequest socket_observer_request,
-      int status,
-      const base::Optional<net::IPEndPoint>& local_addr,
-      const base::Optional<net::IPEndPoint>& peer_addr,
-      mojo::ScopedDataPipeConsumerHandle receive_stream,
-      mojo::ScopedDataPipeProducerHandle send_stream);
+  void ProcessConnectDone(mojo::PendingReceiver<network::mojom::SocketObserver>
+                              socket_observer_receiver,
+                          int status,
+                          const base::Optional<net::IPEndPoint>& local_addr,
+                          const base::Optional<net::IPEndPoint>& peer_addr,
+                          mojo::ScopedDataPipeConsumerHandle receive_stream,
+                          mojo::ScopedDataPipeProducerHandle send_stream);
 
   // Read loop functions.
   void WatchForReadReady();
@@ -188,7 +189,8 @@
 
   // SSL/TLS connection functions.
   void ProcessSSLConnectDone(
-      network::mojom::SocketObserverRequest socket_observer_request,
+      mojo::PendingReceiver<network::mojom::SocketObserver>
+          socket_observer_receiver,
       int status,
       mojo::ScopedDataPipeConsumerHandle receive_stream,
       mojo::ScopedDataPipeProducerHandle send_stream);
@@ -198,8 +200,8 @@
 
   void ConnectPipes(mojo::ScopedDataPipeConsumerHandle receive_stream,
                     mojo::ScopedDataPipeProducerHandle send_stream);
-  void BindSocketObserver(
-      network::mojom::SocketObserverRequest socket_observer_request);
+  void BindSocketObserver(mojo::PendingReceiver<network::mojom::SocketObserver>
+                              socket_observer_receiver);
 
   // |socket_factory_| is recreated every time via |get_socket_factory_callback|
   // to handle network service restarts after crashes.
@@ -212,7 +214,8 @@
   network::mojom::TLSClientSocketPtr tls_socket_;
 
   // Used to route error notifications here.
-  mojo::Binding<network::mojom::SocketObserver> socket_observer_binding_;
+  mojo::Receiver<network::mojom::SocketObserver> socket_observer_receiver_{
+      this};
 
   bool use_fake_tls_handshake_;
 
@@ -231,7 +234,7 @@
   std::unique_ptr<mojo::SimpleWatcher> read_watcher_;
 
   // Handling read errors is a bit tricky since the status is reported via
-  // |socket_observer_binding_|, which is unordered compared to |read_pipe_|,
+  // |socket_observer_receiver_|, which is unordered compared to |read_pipe_|,
   // so it's possible to see an end of file (or an error) there while there is
   // still useful data pending.  As a result, the code waits to see both happen
   // before reporting error statuses (including EOF). Likewise for write pipes.
diff --git a/jingle/glue/network_service_async_socket_unittest.cc b/jingle/glue/network_service_async_socket_unittest.cc
index 85169a8..f9044df5 100644
--- a/jingle/glue/network_service_async_socket_unittest.cc
+++ b/jingle/glue/network_service_async_socket_unittest.cc
@@ -21,6 +21,8 @@
 #include "base/strings/string_number_conversions.h"
 #include "base/test/task_environment.h"
 #include "mojo/public/cpp/bindings/binding.h"
+#include "mojo/public/cpp/bindings/pending_remote.h"
+#include "mojo/public/cpp/bindings/remote.h"
 #include "mojo/public/cpp/system/data_pipe_utils.h"
 #include "net/base/address_list.h"
 #include "net/base/host_port_pair.h"
@@ -142,13 +144,13 @@
   MockProxyResolvingSocket() {}
   ~MockProxyResolvingSocket() override {}
 
-  void Connect(network::mojom::SocketObserverPtr observer,
+  void Connect(mojo::PendingRemote<network::mojom::SocketObserver> observer,
                network::mojom::ProxyResolvingSocketFactory::
                    CreateProxyResolvingSocketCallback callback) {
     mojo::DataPipe send_pipe;
     mojo::DataPipe receive_pipe;
 
-    observer_ = std::move(observer);
+    observer_.Bind(std::move(observer));
     receive_pipe_handle_ = std::move(receive_pipe.producer_handle);
     send_pipe_handle_ = std::move(send_pipe.consumer_handle);
 
@@ -164,14 +166,14 @@
       const net::HostPortPair& host_port_pair,
       const net::MutableNetworkTrafficAnnotationTag& traffic_annotation,
       network::mojom::TLSClientSocketRequest request,
-      network::mojom::SocketObserverPtr observer,
+      mojo::PendingRemote<network::mojom::SocketObserver> observer,
       network::mojom::ProxyResolvingSocket::UpgradeToTLSCallback callback)
       override {
     NOTREACHED();
   }
 
  private:
-  network::mojom::SocketObserverPtr observer_;
+  mojo::Remote<network::mojom::SocketObserver> observer_;
   mojo::ScopedDataPipeProducerHandle receive_pipe_handle_;
   mojo::ScopedDataPipeConsumerHandle send_pipe_handle_;
 
@@ -190,7 +192,7 @@
       network::mojom::ProxyResolvingSocketOptionsPtr options,
       const net::MutableNetworkTrafficAnnotationTag& traffic_annotation,
       network::mojom::ProxyResolvingSocketRequest request,
-      network::mojom::SocketObserverPtr observer,
+      mojo::PendingRemote<network::mojom::SocketObserver> observer,
       CreateProxyResolvingSocketCallback callback) override {
     auto socket = std::make_unique<MockProxyResolvingSocket>();
     socket_raw_ = socket.get();
diff --git a/media/capture/video/chromeos/camera_hal_delegate.cc b/media/capture/video/chromeos/camera_hal_delegate.cc
index ed97f81e0..dfa7a8d 100644
--- a/media/capture/video/chromeos/camera_hal_delegate.cc
+++ b/media/capture/video/chromeos/camera_hal_delegate.cc
@@ -29,8 +29,7 @@
 
 namespace {
 
-const base::TimeDelta kEventWaitTimeoutMs =
-    base::TimeDelta::FromMilliseconds(3000);
+const base::TimeDelta kEventWaitTimeoutSecs = base::TimeDelta::FromSeconds(1);
 
 class LocalCameraClientObserver : public CameraClientObserver {
  public:
@@ -237,13 +236,12 @@
     return;
   }
 
-  if (!external_camera_info_updated_.TimedWait(
-          base::TimeDelta::FromSeconds(1))) {
+  if (!external_camera_info_updated_.TimedWait(kEventWaitTimeoutSecs)) {
     LOG(ERROR) << "Failed to get camera info from all external cameras";
   }
 
   if (IsRunningOnVM() && IsVividLoaded()) {
-    has_camera_connected_.TimedWait(base::TimeDelta::FromSeconds(1));
+    has_camera_connected_.TimedWait(kEventWaitTimeoutSecs);
   }
 
   base::AutoLock info_lock(camera_info_lock_);
@@ -393,7 +391,7 @@
       FROM_HERE,
       base::BindOnce(&CameraHalDelegate::UpdateBuiltInCameraInfoOnIpcThread,
                      this));
-  if (!builtin_camera_info_updated_.TimedWait(kEventWaitTimeoutMs)) {
+  if (!builtin_camera_info_updated_.TimedWait(kEventWaitTimeoutSecs)) {
     LOG(ERROR) << "Timed out getting camera info";
     return false;
   }
diff --git a/media/capture/video/chromeos/camera_hal_dispatcher_impl.cc b/media/capture/video/chromeos/camera_hal_dispatcher_impl.cc
index ed57ad3..706dce0 100644
--- a/media/capture/video/chromeos/camera_hal_dispatcher_impl.cc
+++ b/media/capture/video/chromeos/camera_hal_dispatcher_impl.cc
@@ -196,8 +196,9 @@
 }
 
 void CameraHalDispatcherImpl::GetJpegDecodeAccelerator(
-    chromeos_camera::mojom::MjpegDecodeAcceleratorRequest jda_request) {
-  jda_factory_.Run(std::move(jda_request));
+    mojo::PendingReceiver<chromeos_camera::mojom::MjpegDecodeAccelerator>
+        jda_receiver) {
+  jda_factory_.Run(std::move(jda_receiver));
 }
 
 void CameraHalDispatcherImpl::GetJpegEncodeAccelerator(
diff --git a/media/capture/video/chromeos/camera_hal_dispatcher_impl.h b/media/capture/video/chromeos/camera_hal_dispatcher_impl.h
index be99f0aa..141a7bc6 100644
--- a/media/capture/video/chromeos/camera_hal_dispatcher_impl.h
+++ b/media/capture/video/chromeos/camera_hal_dispatcher_impl.h
@@ -19,7 +19,7 @@
 #include "media/capture/video/chromeos/video_capture_device_factory_chromeos.h"
 #include "media/capture/video/video_capture_device_factory.h"
 #include "mojo/public/cpp/bindings/binding_set.h"
-#include "mojo/public/cpp/bindings/interface_ptr_set.h"
+#include "mojo/public/cpp/bindings/pending_receiver.h"
 #include "mojo/public/cpp/platform/platform_channel_server_endpoint.h"
 
 namespace base {
@@ -67,7 +67,8 @@
   void RegisterServer(cros::mojom::CameraHalServerPtr server) final;
   void RegisterClient(cros::mojom::CameraHalClientPtr client) final;
   void GetJpegDecodeAccelerator(
-      chromeos_camera::mojom::MjpegDecodeAcceleratorRequest jda_request) final;
+      mojo::PendingReceiver<chromeos_camera::mojom::MjpegDecodeAccelerator>
+          jda_receiver) final;
   void GetJpegEncodeAccelerator(
       chromeos_camera::mojom::JpegEncodeAcceleratorRequest jea_request) final;
 
diff --git a/media/capture/video/chromeos/mojom/cros_camera_service.mojom b/media/capture/video/chromeos/mojom/cros_camera_service.mojom
index be4da55..84e43a1 100644
--- a/media/capture/video/chromeos/mojom/cros_camera_service.mojom
+++ b/media/capture/video/chromeos/mojom/cros_camera_service.mojom
@@ -29,7 +29,8 @@
 
   // Get JpegDecodeAccelerator from dispatcher.
   [MinVersion=1] GetJpegDecodeAccelerator@2(
-    chromeos_camera.mojom.MjpegDecodeAccelerator& jda_request);
+    pending_receiver<chromeos_camera.mojom.MjpegDecodeAccelerator>
+        jda_receiver);
 
   // Get JpegEncodeAccelerator from dispatcher.
   [MinVersion=2] GetJpegEncodeAccelerator@3(
diff --git a/media/capture/video/chromeos/video_capture_device_factory_chromeos.h b/media/capture/video/chromeos/video_capture_device_factory_chromeos.h
index 62fa4b5..bb4deec0 100644
--- a/media/capture/video/chromeos/video_capture_device_factory_chromeos.h
+++ b/media/capture/video/chromeos/video_capture_device_factory_chromeos.h
@@ -12,13 +12,14 @@
 #include "components/chromeos_camera/common/mjpeg_decode_accelerator.mojom.h"
 #include "media/capture/video/chromeos/camera_hal_delegate.h"
 #include "media/capture/video/video_capture_device_factory.h"
+#include "mojo/public/cpp/bindings/pending_receiver.h"
 
 namespace media {
 
 class CameraAppDeviceBridgeImpl;
 
 using MojoMjpegDecodeAcceleratorFactoryCB = base::RepeatingCallback<void(
-    chromeos_camera::mojom::MjpegDecodeAcceleratorRequest)>;
+    mojo::PendingReceiver<chromeos_camera::mojom::MjpegDecodeAccelerator>)>;
 
 class CAPTURE_EXPORT VideoCaptureDeviceFactoryChromeOS final
     : public VideoCaptureDeviceFactory {
diff --git a/media/capture/video/chromeos/video_capture_jpeg_decoder_impl.cc b/media/capture/video/chromeos/video_capture_jpeg_decoder_impl.cc
index 798cccf..b6134ec 100644
--- a/media/capture/video/chromeos/video_capture_jpeg_decoder_impl.cc
+++ b/media/capture/video/chromeos/video_capture_jpeg_decoder_impl.cc
@@ -9,6 +9,7 @@
 #include "base/metrics/histogram_macros.h"
 #include "components/chromeos_camera/mojo_mjpeg_decode_accelerator.h"
 #include "media/base/media_switches.h"
+#include "mojo/public/cpp/bindings/pending_remote.h"
 
 namespace media {
 
@@ -204,12 +205,13 @@
   TRACE_EVENT0("gpu", "VideoCaptureJpegDecoderImpl::FinishInitialization");
   DCHECK(decoder_task_runner_->RunsTasksInCurrentSequence());
 
-  chromeos_camera::mojom::MjpegDecodeAcceleratorPtr remote_decoder;
-  jpeg_decoder_factory_.Run(mojo::MakeRequest(&remote_decoder));
+  mojo::PendingRemote<chromeos_camera::mojom::MjpegDecodeAccelerator>
+      remote_decoder;
+  jpeg_decoder_factory_.Run(remote_decoder.InitWithNewPipeAndPassReceiver());
 
   base::AutoLock lock(lock_);
   decoder_ = std::make_unique<chromeos_camera::MojoMjpegDecodeAccelerator>(
-      decoder_task_runner_, remote_decoder.PassInterface());
+      decoder_task_runner_, std::move(remote_decoder));
 
   decoder_->InitializeAsync(
       this,
diff --git a/media/capture/video/video_capture_device_unittest.cc b/media/capture/video/video_capture_device_unittest.cc
index 012a7268..e28e4074 100644
--- a/media/capture/video/video_capture_device_unittest.cc
+++ b/media/capture/video/video_capture_device_unittest.cc
@@ -54,6 +54,7 @@
 #include "media/capture/video/chromeos/public/cros_features.h"
 #include "media/capture/video/chromeos/video_capture_device_chromeos_halv3.h"
 #include "media/capture/video/chromeos/video_capture_device_factory_chromeos.h"
+#include "mojo/public/cpp/bindings/pending_receiver.h"
 #endif
 
 #if defined(OS_MACOSX)
@@ -265,8 +266,8 @@
     if (media::ShouldUseCrosCameraService() &&
         !CameraHalDispatcherImpl::GetInstance()->IsStarted()) {
       CameraHalDispatcherImpl::GetInstance()->Start(
-          base::DoNothing::Repeatedly<
-              chromeos_camera::mojom::MjpegDecodeAcceleratorRequest>(),
+          base::DoNothing::Repeatedly<mojo::PendingReceiver<
+              chromeos_camera::mojom::MjpegDecodeAccelerator>>(),
           base::DoNothing::Repeatedly<
               chromeos_camera::mojom::JpegEncodeAcceleratorRequest>());
     }
diff --git a/media/mojo/mojom/video_frame_mojom_traits_unittest.cc b/media/mojo/mojom/video_frame_mojom_traits_unittest.cc
index e743a74..39ff4fb 100644
--- a/media/mojo/mojom/video_frame_mojom_traits_unittest.cc
+++ b/media/mojo/mojom/video_frame_mojom_traits_unittest.cc
@@ -16,8 +16,8 @@
 #include "media/mojo/common/mojo_shared_buffer_video_frame.h"
 #include "media/mojo/mojom/traits_test_service.mojom.h"
 #include "media/video/fake_gpu_memory_buffer.h"
-#include "mojo/public/cpp/bindings/binding_set.h"
-#include "mojo/public/cpp/bindings/interface_request.h"
+#include "mojo/public/cpp/bindings/receiver_set.h"
+#include "mojo/public/cpp/bindings/remote.h"
 #include "mojo/public/cpp/system/buffer.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "ui/gfx/geometry/rect.h"
@@ -38,16 +38,16 @@
   VideoFrameStructTraitsTest() = default;
 
  protected:
-  media::mojom::TraitsTestServicePtr GetTraitsTestProxy() {
-    media::mojom::TraitsTestServicePtr proxy;
-    traits_test_bindings_.AddBinding(this, mojo::MakeRequest(&proxy));
-    return proxy;
+  mojo::Remote<mojom::TraitsTestService> GetTraitsTestRemote() {
+    mojo::Remote<mojom::TraitsTestService> remote;
+    traits_test_receivers_.Add(this, remote.BindNewPipeAndPassReceiver());
+    return remote;
   }
 
   bool RoundTrip(scoped_refptr<VideoFrame>* frame) {
     scoped_refptr<VideoFrame> input = std::move(*frame);
-    media::mojom::TraitsTestServicePtr proxy = GetTraitsTestProxy();
-    return proxy->EchoVideoFrame(std::move(input), frame);
+    mojo::Remote<mojom::TraitsTestService> remote = GetTraitsTestRemote();
+    return remote->EchoVideoFrame(std::move(input), frame);
   }
 
  private:
@@ -57,7 +57,7 @@
   }
 
   base::test::TaskEnvironment task_environment_;
-  mojo::BindingSet<TraitsTestService> traits_test_bindings_;
+  mojo::ReceiverSet<TraitsTestService> traits_test_receivers_;
 
   DISALLOW_COPY_AND_ASSIGN(VideoFrameStructTraitsTest);
 };
diff --git a/media/mojo/services/interface_factory_impl.cc b/media/mojo/services/interface_factory_impl.cc
index 9c654206..5218d57 100644
--- a/media/mojo/services/interface_factory_impl.cc
+++ b/media/mojo/services/interface_factory_impl.cc
@@ -43,13 +43,10 @@
 namespace media {
 
 InterfaceFactoryImpl::InterfaceFactoryImpl(
-    service_manager::mojom::InterfaceProviderPtr interfaces,
+    service_manager::mojom::InterfaceProviderPtr host_interfaces,
     std::unique_ptr<service_manager::ServiceKeepaliveRef> keepalive_ref,
     MojoMediaClient* mojo_media_client)
-    :
-#if BUILDFLAG(ENABLE_MOJO_CDM)
-      interfaces_(std::move(interfaces)),
-#endif
+    : host_interfaces_(std::move(host_interfaces)),
       keepalive_ref_(std::move(keepalive_ref)),
       mojo_media_client_(mojo_media_client) {
   DVLOG(1) << __func__;
@@ -102,7 +99,7 @@
   DVLOG(2) << __func__;
 #if BUILDFLAG(ENABLE_MOJO_RENDERER)
   auto renderer = mojo_media_client_->CreateRenderer(
-      interfaces_.get(), base::ThreadTaskRunnerHandle::Get(), &media_log_,
+      host_interfaces_.get(), base::ThreadTaskRunnerHandle::Get(), &media_log_,
       audio_device_id);
   if (!renderer) {
     DLOG(ERROR) << "Renderer creation failed.";
@@ -134,7 +131,7 @@
   DVLOG(2) << __func__;
 #if BUILDFLAG(ENABLE_MOJO_RENDERER)
   auto renderer = mojo_media_client_->CreateCastRenderer(
-      interfaces_.get(), base::ThreadTaskRunnerHandle::Get(), &media_log_,
+      host_interfaces_.get(), base::ThreadTaskRunnerHandle::Get(), &media_log_,
       overlay_plane_id);
   if (!renderer) {
     DLOG(ERROR) << "Renderer creation failed.";
@@ -302,7 +299,7 @@
 #if BUILDFLAG(ENABLE_MOJO_CDM)
 CdmFactory* InterfaceFactoryImpl::GetCdmFactory() {
   if (!cdm_factory_) {
-    cdm_factory_ = mojo_media_client_->CreateCdmFactory(interfaces_.get());
+    cdm_factory_ = mojo_media_client_->CreateCdmFactory(host_interfaces_.get());
     LOG_IF(ERROR, !cdm_factory_) << "CdmFactory not available.";
   }
   return cdm_factory_.get();
diff --git a/media/mojo/services/interface_factory_impl.h b/media/mojo/services/interface_factory_impl.h
index a15e695..cf69f77 100644
--- a/media/mojo/services/interface_factory_impl.h
+++ b/media/mojo/services/interface_factory_impl.h
@@ -34,7 +34,7 @@
 class InterfaceFactoryImpl : public DeferredDestroy<mojom::InterfaceFactory> {
  public:
   InterfaceFactoryImpl(
-      service_manager::mojom::InterfaceProviderPtr interfaces,
+      service_manager::mojom::InterfaceProviderPtr host_interfaces,
       std::unique_ptr<service_manager::ServiceKeepaliveRef> keepalive_ref,
       MojoMediaClient* mojo_media_client);
   ~InterfaceFactoryImpl() final;
@@ -102,7 +102,6 @@
 
 #if BUILDFLAG(ENABLE_MOJO_CDM)
   std::unique_ptr<CdmFactory> cdm_factory_;
-  service_manager::mojom::InterfaceProviderPtr interfaces_;
   mojo::StrongBindingSet<mojom::ContentDecryptionModule> cdm_bindings_;
 #endif  // BUILDFLAG(ENABLE_MOJO_CDM)
 
@@ -110,6 +109,8 @@
   mojo::UniqueReceiverSet<mojom::CdmProxy> cdm_proxy_receivers_;
 #endif  // BUILDFLAG(ENABLE_LIBRARY_CDMS)
 
+  service_manager::mojom::InterfaceProviderPtr host_interfaces_;
+
   mojo::UniqueReceiverSet<mojom::Decryptor> decryptor_receivers_;
 
   std::unique_ptr<service_manager::ServiceKeepaliveRef> keepalive_ref_;
diff --git a/net/http/http_response_info.cc b/net/http/http_response_info.cc
index 1dc154e..1d2af6cea 100644
--- a/net/http/http_response_info.cc
+++ b/net/http/http_response_info.cc
@@ -430,6 +430,7 @@
     case CONNECTION_INFO_QUIC_47:
     case CONNECTION_INFO_QUIC_48:
     case CONNECTION_INFO_QUIC_49:
+    case CONNECTION_INFO_QUIC_50:
     case CONNECTION_INFO_QUIC_99:
     case CONNECTION_INFO_QUIC_999:
       return true;
@@ -500,6 +501,8 @@
       return "http/2+quic/48";
     case CONNECTION_INFO_QUIC_49:
       return "http/2+quic/49";
+    case CONNECTION_INFO_QUIC_50:
+      return "http/2+quic/50";
     case CONNECTION_INFO_QUIC_99:
       return "http/2+quic/99";
     case CONNECTION_INFO_HTTP0_9:
diff --git a/net/http/http_response_info.h b/net/http/http_response_info.h
index 68087a5..ae75b00e 100644
--- a/net/http/http_response_info.h
+++ b/net/http/http_response_info.h
@@ -65,6 +65,7 @@
     CONNECTION_INFO_QUIC_999 = 27,
     CONNECTION_INFO_QUIC_48 = 28,
     CONNECTION_INFO_QUIC_49 = 29,
+    CONNECTION_INFO_QUIC_50 = 30,
     NUM_OF_CONNECTION_INFOS,
   };
 
diff --git a/net/http/http_stream_factory_job_controller_unittest.cc b/net/http/http_stream_factory_job_controller_unittest.cc
index 080b52c..8154781 100644
--- a/net/http/http_stream_factory_job_controller_unittest.cc
+++ b/net/http/http_stream_factory_job_controller_unittest.cc
@@ -1171,7 +1171,7 @@
        AltJobSucceedsMainJobBlockedControllerDestroyed) {
   quic_data_ = std::make_unique<MockQuicData>(
       HttpNetworkSession::Params().quic_params.supported_versions.front());
-  if (VersionUsesQpack(HttpNetworkSession::Params()
+  if (VersionUsesHttp3(HttpNetworkSession::Params()
                            .quic_params.supported_versions.front()
                            .transport_version)) {
     quic_data_->AddWrite(SYNCHRONOUS,
@@ -2456,7 +2456,7 @@
   auto version =
       HttpNetworkSession::Params().quic_params.supported_versions.front();
   quic_data_ = std::make_unique<MockQuicData>(version);
-  if (VersionUsesQpack(version.transport_version)) {
+  if (VersionUsesHttp3(version.transport_version)) {
     quic_data_->AddWrite(SYNCHRONOUS,
                          client_maker_.MakeInitialSettingsPacket(1));
   }
@@ -3145,7 +3145,7 @@
         HttpNetworkSession::Params().quic_params.supported_versions.front();
     quic_data_ = std::make_unique<MockQuicData>(version);
     quic_data_->AddConnect(SYNCHRONOUS, OK);
-    if (VersionUsesQpack(version.transport_version)) {
+    if (VersionUsesHttp3(version.transport_version)) {
       quic_data_->AddWrite(SYNCHRONOUS,
                            client_maker_.MakeInitialSettingsPacket(1));
     }
diff --git a/net/http/http_stream_factory_unittest.cc b/net/http/http_stream_factory_unittest.cc
index 65a5b24..3f51e47b 100644
--- a/net/http/http_stream_factory_unittest.cc
+++ b/net/http/http_stream_factory_unittest.cc
@@ -2191,7 +2191,7 @@
       ConvertRequestPriorityToQuicPriority(DEFAULT_PRIORITY);
   size_t spdy_headers_frame_length;
   int packet_num = 1;
-  if (VersionUsesQpack(version().transport_version)) {
+  if (VersionUsesHttp3(version().transport_version)) {
     mock_quic_data.AddWrite(
         client_packet_maker().MakeInitialSettingsPacket(packet_num++));
   }
@@ -2320,7 +2320,7 @@
       ConvertRequestPriorityToQuicPriority(DEFAULT_PRIORITY);
   size_t spdy_headers_frame_length;
   int packet_num = 1;
-  if (VersionUsesQpack(version().transport_version)) {
+  if (VersionUsesHttp3(version().transport_version)) {
     mock_quic_data.AddWrite(
         client_packet_maker().MakeInitialSettingsPacket(packet_num++));
   }
@@ -2575,7 +2575,7 @@
       ConvertRequestPriorityToQuicPriority(DEFAULT_PRIORITY);
   size_t spdy_headers_frame_length;
   int packet_num = 1;
-  if (VersionUsesQpack(version().transport_version)) {
+  if (VersionUsesHttp3(version().transport_version)) {
     mock_quic_data.AddWrite(
         client_packet_maker().MakeInitialSettingsPacket(packet_num++));
   }
@@ -2598,7 +2598,7 @@
   client_packet_maker().Reset();
   MockQuicData mock_quic_data2(version());
   packet_num = 1;
-  if (VersionUsesQpack(version().transport_version)) {
+  if (VersionUsesHttp3(version().transport_version)) {
     mock_quic_data2.AddWrite(
         client_packet_maker().MakeInitialSettingsPacket(packet_num++));
   }
@@ -3296,7 +3296,7 @@
 
   scoped_refptr<HttpResponseHeaders> headers(
       base::MakeRefCounted<HttpResponseHeaders>(""));
-  headers->AddHeader("alt-svc: quic=\":443\"; v=\"99,49,48,47,46,43,39\"");
+  headers->AddHeader("alt-svc: quic=\":443\"; v=\"99,50,49,48,47,46,43,39\"");
 
   session_->http_stream_factory()->ProcessAlternativeServices(
       session_.get(), network_isolation_key, headers.get(), origin);
@@ -3329,7 +3329,8 @@
       base::MakeRefCounted<HttpResponseHeaders>(""));
   headers->AddHeader(
       "alt-svc: "
-      "h3-Q099=\":443\",h3-Q049=\":443\",h3-Q048=\":443\",h3-Q047=\":443\",h3-"
+      "h3-Q099=\":443\",h3-Q050=\":443\",h3-Q049=\":443\",h3-Q048=\":443\",h3-"
+      "Q047=\":443\",h3-"
       "Q043=\":443\",h3-"
       "Q039=\":443\"");
 
@@ -3338,6 +3339,7 @@
 
   quic::ParsedQuicVersionVector versions = {
       {quic::PROTOCOL_QUIC_CRYPTO, quic::QUIC_VERSION_99},
+      {quic::PROTOCOL_QUIC_CRYPTO, quic::QUIC_VERSION_50},
       {quic::PROTOCOL_QUIC_CRYPTO, quic::QUIC_VERSION_49},
       {quic::PROTOCOL_QUIC_CRYPTO, quic::QUIC_VERSION_48},
       {quic::PROTOCOL_QUIC_CRYPTO, quic::QUIC_VERSION_47},
diff --git a/net/quic/bidirectional_stream_quic_impl.cc b/net/quic/bidirectional_stream_quic_impl.cc
index 5d7285e..19a6549f 100644
--- a/net/quic/bidirectional_stream_quic_impl.cc
+++ b/net/quic/bidirectional_stream_quic_impl.cc
@@ -216,7 +216,7 @@
   // When QPACK is enabled, headers are sent and received on the stream, so
   // the headers bytes do not need to be accounted for independently.
   int64_t total_received_bytes =
-      quic::VersionUsesQpack(session_->GetQuicVersion())
+      quic::VersionUsesHttp3(session_->GetQuicVersion())
           ? 0
           : headers_bytes_received_;
   if (stream_) {
@@ -232,7 +232,7 @@
 int64_t BidirectionalStreamQuicImpl::GetTotalSentBytes() const {
   // When QPACK is enabled, headers are sent and received on the stream, so
   // the headers bytes do not need to be accounted for independently.
-  int64_t total_sent_bytes = quic::VersionUsesQpack(session_->GetQuicVersion())
+  int64_t total_sent_bytes = quic::VersionUsesHttp3(session_->GetQuicVersion())
                                  ? 0
                                  : headers_bytes_sent_;
   if (stream_) {
diff --git a/net/quic/bidirectional_stream_quic_impl_unittest.cc b/net/quic/bidirectional_stream_quic_impl_unittest.cc
index 010d8afe..89e53f39 100644
--- a/net/quic/bidirectional_stream_quic_impl_unittest.cc
+++ b/net/quic/bidirectional_stream_quic_impl_unittest.cc
@@ -533,9 +533,9 @@
         true /* owns_writer */, quic::Perspective::IS_CLIENT,
         quic::test::SupportedVersions(version_));
     if (connection_->version().KnowsWhichDecrypterToUse()) {
-      connection_->InstallDecrypter(quic::ENCRYPTION_FORWARD_SECURE,
-                                    quic::QuicMakeUnique<quic::NullDecrypter>(
-                                        quic::Perspective::IS_CLIENT));
+      connection_->InstallDecrypter(
+          quic::ENCRYPTION_FORWARD_SECURE,
+          std::make_unique<quic::NullDecrypter>(quic::Perspective::IS_CLIENT));
     }
     base::TimeTicks dns_end = base::TimeTicks::Now();
     base::TimeTicks dns_start = dns_end - base::TimeDelta::FromMilliseconds(1);
@@ -877,7 +877,7 @@
   SetRequest("GET", "/", DEFAULT_PRIORITY);
   size_t spdy_request_headers_frame_length;
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_ZERO_RTT);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     AddWrite(ConstructInitialSettingsPacket());
   AddWrite(ConstructRequestHeadersPacketInner(
       GetNthClientInitiatedBidirectionalStreamId(0), kFin, DEFAULT_PRIORITY,
@@ -936,7 +936,7 @@
   spdy::SpdyHeaderBlock trailers;
   size_t spdy_trailers_frame_length;
   trailers["foo"] = "bar";
-  if (!quic::VersionUsesQpack(version_.transport_version)) {
+  if (!quic::VersionUsesHttp3(version_.transport_version)) {
     trailers[quic::kFinalOffsetHeaderKey] =
         base::NumberToString(strlen(kResponseBody));
   }
@@ -980,7 +980,7 @@
 TEST_P(BidirectionalStreamQuicImplTest, LoadTimingTwoRequests) {
   SetRequest("GET", "/", DEFAULT_PRIORITY);
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_ZERO_RTT);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     AddWrite(ConstructInitialSettingsPacket());
   AddWrite(ConstructRequestHeadersPacketInner(
       GetNthClientInitiatedBidirectionalStreamId(0), kFin, DEFAULT_PRIORITY,
@@ -1055,7 +1055,7 @@
   SetRequest("POST", "/", DEFAULT_PRIORITY);
   size_t spdy_request_headers_frame_length;
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_ZERO_RTT);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     AddWrite(ConstructInitialSettingsPacket());
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_FORWARD_SECURE);
   const char kBody1[] = "here are some data";
@@ -1162,7 +1162,7 @@
   size_t spdy_trailers_frame_length;
   spdy::SpdyHeaderBlock trailers;
   trailers["foo"] = "bar";
-  if (!quic::VersionUsesQpack(version_.transport_version)) {
+  if (!quic::VersionUsesHttp3(version_.transport_version)) {
     trailers[quic::kFinalOffsetHeaderKey] =
         base::NumberToString(strlen(kResponseBody));
   }
@@ -1197,7 +1197,7 @@
   SetRequest("POST", "/", DEFAULT_PRIORITY);
   size_t spdy_request_headers_frame_length;
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_ZERO_RTT);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     AddWrite(ConstructInitialSettingsPacket());
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_FORWARD_SECURE);
   const char kBody1[] = "here are some data";
@@ -1281,7 +1281,7 @@
   size_t spdy_trailers_frame_length;
   spdy::SpdyHeaderBlock trailers;
   trailers["foo"] = "bar";
-  if (!quic::VersionUsesQpack(version_.transport_version)) {
+  if (!quic::VersionUsesHttp3(version_.transport_version)) {
     trailers[quic::kFinalOffsetHeaderKey] =
         base::NumberToString(strlen(kResponseBody));
   }
@@ -1314,7 +1314,7 @@
   SetRequest("POST", "/", DEFAULT_PRIORITY);
   size_t spdy_request_headers_frame_length;
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_ZERO_RTT);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     AddWrite(ConstructInitialSettingsPacket());
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_FORWARD_SECURE);
   const char kBody1[] = "here are some data";
@@ -1415,7 +1415,7 @@
   size_t spdy_trailers_frame_length;
   spdy::SpdyHeaderBlock trailers;
   trailers["foo"] = "bar";
-  if (!quic::VersionUsesQpack(version_.transport_version)) {
+  if (!quic::VersionUsesHttp3(version_.transport_version)) {
     trailers[quic::kFinalOffsetHeaderKey] =
         base::NumberToString(strlen(kResponseBody));
   }
@@ -1448,7 +1448,7 @@
 TEST_P(BidirectionalStreamQuicImplTest,
        SendDataWriteErrorCoalesceDataBufferAndHeaderFrame) {
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_ZERO_RTT);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     AddWrite(ConstructInitialSettingsPacket());
   AddWriteError(SYNCHRONOUS, ERR_CONNECTION_REFUSED);
 
@@ -1485,7 +1485,7 @@
 TEST_P(BidirectionalStreamQuicImplTest,
        SendvDataWriteErrorCoalesceDataBufferAndHeaderFrame) {
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_ZERO_RTT);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     AddWrite(ConstructInitialSettingsPacket());
   AddWriteError(SYNCHRONOUS, ERR_CONNECTION_REFUSED);
 
@@ -1525,7 +1525,7 @@
   SetRequest("POST", "/", DEFAULT_PRIORITY);
   size_t spdy_request_headers_frame_length;
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_ZERO_RTT);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     AddWrite(ConstructInitialSettingsPacket());
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_FORWARD_SECURE);
   AddWrite(ConstructRequestHeadersPacketInner(
@@ -1592,7 +1592,7 @@
   size_t spdy_trailers_frame_length;
   spdy::SpdyHeaderBlock trailers;
   trailers["foo"] = "bar";
-  if (!quic::VersionUsesQpack(version_.transport_version)) {
+  if (!quic::VersionUsesHttp3(version_.transport_version)) {
     trailers[quic::kFinalOffsetHeaderKey] =
         base::NumberToString(strlen(kResponseBody));
   }
@@ -1621,7 +1621,7 @@
   SetRequest("PUT", "/", DEFAULT_PRIORITY);
   size_t spdy_request_headers_frame_length;
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_ZERO_RTT);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     AddWrite(ConstructInitialSettingsPacket());
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_FORWARD_SECURE);
   AddWrite(ConstructRequestHeadersPacketInner(
@@ -1689,7 +1689,7 @@
   size_t spdy_trailers_frame_length;
   spdy::SpdyHeaderBlock trailers;
   trailers["foo"] = "bar";
-  if (!quic::VersionUsesQpack(version_.transport_version)) {
+  if (!quic::VersionUsesHttp3(version_.transport_version)) {
     trailers[quic::kFinalOffsetHeaderKey] =
         base::NumberToString(strlen(kResponseBody));
   }
@@ -1718,7 +1718,7 @@
   SetRequest("POST", "/", DEFAULT_PRIORITY);
   size_t spdy_request_headers_frame_length;
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_ZERO_RTT);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     AddWrite(ConstructInitialSettingsPacket());
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_FORWARD_SECURE);
   AddWrite(ConstructRequestHeadersPacketInner(
@@ -1782,7 +1782,7 @@
   std::string header2 = ConstructDataHeader(strlen(kResponseBody));
   // Server sends a data packet
   int server_ack = 1;
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     server_ack++;
   ProcessPacket(ConstructAckAndDataPacket(3, !kIncludeVersion, server_ack++, 1,
                                           1, !kFin, header2 + kResponseBody,
@@ -1826,7 +1826,7 @@
   SetRequest("GET", "/", DEFAULT_PRIORITY);
   size_t spdy_request_headers_frame_length;
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_ZERO_RTT);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     AddWrite(ConstructInitialSettingsPacket());
   AddWrite(ConstructRequestHeadersPacketInner(
       GetNthClientInitiatedBidirectionalStreamId(0), kFin, DEFAULT_PRIORITY,
@@ -1872,7 +1872,7 @@
   SetRequest("GET", "/", DEFAULT_PRIORITY);
   size_t spdy_request_headers_frame_length;
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_ZERO_RTT);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     AddWrite(ConstructInitialSettingsPacket());
   AddWrite(ConstructRequestHeadersPacketInner(
       GetNthClientInitiatedBidirectionalStreamId(0), kFin, DEFAULT_PRIORITY,
@@ -1936,7 +1936,7 @@
   SetRequest("POST", "/", DEFAULT_PRIORITY);
   size_t spdy_request_headers_frame_length;
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_ZERO_RTT);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     AddWrite(ConstructInitialSettingsPacket());
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_FORWARD_SECURE);
   AddWrite(ConstructRequestHeadersPacketInner(
@@ -2047,7 +2047,7 @@
 TEST_P(BidirectionalStreamQuicImplTest, SessionCloseDuringOnStreamReady) {
   SetRequest("POST", "/", DEFAULT_PRIORITY);
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_ZERO_RTT);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     AddWrite(ConstructInitialSettingsPacket());
   AddWriteError(SYNCHRONOUS, ERR_CONNECTION_REFUSED);
 
@@ -2076,7 +2076,7 @@
   SetRequest("POST", "/", DEFAULT_PRIORITY);
   size_t spdy_request_headers_frame_length;
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_ZERO_RTT);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     AddWrite(ConstructInitialSettingsPacket());
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_FORWARD_SECURE);
   AddWrite(ConstructRequestHeadersPacketInner(
@@ -2110,7 +2110,7 @@
   SetRequest("POST", "/", DEFAULT_PRIORITY);
   size_t spdy_request_headers_frame_length;
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_ZERO_RTT);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     AddWrite(ConstructInitialSettingsPacket());
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_FORWARD_SECURE);
   AddWrite(ConstructRequestHeadersPacketInner(
@@ -2168,7 +2168,7 @@
   SetRequest("POST", "/", DEFAULT_PRIORITY);
   size_t spdy_request_headers_frame_length;
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_ZERO_RTT);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     AddWrite(ConstructInitialSettingsPacket());
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_FORWARD_SECURE);
   AddWrite(ConstructRequestHeadersPacketInner(
@@ -2218,7 +2218,7 @@
   SetRequest("POST", "/", DEFAULT_PRIORITY);
   size_t spdy_request_headers_frame_length;
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_ZERO_RTT);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     AddWrite(ConstructInitialSettingsPacket());
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_FORWARD_SECURE);
   AddWrite(ConstructRequestHeadersPacketInner(
@@ -2280,7 +2280,7 @@
   SetRequest("POST", "/", DEFAULT_PRIORITY);
   size_t spdy_request_headers_frame_length;
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_ZERO_RTT);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     AddWrite(ConstructInitialSettingsPacket());
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_FORWARD_SECURE);
   AddWrite(ConstructRequestHeadersPacketInner(
@@ -2358,7 +2358,7 @@
   SetRequest("GET", "/", DEFAULT_PRIORITY);
   size_t spdy_request_headers_frame_length;
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_ZERO_RTT);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     AddWrite(ConstructInitialSettingsPacket());
   AddWrite(ConstructRequestHeadersPacket(kFin, DEFAULT_PRIORITY,
                                          &spdy_request_headers_frame_length));
@@ -2413,7 +2413,7 @@
   size_t spdy_trailers_frame_length;
   spdy::SpdyHeaderBlock trailers;
   trailers["foo"] = "bar";
-  if (!quic::VersionUsesQpack(version_.transport_version)) {
+  if (!quic::VersionUsesHttp3(version_.transport_version)) {
     trailers[quic::kFinalOffsetHeaderKey] =
         base::NumberToString(strlen(kResponseBody));
   }
diff --git a/net/quic/crypto/proof_test_chromium.cc b/net/quic/crypto/proof_test_chromium.cc
index 3eb5f3f..b6a3919 100644
--- a/net/quic/crypto/proof_test_chromium.cc
+++ b/net/quic/crypto/proof_test_chromium.cc
@@ -237,7 +237,7 @@
   string sig;
   bool success;
   std::unique_ptr<TestingSignatureCallback> callback =
-      quic::QuicMakeUnique<TestingSignatureCallback>(&success, &sig);
+      std::make_unique<TestingSignatureCallback>(&success, &sig);
   source->ComputeTlsSignature(server_address, hostname, SSL_SIGN_RSA_PSS_SHA256,
                               to_be_signed, std::move(callback));
   EXPECT_TRUE(success);
diff --git a/net/quic/mock_crypto_client_stream.cc b/net/quic/mock_crypto_client_stream.cc
index 5851566..3de9f46 100644
--- a/net/quic/mock_crypto_client_stream.cc
+++ b/net/quic/mock_crypto_client_stream.cc
@@ -32,6 +32,7 @@
 using quic::PACKET_8BYTE_CONNECTION_ID;
 using quic::Perspective;
 using quic::ProofVerifyContext;
+using quic::PROTOCOL_TLS1_3;
 using quic::QUIC_CRYPTO_MESSAGE_AFTER_HANDSHAKE_COMPLETE;
 using quic::QUIC_NO_ERROR;
 using quic::QUIC_PROOF_INVALID;
@@ -39,13 +40,13 @@
 using quic::QuicCryptoClientConfig;
 using quic::QuicCryptoNegotiatedParameters;
 using quic::QuicErrorCode;
-using quic::QuicMakeUnique;
 using quic::QuicServerId;
 using quic::QuicSession;
 using quic::QuicSpdyClientSessionBase;
 using quic::QuicStringPiece;
 using quic::QuicTagVector;
 using quic::QuicTime;
+using quic::TransportParameters;
 using std::string;
 
 namespace net {
@@ -111,28 +112,28 @@
         if (session()->connection()->version().KnowsWhichDecrypterToUse()) {
           session()->connection()->InstallDecrypter(
               ENCRYPTION_ZERO_RTT,
-              QuicMakeUnique<MockDecrypter>(Perspective::IS_CLIENT));
+              std::make_unique<MockDecrypter>(Perspective::IS_CLIENT));
         } else {
           session()->connection()->SetDecrypter(
               ENCRYPTION_ZERO_RTT,
-              QuicMakeUnique<MockDecrypter>(Perspective::IS_CLIENT));
+              std::make_unique<MockDecrypter>(Perspective::IS_CLIENT));
         }
         session()->connection()->SetEncrypter(
             ENCRYPTION_ZERO_RTT,
-            QuicMakeUnique<MockEncrypter>(Perspective::IS_CLIENT));
+            std::make_unique<MockEncrypter>(Perspective::IS_CLIENT));
       } else {
         if (session()->connection()->version().KnowsWhichDecrypterToUse()) {
           session()->connection()->InstallDecrypter(
               ENCRYPTION_ZERO_RTT,
-              QuicMakeUnique<NullDecrypter>(Perspective::IS_CLIENT));
+              std::make_unique<NullDecrypter>(Perspective::IS_CLIENT));
         } else {
           session()->connection()->SetDecrypter(
               ENCRYPTION_ZERO_RTT,
-              QuicMakeUnique<NullDecrypter>(Perspective::IS_CLIENT));
+              std::make_unique<NullDecrypter>(Perspective::IS_CLIENT));
         }
         session()->connection()->SetEncrypter(
             ENCRYPTION_ZERO_RTT,
-            QuicMakeUnique<NullEncrypter>(Perspective::IS_CLIENT));
+            std::make_unique<NullEncrypter>(Perspective::IS_CLIENT));
       }
       session()->connection()->SetDefaultEncryptionLevel(ENCRYPTION_ZERO_RTT);
       session()->OnCryptoHandshakeEvent(QuicSession::ENCRYPTION_ESTABLISHED);
@@ -153,29 +154,29 @@
         if (session()->connection()->version().KnowsWhichDecrypterToUse()) {
           session()->connection()->InstallDecrypter(
               ENCRYPTION_FORWARD_SECURE,
-              QuicMakeUnique<MockDecrypter>(Perspective::IS_CLIENT));
+              std::make_unique<MockDecrypter>(Perspective::IS_CLIENT));
         } else {
           session()->connection()->SetDecrypter(
               ENCRYPTION_FORWARD_SECURE,
-              QuicMakeUnique<MockDecrypter>(Perspective::IS_CLIENT));
+              std::make_unique<MockDecrypter>(Perspective::IS_CLIENT));
         }
         session()->connection()->SetEncrypter(
             ENCRYPTION_FORWARD_SECURE,
-            QuicMakeUnique<MockEncrypter>(Perspective::IS_CLIENT));
+            std::make_unique<MockEncrypter>(Perspective::IS_CLIENT));
       } else {
         if (session()->connection()->version().KnowsWhichDecrypterToUse()) {
           session()->connection()->InstallDecrypter(
               ENCRYPTION_FORWARD_SECURE,
-              QuicMakeUnique<NullDecrypter>(Perspective::IS_CLIENT));
+              std::make_unique<NullDecrypter>(Perspective::IS_CLIENT));
         } else {
           session()->connection()->SetDecrypter(
               ENCRYPTION_FORWARD_SECURE,
-              QuicMakeUnique<NullDecrypter>(Perspective::IS_CLIENT));
+              std::make_unique<NullDecrypter>(Perspective::IS_CLIENT));
         }
         session()->connection()->SetEncrypter(ENCRYPTION_INITIAL, nullptr);
         session()->connection()->SetEncrypter(
             ENCRYPTION_FORWARD_SECURE,
-            QuicMakeUnique<NullEncrypter>(Perspective::IS_CLIENT));
+            std::make_unique<NullEncrypter>(Perspective::IS_CLIENT));
       }
       session()->connection()->SetDefaultEncryptionLevel(
           ENCRYPTION_FORWARD_SECURE);
@@ -228,29 +229,29 @@
       if (session()->connection()->version().KnowsWhichDecrypterToUse()) {
         session()->connection()->InstallDecrypter(
             ENCRYPTION_FORWARD_SECURE,
-            QuicMakeUnique<MockDecrypter>(Perspective::IS_CLIENT));
+            std::make_unique<MockDecrypter>(Perspective::IS_CLIENT));
       } else {
         session()->connection()->SetDecrypter(
             ENCRYPTION_FORWARD_SECURE,
-            QuicMakeUnique<MockDecrypter>(Perspective::IS_CLIENT));
+            std::make_unique<MockDecrypter>(Perspective::IS_CLIENT));
       }
       session()->connection()->SetEncrypter(
           ENCRYPTION_FORWARD_SECURE,
-          QuicMakeUnique<MockEncrypter>(Perspective::IS_CLIENT));
+          std::make_unique<MockEncrypter>(Perspective::IS_CLIENT));
     } else {
       if (session()->connection()->version().KnowsWhichDecrypterToUse()) {
         session()->connection()->InstallDecrypter(
             ENCRYPTION_FORWARD_SECURE,
-            QuicMakeUnique<NullDecrypter>(Perspective::IS_CLIENT));
+            std::make_unique<NullDecrypter>(Perspective::IS_CLIENT));
       } else {
         session()->connection()->SetDecrypter(
             ENCRYPTION_FORWARD_SECURE,
-            QuicMakeUnique<NullDecrypter>(Perspective::IS_CLIENT));
+            std::make_unique<NullDecrypter>(Perspective::IS_CLIENT));
       }
       session()->connection()->SetEncrypter(ENCRYPTION_INITIAL, nullptr);
       session()->connection()->SetEncrypter(
           ENCRYPTION_FORWARD_SECURE,
-          QuicMakeUnique<NullEncrypter>(Perspective::IS_CLIENT));
+          std::make_unique<NullEncrypter>(Perspective::IS_CLIENT));
     }
     session()->connection()->SetDefaultEncryptionLevel(
         ENCRYPTION_FORWARD_SECURE);
@@ -282,13 +283,27 @@
       kDefaultMaxStreamsPerConnection / 2);
   config.SetMaxIncomingUnidirectionalStreamsToSend(
       kDefaultMaxStreamsPerConnection / 2);
+  config.SetInitialMaxStreamDataBytesIncomingBidirectionalToSend(
+      quic::kMinimumFlowControlSendWindow);
+  config.SetInitialMaxStreamDataBytesOutgoingBidirectionalToSend(
+      quic::kMinimumFlowControlSendWindow);
+  config.SetInitialMaxStreamDataBytesUnidirectionalToSend(
+      quic::kMinimumFlowControlSendWindow);
 
-  CryptoHandshakeMessage msg;
-  config.ToHandshakeMessage(
-      &msg, session()->connection()->version().transport_version);
+  QuicErrorCode error;
   std::string error_details;
-  const QuicErrorCode error =
-      session()->config()->ProcessPeerHello(msg, CLIENT, &error_details);
+  if (session()->connection()->version().handshake_protocol ==
+      PROTOCOL_TLS1_3) {
+    TransportParameters params;
+    ASSERT_TRUE(config.FillTransportParameters(&params));
+    error = session()->config()->ProcessTransportParameters(params, CLIENT,
+                                                            &error_details);
+  } else {
+    CryptoHandshakeMessage msg;
+    config.ToHandshakeMessage(
+        &msg, session()->connection()->version().transport_version);
+    error = session()->config()->ProcessPeerHello(msg, CLIENT, &error_details);
+  }
   ASSERT_EQ(QUIC_NO_ERROR, error);
   ASSERT_TRUE(session()->config()->negotiated());
   session()->OnConfigNegotiated();
diff --git a/net/quic/platform/impl/quic_default_proof_providers_impl.cc b/net/quic/platform/impl/quic_default_proof_providers_impl.cc
index 23d6833..c84146d8 100644
--- a/net/quic/platform/impl/quic_default_proof_providers_impl.cc
+++ b/net/quic/platform/impl/quic_default_proof_providers_impl.cc
@@ -76,7 +76,7 @@
     const std::string& host) {
   std::unique_ptr<net::CertVerifier> cert_verifier =
       net::CertVerifier::CreateDefault(/*cert_net_fetcher=*/nullptr);
-  return QuicMakeUnique<ProofVerifierChromiumWithOwnership>(
+  return std::make_unique<ProofVerifierChromiumWithOwnership>(
       std::move(cert_verifier), host);
 }
 
diff --git a/net/quic/quic_chromium_client_session.cc b/net/quic/quic_chromium_client_session.cc
index acac95a..4a8dec6 100644
--- a/net/quic/quic_chromium_client_session.cc
+++ b/net/quic/quic_chromium_client_session.cc
@@ -766,7 +766,7 @@
                                        connection_description,
                                        std::move(socket_performance_watcher),
                                        net_log_)),
-      http3_logger_(VersionHasStreamType(connection->transport_version())
+      http3_logger_(VersionUsesHttp3(connection->transport_version())
                         ? new QuicHttp3Logger(net_log_)
                         : nullptr),
       going_away_(false),
@@ -803,7 +803,7 @@
           std::make_unique<ProofVerifyContextChromium>(cert_verify_flags,
                                                        net_log_),
           crypto_config_->GetConfig()));
-  if (VersionHasStreamType(transport_version()))
+  if (VersionUsesHttp3(transport_version()))
     set_debug_visitor(http3_logger_.get());
   connection->set_debug_visitor(logger_.get());
   connection->set_creator_debug_delegate(logger_.get());
@@ -982,11 +982,11 @@
     quic::QuicStreamId id,
     const spdy::SpdyStreamPrecedence& new_precedence) {
   if (headers_include_h2_stream_dependency_ ||
-      VersionHasStreamType(connection()->transport_version())) {
+      VersionUsesHttp3(connection()->transport_version())) {
     auto updates = priority_dependency_state_.OnStreamUpdate(
         id, new_precedence.spdy3_priority());
     for (auto update : updates) {
-      if (!VersionHasStreamType(connection()->transport_version())) {
+      if (!VersionUsesHttp3(connection()->transport_version())) {
         WritePriority(update.id, update.parent_stream_id, update.weight,
                       update.exclusive);
       } else if (FLAGS_quic_allow_http3_priority) {
@@ -3110,7 +3110,7 @@
                              net_log_);
     }
     if (headers_include_h2_stream_dependency_ ||
-        VersionHasStreamType(connection()->transport_version())) {
+        VersionUsesHttp3(connection()->transport_version())) {
       // Even though the promised stream will not be created until after the
       // push promise headers are received, send a PRIORITY frame for the
       // promised stream ID. Send |kDefaultPriority| since that will be the
@@ -3121,7 +3121,7 @@
       bool exclusive = false;
       priority_dependency_state_.OnStreamCreation(
           promised_id, priority, &parent_stream_id, &weight, &exclusive);
-      if (!VersionHasStreamType(connection()->transport_version())) {
+      if (!VersionUsesHttp3(connection()->transport_version())) {
         WritePriority(promised_id, parent_stream_id, weight, exclusive);
       } else if (FLAGS_quic_allow_http3_priority) {
         quic::PriorityFrame frame;
diff --git a/net/quic/quic_chromium_client_session_test.cc b/net/quic/quic_chromium_client_session_test.cc
index d7d6c5b..3a576e4 100644
--- a/net/quic/quic_chromium_client_session_test.cc
+++ b/net/quic/quic_chromium_client_session_test.cc
@@ -291,7 +291,7 @@
 
 TEST_P(QuicChromiumClientSessionTest, IsFatalErrorNotSetForNonFatalError) {
   MockQuicData quic_data(version_);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     quic_data.AddWrite(SYNCHRONOUS, client_maker_.MakeInitialSettingsPacket(1));
   quic_data.AddRead(ASYNC, ERR_IO_PENDING);
   quic_data.AddRead(ASYNC, OK);  // EOF
@@ -315,7 +315,7 @@
 
 TEST_P(QuicChromiumClientSessionTest, IsFatalErrorSetForFatalError) {
   MockQuicData quic_data(version_);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     quic_data.AddWrite(SYNCHRONOUS, client_maker_.MakeInitialSettingsPacket(1));
   quic_data.AddRead(ASYNC, ERR_IO_PENDING);
   quic_data.AddRead(ASYNC, OK);  // EOF
@@ -337,7 +337,7 @@
 
 TEST_P(QuicChromiumClientSessionTest, CryptoConnect) {
   MockQuicData quic_data(version_);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     quic_data.AddWrite(SYNCHRONOUS, client_maker_.MakeInitialSettingsPacket(1));
   quic_data.AddRead(ASYNC, ERR_IO_PENDING);
   quic_data.AddRead(ASYNC, OK);  // EOF
@@ -348,7 +348,7 @@
 
 TEST_P(QuicChromiumClientSessionTest, Handle) {
   MockQuicData quic_data(version_);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     quic_data.AddWrite(SYNCHRONOUS, client_maker_.MakeInitialSettingsPacket(1));
   quic_data.AddRead(ASYNC, ERR_IO_PENDING);
   quic_data.AddRead(ASYNC, OK);  // EOF
@@ -431,7 +431,7 @@
 
 TEST_P(QuicChromiumClientSessionTest, StreamRequest) {
   MockQuicData quic_data(version_);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     quic_data.AddWrite(SYNCHRONOUS, client_maker_.MakeInitialSettingsPacket(1));
   quic_data.AddRead(ASYNC, ERR_IO_PENDING);
   quic_data.AddRead(ASYNC, OK);  // EOF
@@ -456,7 +456,7 @@
 
 TEST_P(QuicChromiumClientSessionTest, ConfirmationRequiredStreamRequest) {
   MockQuicData quic_data(version_);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     quic_data.AddWrite(SYNCHRONOUS, client_maker_.MakeInitialSettingsPacket(1));
   quic_data.AddRead(ASYNC, ERR_IO_PENDING);
   quic_data.AddRead(ASYNC, OK);  // EOF
@@ -481,7 +481,7 @@
 
 TEST_P(QuicChromiumClientSessionTest, StreamRequestBeforeConfirmation) {
   MockQuicData quic_data(version_);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     quic_data.AddWrite(SYNCHRONOUS, client_maker_.MakeInitialSettingsPacket(1));
   quic_data.AddRead(ASYNC, ERR_IO_PENDING);
   quic_data.AddRead(ASYNC, OK);  // EOF
@@ -512,7 +512,7 @@
 TEST_P(QuicChromiumClientSessionTest, CancelStreamRequestBeforeRelease) {
   MockQuicData quic_data(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     quic_data.AddWrite(SYNCHRONOUS,
                        client_maker_.MakeInitialSettingsPacket(packet_num++));
   }
@@ -755,7 +755,7 @@
 TEST_P(QuicChromiumClientSessionTest, ConnectionCloseBeforeStreamRequest) {
   MockQuicData quic_data(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     quic_data.AddWrite(SYNCHRONOUS,
                        client_maker_.MakeInitialSettingsPacket(packet_num++));
   }
@@ -956,7 +956,7 @@
   base::HistogramTester histogram_tester;
   MockQuicData quic_data(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     quic_data.AddWrite(ASYNC,
                        client_maker_.MakeInitialSettingsPacket(packet_num++));
   }
@@ -1010,7 +1010,7 @@
   base::HistogramTester histogram_tester;
   MockQuicData quic_data(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     quic_data.AddWrite(ASYNC,
                        client_maker_.MakeInitialSettingsPacket(packet_num++));
   }
@@ -1067,12 +1067,12 @@
 
 // Regression test for crbug.com/968621.
 TEST_P(QuicChromiumClientSessionTest, PendingStreamOnRst) {
-  if (!quic::VersionHasStreamType(version_.transport_version))
+  if (!quic::VersionUsesHttp3(version_.transport_version))
     return;
 
   MockQuicData quic_data(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     quic_data.AddWrite(ASYNC,
                        client_maker_.MakeInitialSettingsPacket(packet_num++));
   }
@@ -1099,12 +1099,12 @@
 
 // Regression test for crbug.com/971361.
 TEST_P(QuicChromiumClientSessionTest, ClosePendingStream) {
-  if (!quic::VersionHasStreamType(version_.transport_version))
+  if (!quic::VersionUsesHttp3(version_.transport_version))
     return;
 
   MockQuicData quic_data(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     quic_data.AddWrite(ASYNC,
                        client_maker_.MakeInitialSettingsPacket(packet_num++));
   }
@@ -1129,7 +1129,7 @@
 TEST_P(QuicChromiumClientSessionTest, CancelPushWhenPendingValidation) {
   MockQuicData quic_data(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     quic_data.AddWrite(ASYNC,
                        client_maker_.MakeInitialSettingsPacket(packet_num++));
   }
@@ -1187,7 +1187,7 @@
   base::HistogramTester histogram_tester;
   MockQuicData quic_data(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     quic_data.AddWrite(ASYNC,
                        client_maker_.MakeInitialSettingsPacket(packet_num++));
   }
@@ -1241,7 +1241,7 @@
   base::HistogramTester histogram_tester;
   MockQuicData quic_data(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     quic_data.AddWrite(ASYNC,
                        client_maker_.MakeInitialSettingsPacket(packet_num++));
   }
@@ -1357,7 +1357,7 @@
 
 TEST_P(QuicChromiumClientSessionTest, GoAwayReceived) {
   MockQuicData quic_data(version_);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     quic_data.AddWrite(SYNCHRONOUS, client_maker_.MakeInitialSettingsPacket(1));
   quic_data.AddRead(ASYNC, ERR_IO_PENDING);
   quic_data.AddRead(ASYNC, OK);  // EOF
@@ -1376,7 +1376,7 @@
 
 TEST_P(QuicChromiumClientSessionTest, CanPool) {
   MockQuicData quic_data(version_);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     quic_data.AddWrite(SYNCHRONOUS, client_maker_.MakeInitialSettingsPacket(1));
   quic_data.AddRead(ASYNC, ERR_IO_PENDING);
   quic_data.AddRead(ASYNC, OK);  // EOF
@@ -1451,7 +1451,7 @@
                      SocketTag(), kNetworkIsolationKey1);
 
   MockQuicData quic_data(version_);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     quic_data.AddWrite(SYNCHRONOUS, client_maker_.MakeInitialSettingsPacket(1));
   quic_data.AddRead(ASYNC, ERR_IO_PENDING);
   quic_data.AddRead(ASYNC, OK);  // EOF
@@ -1509,7 +1509,7 @@
   const char kNoPinsHost[] = "no-pkp.example.org";
 
   MockQuicData quic_data(version_);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     quic_data.AddWrite(SYNCHRONOUS, client_maker_.MakeInitialSettingsPacket(1));
   quic_data.AddRead(ASYNC, ERR_IO_PENDING);
   quic_data.AddRead(ASYNC, OK);  // EOF
@@ -1540,7 +1540,7 @@
   ScopedTransportSecurityStateSource scoped_security_state_source;
 
   MockQuicData quic_data(version_);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     quic_data.AddWrite(SYNCHRONOUS, client_maker_.MakeInitialSettingsPacket(1));
   quic_data.AddRead(ASYNC, ERR_IO_PENDING);
   quic_data.AddRead(ASYNC, OK);  // EOF
@@ -1572,7 +1572,7 @@
   MockQuicData quic_data(version_);
   int packet_num = 1;
   socket_data_.reset();
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     quic_data.AddWrite(SYNCHRONOUS,
                        client_maker_.MakeInitialSettingsPacket(packet_num++));
   }
@@ -1585,7 +1585,7 @@
   char data[] = "ABCD";
   std::unique_ptr<quic::QuicEncryptedPacket> client_ping;
   std::unique_ptr<quic::QuicEncryptedPacket> ack_and_data_out;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     client_ping =
         client_maker_.MakeAckAndPingPacket(packet_num++, false, 1, 1, 1);
   } else {
@@ -1646,7 +1646,7 @@
   MockQuicData quic_data(version_);
   socket_data_.reset();
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     quic_data.AddWrite(SYNCHRONOUS,
                        client_maker_.MakeInitialSettingsPacket(packet_num++));
   }
@@ -1707,7 +1707,7 @@
   std::unique_ptr<quic::QuicEncryptedPacket> initial_ping;
   std::vector<MockWrite> old_writes;
   std::vector<MockRead> old_reads;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     settings_packet = client_maker_.MakeInitialSettingsPacket(1);
     old_writes.push_back(MockWrite(ASYNC, settings_packet->data(),
                                    settings_packet->length(), 0));
@@ -1728,7 +1728,7 @@
   Initialize();
   CompleteCryptoHandshake();
 
-  if (!VersionUsesQpack(version_.transport_version))
+  if (!VersionUsesHttp3(version_.transport_version))
     session_->SendPing();
   MockWrite writes[] = {
       MockWrite(SYNCHRONOUS, client_ping->data(), client_ping->length(), 1)};
@@ -1852,7 +1852,7 @@
 
   MockQuicData quic_data(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     quic_data.AddWrite(SYNCHRONOUS,
                        client_maker_.MakeInitialSettingsPacket(packet_num++));
   }
diff --git a/net/quic/quic_chromium_client_stream.cc b/net/quic/quic_chromium_client_stream.cc
index 5b2dbae..ed8709e 100644
--- a/net/quic/quic_chromium_client_stream.cc
+++ b/net/quic/quic_chromium_client_stream.cc
@@ -709,7 +709,7 @@
 }
 
 bool QuicChromiumClientStream::IsFirstStream() {
-  if (VersionUsesQpack(quic_version_)) {
+  if (VersionUsesHttp3(quic_version_)) {
     return id() == quic::QuicUtils::GetFirstBidirectionalStreamId(
                        quic_version_, quic::Perspective::IS_CLIENT);
   }
diff --git a/net/quic/quic_flags_list.h b/net/quic/quic_flags_list.h
index f8be3e9..af73f745 100644
--- a/net/quic/quic_flags_list.h
+++ b/net/quic/quic_flags_list.h
@@ -402,3 +402,6 @@
 
 // If true, support HTTP/3 priority in v99.
 QUIC_FLAG(bool, FLAGS_quic_allow_http3_priority, false)
+
+// If true, enable QUIC version 50.
+QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_enable_version_50, false)
diff --git a/net/quic/quic_http_stream.cc b/net/quic/quic_http_stream.cc
index 6cd7318..af8df9d0 100644
--- a/net/quic/quic_http_stream.cc
+++ b/net/quic/quic_http_stream.cc
@@ -101,6 +101,8 @@
       return HttpResponseInfo::CONNECTION_INFO_QUIC_48;
     case quic::QUIC_VERSION_49:
       return HttpResponseInfo::CONNECTION_INFO_QUIC_49;
+    case quic::QUIC_VERSION_50:
+      return HttpResponseInfo::CONNECTION_INFO_QUIC_50;
     case quic::QUIC_VERSION_99:
       return HttpResponseInfo::CONNECTION_INFO_QUIC_99;
     case quic::QUIC_VERSION_RESERVED_FOR_NEGOTIATION:
@@ -350,7 +352,7 @@
   // When QPACK is enabled, headers are sent and received on the stream, so
   // the headers bytes do not need to be accounted for independently.
   int64_t total_received_bytes =
-      quic::VersionUsesQpack(quic_session()->GetQuicVersion())
+      quic::VersionUsesHttp3(quic_session()->GetQuicVersion())
           ? 0
           : headers_bytes_received_;
   if (stream_) {
@@ -367,7 +369,7 @@
   // When QPACK is enabled, headers are sent and received on the stream, so
   // the headers bytes do not need to be accounted for independently.
   int64_t total_sent_bytes =
-      quic::VersionUsesQpack(quic_session()->GetQuicVersion())
+      quic::VersionUsesHttp3(quic_session()->GetQuicVersion())
           ? 0
           : headers_bytes_sent_;
   if (stream_) {
diff --git a/net/quic/quic_http_stream_test.cc b/net/quic/quic_http_stream_test.cc
index 92aeb21..74e87cf 100644
--- a/net/quic/quic_http_stream_test.cc
+++ b/net/quic/quic_http_stream_test.cc
@@ -308,7 +308,7 @@
     send_algorithm_ = new quic::test::MockSendAlgorithm();
     EXPECT_CALL(*send_algorithm_, InRecovery()).WillRepeatedly(Return(false));
     EXPECT_CALL(*send_algorithm_, InSlowStart()).WillRepeatedly(Return(false));
-    if (VersionUsesQpack(version_.transport_version)) {
+    if (VersionUsesHttp3(version_.transport_version)) {
       EXPECT_CALL(*send_algorithm_, OnPacketSent(_, _, _, _, _))
           .Times(testing::AtLeast(1));
     }
@@ -773,7 +773,7 @@
   SetRequest("GET", "/", DEFAULT_PRIORITY);
   size_t spdy_request_header_frame_length;
   int packet_number = 1;
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     AddWrite(ConstructInitialSettingsPacket(packet_number++));
   AddWrite(InnerConstructRequestHeadersPacket(
       packet_number++, GetNthClientInitiatedBidirectionalStreamId(0),
@@ -837,7 +837,7 @@
   size_t spdy_request_header_frame_length;
 
   int packet_number = 1;
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     AddWrite(ConstructInitialSettingsPacket(packet_number++));
   AddWrite(InnerConstructRequestHeadersPacket(
       packet_number++, GetNthClientInitiatedBidirectionalStreamId(0),
@@ -928,7 +928,7 @@
   SetRequest("GET", "/", DEFAULT_PRIORITY);
   size_t spdy_request_header_frame_length;
   int packet_number = 1;
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     AddWrite(ConstructInitialSettingsPacket(packet_number++));
   AddWrite(InnerConstructRequestHeadersPacket(
       packet_number++, GetNthClientInitiatedBidirectionalStreamId(0),
@@ -976,7 +976,7 @@
   spdy::SpdyHeaderBlock trailers;
   size_t spdy_trailers_frame_length;
   trailers["foo"] = "bar";
-  if (!quic::VersionUsesQpack(version_.transport_version)) {
+  if (!quic::VersionUsesHttp3(version_.transport_version)) {
     trailers[quic::kFinalOffsetHeaderKey] =
         base::NumberToString(strlen(kResponseBody) + header.length());
   }
@@ -1027,7 +1027,7 @@
   SetRequest("GET", "/", DEFAULT_PRIORITY);
   size_t spdy_request_headers_frame_length;
   int packet_number = 1;
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     AddWrite(ConstructInitialSettingsPacket(packet_number++));
   AddWrite(InnerConstructRequestHeadersPacket(
       packet_number++, GetNthClientInitiatedBidirectionalStreamId(0),
@@ -1156,7 +1156,7 @@
   SetRequest("GET", "/", DEFAULT_PRIORITY);
   size_t spdy_request_headers_frame_length;
   int packet_number = 1;
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     AddWrite(ConstructInitialSettingsPacket(packet_number++));
   AddWrite(InnerConstructRequestHeadersPacket(
       packet_number++, GetNthClientInitiatedBidirectionalStreamId(0),
@@ -1209,7 +1209,7 @@
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_ZERO_RTT);
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_ZERO_RTT);
   int packet_number = 1;
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     AddWrite(ConstructInitialSettingsPacket(packet_number++));
   AddWrite(InnerConstructRequestHeadersPacket(
       packet_number++, GetNthClientInitiatedBidirectionalStreamId(0),
@@ -1246,7 +1246,7 @@
   SetRequest("GET", "/", DEFAULT_PRIORITY);
   size_t spdy_request_headers_frame_length;
   int packet_number = 1;
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     AddWrite(ConstructInitialSettingsPacket(packet_number++));
   AddWrite(InnerConstructRequestHeadersPacket(
       packet_number++, GetNthClientInitiatedBidirectionalStreamId(0),
@@ -1280,7 +1280,7 @@
   SetRequest("POST", "/", DEFAULT_PRIORITY);
   size_t spdy_request_headers_frame_length;
   int packet_number = 1;
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     AddWrite(ConstructInitialSettingsPacket(packet_number++));
 
   std::string header = ConstructDataHeader(strlen(kUploadData));
@@ -1363,7 +1363,7 @@
   SetRequest("POST", "/", DEFAULT_PRIORITY);
   size_t spdy_request_headers_frame_length;
   int packet_number = 1;
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     AddWrite(ConstructInitialSettingsPacket(packet_number++));
   std::string header = ConstructDataHeader(strlen(kUploadData));
   if (version_.transport_version != quic::QUIC_VERSION_99) {
@@ -1447,7 +1447,7 @@
   size_t chunk_size = strlen(kUploadData);
   size_t spdy_request_headers_frame_length;
   int packet_number = 1;
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     AddWrite(ConstructInitialSettingsPacket(packet_number++));
   std::string header = ConstructDataHeader(chunk_size);
   if (version_.transport_version == quic::QUIC_VERSION_99) {
@@ -1533,7 +1533,7 @@
   size_t chunk_size = strlen(kUploadData);
   size_t spdy_request_headers_frame_length;
   int packet_number = 1;
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     AddWrite(ConstructInitialSettingsPacket(packet_number++));
   std::string header = ConstructDataHeader(chunk_size);
 
@@ -1614,7 +1614,7 @@
   SetRequest("POST", "/", DEFAULT_PRIORITY);
   size_t spdy_request_headers_frame_length;
   int packet_number = 1;
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     AddWrite(ConstructInitialSettingsPacket(packet_number++));
   AddWrite(InnerConstructRequestHeadersPacket(
       packet_number++, GetNthClientInitiatedBidirectionalStreamId(0),
@@ -1685,7 +1685,7 @@
   SetRequest("GET", "/", DEFAULT_PRIORITY);
   size_t spdy_request_headers_frame_length;
   int packet_number = 1;
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     AddWrite(ConstructInitialSettingsPacket(packet_number++));
   AddWrite(InnerConstructRequestHeadersPacket(
       packet_number++, GetNthClientInitiatedBidirectionalStreamId(0),
@@ -1733,7 +1733,7 @@
   SetRequest("GET", "/", MEDIUM);
   size_t spdy_request_headers_frame_length;
   int packet_number = 1;
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     AddWrite(ConstructInitialSettingsPacket(packet_number++));
   AddWrite(InnerConstructRequestHeadersPacket(
       packet_number++, GetNthClientInitiatedBidirectionalStreamId(0),
@@ -1776,7 +1776,7 @@
   SetRequest("POST", "/", DEFAULT_PRIORITY);
   size_t spdy_request_headers_frame_length;
   int packet_number = 1;
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     AddWrite(ConstructInitialSettingsPacket(packet_number++));
   std::string header = ConstructDataHeader(strlen(kUploadData));
   if (version_.transport_version != quic::QUIC_VERSION_99) {
@@ -1828,7 +1828,7 @@
 
 TEST_P(QuicHttpStreamTest, SessionClosedBeforeSendHeadersComplete) {
   SetRequest("POST", "/", DEFAULT_PRIORITY);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     AddWrite(ConstructInitialSettingsPacket());
   AddWrite(SYNCHRONOUS, ERR_FAILED);
   Initialize();
@@ -1860,7 +1860,7 @@
 
 TEST_P(QuicHttpStreamTest, SessionClosedBeforeSendHeadersCompleteReadResponse) {
   SetRequest("POST", "/", DEFAULT_PRIORITY);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     AddWrite(ConstructInitialSettingsPacket());
   AddWrite(SYNCHRONOUS, ERR_FAILED);
   Initialize();
@@ -1897,7 +1897,7 @@
   SetRequest("POST", "/", DEFAULT_PRIORITY);
   size_t spdy_request_headers_frame_length;
   int packet_number = 1;
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     AddWrite(ConstructInitialSettingsPacket(packet_number++));
   AddWrite(InnerConstructRequestHeadersPacket(
       packet_number++, GetNthClientInitiatedBidirectionalStreamId(0),
@@ -1939,7 +1939,7 @@
   SetRequest("POST", "/", DEFAULT_PRIORITY);
   size_t spdy_request_headers_frame_length;
   int packet_number = 1;
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     AddWrite(ConstructInitialSettingsPacket(packet_number++));
   std::string header = ConstructDataHeader(strlen(kUploadData));
   if (version_.transport_version != quic::QUIC_VERSION_99) {
@@ -2460,7 +2460,7 @@
   SetRequest("POST", "/", DEFAULT_PRIORITY);
   size_t spdy_request_headers_frame_length;
   int packet_number = 1;
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     AddWrite(ConstructInitialSettingsPacket(packet_number++));
   AddWrite(ConstructRequestAndRstPacket(
       packet_number++, GetNthClientInitiatedBidirectionalStreamId(0),
@@ -2496,7 +2496,7 @@
   SetRequest("POST", "/", DEFAULT_PRIORITY);
   size_t spdy_request_headers_frame_length;
   int packet_number = 1;
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     AddWrite(ConstructInitialSettingsPacket(packet_number++));
   AddWrite(InnerConstructRequestHeadersPacket(
       packet_number++, GetNthClientInitiatedBidirectionalStreamId(0),
diff --git a/net/quic/quic_network_transaction_unittest.cc b/net/quic/quic_network_transaction_unittest.cc
index a49b3071..ffda8beb 100644
--- a/net/quic/quic_network_transaction_unittest.cc
+++ b/net/quic/quic_network_transaction_unittest.cc
@@ -971,7 +971,7 @@
     MockQuicData quic_data(version_);
     int packet_number = 1;
     client_maker.SetEncryptionLevel(quic::ENCRYPTION_ZERO_RTT);
-    if (VersionUsesQpack(version_.transport_version)) {
+    if (VersionUsesHttp3(version_.transport_version)) {
       quic_data.AddWrite(
           SYNCHRONOUS, client_maker.MakeInitialSettingsPacket(packet_number++));
     }
@@ -1088,7 +1088,7 @@
       MockCryptoClientStream::CONFIRM_HANDSHAKE);
 
   MockQuicData mock_quic_data(version_);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     mock_quic_data.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket(1));
   mock_quic_data.AddWrite(SYNCHRONOUS, ERR_INTERNET_DISCONNECTED);
   mock_quic_data.AddRead(ASYNC, ERR_IO_PENDING);  // Pause
@@ -1119,7 +1119,7 @@
       MockCryptoClientStream::CONFIRM_HANDSHAKE);
 
   MockQuicData mock_quic_data(version_);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     mock_quic_data.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket(1));
   mock_quic_data.AddWrite(ASYNC, ERR_INTERNET_DISCONNECTED);
   mock_quic_data.AddRead(ASYNC, ERR_IO_PENDING);  // Pause
@@ -1147,7 +1147,7 @@
 
   MockQuicData mock_quic_data(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data.AddWrite(SYNCHRONOUS,
                             ConstructInitialSettingsPacket(packet_num++));
   }
@@ -1187,7 +1187,7 @@
 
   MockQuicData mock_quic_data(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data.AddWrite(SYNCHRONOUS,
                             ConstructInitialSettingsPacket(packet_num++));
   }
@@ -1227,7 +1227,7 @@
 
   MockQuicData mock_quic_data(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data.AddWrite(SYNCHRONOUS,
                             ConstructInitialSettingsPacket(packet_num++));
   }
@@ -1287,7 +1287,7 @@
   EXPECT_LT(0, pos);
 
   int log_stream_id = GetIntegerValueFromParams(entries[pos], "stream_id");
-  if (quic::VersionUsesQpack(version_.transport_version)) {
+  if (quic::VersionUsesHttp3(version_.transport_version)) {
     EXPECT_EQ(GetNthClientInitiatedBidirectionalStreamId(0),
               static_cast<quic::QuicStreamId>(log_stream_id));
   } else {
@@ -1302,7 +1302,7 @@
 
   MockQuicData mock_quic_data(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data.AddWrite(SYNCHRONOUS,
                             ConstructInitialSettingsPacket(packet_num++));
   }
@@ -1322,7 +1322,7 @@
   response_headers["key8"] = std::string(30000, 'A');
   quic::QuicStreamId stream_id;
   std::string response_data;
-  if (quic::VersionUsesQpack(version_.transport_version)) {
+  if (quic::VersionUsesHttp3(version_.transport_version)) {
     stream_id = GetNthClientInitiatedBidirectionalStreamId(0);
     std::vector<std::string> encoded = server_maker_.QpackEncodeHeaders(
         stream_id, std::move(response_headers), nullptr);
@@ -1378,7 +1378,7 @@
 
   MockQuicData mock_quic_data(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data.AddWrite(SYNCHRONOUS,
                             ConstructInitialSettingsPacket(packet_num++));
   }
@@ -1401,7 +1401,7 @@
 
   quic::QuicStreamId stream_id;
   std::string response_data;
-  if (quic::VersionUsesQpack(version_.transport_version)) {
+  if (quic::VersionUsesHttp3(version_.transport_version)) {
     stream_id = GetNthClientInitiatedBidirectionalStreamId(0);
     std::vector<std::string> encoded = server_maker_.QpackEncodeHeaders(
         stream_id, std::move(response_headers), nullptr);
@@ -1462,7 +1462,7 @@
 
   MockQuicData mock_quic_data(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data.AddWrite(SYNCHRONOUS,
                             ConstructInitialSettingsPacket(packet_num++));
   }
@@ -1500,7 +1500,7 @@
 
   MockQuicData mock_quic_data(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data.AddWrite(SYNCHRONOUS,
                             ConstructInitialSettingsPacket(packet_num++));
   }
@@ -1552,7 +1552,7 @@
   client_maker_.set_hostname(origin_host);
   MockQuicData mock_quic_data(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data.AddWrite(SYNCHRONOUS,
                             ConstructInitialSettingsPacket(packet_num++));
   }
@@ -1617,7 +1617,7 @@
   MockQuicData mock_quic_data(version_);
 
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data.AddWrite(SYNCHRONOUS,
                             ConstructInitialSettingsPacket(packet_num++));
   }
@@ -1715,7 +1715,7 @@
   // by the client has been advertised by the server.
   MockQuicData mock_quic_data(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data.AddWrite(SYNCHRONOUS,
                             ConstructInitialSettingsPacket(packet_num++));
   }
@@ -1792,7 +1792,7 @@
   // dispensing the socket, making it available for the second try.
   MockQuicData mock_quic_data(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data.AddWrite(SYNCHRONOUS,
                             ConstructInitialSettingsPacket(packet_num++));
   }
@@ -1853,12 +1853,12 @@
       HostPortPair::FromString("mail.example.org:443"));
 
   MockQuicData mock_quic_data1(version_);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     mock_quic_data1.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket(1));
   mock_quic_data1.AddRead(ASYNC, ERR_SOCKET_NOT_CONNECTED);
   client_maker_.Reset();
   MockQuicData mock_quic_data2(version_);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     mock_quic_data2.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket(1));
   crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details_);
   mock_quic_data2.AddRead(ASYNC, ERR_SOCKET_NOT_CONNECTED);
@@ -1919,7 +1919,7 @@
 
   MockQuicData mock_quic_data(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data.AddWrite(SYNCHRONOUS,
                             ConstructInitialSettingsPacket(packet_num++));
   }
@@ -1967,7 +1967,7 @@
 
   MockQuicData mock_quic_data(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data.AddWrite(SYNCHRONOUS,
                             ConstructInitialSettingsPacket(packet_num++));
   }
@@ -2045,7 +2045,7 @@
   // alternative service infrmation has been received in this context before.
   MockQuicData mock_quic_data(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data.AddWrite(SYNCHRONOUS,
                             ConstructInitialSettingsPacket(packet_num++));
   }
@@ -2127,7 +2127,7 @@
 
   MockQuicData mock_quic_data(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data.AddWrite(SYNCHRONOUS,
                             ConstructInitialSettingsPacket(packet_num++));
   }
@@ -2193,7 +2193,7 @@
 
   MockQuicData mock_quic_data(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data.AddWrite(SYNCHRONOUS,
                             ConstructInitialSettingsPacket(packet_num++));
   }
@@ -2241,7 +2241,7 @@
 
   MockQuicData mock_quic_data(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data.AddWrite(SYNCHRONOUS,
                             ConstructInitialSettingsPacket(packet_num++));
   }
@@ -2377,7 +2377,7 @@
 
   MockQuicData mock_quic_data(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data.AddWrite(SYNCHRONOUS,
                             ConstructInitialSettingsPacket(packet_num++));
   }
@@ -2445,7 +2445,7 @@
 
   MockQuicData mock_quic_data(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data.AddWrite(SYNCHRONOUS,
                             ConstructInitialSettingsPacket(packet_num++));
   }
@@ -2484,7 +2484,7 @@
   }
   MockQuicData mock_quic_data(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data.AddWrite(SYNCHRONOUS,
                             ConstructInitialSettingsPacket(packet_num++));
   }
@@ -2723,7 +2723,7 @@
                       client_maker_.MakeDummyCHLOPacket(1));  // CHLO
 
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_FORWARD_SECURE);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     quic_data2.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket(2));
   quic_data2.AddSocketDataToFactory(&socket_factory_);
 
@@ -2861,7 +2861,7 @@
                       client_maker_.MakeDummyCHLOPacket(1));  // CHLO
 
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_FORWARD_SECURE);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     quic_data2.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket(2));
   quic_data2.AddSocketDataToFactory(&socket_factory_);
 
@@ -2981,7 +2981,7 @@
   std::string header = ConstructDataHeader(body.length());
 
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_FORWARD_SECURE);
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     quic_data2.AddWrite(SYNCHRONOUS,
                         ConstructInitialSettingsPacket(packet_num++));
   }
@@ -3071,7 +3071,7 @@
   client_maker_.set_save_packet_frames(true);
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_ZERO_RTT);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     quic_data.AddWrite(SYNCHRONOUS,
                        ConstructInitialSettingsPacket(packet_num++));
   }
@@ -3083,7 +3083,7 @@
 
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_FORWARD_SECURE);
 
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     // TLP 1
     quic_data.AddWrite(SYNCHRONOUS, client_maker_.MakeRetransmissionPacket(
                                         1, packet_num++, true));
@@ -3190,7 +3190,7 @@
   client_maker_.set_save_packet_frames(true);
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_ZERO_RTT);
   int packet_number = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     quic_data.AddWrite(
         SYNCHRONOUS, client_maker_.MakeInitialSettingsPacket(packet_number++));
   }
@@ -3201,7 +3201,7 @@
           true, priority, GetRequestHeaders("GET", "https", "/"), 0, nullptr));
 
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_FORWARD_SECURE);
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     // TLP 1
     quic_data.AddWrite(SYNCHRONOUS,
                        client_maker_.MakeRetransmissionPacket(1, 3, true));
@@ -3313,7 +3313,7 @@
   client_maker_.set_save_packet_frames(true);
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_ZERO_RTT);
   int packet_number = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     quic_data.AddWrite(
         SYNCHRONOUS, client_maker_.MakeInitialSettingsPacket(packet_number++));
   }
@@ -3325,7 +3325,7 @@
 
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_FORWARD_SECURE);
 
-  if (!VersionUsesQpack(version_.transport_version)) {
+  if (!VersionUsesHttp3(version_.transport_version)) {
     quic_data.AddWrite(SYNCHRONOUS,
                        client_maker_.MakeRstPacket(
                            packet_number++, true,
@@ -3494,7 +3494,7 @@
   MockQuicData quic_data(version_);
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_ZERO_RTT);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     quic_data.AddWrite(SYNCHRONOUS,
                        ConstructInitialSettingsPacket(packet_num++));
   }
@@ -3571,7 +3571,7 @@
   client_maker_.set_save_packet_frames(true);
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_ZERO_RTT);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     quic_data.AddWrite(SYNCHRONOUS,
                        client_maker_.MakeInitialSettingsPacket(packet_num++));
   }
@@ -3582,7 +3582,7 @@
           true, priority, GetRequestHeaders("GET", "https", "/"), 0, nullptr));
 
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_FORWARD_SECURE);
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     // TLP 1
     quic_data.AddWrite(SYNCHRONOUS, client_maker_.MakeRetransmissionPacket(
                                         1, packet_num++, true));
@@ -3711,7 +3711,7 @@
   MockQuicData quic_data(version_);
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_ZERO_RTT);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     quic_data.AddWrite(SYNCHRONOUS,
                        ConstructInitialSettingsPacket(packet_num++));
   }
@@ -3822,7 +3822,7 @@
   MockQuicData quic_data(version_);
   uint64_t packet_number = 1;
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_ZERO_RTT);
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     quic_data.AddWrite(SYNCHRONOUS,
                        ConstructInitialSettingsPacket(packet_number++));
   }
@@ -3934,7 +3934,7 @@
 
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_ZERO_RTT);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     quic_data.AddWrite(SYNCHRONOUS,
                        ConstructInitialSettingsPacket(packet_num++));
   }
@@ -4036,7 +4036,7 @@
 
   MockQuicData mock_quic_data(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data.AddWrite(SYNCHRONOUS,
                             ConstructInitialSettingsPacket(packet_num++));
   }
@@ -4115,7 +4115,7 @@
   crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details);
 
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data.AddWrite(SYNCHRONOUS,
                             ConstructInitialSettingsPacket(packet_num++));
   }
@@ -4265,7 +4265,7 @@
   // alternative service list.
   MockQuicData mock_quic_data(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data.AddWrite(SYNCHRONOUS,
                             ConstructInitialSettingsPacket(packet_num++));
   }
@@ -4338,7 +4338,7 @@
   // alternative service list.
   MockQuicData mock_quic_data(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data.AddWrite(SYNCHRONOUS,
                             ConstructInitialSettingsPacket(packet_num++));
   }
@@ -4424,7 +4424,7 @@
   MockQuicData mock_quic_data(version_);
 
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data.AddWrite(SYNCHRONOUS,
                             ConstructInitialSettingsPacket(packet_num++));
   }
@@ -4514,7 +4514,7 @@
   MockQuicData mock_quic_data(version_);
 
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data.AddWrite(SYNCHRONOUS,
                             ConstructInitialSettingsPacket(packet_num++));
   }
@@ -4655,7 +4655,7 @@
   client_maker_.set_hostname("www.example.org");
   MockQuicData mock_quic_data(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data.AddWrite(SYNCHRONOUS,
                             ConstructInitialSettingsPacket(packet_num++));
   }
@@ -4767,7 +4767,7 @@
 
   MockQuicData mock_quic_data(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data.AddWrite(SYNCHRONOUS,
                             ConstructInitialSettingsPacket(packet_num++));
   }
@@ -4845,7 +4845,7 @@
 
   MockQuicData mock_quic_data(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data.AddWrite(SYNCHRONOUS,
                             ConstructInitialSettingsPacket(packet_num++));
   }
@@ -4914,7 +4914,7 @@
 
   MockQuicData mock_quic_data(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data.AddWrite(SYNCHRONOUS,
                             ConstructInitialSettingsPacket(packet_num++));
   }
@@ -4954,7 +4954,7 @@
 
   MockQuicData mock_quic_data(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data.AddWrite(SYNCHRONOUS,
                             ConstructInitialSettingsPacket(packet_num++));
   }
@@ -5061,7 +5061,7 @@
   MockQuicData mock_quic_data(version_);
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_ZERO_RTT);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data.AddWrite(SYNCHRONOUS,
                             ConstructInitialSettingsPacket(packet_num++));
   }
@@ -5103,7 +5103,7 @@
   MockQuicData mock_quic_data(version_);
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_ZERO_RTT);
   int packet_number = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data.AddWrite(
         SYNCHRONOUS, client_maker_.MakeInitialSettingsPacket(packet_number++));
   }
@@ -5175,7 +5175,7 @@
   MockQuicData mock_quic_data(version_);
   int packet_num = 1;
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_ZERO_RTT);
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data.AddWrite(SYNCHRONOUS,
                             ConstructInitialSettingsPacket(packet_num++));
   }
@@ -5234,7 +5234,7 @@
   uint64_t packet_number = 1;
   MockQuicData mock_quic_data(version_);
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_ZERO_RTT);
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data.AddWrite(
         SYNCHRONOUS, client_maker_.MakeInitialSettingsPacket(packet_number++));
   }
@@ -5317,7 +5317,7 @@
   uint64_t packet_number = 1;
   MockQuicData mock_quic_data(version_);
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_ZERO_RTT);
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data.AddWrite(
         SYNCHRONOUS, client_maker_.MakeInitialSettingsPacket(packet_number++));
   }
@@ -5406,7 +5406,7 @@
   MockQuicData mock_quic_data(version_);
   int packet_num = 1;
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_ZERO_RTT);
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data.AddWrite(SYNCHRONOUS,
                             ConstructInitialSettingsPacket(packet_num++));
   }
@@ -5463,7 +5463,7 @@
   MockQuicData mock_quic_data(version_);
   int packet_num = 1;
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_ZERO_RTT);
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data.AddWrite(SYNCHRONOUS,
                             ConstructInitialSettingsPacket(packet_num++));
   }
@@ -5524,7 +5524,7 @@
   MockQuicData mock_quic_data(version_);
   int packet_num = 1;
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_ZERO_RTT);
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data.AddWrite(SYNCHRONOUS,
                             ConstructInitialSettingsPacket(packet_num++));
   }
@@ -5595,7 +5595,7 @@
   MockQuicData mock_quic_data(version_);
   int packet_num = 1;
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_ZERO_RTT);
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data.AddWrite(SYNCHRONOUS,
                             ConstructInitialSettingsPacket(packet_num++));
   }
@@ -5789,7 +5789,7 @@
   MockQuicData mock_quic_data(version_);
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_ZERO_RTT);
   int packet_number = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data.AddWrite(SYNCHRONOUS,
                             ConstructInitialSettingsPacket(packet_number++));
   }
@@ -5855,7 +5855,7 @@
   MockQuicData mock_quic_data(version_);
   int packet_num = 1;
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_ZERO_RTT);
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data.AddWrite(SYNCHRONOUS,
                             ConstructInitialSettingsPacket(packet_num++));
   }
@@ -6212,7 +6212,7 @@
       test_socket_performance_watcher_factory_.rtt_notification_received());
   MockQuicData mock_quic_data(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data.AddWrite(SYNCHRONOUS,
                             ConstructInitialSettingsPacket(packet_num++));
   }
@@ -6298,7 +6298,7 @@
       HostPortPair::FromString("mail.example.org:443"));
 
   MockQuicData mock_quic_data(version_);
-  if (!VersionUsesQpack(version_.transport_version))
+  if (!VersionUsesHttp3(version_.transport_version))
     mock_quic_data.AddRead(SYNCHRONOUS, OK);
   else
     mock_quic_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
@@ -6345,7 +6345,7 @@
   MockQuicData socket_data(version_);
   socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     socket_data.AddWrite(SYNCHRONOUS,
                          ConstructInitialSettingsPacket(packet_num++));
   }
@@ -6392,7 +6392,7 @@
 
   MockQuicData socket_data(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     socket_data.AddWrite(SYNCHRONOUS,
                          ConstructInitialSettingsPacket(packet_num++));
   }
@@ -6434,7 +6434,7 @@
 
   MockQuicData socket_data(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     socket_data.AddWrite(SYNCHRONOUS,
                          ConstructInitialSettingsPacket(packet_num++));
   }
@@ -6477,7 +6477,7 @@
 
   MockQuicData socket_data(version_);
   socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);  // No more data to read
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     socket_data.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket(1));
   for (int i = 0; i < 13; ++i) {  // 12 retries then one final failure.
     socket_data.AddWrite(ASYNC, ERR_NO_BUFFER_SPACE);
@@ -6514,7 +6514,7 @@
 
   MockQuicData socket_data(version_);
   socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);  // No more data to read
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     socket_data.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket(1));
   for (int i = 0; i < 13; ++i) {  // 12 retries then one final failure.
     socket_data.AddWrite(ASYNC, ERR_NO_BUFFER_SPACE);
@@ -6555,7 +6555,7 @@
   MockQuicData socket_data(version_);
   socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     socket_data.AddWrite(SYNCHRONOUS,
                          ConstructInitialSettingsPacket(packet_num++));
   }
@@ -6587,7 +6587,7 @@
 
   MockQuicData mock_quic_data(version_);
   uint64_t client_packet_number = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data.AddWrite(
         SYNCHRONOUS, ConstructInitialSettingsPacket(client_packet_number++));
   }
@@ -6604,8 +6604,8 @@
           GetRequestHeaders("GET", "https", "/pushed.jpg"), &server_maker_));
   if ((client_headers_include_h2_stream_dependency_ &&
        version_.transport_version >= quic::QUIC_VERSION_43 &&
-       !VersionHasStreamType(version_.transport_version)) ||
-      (VersionHasStreamType(version_.transport_version) &&
+       !VersionUsesHttp3(version_.transport_version)) ||
+      (VersionUsesHttp3(version_.transport_version) &&
        FLAGS_quic_allow_http3_priority)) {
     mock_quic_data.AddWrite(
         SYNCHRONOUS,
@@ -6679,7 +6679,7 @@
   MockQuicData mock_quic_data(version_);
   uint64_t client_packet_number = 1;
   // Initial SETTINGS frame.
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data.AddWrite(
         SYNCHRONOUS, ConstructInitialSettingsPacket(client_packet_number++));
   }
@@ -6698,8 +6698,8 @@
           GetRequestHeaders("GET", "https", "/pushed.jpg"), &server_maker_));
   if ((client_headers_include_h2_stream_dependency_ &&
        version_.transport_version >= quic::QUIC_VERSION_43 &&
-       !VersionHasStreamType(version_.transport_version)) ||
-      (VersionHasStreamType(version_.transport_version) &&
+       !VersionUsesHttp3(version_.transport_version)) ||
+      (VersionUsesHttp3(version_.transport_version) &&
        FLAGS_quic_allow_http3_priority)) {
     mock_quic_data.AddWrite(
         SYNCHRONOUS,
@@ -6771,7 +6771,7 @@
   MockQuicData mock_quic_data(version_);
 
   int write_packet_index = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data.AddWrite(
         SYNCHRONOUS, ConstructInitialSettingsPacket(write_packet_index++));
   }
@@ -6866,7 +6866,7 @@
 
   MockQuicData mock_quic_data(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data.AddWrite(SYNCHRONOUS,
                             ConstructInitialSettingsPacket(packet_num++));
   }
@@ -6885,7 +6885,7 @@
                  GetResponseHeaders("200 OK")));
   quic::QuicStreamOffset expected_raw_header_response_size =
       server_maker_.stream_offset(
-          quic::VersionUsesQpack(version_.transport_version)
+          quic::VersionUsesHttp3(version_.transport_version)
               ? GetNthClientInitiatedBidirectionalStreamId(0)
               : quic::QuicUtils::GetHeadersStreamId(
                     version_.transport_version));
@@ -6938,7 +6938,7 @@
 
   MockQuicData mock_quic_data(version_);
   uint64_t client_packet_number = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data.AddWrite(
         SYNCHRONOUS, ConstructInitialSettingsPacket(client_packet_number++));
   }
@@ -6960,7 +6960,7 @@
           GetNthServerInitiatedUnidirectionalStreamId(0), false,
           GetRequestHeaders("GET", "https", "/pushed.jpg"), &server_maker_));
   quic::QuicStreamOffset push_promise_offset = 0;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     push_promise_offset = server_maker_.stream_offset(
                               GetNthClientInitiatedBidirectionalStreamId(0)) -
                           initial;
@@ -6968,8 +6968,8 @@
 
   if ((client_headers_include_h2_stream_dependency_ &&
        version_.transport_version >= quic::QUIC_VERSION_43 &&
-       !VersionHasStreamType(version_.transport_version)) ||
-      (VersionHasStreamType(version_.transport_version) &&
+       !VersionUsesHttp3(version_.transport_version)) ||
+      (VersionUsesHttp3(version_.transport_version) &&
        (FLAGS_quic_allow_http3_priority))) {
     mock_quic_data.AddWrite(
         SYNCHRONOUS,
@@ -6980,7 +6980,7 @@
   }
 
   const quic::QuicStreamOffset initial_offset = server_maker_.stream_offset(
-      quic::VersionUsesQpack(version_.transport_version)
+      quic::VersionUsesHttp3(version_.transport_version)
           ? GetNthClientInitiatedBidirectionalStreamId(0)
           : quic::QuicUtils::GetHeadersStreamId(version_.transport_version));
   mock_quic_data.AddRead(
@@ -6988,7 +6988,7 @@
                  2, GetNthClientInitiatedBidirectionalStreamId(0), false, false,
                  GetResponseHeaders("200 OK")));
   const quic::QuicStreamOffset final_offset = server_maker_.stream_offset(
-      quic::VersionUsesQpack(version_.transport_version)
+      quic::VersionUsesHttp3(version_.transport_version)
           ? GetNthClientInitiatedBidirectionalStreamId(0)
           : quic::QuicUtils::GetHeadersStreamId(version_.transport_version));
   quic::QuicStreamOffset expected_raw_header_response_size =
@@ -7066,7 +7066,7 @@
 
   MockQuicData mock_quic_data(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data.AddWrite(SYNCHRONOUS,
                             ConstructInitialSettingsPacket(packet_num++));
   }
@@ -7448,7 +7448,7 @@
 
   MockQuicData mock_quic_data(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket(
                                              packet_num++, &client_maker));
   }
@@ -7551,7 +7551,7 @@
 
   MockQuicData mock_quic_data1(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data1.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket(
                                               packet_num++, &client_maker1));
   }
@@ -7586,7 +7586,7 @@
 
   MockQuicData mock_quic_data2(version_);
   int packet_num2 = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data2.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket(
                                               packet_num2++, &client_maker2));
   }
@@ -7625,7 +7625,7 @@
 
   MockQuicData mock_quic_data(version_);
   uint64_t client_packet_number = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data.AddWrite(
         SYNCHRONOUS, ConstructInitialSettingsPacket(client_packet_number++));
   }
@@ -7643,8 +7643,8 @@
 
   if ((client_headers_include_h2_stream_dependency_ &&
        version_.transport_version >= quic::QUIC_VERSION_43 &&
-       !VersionHasStreamType(version_.transport_version)) ||
-      (VersionHasStreamType(version_.transport_version) &&
+       !VersionUsesHttp3(version_.transport_version)) ||
+      (VersionUsesHttp3(version_.transport_version) &&
        FLAGS_quic_allow_http3_priority)) {
     mock_quic_data.AddWrite(
         SYNCHRONOUS,
@@ -7755,7 +7755,7 @@
   MockQuicData mock_quic_data(version_);
 
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data.AddWrite(SYNCHRONOUS,
                             ConstructInitialSettingsPacket(packet_num++));
   }
@@ -7820,7 +7820,7 @@
 
   MockQuicData mock_quic_data(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data.AddWrite(SYNCHRONOUS,
                             ConstructInitialSettingsPacket(packet_num++));
   }
@@ -7915,7 +7915,7 @@
 
   MockQuicData mock_quic_data(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data.AddWrite(SYNCHRONOUS,
                             ConstructInitialSettingsPacket(packet_num++));
   }
@@ -8016,7 +8016,7 @@
 
   MockQuicData mock_quic_data(version_);
   int write_packet_index = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data.AddWrite(
         SYNCHRONOUS, ConstructInitialSettingsPacket(write_packet_index++));
   }
@@ -8169,7 +8169,7 @@
 
   MockQuicData mock_quic_data(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data.AddWrite(SYNCHRONOUS,
                             ConstructInitialSettingsPacket(packet_num++));
   }
@@ -8341,7 +8341,7 @@
 
   MockQuicData mock_quic_data(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data.AddWrite(SYNCHRONOUS,
                             ConstructInitialSettingsPacket(packet_num++));
   }
@@ -8393,7 +8393,7 @@
 
   MockQuicData mock_quic_data(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data.AddWrite(SYNCHRONOUS,
                             ConstructInitialSettingsPacket(packet_num++));
   }
@@ -8434,7 +8434,7 @@
 
   MockQuicData mock_quic_data(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data.AddWrite(SYNCHRONOUS,
                             ConstructInitialSettingsPacket(packet_num++));
   }
@@ -8560,7 +8560,7 @@
 
   MockQuicData mock_quic_data(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data.AddWrite(SYNCHRONOUS,
                             ConstructInitialSettingsPacket(packet_num++));
   }
@@ -8613,7 +8613,7 @@
 
   MockQuicData mock_quic_data(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data.AddWrite(SYNCHRONOUS,
                             ConstructInitialSettingsPacket(packet_num++));
   }
@@ -8654,7 +8654,7 @@
   const RequestPriority kRequestPriority2 = LOWEST;
 
   MockQuicData mock_quic_data(version_);
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data.AddWrite(ASYNC, ConstructInitialSettingsPacket(1));
     mock_quic_data.AddWrite(SYNCHRONOUS, ERR_FAILED);
   } else {
@@ -8745,7 +8745,7 @@
     quic::QuicStreamOffset server_data_offset = 0;
 
     int packet_num = 1;
-    if (VersionUsesQpack(version_.transport_version)) {
+    if (VersionUsesHttp3(version_.transport_version)) {
       mock_quic_data.AddWrite(
           SYNCHRONOUS, client_maker->MakeInitialSettingsPacket(packet_num++));
     }
@@ -8896,7 +8896,7 @@
     return;
   }
 
-  if (quic::VersionUsesQpack(version_.transport_version)) {
+  if (quic::VersionUsesHttp3(version_.transport_version)) {
     // HTTP/3 currently doesn't support PRIORITY.
     return;
   }
@@ -8917,7 +8917,7 @@
 
   MockQuicData mock_quic_data(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data.AddWrite(SYNCHRONOUS,
                             ConstructInitialSettingsPacket(packet_num++));
   }
@@ -9145,7 +9145,7 @@
           &clock_, kDefaultServerHostName, quic::Perspective::IS_SERVER, false);
 
       int packet_num = 1;
-      if (VersionUsesQpack(version_.transport_version)) {
+      if (VersionUsesHttp3(version_.transport_version)) {
         unpartitioned_mock_quic_data.AddWrite(
             SYNCHRONOUS, client_maker1.MakeInitialSettingsPacket(packet_num++));
       }
@@ -9221,7 +9221,7 @@
           &clock_, kDefaultServerHostName, quic::Perspective::IS_SERVER, false);
 
       int packet_num2 = 1;
-      if (VersionUsesQpack(version_.transport_version)) {
+      if (VersionUsesHttp3(version_.transport_version)) {
         partitioned_mock_quic_data1.AddWrite(
             SYNCHRONOUS,
             client_maker2.MakeInitialSettingsPacket(packet_num2++));
@@ -9279,7 +9279,7 @@
           &clock_, kDefaultServerHostName, quic::Perspective::IS_SERVER, false);
 
       int packet_num3 = 1;
-      if (VersionUsesQpack(version_.transport_version)) {
+      if (VersionUsesHttp3(version_.transport_version)) {
         partitioned_mock_quic_data2.AddWrite(
             SYNCHRONOUS,
             client_maker3.MakeInitialSettingsPacket(packet_num3++));
@@ -9403,7 +9403,7 @@
         &clock_, kDefaultServerHostName, quic::Perspective::IS_SERVER, false);
 
     int packet_num = 1;
-    if (VersionUsesQpack(version_.transport_version)) {
+    if (VersionUsesHttp3(version_.transport_version)) {
       mock_quic_data[index]->AddWrite(
           SYNCHRONOUS, client_maker.MakeInitialSettingsPacket(packet_num++));
     }
diff --git a/net/quic/quic_proxy_client_socket_unittest.cc b/net/quic/quic_proxy_client_socket_unittest.cc
index 444f746..96d156a 100644
--- a/net/quic/quic_proxy_client_socket_unittest.cc
+++ b/net/quic/quic_proxy_client_socket_unittest.cc
@@ -613,7 +613,7 @@
 
 TEST_P(QuicProxyClientSocketTest, ConnectSendsCorrectRequest) {
   int packet_number = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data_.AddWrite(SYNCHRONOUS,
                              ConstructSettingsPacket(packet_number++));
   }
@@ -638,7 +638,7 @@
 
 TEST_P(QuicProxyClientSocketTest, ConnectWithAuthRequested) {
   int packet_number = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data_.AddWrite(SYNCHRONOUS,
                              ConstructSettingsPacket(packet_number++));
   }
@@ -662,7 +662,7 @@
 
 TEST_P(QuicProxyClientSocketTest, ConnectWithAuthCredentials) {
   int packet_number = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data_.AddWrite(SYNCHRONOUS,
                              ConstructSettingsPacket(packet_number++));
   }
@@ -693,7 +693,7 @@
 // Tests that a redirect response from a CONNECT fails.
 TEST_P(QuicProxyClientSocketTest, ConnectRedirects) {
   int packet_number = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data_.AddWrite(SYNCHRONOUS,
                              ConstructSettingsPacket(packet_number++));
   }
@@ -724,7 +724,7 @@
 
 TEST_P(QuicProxyClientSocketTest, ConnectFails) {
   int packet_number = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data_.AddWrite(SYNCHRONOUS,
                              ConstructSettingsPacket(packet_number++));
   }
@@ -743,7 +743,7 @@
 
 TEST_P(QuicProxyClientSocketTest, WasEverUsedReturnsCorrectValue) {
   int packet_number = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data_.AddWrite(SYNCHRONOUS,
                              ConstructSettingsPacket(packet_number++));
   }
@@ -757,7 +757,7 @@
 
   Initialize();
 
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     EXPECT_TRUE(sock_->WasEverUsed());  // Used due to crypto handshake
   AssertConnectSucceeds();
   EXPECT_TRUE(sock_->WasEverUsed());
@@ -767,7 +767,7 @@
 
 TEST_P(QuicProxyClientSocketTest, GetPeerAddressReturnsCorrectValues) {
   int packet_number = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data_.AddWrite(SYNCHRONOUS,
                              ConstructSettingsPacket(packet_number++));
   }
@@ -798,7 +798,7 @@
 
 TEST_P(QuicProxyClientSocketTest, IsConnectedAndIdle) {
   int packet_number = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data_.AddWrite(SYNCHRONOUS,
                              ConstructSettingsPacket(packet_number++));
   }
@@ -837,7 +837,7 @@
 
 TEST_P(QuicProxyClientSocketTest, GetTotalReceivedBytes) {
   int packet_number = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data_.AddWrite(SYNCHRONOUS,
                              ConstructSettingsPacket(packet_number++));
   }
@@ -885,7 +885,7 @@
 
 TEST_P(QuicProxyClientSocketTest, SetStreamPriority) {
   int packet_number = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data_.AddWrite(SYNCHRONOUS, ConstructSettingsPacket(1));
   }
   // Despite setting the priority to HIGHEST, the requets initial priority of
@@ -906,7 +906,7 @@
 
 TEST_P(QuicProxyClientSocketTest, WriteSendsDataInDataFrame) {
   int packet_number = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data_.AddWrite(SYNCHRONOUS,
                              ConstructSettingsPacket(packet_number++));
   }
@@ -950,7 +950,7 @@
 
 TEST_P(QuicProxyClientSocketTest, WriteSplitsLargeDataIntoMultiplePackets) {
   int write_packet_index = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data_.AddWrite(SYNCHRONOUS,
                              ConstructSettingsPacket(write_packet_index++));
   }
@@ -1034,7 +1034,7 @@
 
 TEST_P(QuicProxyClientSocketTest, ReadReadsDataInDataFrame) {
   int packet_number = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data_.AddWrite(SYNCHRONOUS,
                              ConstructSettingsPacket(packet_number++));
   }
@@ -1063,7 +1063,7 @@
 
 TEST_P(QuicProxyClientSocketTest, ReadDataFromBufferedFrames) {
   int packet_number = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data_.AddWrite(SYNCHRONOUS,
                              ConstructSettingsPacket(packet_number++));
   }
@@ -1101,7 +1101,7 @@
 
 TEST_P(QuicProxyClientSocketTest, ReadDataMultipleBufferedFrames) {
   int packet_number = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data_.AddWrite(SYNCHRONOUS,
                              ConstructSettingsPacket(packet_number++));
   }
@@ -1137,7 +1137,7 @@
 
 TEST_P(QuicProxyClientSocketTest, LargeReadWillMergeDataFromDifferentFrames) {
   int packet_number = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data_.AddWrite(SYNCHRONOUS,
                              ConstructSettingsPacket(packet_number++));
   }
@@ -1173,7 +1173,7 @@
 
 TEST_P(QuicProxyClientSocketTest, MultipleShortReadsThenMoreRead) {
   int packet_number = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data_.AddWrite(SYNCHRONOUS,
                              ConstructSettingsPacket(packet_number++));
   }
@@ -1227,7 +1227,7 @@
 
 TEST_P(QuicProxyClientSocketTest, ReadWillSplitDataFromLargeFrame) {
   int packet_number = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data_.AddWrite(SYNCHRONOUS,
                              ConstructSettingsPacket(packet_number++));
   }
@@ -1266,7 +1266,7 @@
 
 TEST_P(QuicProxyClientSocketTest, MultipleReadsFromSameLargeFrame) {
   int packet_number = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data_.AddWrite(SYNCHRONOUS,
                              ConstructSettingsPacket(packet_number++));
   }
@@ -1307,7 +1307,7 @@
 
 TEST_P(QuicProxyClientSocketTest, ReadAuthResponseBody) {
   int packet_number = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data_.AddWrite(SYNCHRONOUS,
                              ConstructSettingsPacket(packet_number++));
   }
@@ -1344,7 +1344,7 @@
 
 TEST_P(QuicProxyClientSocketTest, ReadErrorResponseBody) {
   int packet_number = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data_.AddWrite(SYNCHRONOUS,
                              ConstructSettingsPacket(packet_number++));
   }
@@ -1376,7 +1376,7 @@
 
 TEST_P(QuicProxyClientSocketTest, AsyncReadAroundWrite) {
   int write_packet_index = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data_.AddWrite(SYNCHRONOUS,
                              ConstructSettingsPacket(write_packet_index++));
   }
@@ -1437,7 +1437,7 @@
 
 TEST_P(QuicProxyClientSocketTest, AsyncWriteAroundReads) {
   int packet_number = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data_.AddWrite(SYNCHRONOUS,
                              ConstructSettingsPacket(packet_number++));
   }
@@ -1509,7 +1509,7 @@
 // Reading from an already closed socket should return 0
 TEST_P(QuicProxyClientSocketTest, ReadOnClosedSocketReturnsZero) {
   int packet_number = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data_.AddWrite(SYNCHRONOUS,
                              ConstructSettingsPacket(packet_number++));
   }
@@ -1536,7 +1536,7 @@
 // Read pending when socket is closed should return 0
 TEST_P(QuicProxyClientSocketTest, PendingReadOnCloseReturnsZero) {
   int packet_number = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data_.AddWrite(SYNCHRONOUS,
                              ConstructSettingsPacket(packet_number++));
   }
@@ -1561,7 +1561,7 @@
 // Reading from a disconnected socket is an error
 TEST_P(QuicProxyClientSocketTest, ReadOnDisconnectSocketReturnsNotConnected) {
   int packet_number = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data_.AddWrite(SYNCHRONOUS,
                              ConstructSettingsPacket(packet_number++));
   }
@@ -1587,7 +1587,7 @@
 // FIN, then 0.
 TEST_P(QuicProxyClientSocketTest, ReadAfterFinReceivedReturnsBufferedData) {
   int packet_number = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data_.AddWrite(SYNCHRONOUS,
                              ConstructSettingsPacket(packet_number++));
   }
@@ -1624,7 +1624,7 @@
 // Calling Write() on a closed socket is an error.
 TEST_P(QuicProxyClientSocketTest, WriteOnClosedStream) {
   int packet_number = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data_.AddWrite(SYNCHRONOUS,
                              ConstructSettingsPacket(packet_number++));
   }
@@ -1647,7 +1647,7 @@
 // Calling Write() on a disconnected socket is an error.
 TEST_P(QuicProxyClientSocketTest, WriteOnDisconnectedSocket) {
   int packet_number = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data_.AddWrite(SYNCHRONOUS,
                              ConstructSettingsPacket(packet_number++));
   }
@@ -1672,7 +1672,7 @@
 // with the same error the session was closed with.
 TEST_P(QuicProxyClientSocketTest, WritePendingOnClose) {
   int packet_number = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data_.AddWrite(SYNCHRONOUS,
                              ConstructSettingsPacket(packet_number++));
   }
@@ -1708,7 +1708,7 @@
 
 TEST_P(QuicProxyClientSocketTest, DisconnectWithWritePending) {
   int packet_number = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data_.AddWrite(SYNCHRONOUS,
                              ConstructSettingsPacket(packet_number++));
   }
@@ -1748,7 +1748,7 @@
 // should not be called.
 TEST_P(QuicProxyClientSocketTest, DisconnectWithReadPending) {
   int packet_number = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data_.AddWrite(SYNCHRONOUS,
                              ConstructSettingsPacket(packet_number++));
   }
@@ -1781,7 +1781,7 @@
 // both should be called back.
 TEST_P(QuicProxyClientSocketTest, RstWithReadAndWritePending) {
   int packet_number = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data_.AddWrite(SYNCHRONOUS,
                              ConstructSettingsPacket(packet_number++));
   }
@@ -1839,7 +1839,7 @@
 // and only the expected NetLog events (No SpdySession events).
 TEST_P(QuicProxyClientSocketTest, NetLog) {
   int packet_number = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data_.AddWrite(SYNCHRONOUS,
                              ConstructSettingsPacket(packet_number++));
   }
@@ -1927,7 +1927,7 @@
 // not be called.
 TEST_P(QuicProxyClientSocketTest, RstWithReadAndWritePendingDelete) {
   int packet_number = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     mock_quic_data_.AddWrite(SYNCHRONOUS,
                              ConstructSettingsPacket(packet_number++));
   }
diff --git a/net/quic/quic_stream_factory.cc b/net/quic/quic_stream_factory.cc
index 5579d1f8..230e153 100644
--- a/net/quic/quic_stream_factory.cc
+++ b/net/quic/quic_stream_factory.cc
@@ -1979,9 +1979,9 @@
     return ERR_CONNECTION_CLOSED;
   }
   if (connection->version().KnowsWhichDecrypterToUse()) {
-    connection->InstallDecrypter(quic::ENCRYPTION_FORWARD_SECURE,
-                                 quic::QuicMakeUnique<quic::NullDecrypter>(
-                                     quic::Perspective::IS_CLIENT));
+    connection->InstallDecrypter(
+        quic::ENCRYPTION_FORWARD_SECURE,
+        std::make_unique<quic::NullDecrypter>(quic::Perspective::IS_CLIENT));
   }
   return OK;
 }
diff --git a/net/quic/quic_stream_factory_test.cc b/net/quic/quic_stream_factory_test.cc
index 197d36c..308a4a2 100644
--- a/net/quic/quic_stream_factory_test.cc
+++ b/net/quic/quic_stream_factory_test.cc
@@ -355,7 +355,7 @@
 
     MockQuicData socket_data(version_);
     socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-    if (VersionUsesQpack(version_.transport_version))
+    if (VersionUsesHttp3(version_.transport_version))
       socket_data.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
     socket_data.AddSocketDataToFactory(socket_factory_.get());
 
@@ -498,7 +498,7 @@
     MockQuicData socket_data2(version_);
     socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
     int packet_num = 1;
-    if (VersionUsesQpack(version_.transport_version)) {
+    if (VersionUsesHttp3(version_.transport_version)) {
       socket_data2.AddWrite(SYNCHRONOUS,
                             ConstructInitialSettingsPacket(packet_num++));
     }
@@ -723,7 +723,7 @@
     MockQuicData socket_data(version_);
     socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
     client_maker_.SetEncryptionLevel(quic::ENCRYPTION_ZERO_RTT);
-    if (VersionUsesQpack(version_.transport_version))
+    if (VersionUsesHttp3(version_.transport_version))
       socket_data.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
     socket_data.AddSocketDataToFactory(socket_factory_.get());
 
@@ -761,7 +761,7 @@
     MockQuicData socket_data2(version_);
     socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
     client_maker_.Reset();
-    if (VersionUsesQpack(version_.transport_version))
+    if (VersionUsesHttp3(version_.transport_version))
       socket_data2.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
     socket_data2.AddSocketDataToFactory(socket_factory_.get());
 
@@ -932,7 +932,7 @@
 
   MockQuicData socket_data(version_);
   socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     socket_data.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   socket_data.AddSocketDataToFactory(socket_factory_.get());
 
@@ -987,7 +987,7 @@
   MockQuicData socket_data(version_);
   socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_ZERO_RTT);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     socket_data.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   socket_data.AddSocketDataToFactory(socket_factory_.get());
 
@@ -1018,7 +1018,7 @@
 
   MockQuicData socket_data(version_);
   socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     socket_data.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   socket_data.AddSocketDataToFactory(socket_factory_.get());
 
@@ -1047,7 +1047,7 @@
 
   MockQuicData socket_data(version_);
   socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     socket_data.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   socket_data.AddSocketDataToFactory(socket_factory_.get());
 
@@ -1079,7 +1079,7 @@
   MockQuicData socket_data(version_);
   socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_ZERO_RTT);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     socket_data.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   socket_data.AddSocketDataToFactory(socket_factory_.get());
 
@@ -1123,7 +1123,7 @@
   MockQuicData socket_data(version_);
   socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_ZERO_RTT);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     socket_data.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   socket_data.AddSocketDataToFactory(socket_factory_.get());
 
@@ -1162,7 +1162,7 @@
 
   MockQuicData socket_data(version_);
   socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     socket_data.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   socket_data.AddSocketDataToFactory(socket_factory_.get());
 
@@ -1226,7 +1226,7 @@
 
     MockQuicData socket_data(version_);
     socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-    if (VersionUsesQpack(version_.transport_version)) {
+    if (VersionUsesHttp3(version_.transport_version)) {
       socket_data.AddWrite(SYNCHRONOUS,
                            packet_maker.MakeInitialSettingsPacket(1));
     }
@@ -1270,7 +1270,7 @@
 
   MockQuicData socket_data(version_);
   socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     socket_data.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   socket_data.AddSocketDataToFactory(socket_factory_.get());
 
@@ -1304,7 +1304,7 @@
 
   MockQuicData socket_data(version_);
   socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     socket_data.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   socket_data.AddSocketDataToFactory(socket_factory_.get());
 
@@ -1333,7 +1333,7 @@
 
   MockQuicData socket_data(version_);
   socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     socket_data.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   socket_data.AddSocketDataToFactory(socket_factory_.get());
 
@@ -1366,7 +1366,7 @@
 
   MockQuicData socket_data(version_);
   socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     socket_data.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   socket_data.AddSocketDataToFactory(socket_factory_.get());
 
@@ -1442,7 +1442,7 @@
 
     MockQuicData socket_data(version_);
     socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-    if (VersionUsesQpack(version_.transport_version)) {
+    if (VersionUsesHttp3(version_.transport_version)) {
       socket_data.AddWrite(SYNCHRONOUS,
                            packet_maker.MakeInitialSettingsPacket(1));
     }
@@ -1533,7 +1533,7 @@
 
   MockQuicData socket_data(version_);
   socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     socket_data.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   socket_data.AddSocketDataToFactory(socket_factory_.get());
 
@@ -1593,7 +1593,7 @@
 
   MockQuicData socket_data1(version_);
   socket_data1.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     socket_data1.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   socket_data1.AddSocketDataToFactory(socket_factory_.get());
 
@@ -1628,13 +1628,13 @@
 
   MockQuicData socket_data1(version_);
   socket_data1.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     socket_data1.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   socket_data1.AddSocketDataToFactory(socket_factory_.get());
   client_maker_.Reset();
   MockQuicData socket_data2(version_);
   socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     socket_data2.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   socket_data2.AddSocketDataToFactory(socket_factory_.get());
 
@@ -1693,7 +1693,7 @@
 
   MockQuicData socket_data(version_);
   socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     socket_data.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   socket_data.AddSocketDataToFactory(socket_factory_.get());
 
@@ -1738,7 +1738,7 @@
   Initialize();
   MockQuicData socket_data(version_);
   socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     socket_data.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   socket_data.AddSocketDataToFactory(socket_factory_.get());
 
@@ -1790,13 +1790,13 @@
 
   MockQuicData socket_data1(version_);
   socket_data1.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     socket_data1.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   socket_data1.AddSocketDataToFactory(socket_factory_.get());
   client_maker_.Reset();
   MockQuicData socket_data2(version_);
   socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     socket_data2.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   socket_data2.AddSocketDataToFactory(socket_factory_.get());
 
@@ -1859,13 +1859,13 @@
 
   MockQuicData socket_data(version_);
   socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     socket_data.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   socket_data.AddSocketDataToFactory(socket_factory_.get());
   client_maker_.Reset();
   MockQuicData socket_data2(version_);
   socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     socket_data2.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   socket_data2.AddSocketDataToFactory(socket_factory_.get());
 
@@ -2054,7 +2054,7 @@
   Initialize();
   MockQuicData socket_data(version_);
   socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     socket_data.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   socket_data.AddSocketDataToFactory(socket_factory_.get());
   {
@@ -2094,7 +2094,7 @@
   MockQuicData socket_data(version_);
   socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     socket_data.AddWrite(SYNCHRONOUS,
                          ConstructInitialSettingsPacket(packet_num++));
   }
@@ -2110,7 +2110,7 @@
   client_maker_.Reset();
   MockQuicData socket_data2(version_);
   socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     socket_data2.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   socket_data2.AddSocketDataToFactory(socket_factory_.get());
 
@@ -2194,7 +2194,7 @@
   client_maker_.Reset();
   MockQuicData socket_data2(version_);
   socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     socket_data2.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   socket_data2.AddSocketDataToFactory(socket_factory_.get());
 
@@ -2262,7 +2262,7 @@
   client_maker_.Reset();
   MockQuicData socket_data2(version_);
   socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     socket_data2.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   socket_data2.AddSocketDataToFactory(socket_factory_.get());
 
@@ -2303,7 +2303,7 @@
   MockQuicData socket_data(version_);
   socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     socket_data.AddWrite(SYNCHRONOUS,
                          ConstructInitialSettingsPacket(packet_num++));
   }
@@ -2319,7 +2319,7 @@
   client_maker_.Reset();
   MockQuicData socket_data2(version_);
   socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     socket_data2.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   socket_data2.AddSocketDataToFactory(socket_factory_.get());
 
@@ -2393,7 +2393,7 @@
 
   MockQuicData quic_data1(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     quic_data1.AddWrite(SYNCHRONOUS,
                         ConstructInitialSettingsPacket(packet_num++));
   }
@@ -2413,7 +2413,7 @@
   client_maker_.Reset();
   MockQuicData quic_data2(version_);
   quic_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING);  // Hanging read.
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     quic_data2.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket(1));
   quic_data2.AddSocketDataToFactory(socket_factory_.get());
 
@@ -2499,7 +2499,7 @@
   MockQuicData socket_data(version_);
   socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     socket_data.AddWrite(SYNCHRONOUS,
                          ConstructInitialSettingsPacket(packet_num++));
   }
@@ -2575,7 +2575,7 @@
   MockQuicData quic_data1(version_);
   quic_data1.AddRead(SYNCHRONOUS, ERR_IO_PENDING);  // Hanging Read.
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     quic_data1.AddWrite(SYNCHRONOUS,
                         ConstructInitialSettingsPacket(packet_num++));
   }
@@ -2754,7 +2754,7 @@
   MockQuicData quic_data1(version_);
   quic_data1.AddRead(SYNCHRONOUS, ERR_IO_PENDING);  // Hanging Read.
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     quic_data1.AddWrite(SYNCHRONOUS,
                         ConstructInitialSettingsPacket(packet_num++));
   }
@@ -2935,7 +2935,7 @@
 
   MockQuicData socket_data(version_);
   socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     socket_data.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   socket_data.AddSocketDataToFactory(socket_factory_.get());
 
@@ -3020,7 +3020,7 @@
   MockQuicData socket_data(version_);
   socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     socket_data.AddWrite(SYNCHRONOUS,
                          ConstructInitialSettingsPacket(packet_num++));
   }
@@ -3119,7 +3119,7 @@
   MockQuicData socket_data(version_);
   socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     socket_data.AddWrite(SYNCHRONOUS,
                          ConstructInitialSettingsPacket(packet_num++));
   }
@@ -3197,7 +3197,7 @@
   if (migrate_idle_sessions) {
     failed_socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
     int packet_num = 1;
-    if (VersionUsesQpack(version_.transport_version)) {
+    if (VersionUsesHttp3(version_.transport_version)) {
       failed_socket_data.AddWrite(SYNCHRONOUS,
                                   ConstructInitialSettingsPacket(packet_num++));
     }
@@ -3219,7 +3219,7 @@
   } else {
     socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
     int packet_num = 1;
-    if (VersionUsesQpack(version_.transport_version))
+    if (VersionUsesHttp3(version_.transport_version))
       socket_data.AddWrite(SYNCHRONOUS,
                            ConstructInitialSettingsPacket(packet_num++));
     socket_data.AddWrite(
@@ -3288,7 +3288,7 @@
   MockQuicData socket_data(version_);
   socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     socket_data.AddWrite(SYNCHRONOUS,
                          ConstructInitialSettingsPacket(packet_num++));
   }
@@ -3362,7 +3362,7 @@
   MockQuicData socket_data(version_);
   socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     socket_data.AddWrite(SYNCHRONOUS,
                          ConstructInitialSettingsPacket(packet_num++));
   }
@@ -3448,7 +3448,7 @@
   MockQuicData default_socket_data(version_);
   default_socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     default_socket_data.AddWrite(SYNCHRONOUS,
                                  ConstructInitialSettingsPacket(packet_num++));
   }
@@ -3524,7 +3524,7 @@
   int packet_number = 1;
   MockQuicData socket_data(version_);
   socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     socket_data.AddWrite(SYNCHRONOUS,
                          ConstructInitialSettingsPacket(packet_number++));
   }
@@ -3650,7 +3650,7 @@
   MockQuicData socket_data(version_);
   socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     socket_data.AddWrite(SYNCHRONOUS,
                          ConstructInitialSettingsPacket(packet_num++));
   }
@@ -3784,7 +3784,7 @@
   int packet_number = 1;
   MockQuicData quic_data1(version_);
   quic_data1.AddRead(SYNCHRONOUS, ERR_IO_PENDING);  // Hanging Read.
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     quic_data1.AddWrite(SYNCHRONOUS,
                         ConstructInitialSettingsPacket(packet_number++));
   }
@@ -3962,7 +3962,7 @@
   int packet_number = 1;
   MockQuicData quic_data1(version_);
   quic_data1.AddRead(SYNCHRONOUS, ERR_IO_PENDING);  // Hanging Read.
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     quic_data1.AddWrite(SYNCHRONOUS,
                         ConstructInitialSettingsPacket(packet_number++));
   }
@@ -4172,7 +4172,7 @@
   int packet_number = 1;
   MockQuicData quic_data1(version_);
   quic_data1.AddRead(SYNCHRONOUS, ERR_IO_PENDING);  // Hanging Read.
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     quic_data1.AddWrite(SYNCHRONOUS,
                         ConstructInitialSettingsPacket(packet_number++));
   }
@@ -4308,7 +4308,7 @@
 
   MockQuicData quic_data1(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     quic_data1.AddWrite(SYNCHRONOUS,
                         ConstructInitialSettingsPacket(packet_num++));
   }
@@ -4328,7 +4328,7 @@
   client_maker_.Reset();
   MockQuicData quic_data2(version_);
   quic_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING);  // Hanging read.
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     quic_data2.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   quic_data2.AddSocketDataToFactory(socket_factory_.get());
 
@@ -4425,7 +4425,7 @@
 
   MockQuicData quic_data(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     quic_data.AddWrite(SYNCHRONOUS,
                        ConstructInitialSettingsPacket(packet_num++));
   }
@@ -4547,7 +4547,7 @@
 
   int packet_number = 1;
   MockQuicData quic_data1(version_);
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     quic_data1.AddWrite(SYNCHRONOUS,
                         ConstructInitialSettingsPacket(packet_number++));
   }
@@ -4716,7 +4716,7 @@
   MockQuicData quic_data1(version_);
   quic_data1.AddRead(SYNCHRONOUS, ERR_IO_PENDING);  // Hanging Read.
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     quic_data1.AddWrite(SYNCHRONOUS,
                         ConstructInitialSettingsPacket(packet_num++));
   }
@@ -4873,14 +4873,14 @@
 
   MockQuicData socket_data1(version_);
   socket_data1.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     socket_data1.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   socket_data1.AddWrite(ASYNC, OK);
   socket_data1.AddSocketDataToFactory(socket_factory_.get());
   client_maker_.Reset();
   MockQuicData socket_data2(version_);
   socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     socket_data2.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   socket_data2.AddWrite(ASYNC, OK);
   socket_data2.AddSocketDataToFactory(socket_factory_.get());
@@ -5001,7 +5001,7 @@
 
   MockQuicData quic_data(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     quic_data.AddWrite(SYNCHRONOUS,
                        ConstructInitialSettingsPacket(packet_num++));
   }
@@ -5104,7 +5104,7 @@
   MockQuicData socket_data(version_);
   socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     socket_data.AddWrite(SYNCHRONOUS,
                          ConstructInitialSettingsPacket(packet_num++));
   }
@@ -5203,7 +5203,7 @@
   MockQuicData socket_data(version_);
   socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     socket_data.AddWrite(SYNCHRONOUS,
                          ConstructInitialSettingsPacket(packet_num++));
   }
@@ -5281,7 +5281,7 @@
   MockQuicData socket_data(version_);
   socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     socket_data.AddWrite(SYNCHRONOUS,
                          ConstructInitialSettingsPacket(packet_num++));
   }
@@ -5439,7 +5439,7 @@
   MockQuicData socket_data(version_);
   socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     socket_data.AddWrite(SYNCHRONOUS,
                          ConstructInitialSettingsPacket(packet_num++));
   }
@@ -5746,7 +5746,7 @@
   socket_data2.AddRead(ASYNC, ERR_IO_PENDING);  // Pause.
   // Change the encryption level after handshake is confirmed.
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_FORWARD_SECURE);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     socket_data2.AddWrite(ASYNC, ConstructInitialSettingsPacket(packet_num++));
   socket_data2.AddWrite(
       ASYNC, ConstructGetRequestPacket(
@@ -5909,7 +5909,7 @@
   client_maker_.Reset();
   MockQuicData socket_data2(version_);
   socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     socket_data2.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   socket_data2.AddSocketDataToFactory(socket_factory_.get());
 
@@ -5970,7 +5970,7 @@
   socket_data2.AddRead(ASYNC, ERR_IO_PENDING);  // Pause.
   // Change the encryption level after handshake is confirmed.
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_FORWARD_SECURE);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     socket_data2.AddWrite(ASYNC, ConstructInitialSettingsPacket(packet_num++));
   socket_data2.AddWrite(
       ASYNC, ConstructGetRequestPacket(
@@ -6053,7 +6053,7 @@
   MockQuicData socket_data(version_);
   socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     socket_data.AddWrite(SYNCHRONOUS,
                          ConstructInitialSettingsPacket(packet_num++));
   }
@@ -6155,7 +6155,7 @@
 
   MockQuicData socket_data(version_);
   socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     socket_data.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   socket_data.AddWrite(write_error_mode, ERR_ADDRESS_UNREACHABLE);
   socket_data.AddSocketDataToFactory(socket_factory_.get());
@@ -6267,7 +6267,7 @@
   MockQuicData socket_data(version_);
   socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     socket_data.AddWrite(SYNCHRONOUS,
                          ConstructInitialSettingsPacket(packet_num++));
   }
@@ -6405,7 +6405,7 @@
   MockQuicData socket_data(version_);
 
   socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     socket_data.AddWrite(SYNCHRONOUS,
                          ConstructInitialSettingsPacket(packet_number++));
   }
@@ -6544,7 +6544,7 @@
   int packet_number = 1;
   MockQuicData socket_data(version_);
   socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     socket_data.AddWrite(SYNCHRONOUS,
                          ConstructInitialSettingsPacket(packet_number++));
   }
@@ -6692,7 +6692,7 @@
   if (migrate_idle_sessions) {
     // The socket data provider for the original socket before migration.
     failed_socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-    if (VersionUsesQpack(version_.transport_version)) {
+    if (VersionUsesHttp3(version_.transport_version)) {
       failed_socket_data.AddWrite(SYNCHRONOUS,
                                   ConstructInitialSettingsPacket(packet_num++));
     }
@@ -6718,7 +6718,7 @@
     socket_data.AddSocketDataToFactory(socket_factory_.get());
   } else {
     socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-    if (VersionUsesQpack(version_.transport_version))
+    if (VersionUsesHttp3(version_.transport_version))
       socket_data.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
     socket_data.AddWrite(write_error_mode, ERR_ADDRESS_UNREACHABLE);
     socket_data.AddSocketDataToFactory(socket_factory_.get());
@@ -6807,7 +6807,7 @@
 
   MockQuicData socket_data(version_);
   socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     socket_data.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   socket_data.AddWrite(write_error_mode, ERR_ADDRESS_UNREACHABLE);
   socket_data.AddSocketDataToFactory(socket_factory_.get());
@@ -6899,7 +6899,7 @@
   MockQuicData socket_data1(version_);
   socket_data1.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     socket_data1.AddWrite(SYNCHRONOUS,
                           ConstructInitialSettingsPacket(packet_num++));
   }
@@ -7071,7 +7071,7 @@
   MockQuicData socket_data(version_);
   socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     socket_data.AddWrite(SYNCHRONOUS,
                          ConstructInitialSettingsPacket(packet_num++));
   }
@@ -7209,7 +7209,7 @@
   MockQuicData socket_data(version_);
   socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     socket_data.AddWrite(SYNCHRONOUS,
                          ConstructInitialSettingsPacket(packet_num++));
   }
@@ -7353,7 +7353,7 @@
   MockQuicData socket_data(version_);
   socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);  // Hanging read.
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     socket_data.AddWrite(SYNCHRONOUS,
                          ConstructInitialSettingsPacket(packet_num++));
   }
@@ -7486,7 +7486,7 @@
 
   MockQuicData socket_data(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     socket_data.AddWrite(SYNCHRONOUS,
                          ConstructInitialSettingsPacket(packet_num++));
   }
@@ -7599,7 +7599,7 @@
 
   MockQuicData socket_data(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     socket_data.AddWrite(SYNCHRONOUS,
                          ConstructInitialSettingsPacket(packet_num++));
   }
@@ -7718,7 +7718,7 @@
 
   MockQuicData socket_data(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     socket_data.AddWrite(SYNCHRONOUS,
                          ConstructInitialSettingsPacket(packet_num++));
   }
@@ -7839,7 +7839,7 @@
 
   MockQuicData socket_data(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     socket_data.AddWrite(SYNCHRONOUS,
                          ConstructInitialSettingsPacket(packet_num++));
   }
@@ -7996,7 +7996,7 @@
 
   MockQuicData socket_data(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     socket_data.AddWrite(SYNCHRONOUS,
                          ConstructInitialSettingsPacket(packet_num++));
   }
@@ -8151,7 +8151,7 @@
 
   MockQuicData socket_data1(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     socket_data1.AddWrite(SYNCHRONOUS,
                           ConstructInitialSettingsPacket(packet_num++));
   }
@@ -8283,7 +8283,7 @@
 
   MockQuicData socket_data1(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     socket_data1.AddWrite(SYNCHRONOUS,
                           ConstructInitialSettingsPacket(packet_num++));
   }
@@ -8416,7 +8416,7 @@
 
   MockQuicData socket_data1(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     socket_data1.AddWrite(SYNCHRONOUS,
                           ConstructInitialSettingsPacket(packet_num++));
   }
@@ -8550,7 +8550,7 @@
 
   MockQuicData socket_data1(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     socket_data1.AddWrite(SYNCHRONOUS,
                           ConstructInitialSettingsPacket(packet_num++));
   }
@@ -8676,7 +8676,7 @@
 
   MockQuicData socket_data(version_);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     socket_data.AddWrite(SYNCHRONOUS,
                          ConstructInitialSettingsPacket(packet_num++));
   }
@@ -8826,7 +8826,7 @@
   MockQuicData socket_data(version_);
   socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     socket_data.AddWrite(SYNCHRONOUS,
                          ConstructInitialSettingsPacket(packet_num++));
   }
@@ -8974,7 +8974,7 @@
   MockQuicData default_socket_data(version_);
   default_socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     default_socket_data.AddWrite(SYNCHRONOUS,
                                  ConstructInitialSettingsPacket(packet_num++));
   }
@@ -9102,7 +9102,7 @@
   MockQuicData default_socket_data(version_);
   default_socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     default_socket_data.AddWrite(SYNCHRONOUS,
                                  ConstructInitialSettingsPacket(packet_num++));
   }
@@ -9217,7 +9217,7 @@
   MockQuicData socket_data1(version_);
   socket_data1.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     socket_data1.AddWrite(SYNCHRONOUS,
                           ConstructInitialSettingsPacket(packet_num++));
   }
@@ -9372,7 +9372,7 @@
   MockQuicData socket_data1(version_);
   socket_data1.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     socket_data1.AddWrite(SYNCHRONOUS,
                           ConstructInitialSettingsPacket(packet_num++));
   }
@@ -9433,14 +9433,14 @@
 
   MockQuicData socket_data(version_);
   socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     socket_data.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   socket_data.AddSocketDataToFactory(socket_factory_.get());
 
   client_maker_.Reset();
   MockQuicData socket_data2(version_);
   socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     socket_data2.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   socket_data2.AddSocketDataToFactory(socket_factory_.get());
 
@@ -9586,7 +9586,7 @@
   MockQuicData socket_data(version_);
   socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_ZERO_RTT);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     socket_data.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   socket_data.AddSocketDataToFactory(socket_factory_.get());
 
@@ -9626,14 +9626,14 @@
 
   MockQuicData socket_data(version_);
   socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     socket_data.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   socket_data.AddSocketDataToFactory(socket_factory_.get());
 
   client_maker_.Reset();
   MockQuicData socket_data2(version_);
   socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     socket_data2.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   socket_data2.AddSocketDataToFactory(socket_factory_.get());
 
@@ -10051,7 +10051,7 @@
     MockQuicData socket_data(version_);
     socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
     client_maker_.SetEncryptionLevel(quic::ENCRYPTION_ZERO_RTT);
-    if (VersionUsesQpack(version_.transport_version))
+    if (VersionUsesHttp3(version_.transport_version))
       socket_data.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
     // For the close socket message.
     socket_data.AddWrite(SYNCHRONOUS, ERR_IO_PENDING);
@@ -10096,7 +10096,7 @@
 
   MockQuicData socket_data(version_);
   socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     socket_data.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   socket_data.AddSocketDataToFactory(socket_factory_.get());
 
@@ -10172,7 +10172,7 @@
   MockQuicData socket_data(version_);
   socket_data.AddRead(SYNCHRONOUS, ConstructClientConnectionClosePacket(1));
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_ZERO_RTT);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     socket_data.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   socket_data.AddRead(ASYNC, OK);
   socket_data.AddSocketDataToFactory(socket_factory_.get());
@@ -10224,7 +10224,7 @@
   MockQuicData socket_data(version_);
   socket_data.AddRead(SYNCHRONOUS, ConstructClientConnectionClosePacket(1));
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_ZERO_RTT);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     socket_data.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   socket_data.AddRead(ASYNC, OK);
   socket_data.AddSocketDataToFactory(socket_factory_.get());
@@ -10272,7 +10272,7 @@
 
   MockQuicData socket_data(version_);
   socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     socket_data.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   socket_data.AddSocketDataToFactory(socket_factory_.get());
 
@@ -10319,7 +10319,7 @@
   MockQuicData socket_data1(version_);
   socket_data1.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     socket_data1.AddWrite(SYNCHRONOUS,
                           ConstructInitialSettingsPacket(packet_num++));
   }
@@ -10333,7 +10333,7 @@
   client_maker_.Reset();
   MockQuicData socket_data2(version_);
   socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     socket_data2.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   socket_data2.AddSocketDataToFactory(socket_factory_.get());
 
@@ -10399,7 +10399,7 @@
 
   MockQuicData socket_data(version_);
   socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     socket_data.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   socket_data.AddSocketDataToFactory(socket_factory_.get());
 
@@ -10562,7 +10562,7 @@
 
   MockQuicData socket_data(version_);
   socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     socket_data.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   socket_data.AddSocketDataToFactory(socket_factory_.get());
 
@@ -10634,13 +10634,13 @@
 
   MockQuicData socket_data1(version_);
   socket_data1.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     socket_data1.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   socket_data1.AddSocketDataToFactory(socket_factory_.get());
   client_maker_.Reset();
   MockQuicData socket_data2(version_);
   socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     socket_data2.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   socket_data2.AddSocketDataToFactory(socket_factory_.get());
 
@@ -10722,13 +10722,13 @@
 
   MockQuicData socket_data1(version_);
   socket_data1.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     socket_data1.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   socket_data1.AddSocketDataToFactory(socket_factory_.get());
   client_maker_.Reset();
   MockQuicData socket_data2(version_);
   socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     socket_data2.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   socket_data2.AddSocketDataToFactory(socket_factory_.get());
 
@@ -10861,7 +10861,7 @@
 
   MockQuicData socket_data(version_);
   socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     socket_data.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   socket_data.AddSocketDataToFactory(socket_factory_.get());
 
@@ -10890,7 +10890,7 @@
 
   MockQuicData socket_data(version_);
   socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     socket_data.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   socket_data.AddSocketDataToFactory(socket_factory_.get());
 
@@ -11206,7 +11206,7 @@
 
   MockQuicData quic_data(version_);
   quic_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     quic_data.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   quic_data.AddSocketDataToFactory(socket_factory_.get());
 
@@ -11242,7 +11242,7 @@
 
   MockQuicData quic_data(version_);
   quic_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     quic_data.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   quic_data.AddSocketDataToFactory(socket_factory_.get());
 
@@ -11301,7 +11301,7 @@
 
   MockQuicData quic_data(version_);
   quic_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     quic_data.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   quic_data.AddSocketDataToFactory(socket_factory_.get());
 
@@ -11364,7 +11364,7 @@
   MockQuicData quic_data(version_);
   quic_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_ZERO_RTT);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     quic_data.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   quic_data.AddSocketDataToFactory(socket_factory_.get());
 
@@ -11433,7 +11433,7 @@
   MockQuicData quic_data(version_);
   quic_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_ZERO_RTT);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     quic_data.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   quic_data.AddSocketDataToFactory(socket_factory_.get());
 
@@ -11496,7 +11496,7 @@
   MockQuicData quic_data(version_);
   quic_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     quic_data.AddWrite(SYNCHRONOUS,
                        ConstructInitialSettingsPacket(packet_num++));
   }
@@ -11510,7 +11510,7 @@
   client_maker_.Reset();
   MockQuicData quic_data2(version_);
   quic_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     quic_data2.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   quic_data2.AddSocketDataToFactory(socket_factory_.get());
 
@@ -11575,7 +11575,7 @@
   quic_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
   int packet_num = 1;
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_ZERO_RTT);
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     quic_data.AddWrite(SYNCHRONOUS,
                        ConstructInitialSettingsPacket(packet_num++));
   }
@@ -11590,7 +11590,7 @@
   MockQuicData quic_data2(version_);
   quic_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_ZERO_RTT);
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     quic_data2.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   }
   quic_data2.AddSocketDataToFactory(socket_factory_.get());
@@ -11658,7 +11658,7 @@
   quic_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_ZERO_RTT);
   int packet_number = 1;
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     quic_data.AddWrite(SYNCHRONOUS,
                        ConstructInitialSettingsPacket(packet_number++));
   quic_data.AddWrite(SYNCHRONOUS,
@@ -11670,7 +11670,7 @@
   client_maker_.Reset();
   MockQuicData quic_data2(version_);
   quic_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     quic_data2.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   quic_data2.AddSocketDataToFactory(socket_factory_.get());
 
@@ -11782,7 +11782,7 @@
   MockQuicData quic_data(version_);
   quic_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
   int packet_num = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     quic_data.AddWrite(SYNCHRONOUS,
                        ConstructInitialSettingsPacket(packet_num++));
   }
@@ -11895,7 +11895,7 @@
   client_maker_.Reset();
   MockQuicData quic_data2(version_);
   quic_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     quic_data2.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   quic_data2.AddSocketDataToFactory(socket_factory_.get());
 
@@ -12011,7 +12011,7 @@
   quic_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_ZERO_RTT);
   int packet_number = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     quic_data.AddWrite(SYNCHRONOUS,
                        ConstructInitialSettingsPacket(packet_number++));
   }
@@ -12069,7 +12069,7 @@
   quic_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_ZERO_RTT);
   int packet_number = 1;
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     quic_data.AddWrite(SYNCHRONOUS,
                        ConstructInitialSettingsPacket(packet_number++));
   }
@@ -12111,7 +12111,7 @@
 
   MockQuicData quic_data(version_);
   quic_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     quic_data.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   quic_data.AddSocketDataToFactory(socket_factory_.get());
 
@@ -12170,7 +12170,7 @@
 
   MockQuicData quic_data(version_);
   quic_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     quic_data.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   quic_data.AddSocketDataToFactory(socket_factory_.get());
 
@@ -12178,7 +12178,7 @@
   client_maker_.Reset();
   MockQuicData quic_data2(version_);
   quic_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     quic_data2.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   quic_data2.AddSocketDataToFactory(socket_factory_.get());
 
@@ -12246,14 +12246,14 @@
   MockQuicData quic_data(version_);
   quic_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_ZERO_RTT);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     quic_data.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   quic_data.AddSocketDataToFactory(socket_factory_.get());
 
   client_maker_.Reset();
   MockQuicData quic_data2(version_);
   quic_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     quic_data2.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   quic_data2.AddSocketDataToFactory(socket_factory_.get());
 
@@ -12316,7 +12316,7 @@
   socket_data.AddWrite(ASYNC, client_maker_.MakeDummyCHLOPacket(1));
   socket_data.AddWrite(ASYNC, client_maker_.MakeDummyCHLOPacket(2));
   client_maker_.SetEncryptionLevel(quic::ENCRYPTION_FORWARD_SECURE);
-  if (VersionUsesQpack(version_.transport_version)) {
+  if (VersionUsesHttp3(version_.transport_version)) {
     socket_data.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket(3));
   }
 
@@ -12372,13 +12372,13 @@
   // Prepare to establish two QUIC sessions.
   MockQuicData socket_data(version_);
   socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     socket_data.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   socket_data.AddSocketDataToFactory(socket_factory_.get());
   client_maker_.Reset();
   MockQuicData socket_data2(version_);
   socket_data2.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
-  if (VersionUsesQpack(version_.transport_version))
+  if (VersionUsesHttp3(version_.transport_version))
     socket_data2.AddWrite(SYNCHRONOUS, ConstructInitialSettingsPacket());
   socket_data2.AddSocketDataToFactory(socket_factory_.get());
 
diff --git a/net/quic/quic_test_packet_maker.cc b/net/quic/quic_test_packet_maker.cc
index b03014b..172e430 100644
--- a/net/quic/quic_test_packet_maker.cc
+++ b/net/quic/quic_test_packet_maker.cc
@@ -172,35 +172,28 @@
     framer.SetEncrypter(encryption_level_,
                         std::make_unique<quic::NullEncrypter>(perspective_));
   }
-  size_t max_plaintext_size =
-      framer.GetMaxPlaintextSize(quic::kDefaultMaxPacketSize);
-  char buffer[quic::kDefaultMaxPacketSize];
-  size_t length;
+
   if (version_.transport_version != quic::QUIC_VERSION_99) {
-    length = framer.BuildConnectivityProbingPacket(
-        header_, buffer, max_plaintext_size, encryption_level_);
+    quic::QuicFrames frames{{quic::QuicFrame{quic::QuicPingFrame{}},
+                             quic::QuicFrame{quic::QuicPaddingFrame{}}}};
+    return MakeMultipleFramesPacket(header_, frames, nullptr);
   } else if (perspective_ == quic::Perspective::IS_CLIENT) {
     quic::test::MockRandom rand(0);
     quic::QuicPathFrameBuffer payload;
-    length = framer.BuildPaddedPathChallengePacket(header_, buffer,
-                                                   max_plaintext_size, &payload,
-                                                   &rand, encryption_level_);
+    rand.RandBytes(payload.data(), payload.size());
+    quic::QuicPathChallengeFrame path_challenge(0, payload);
+    quic::QuicFrames frames{{quic::QuicFrame{&path_challenge},
+                             quic::QuicFrame{quic::QuicPaddingFrame{}}}};
+    return MakeMultipleFramesPacket(header_, frames, nullptr);
   } else {
     quic::test::MockRandom rand(0);
     quic::QuicPathFrameBuffer payload;
     rand.RandBytes(payload.data(), payload.size());
-    quic::QuicDeque<quic::QuicPathFrameBuffer> payloads{payload};
-    length = framer.BuildPathResponsePacket(header_, buffer, max_plaintext_size,
-                                            payloads, true, encryption_level_);
+    quic::QuicPathResponseFrame path_response(0, payload);
+    quic::QuicFrames frames{{quic::QuicFrame{&path_response},
+                             quic::QuicFrame{quic::QuicPaddingFrame{}}}};
+    return MakeMultipleFramesPacket(header_, frames, nullptr);
   }
-  size_t encrypted_size = framer.EncryptInPlace(
-      encryption_level_, header_.packet_number,
-      GetStartOfEncryptedData(framer.transport_version(), header_), length,
-      quic::kDefaultMaxPacketSize, buffer);
-  EXPECT_EQ(quic::kDefaultMaxPacketSize, encrypted_size);
-  quic::QuicReceivedPacket encrypted(buffer, encrypted_size, clock_->Now(),
-                                     false);
-  return encrypted.Clone();
 }
 
 std::unique_ptr<quic::QuicReceivedPacket> QuicTestPacketMaker::MakePingPacket(
@@ -361,7 +354,7 @@
     DVLOG(1) << "Adding frame: " << frames.back();
   }
 
-  if (quic::VersionUsesQpack(version_.transport_version)) {
+  if (quic::VersionUsesHttp3(version_.transport_version)) {
     // Send SETTINGS frame(s) if they have not already been sent.
     MaybeAddHttp3SettingsFrames(&frames);
 
@@ -766,7 +759,7 @@
     size_t* spdy_headers_frame_length,
     const std::vector<std::string>& data_writes) {
   InitializeHeader(packet_number, should_include_version);
-  if (quic::VersionUsesQpack(version_.transport_version)) {
+  if (quic::VersionUsesHttp3(version_.transport_version)) {
     quic::QuicFrames frames;
 
     // Send SETTINGS frame(s) if they have not already been sent.
@@ -829,7 +822,7 @@
     size_t* spdy_headers_frame_length) {
   InitializeHeader(packet_number, should_include_version);
 
-  if (quic::VersionUsesQpack(version_.transport_version)) {
+  if (quic::VersionUsesHttp3(version_.transport_version)) {
     quic::QuicFrames frames;
 
     // Send SETTINGS frame(s) if they have not already been sent.
@@ -871,7 +864,7 @@
     quic::QuicStreamId parent_stream_id,
     size_t* spdy_headers_frame_length,
     quic::QuicRstStreamErrorCode error_code) {
-  if (quic::VersionUsesQpack(version_.transport_version)) {
+  if (quic::VersionUsesHttp3(version_.transport_version)) {
     quic::QuicFrames frames;
 
     // Send SETTINGS frame(s) if they have not already been sent.
@@ -960,7 +953,7 @@
     bool fin,
     spdy::SpdyHeaderBlock headers,
     size_t* spdy_headers_frame_length) {
-  if (quic::VersionUsesQpack(version_.transport_version)) {
+  if (quic::VersionUsesHttp3(version_.transport_version)) {
     std::string encoded_headers =
         qpack_encoder_.EncodeHeaderList(stream_id, headers, nullptr);
     quic::QuicFrames frames;
@@ -1024,7 +1017,7 @@
     size_t* spdy_headers_frame_length) {
   InitializeHeader(packet_number, should_include_version);
 
-  if (quic::VersionUsesQpack(version_.transport_version)) {
+  if (quic::VersionUsesHttp3(version_.transport_version)) {
     // STREAM frames for HEADERS.
     std::vector<std::string> data = QpackEncodeHeaders(
         stream_id, std::move(headers), spdy_headers_frame_length);
@@ -1179,7 +1172,7 @@
 
 std::unique_ptr<quic::QuicReceivedPacket>
 QuicTestPacketMaker::MakeInitialSettingsPacket(uint64_t packet_number) {
-  if (!quic::VersionHasStreamType(version_.transport_version)) {
+  if (!quic::VersionUsesHttp3(version_.transport_version)) {
     spdy::SpdySettingsIR settings_frame;
     settings_frame.AddSetting(spdy::SETTINGS_MAX_HEADER_LIST_SIZE,
                               kQuicMaxHeaderListSize);
@@ -1208,14 +1201,14 @@
                                         quic::QuicStreamId parent_stream_id,
                                         spdy::SpdyPriority priority) {
   if (!client_headers_include_h2_stream_dependency_ ||
-      quic::VersionUsesQpack(version_.transport_version)) {
+      quic::VersionUsesHttp3(version_.transport_version)) {
     // TODO(rch): both stream_dependencies and priority frames need to be
     // supported in IETF QUIC.
     parent_stream_id = 0;
   }
   int weight = spdy::Spdy3PriorityToHttp2Weight(priority);
   bool exclusive = client_headers_include_h2_stream_dependency_;
-  if (!VersionUsesQpack(version_.transport_version)) {
+  if (!VersionUsesHttp3(version_.transport_version)) {
     spdy::SpdyPriorityIR priority_frame(id, parent_stream_id, weight,
                                         exclusive);
     spdy::SpdySerializedFrame spdy_frame(
@@ -1281,7 +1274,7 @@
 
     spdy::SpdySerializedFrame* spdy_frame = spdy_frames.back().get();
     frames.push_back(GenerateNextStreamFrame(
-        quic::VersionUsesQpack(version_.transport_version)
+        quic::VersionUsesHttp3(version_.transport_version)
             ? GetFirstBidirectionalStreamId()
             : GetHeadersStreamId(),
         false, quic::QuicStringPiece(spdy_frame->data(), spdy_frame->size())));
@@ -1372,7 +1365,7 @@
     quic::QuicStreamId stream_id,
     spdy::SpdyHeaderBlock headers,
     size_t* encoded_data_length) {
-  DCHECK(quic::VersionUsesQpack(version_.transport_version));
+  DCHECK(quic::VersionUsesHttp3(version_.transport_version));
   std::vector<std::string> data;
 
   std::string encoded_headers =
@@ -1513,7 +1506,7 @@
 
 void QuicTestPacketMaker::MaybeAddHttp3SettingsFrames(
     quic::QuicFrames* frames) {
-  DCHECK(quic::VersionUsesQpack(version_.transport_version));
+  DCHECK(quic::VersionUsesHttp3(version_.transport_version));
 
   quic::QuicStreamId stream_id =
       quic::QuicUtils::GetFirstUnidirectionalStreamId(
diff --git a/net/tools/quic/quic_simple_client_bin.cc b/net/tools/quic/quic_simple_client_bin.cc
index e8c7a3c..b047219 100644
--- a/net/tools/quic/quic_simple_client_bin.cc
+++ b/net/tools/quic/quic_simple_client_bin.cc
@@ -84,7 +84,7 @@
     }
 
     quic::QuicServerId server_id(host_for_handshake, port, false);
-    return quic::QuicMakeUnique<net::QuicSimpleClient>(
+    return std::make_unique<net::QuicSimpleClient>(
         quic::QuicSocketAddress(ip_addr, port), server_id, versions,
         std::move(verifier));
   }
diff --git a/pdf/accessibility.cc b/pdf/accessibility.cc
index a18339ad..23bf71e 100644
--- a/pdf/accessibility.cc
+++ b/pdf/accessibility.cc
@@ -112,8 +112,7 @@
     PP_PrivateAccessibilityPageInfo* page_info,
     std::vector<PP_PrivateAccessibilityTextRunInfo>* text_runs,
     std::vector<PP_PrivateAccessibilityCharInfo>* chars,
-    std::vector<pp::PDF::PrivateAccessibilityLinkInfo>* links,
-    std::vector<pp::PDF::PrivateAccessibilityImageInfo>* images) {
+    pp::PDF::PrivateAccessibilityPageObjects* page_objects) {
   int page_count = engine->GetNumberOfPages();
   if (page_index < 0 || page_index >= page_count)
     return false;
@@ -187,11 +186,10 @@
   }
 
   page_info->text_run_count = text_runs->size();
-  GetAccessibilityLinkInfo(engine, page_index, *text_runs, links);
-  page_info->link_count = links->size();
+  GetAccessibilityLinkInfo(engine, page_index, *text_runs,
+                           &page_objects->links);
   GetAccessibilityImageInfo(engine, page_index, page_info->text_run_count,
-                            images);
-  page_info->image_count = images->size();
+                            &page_objects->images);
   return true;
 }
 
diff --git a/pdf/accessibility.h b/pdf/accessibility.h
index 11ec97c..6105eea 100644
--- a/pdf/accessibility.h
+++ b/pdf/accessibility.h
@@ -15,7 +15,7 @@
 
 class PDFEngine;
 
-// Retrieve |page_info|, |text_runs|, |chars|, |links| and |images| from
+// Retrieve |page_info|, |text_runs|, |chars|, and |page_objects| from
 // |engine| for the page at 0-indexed |page_index|. Returns true on success with
 // all out parameters filled, or false on failure with all out parameters
 // untouched.
@@ -25,8 +25,7 @@
     PP_PrivateAccessibilityPageInfo* page_info,
     std::vector<PP_PrivateAccessibilityTextRunInfo>* text_runs,
     std::vector<PP_PrivateAccessibilityCharInfo>* chars,
-    std::vector<pp::PDF::PrivateAccessibilityLinkInfo>* links,
-    std::vector<pp::PDF::PrivateAccessibilityImageInfo>* images);
+    pp::PDF::PrivateAccessibilityPageObjects* page_objects);
 
 }  // namespace chrome_pdf
 
diff --git a/pdf/out_of_process_instance.cc b/pdf/out_of_process_instance.cc
index f36ab31..d7efd7f 100644
--- a/pdf/out_of_process_instance.cc
+++ b/pdf/out_of_process_instance.cc
@@ -972,15 +972,15 @@
   PP_PrivateAccessibilityPageInfo page_info;
   std::vector<PP_PrivateAccessibilityTextRunInfo> text_runs;
   std::vector<PP_PrivateAccessibilityCharInfo> chars;
-  std::vector<pp::PDF::PrivateAccessibilityLinkInfo> links;
-  std::vector<pp::PDF::PrivateAccessibilityImageInfo> images;
+  pp::PDF::PrivateAccessibilityPageObjects page_objects;
+
   if (!GetAccessibilityInfo(engine_.get(), page_index, &page_info, &text_runs,
-                            &chars, &links, &images)) {
+                            &chars, &page_objects)) {
     return;
   }
 
   pp::PDF::SetAccessibilityPageInfo(GetPluginInstance(), &page_info, text_runs,
-                                    chars, links, images);
+                                    chars, page_objects);
 
   // Schedule loading the next page.
   pp::CompletionCallback callback = callback_factory_.NewCallback(
diff --git a/pdf/pdfium/accessibility_unittest.cc b/pdf/pdfium/accessibility_unittest.cc
index e5ae606..485cdfc 100644
--- a/pdf/pdfium/accessibility_unittest.cc
+++ b/pdf/pdfium/accessibility_unittest.cc
@@ -72,10 +72,9 @@
   PP_PrivateAccessibilityPageInfo page_info;
   std::vector<PP_PrivateAccessibilityTextRunInfo> text_runs;
   std::vector<PP_PrivateAccessibilityCharInfo> chars;
-  std::vector<pp::PDF::PrivateAccessibilityLinkInfo> links;
-  std::vector<pp::PDF::PrivateAccessibilityImageInfo> images;
+  pp::PDF::PrivateAccessibilityPageObjects page_objects;
   ASSERT_TRUE(GetAccessibilityInfo(engine.get(), 0, &page_info, &text_runs,
-                                   &chars, &links, &images));
+                                   &chars, &page_objects));
   EXPECT_EQ(0u, page_info.page_index);
   EXPECT_EQ(5, page_info.bounds.point.x);
   EXPECT_EQ(3, page_info.bounds.point.y);
@@ -83,10 +82,6 @@
   EXPECT_EQ(266, page_info.bounds.size.height);
   EXPECT_EQ(text_runs.size(), page_info.text_run_count);
   EXPECT_EQ(chars.size(), page_info.char_count);
-  // TODO(crbug.com/981448): Test the contents of |links| and |images| when
-  // populated.
-  EXPECT_EQ(links.size(), page_info.link_count);
-  EXPECT_EQ(images.size(), page_info.image_count);
 
   bool is_chromeos = IsRunningOnChromeOS();
 
@@ -131,22 +126,20 @@
   PP_PrivateAccessibilityPageInfo page_info;
   std::vector<PP_PrivateAccessibilityTextRunInfo> text_runs;
   std::vector<PP_PrivateAccessibilityCharInfo> chars;
-  std::vector<pp::PDF::PrivateAccessibilityLinkInfo> links;
-  std::vector<pp::PDF::PrivateAccessibilityImageInfo> images;
+  pp::PDF::PrivateAccessibilityPageObjects page_objects;
   ASSERT_TRUE(GetAccessibilityInfo(engine.get(), 0, &page_info, &text_runs,
-                                   &chars, &links, &images));
+                                   &chars, &page_objects));
   EXPECT_EQ(0u, page_info.page_index);
   CompareRect(kExpectedPageRect, page_info.bounds);
   EXPECT_EQ(text_runs.size(), page_info.text_run_count);
   EXPECT_EQ(chars.size(), page_info.char_count);
-  EXPECT_EQ(links.size(), page_info.link_count);
-  EXPECT_EQ(images.size(), page_info.image_count);
-  ASSERT_EQ(images.size(), base::size(kExpectedImageInfo));
+  ASSERT_EQ(page_objects.images.size(), base::size(kExpectedImageInfo));
 
-  for (size_t i = 0; i < page_info.image_count; ++i) {
-    EXPECT_EQ(images[i].alt_text, kExpectedImageInfo[i].alt_text);
-    CompareRect(kExpectedImageInfo[i].bounds, images[i].bounds);
-    EXPECT_EQ(images[i].text_run_index, kExpectedImageInfo[i].text_run_index);
+  for (size_t i = 0; i < page_objects.images.size(); ++i) {
+    EXPECT_EQ(page_objects.images[i].alt_text, kExpectedImageInfo[i].alt_text);
+    CompareRect(kExpectedImageInfo[i].bounds, page_objects.images[i].bounds);
+    EXPECT_EQ(page_objects.images[i].text_run_index,
+              kExpectedImageInfo[i].text_run_index);
   }
 }
 
@@ -442,20 +435,18 @@
   PP_PrivateAccessibilityPageInfo page_info;
   std::vector<PP_PrivateAccessibilityTextRunInfo> text_runs;
   std::vector<PP_PrivateAccessibilityCharInfo> chars;
-  std::vector<pp::PDF::PrivateAccessibilityLinkInfo> links;
-  std::vector<pp::PDF::PrivateAccessibilityImageInfo> images;
+  pp::PDF::PrivateAccessibilityPageObjects page_objects;
   ASSERT_TRUE(GetAccessibilityInfo(engine.get(), 0, &page_info, &text_runs,
-                                   &chars, &links, &images));
+                                   &chars, &page_objects));
   EXPECT_EQ(0u, page_info.page_index);
   CompareRect(kExpectedPageRect, page_info.bounds);
   EXPECT_EQ(text_runs.size(), page_info.text_run_count);
   EXPECT_EQ(chars.size(), page_info.char_count);
-  EXPECT_EQ(links.size(), page_info.link_count);
-  EXPECT_EQ(images.size(), page_info.image_count);
-  ASSERT_EQ(links.size(), base::size(expected_link_info));
+  ASSERT_EQ(page_objects.links.size(), base::size(expected_link_info));
 
-  for (size_t i = 0; i < page_info.link_count; ++i) {
-    const pp::PDF::PrivateAccessibilityLinkInfo& link_info = links[i];
+  for (size_t i = 0; i < page_objects.links.size(); ++i) {
+    const pp::PDF::PrivateAccessibilityLinkInfo& link_info =
+        page_objects.links[i];
     EXPECT_EQ(link_info.url, expected_link_info[i].url);
     EXPECT_EQ(link_info.index_in_page, expected_link_info[i].index_in_page);
     CompareRect(expected_link_info[i].bounds, link_info.bounds);
diff --git a/ppapi/c/private/ppb_pdf.h b/ppapi/c/private/ppb_pdf.h
index 9afca9dd..0f1a15d 100644
--- a/ppapi/c/private/ppb_pdf.h
+++ b/ppapi/c/private/ppb_pdf.h
@@ -80,8 +80,8 @@
 };
 
 // This holds the link information provided by the PDF and will be used in
-// accessibility to provide the link information.
-// Needs to stay in sync with C++ version.
+// accessibility to provide the link information. Needs to stay in sync with
+// C++ versions (PdfAccessibilityLinkInfo and PrivateAccessibilityLinkInfo).
 struct PP_PrivateAccessibilityLinkInfo {
   // URL of the link.
   const char* url;
@@ -102,8 +102,8 @@
 };
 
 // This holds the image information provided by the PDF and will be used in
-// accessibility to provide the image information.
-// Needs to stay in sync with C++ version.
+// accessibility to provide the image information. Needs to stay in sync with
+// C++ versions (PdfAccessibilityImageInfo and PrivateAccessibilityImageInfo).
 struct PP_PrivateAccessibilityImageInfo {
   // Alternate text for the image provided by PDF.
   const char* alt_text;
@@ -116,6 +116,17 @@
   struct PP_FloatRect bounds;
 };
 
+// Holds links and images within a PDF page so that IPC messages
+// passing accessibility objects do not have too many parameters.
+// Needs to stay in sync with C++ versions (PdfAccessibilityPageObjects and
+// PrivateAccessibilityPageObjects).
+struct PP_PrivateAccessibilityPageObjects {
+  struct PP_PrivateAccessibilityLinkInfo* links;
+  uint32_t link_count;
+  struct PP_PrivateAccessibilityImageInfo* images;
+  uint32_t image_count;
+};
+
 struct PPB_PDF {
   // Returns a resource identifying a font file corresponding to the given font
   // request after applying the browser-specific fallback.
@@ -199,8 +210,7 @@
       const struct PP_PrivateAccessibilityPageInfo* page_info,
       const struct PP_PrivateAccessibilityTextRunInfo text_runs[],
       const struct PP_PrivateAccessibilityCharInfo chars[],
-      const struct PP_PrivateAccessibilityLinkInfo links[],
-      const struct PP_PrivateAccessibilityImageInfo images[]);
+      const struct PP_PrivateAccessibilityPageObjects* page_objects);
 
   // Sends information about the PDF's URL and the embedder's URL.
   void (*SetCrashData)(PP_Instance instance,
diff --git a/ppapi/cpp/private/pdf.cc b/ppapi/cpp/private/pdf.cc
index 70d965b8b..ea13142 100644
--- a/ppapi/cpp/private/pdf.cc
+++ b/ppapi/cpp/private/pdf.cc
@@ -226,20 +226,28 @@
     const PP_PrivateAccessibilityPageInfo* page_info,
     const std::vector<PP_PrivateAccessibilityTextRunInfo>& text_runs,
     const std::vector<PP_PrivateAccessibilityCharInfo>& chars,
-    const std::vector<PrivateAccessibilityLinkInfo>& links,
-    const std::vector<PrivateAccessibilityImageInfo>& images) {
+    const PrivateAccessibilityPageObjects& page_objects) {
   if (has_interface<PPB_PDF>()) {
+    const std::vector<PrivateAccessibilityLinkInfo>& links = page_objects.links;
     std::vector<PP_PrivateAccessibilityLinkInfo> link_info(links.size());
     for (size_t i = 0; i < links.size(); ++i)
       ConvertPrivateAccessibilityLinkInfo(links[i], &link_info[i]);
 
+    const std::vector<PrivateAccessibilityImageInfo>& images =
+        page_objects.images;
     std::vector<PP_PrivateAccessibilityImageInfo> image_info(images.size());
     for (size_t i = 0; i < images.size(); ++i)
       ConvertPrivateAccessibilityImageInfo(images[i], &image_info[i]);
 
+    PP_PrivateAccessibilityPageObjects pp_page_objects;
+    pp_page_objects.links = link_info.data();
+    pp_page_objects.link_count = link_info.size();
+    pp_page_objects.images = image_info.data();
+    pp_page_objects.image_count = image_info.size();
+
     get_interface<PPB_PDF>()->SetAccessibilityPageInfo(
         instance.pp_instance(), page_info, text_runs.data(), chars.data(),
-        link_info.data(), image_info.data());
+        &pp_page_objects);
   }
 }
 
diff --git a/ppapi/cpp/private/pdf.h b/ppapi/cpp/private/pdf.h
index 417016c..9ae801f 100644
--- a/ppapi/cpp/private/pdf.h
+++ b/ppapi/cpp/private/pdf.h
@@ -40,6 +40,13 @@
     FloatRect bounds;
   };
 
+  // C++ version of PP_PrivateAccessibilityPageObjects.
+  // Needs to stay in sync with the C version.
+  struct PrivateAccessibilityPageObjects {
+    std::vector<PrivateAccessibilityLinkInfo> links;
+    std::vector<PrivateAccessibilityImageInfo> images;
+  };
+
   // Returns true if the required interface is available.
   static bool IsAvailable();
 
@@ -95,8 +102,7 @@
       const PP_PrivateAccessibilityPageInfo* page_info,
       const std::vector<PP_PrivateAccessibilityTextRunInfo>& text_runs,
       const std::vector<PP_PrivateAccessibilityCharInfo>& chars,
-      const std::vector<PrivateAccessibilityLinkInfo>& links,
-      const std::vector<PrivateAccessibilityImageInfo>& images);
+      const PrivateAccessibilityPageObjects& page_objects);
   static void SetCrashData(const InstanceHandle& instance,
                            const char* pdf_url,
                            const char* top_level_url);
diff --git a/ppapi/proxy/pdf_resource.cc b/ppapi/proxy/pdf_resource.cc
index 0dcaeaf..5c82da8 100644
--- a/ppapi/proxy/pdf_resource.cc
+++ b/ppapi/proxy/pdf_resource.cc
@@ -218,8 +218,7 @@
     const PP_PrivateAccessibilityPageInfo* page_info,
     const PP_PrivateAccessibilityTextRunInfo text_runs[],
     const PP_PrivateAccessibilityCharInfo chars[],
-    const PP_PrivateAccessibilityLinkInfo links[],
-    const PP_PrivateAccessibilityImageInfo images[]) {
+    const PP_PrivateAccessibilityPageObjects* page_objects) {
   std::vector<PP_PrivateAccessibilityTextRunInfo> text_run_vector(
       text_runs, text_runs + page_info->text_run_count);
   std::vector<PP_PrivateAccessibilityCharInfo> char_vector(
@@ -228,18 +227,23 @@
   // std::string. Convert information for links and images to meet these
   // requirements.
   std::vector<ppapi::PdfAccessibilityLinkInfo> link_vector;
-  link_vector.reserve(page_info->link_count);
-  for (size_t i = 0; i < page_info->link_count; i++) {
-    link_vector.emplace_back(links[i]);
+  link_vector.reserve(page_objects->link_count);
+  for (size_t i = 0; i < page_objects->link_count; i++) {
+    link_vector.emplace_back(page_objects->links[i]);
   }
   std::vector<ppapi::PdfAccessibilityImageInfo> image_vector;
-  image_vector.reserve(page_info->image_count);
-  for (size_t i = 0; i < page_info->image_count; i++) {
-    image_vector.emplace_back(images[i]);
+  image_vector.reserve(page_objects->image_count);
+  for (size_t i = 0; i < page_objects->image_count; i++) {
+    image_vector.emplace_back(page_objects->images[i]);
   }
-  Post(RENDERER, PpapiHostMsg_PDF_SetAccessibilityPageInfo(
-                     *page_info, text_run_vector, char_vector, link_vector,
-                     image_vector));
+
+  ppapi::PdfAccessibilityPageObjects ppapi_page_objects;
+  ppapi_page_objects.links = std::move(link_vector);
+  ppapi_page_objects.images = std::move(image_vector);
+
+  Post(RENDERER,
+       PpapiHostMsg_PDF_SetAccessibilityPageInfo(
+           *page_info, text_run_vector, char_vector, ppapi_page_objects));
 }
 
 void PDFResource::SetCrashData(const char* pdf_url, const char* top_level_url) {
diff --git a/ppapi/proxy/pdf_resource.h b/ppapi/proxy/pdf_resource.h
index 8ae2bdb8..b037510 100644
--- a/ppapi/proxy/pdf_resource.h
+++ b/ppapi/proxy/pdf_resource.h
@@ -66,8 +66,7 @@
       const PP_PrivateAccessibilityPageInfo* page_info,
       const PP_PrivateAccessibilityTextRunInfo text_runs[],
       const PP_PrivateAccessibilityCharInfo chars[],
-      const PP_PrivateAccessibilityLinkInfo links[],
-      const PP_PrivateAccessibilityImageInfo images[]) override;
+      const PP_PrivateAccessibilityPageObjects* page_objects) override;
   void SetCrashData(const char* pdf_url, const char* top_level_url) override;
   void SelectionChanged(const PP_FloatPoint& left,
                         int32_t left_height,
diff --git a/ppapi/proxy/ppapi_messages.h b/ppapi/proxy/ppapi_messages.h
index b909f24..3f6cca0 100644
--- a/ppapi/proxy/ppapi_messages.h
+++ b/ppapi/proxy/ppapi_messages.h
@@ -287,8 +287,6 @@
   IPC_STRUCT_TRAITS_MEMBER(bounds)
   IPC_STRUCT_TRAITS_MEMBER(text_run_count)
   IPC_STRUCT_TRAITS_MEMBER(char_count)
-  IPC_STRUCT_TRAITS_MEMBER(link_count)
-  IPC_STRUCT_TRAITS_MEMBER(image_count)
 IPC_STRUCT_TRAITS_END()
 
 IPC_STRUCT_TRAITS_BEGIN(ppapi::PdfAccessibilityLinkInfo)
@@ -305,6 +303,11 @@
   IPC_STRUCT_TRAITS_MEMBER(bounds)
 IPC_STRUCT_TRAITS_END()
 
+IPC_STRUCT_TRAITS_BEGIN(ppapi::PdfAccessibilityPageObjects)
+  IPC_STRUCT_TRAITS_MEMBER(links)
+  IPC_STRUCT_TRAITS_MEMBER(images)
+IPC_STRUCT_TRAITS_END()
+
 IPC_STRUCT_TRAITS_BEGIN(PP_URLComponent_Dev)
   IPC_STRUCT_TRAITS_MEMBER(begin)
   IPC_STRUCT_TRAITS_MEMBER(len)
@@ -2396,13 +2399,12 @@
     PP_PrivateAccessibilityDocInfo /* doc_info */)
 
 // Send information about one page for accessibility support.
-IPC_MESSAGE_CONTROL5(
+IPC_MESSAGE_CONTROL4(
     PpapiHostMsg_PDF_SetAccessibilityPageInfo,
     PP_PrivateAccessibilityPageInfo /* page_info */,
     std::vector<PP_PrivateAccessibilityTextRunInfo> /* text_runs */,
     std::vector<PP_PrivateAccessibilityCharInfo> /* chars */,
-    std::vector<ppapi::PdfAccessibilityLinkInfo> /* links */,
-    std::vector<ppapi::PdfAccessibilityImageInfo> /* images */)
+    ppapi::PdfAccessibilityPageObjects /* page_objects */)
 
 // Send information about the selection coordinates.
 IPC_MESSAGE_CONTROL4(PpapiHostMsg_PDF_SelectionChanged,
diff --git a/ppapi/shared_impl/pdf_accessibility_shared.cc b/ppapi/shared_impl/pdf_accessibility_shared.cc
index ea389f78..2994d905 100644
--- a/ppapi/shared_impl/pdf_accessibility_shared.cc
+++ b/ppapi/shared_impl/pdf_accessibility_shared.cc
@@ -16,9 +16,6 @@
       text_run_count(link.text_run_count),
       bounds(link.bounds) {}
 
-PdfAccessibilityLinkInfo::PdfAccessibilityLinkInfo(
-    PdfAccessibilityLinkInfo&& other) = default;
-
 PdfAccessibilityLinkInfo::~PdfAccessibilityLinkInfo() = default;
 
 PdfAccessibilityImageInfo::PdfAccessibilityImageInfo() = default;
@@ -29,9 +26,23 @@
       text_run_index(image.text_run_index),
       bounds(image.bounds) {}
 
-PdfAccessibilityImageInfo::PdfAccessibilityImageInfo(
-    PdfAccessibilityImageInfo&& other) = default;
-
 PdfAccessibilityImageInfo::~PdfAccessibilityImageInfo() = default;
 
+PdfAccessibilityPageObjects::PdfAccessibilityPageObjects() = default;
+
+PdfAccessibilityPageObjects::PdfAccessibilityPageObjects(
+    const PP_PrivateAccessibilityPageObjects& page_objects) {
+  links.reserve(page_objects.link_count);
+  for (size_t i = 0; i < page_objects.link_count; i++) {
+    links.emplace_back(page_objects.links[i]);
+  }
+
+  images.reserve(page_objects.image_count);
+  for (size_t i = 0; i < page_objects.image_count; i++) {
+    images.emplace_back(page_objects.images[i]);
+  }
+}
+
+PdfAccessibilityPageObjects::~PdfAccessibilityPageObjects() = default;
+
 }  // namespace ppapi
diff --git a/ppapi/shared_impl/pdf_accessibility_shared.h b/ppapi/shared_impl/pdf_accessibility_shared.h
index fd321d68..95830ab2 100644
--- a/ppapi/shared_impl/pdf_accessibility_shared.h
+++ b/ppapi/shared_impl/pdf_accessibility_shared.h
@@ -6,6 +6,7 @@
 #define PPAPI_SHARED_IMPL_PDF_ACCESSIBILITY_SHARED_H_
 
 #include <string>
+#include <vector>
 
 #include "ppapi/c/pp_rect.h"
 #include "ppapi/c/private/ppb_pdf.h"
@@ -18,7 +19,6 @@
   PdfAccessibilityLinkInfo();
   explicit PdfAccessibilityLinkInfo(
       const PP_PrivateAccessibilityLinkInfo& link);
-  PdfAccessibilityLinkInfo(PdfAccessibilityLinkInfo&& other);
   ~PdfAccessibilityLinkInfo();
 
   std::string url;
@@ -33,7 +33,6 @@
   PdfAccessibilityImageInfo();
   explicit PdfAccessibilityImageInfo(
       const PP_PrivateAccessibilityImageInfo& image);
-  PdfAccessibilityImageInfo(PdfAccessibilityImageInfo&& other);
   ~PdfAccessibilityImageInfo();
 
   std::string alt_text;
@@ -41,6 +40,17 @@
   PP_FloatRect bounds;
 };
 
+// Needs to stay in sync with PP_PrivateAccessibilityPageObjects.
+struct PPAPI_SHARED_EXPORT PdfAccessibilityPageObjects {
+  PdfAccessibilityPageObjects();
+  explicit PdfAccessibilityPageObjects(
+      const PP_PrivateAccessibilityPageObjects& page_objects);
+  ~PdfAccessibilityPageObjects();
+
+  std::vector<PdfAccessibilityLinkInfo> links;
+  std::vector<PdfAccessibilityImageInfo> images;
+};
+
 }  // namespace ppapi
 
 #endif  // PPAPI_SHARED_IMPL_PDF_ACCESSIBILITY_SHARED_H_
diff --git a/ppapi/thunk/ppb_pdf_api.h b/ppapi/thunk/ppb_pdf_api.h
index dea3355..c3a01cc 100644
--- a/ppapi/thunk/ppb_pdf_api.h
+++ b/ppapi/thunk/ppb_pdf_api.h
@@ -44,8 +44,7 @@
       const PP_PrivateAccessibilityPageInfo* page_info,
       const PP_PrivateAccessibilityTextRunInfo text_runs[],
       const PP_PrivateAccessibilityCharInfo chars[],
-      const PP_PrivateAccessibilityLinkInfo links[],
-      const PP_PrivateAccessibilityImageInfo images[]) = 0;
+      const PP_PrivateAccessibilityPageObjects* page_objects) = 0;
   virtual void SetCrashData(const char* pdf_url, const char* top_level_url) = 0;
   virtual void SelectionChanged(const PP_FloatPoint& left,
                                 int32_t left_height,
diff --git a/ppapi/thunk/ppb_pdf_thunk.cc b/ppapi/thunk/ppb_pdf_thunk.cc
index a66c774..1f5c714 100644
--- a/ppapi/thunk/ppb_pdf_thunk.cc
+++ b/ppapi/thunk/ppb_pdf_thunk.cc
@@ -175,13 +175,12 @@
     const PP_PrivateAccessibilityPageInfo* page_info,
     const PP_PrivateAccessibilityTextRunInfo text_runs[],
     const PP_PrivateAccessibilityCharInfo chars[],
-    const PP_PrivateAccessibilityLinkInfo links[],
-    const PP_PrivateAccessibilityImageInfo images[]) {
+    const PP_PrivateAccessibilityPageObjects* page_objects) {
   EnterInstanceAPI<PPB_PDF_API> enter(instance);
   if (enter.failed())
     return;
   enter.functions()->SetAccessibilityPageInfo(page_info, text_runs, chars,
-                                              links, images);
+                                              page_objects);
 }
 
 void SetCrashData(PP_Instance instance,
diff --git a/sandbox/mac/mojom/mojom_traits_unittest.cc b/sandbox/mac/mojom/mojom_traits_unittest.cc
index e6f38797..dce18280 100644
--- a/sandbox/mac/mojom/mojom_traits_unittest.cc
+++ b/sandbox/mac/mojom/mojom_traits_unittest.cc
@@ -3,7 +3,8 @@
 // found in the LICENSE file.
 
 #include "base/test/task_environment.h"
-#include "mojo/public/cpp/bindings/binding.h"
+#include "mojo/public/cpp/bindings/receiver.h"
+#include "mojo/public/cpp/bindings/remote.h"
 #include "sandbox/mac/mojom/seatbelt_extension_token_mojom_traits.h"
 #include "sandbox/mac/mojom/traits_test_service.mojom.h"
 #include "testing/gtest/include/gtest/gtest.h"
@@ -14,12 +15,9 @@
 class StructTraitsTest : public testing::Test,
                          public sandbox::mac::mojom::TraitsTestService {
  public:
-  StructTraitsTest()
-      : interface_ptr_(), binding_(this, mojo::MakeRequest(&interface_ptr_)) {}
+  StructTraitsTest() : receiver_(this, remote_.BindNewPipeAndPassReceiver()) {}
 
-  sandbox::mac::mojom::TraitsTestService* interface() {
-    return interface_ptr_.get();
-  }
+  sandbox::mac::mojom::TraitsTestService* interface() { return remote_.get(); }
 
  private:
   // TraitsTestService:
@@ -31,8 +29,8 @@
 
   base::test::TaskEnvironment task_environment_;
 
-  sandbox::mac::mojom::TraitsTestServicePtr interface_ptr_;
-  mojo::Binding<sandbox::mac::mojom::TraitsTestService> binding_;
+  mojo::Remote<sandbox::mac::mojom::TraitsTestService> remote_;
+  mojo::Receiver<sandbox::mac::mojom::TraitsTestService> receiver_;
 };
 
 TEST_F(StructTraitsTest, SeatbeltExtensionToken) {
diff --git a/services/device/nfc/android/java/src/org/chromium/device/nfc/NdefMessageUtils.java b/services/device/nfc/android/java/src/org/chromium/device/nfc/NdefMessageUtils.java
index c0eba58..56a1e0a 100644
--- a/services/device/nfc/android/java/src/org/chromium/device/nfc/NdefMessageUtils.java
+++ b/services/device/nfc/android/java/src/org/chromium/device/nfc/NdefMessageUtils.java
@@ -17,8 +17,8 @@
 import java.util.List;
 
 /**
- * Utility class that provides convesion between Android NdefMessage
- * and mojo NdefMessage data structures.
+ * Utility class that provides conversion between Android NdefMessage and Mojo NdefMessage data
+ * structures.
  */
 public final class NdefMessageUtils {
     private static final String TAG = "NdefMessageUtils";
@@ -33,6 +33,17 @@
     public static final String RECORD_TYPE_URL = "url";
     public static final String RECORD_TYPE_JSON = "json";
     public static final String RECORD_TYPE_OPAQUE = "opaque";
+    public static final String RECORD_TYPE_SMART_POSTER = "smart-poster";
+
+    private static class PairOfDomainAndType {
+        private String mDomain;
+        private String mType;
+
+        private PairOfDomainAndType(String domain, String type) {
+            mDomain = domain;
+            mType = type;
+        }
+    }
 
     /**
      * Converts mojo NdefMessage to android.nfc.NdefMessage
@@ -111,10 +122,16 @@
             case RECORD_TYPE_EMPTY:
                 return new android.nfc.NdefRecord(
                         android.nfc.NdefRecord.TNF_EMPTY, null, null, null);
-            // TODO(https://crbug.com/520391): Support external type records.
-            default:
+            case RECORD_TYPE_SMART_POSTER:
+                // TODO(https://crbug.com/520391): Support 'smart-poster' type records.
                 throw new InvalidNdefMessageException();
         }
+        PairOfDomainAndType pair = parseDomainAndType(record.recordType);
+        if (pair != null) {
+            return android.nfc.NdefRecord.createExternal(pair.mDomain, pair.mType, record.data);
+        }
+
+        throw new InvalidNdefMessageException();
     }
 
     /**
@@ -134,6 +151,9 @@
                 return createWellKnownRecord(ndefRecord);
             case android.nfc.NdefRecord.TNF_UNKNOWN:
                 return createUnKnownRecord(ndefRecord.getPayload());
+            case android.nfc.NdefRecord.TNF_EXTERNAL_TYPE:
+                return createExternalTypeRecord(
+                        new String(ndefRecord.getType(), "UTF-8"), ndefRecord.getPayload());
         }
         return null;
     }
@@ -222,6 +242,8 @@
             return createTextRecord(record.getPayload());
         }
 
+        // TODO(https://crbug.com/520391): Support RTD_SMART_POSTER type records.
+
         return null;
     }
 
@@ -235,4 +257,40 @@
         nfcRecord.data = payload;
         return nfcRecord;
     }
+
+    /**
+     * Constructs External type NdefRecord
+     */
+    private static NdefRecord createExternalTypeRecord(String customType, byte[] payload) {
+        NdefRecord nfcRecord = new NdefRecord();
+        nfcRecord.recordType = customType;
+        nfcRecord.mediaType = OCTET_STREAM_MIME;
+        nfcRecord.data = payload;
+        return nfcRecord;
+    }
+
+    /**
+     * Parses the input custom type to get its domain and type.
+     * e.g. returns a pair ('w3.org', 'xyz') for the input 'w3.org:xyz'.
+     * Returns null for invalid input.
+     * https://w3c.github.io/web-nfc/#the-ndefrecordtype-string
+     *
+     * TODO(https://crbug.com/520391): Refine the validation algorithm here accordingly once there
+     * is a conclusion on some case-sensitive things at https://github.com/w3c/web-nfc/issues/331.
+     */
+    private static PairOfDomainAndType parseDomainAndType(String customType) {
+        int colonIndex = customType.indexOf(':');
+        if (colonIndex == -1) return null;
+
+        // TODO(ThisCL): verify |domain| is a valid FQDN, asking help at
+        // https://groups.google.com/a/chromium.org/forum/#!topic/chromium-dev/QN2mHt_WgHo.
+        String domain = customType.substring(0, colonIndex);
+        if (domain.isEmpty()) return null;
+
+        String type = customType.substring(colonIndex + 1);
+        if (type.isEmpty()) return null;
+        if (!type.matches("[a-zA-Z0-9()+,\\-:=@;$_!*'.]+")) return null;
+
+        return new PairOfDomainAndType(domain, type);
+    }
 }
diff --git a/services/device/nfc/android/junit/src/org/chromium/device/nfc/NFCTest.java b/services/device/nfc/android/junit/src/org/chromium/device/nfc/NFCTest.java
index 81dbd7e..9d359c6 100644
--- a/services/device/nfc/android/junit/src/org/chromium/device/nfc/NFCTest.java
+++ b/services/device/nfc/android/junit/src/org/chromium/device/nfc/NFCTest.java
@@ -87,6 +87,8 @@
     private ArgumentCaptor<int[]> mOnWatchCallbackCaptor;
 
     // Constants used for the test.
+    private static final String DUMMY_EXTERNAL_RECORD_DOMAIN = "abc.com";
+    private static final String DUMMY_EXTERNAL_RECORD_TYPE = "xyz";
     private static final String TEST_TEXT = "test";
     private static final String TEST_URL = "https://google.com";
     private static final String TEST_JSON = "{\"key1\":\"value1\",\"key2\":2}";
@@ -275,7 +277,19 @@
         assertEquals(OCTET_STREAM_MIME, unknownMojoNdefMessage.data[0].mediaType);
         assertEquals(TEST_TEXT, new String(unknownMojoNdefMessage.data[0].data));
 
-        // Test NdefMessage with WebNFC external type.
+        // Test external record conversion.
+        android.nfc.NdefMessage extNdefMessage = new android.nfc.NdefMessage(
+                android.nfc.NdefRecord.createExternal(DUMMY_EXTERNAL_RECORD_DOMAIN,
+                        DUMMY_EXTERNAL_RECORD_TYPE, ApiCompatibilityUtils.getBytesUtf8(TEST_TEXT)));
+        NdefMessage extMojoNdefMessage = NdefMessageUtils.toNdefMessage(extNdefMessage);
+        assertNull(extMojoNdefMessage.url);
+        assertEquals(1, extMojoNdefMessage.data.length);
+        assertEquals(DUMMY_EXTERNAL_RECORD_DOMAIN + ':' + DUMMY_EXTERNAL_RECORD_TYPE,
+                extMojoNdefMessage.data[0].recordType);
+        assertEquals(OCTET_STREAM_MIME, extMojoNdefMessage.data[0].mediaType);
+        assertEquals(TEST_TEXT, new String(extMojoNdefMessage.data[0].data));
+
+        // Test NdefMessage with an additional WebNFC author record.
         android.nfc.NdefRecord jsonNdefRecord = android.nfc.NdefRecord.createMime(
                 JSON_MIME, ApiCompatibilityUtils.getBytesUtf8(TEST_JSON));
         android.nfc.NdefRecord extNdefRecord =
@@ -357,6 +371,22 @@
         assertEquals(
                 android.nfc.NdefRecord.TNF_EXTERNAL_TYPE, jsonNdefMessage.getRecords()[1].getTnf());
 
+        // Test external record conversion.
+        NdefRecord extMojoNdefRecord = new NdefRecord();
+        extMojoNdefRecord.recordType =
+                DUMMY_EXTERNAL_RECORD_DOMAIN + ':' + DUMMY_EXTERNAL_RECORD_TYPE;
+        extMojoNdefRecord.data = ApiCompatibilityUtils.getBytesUtf8(TEST_TEXT);
+        NdefMessage extMojoNdefMessage = createMojoNdefMessage(TEST_URL, extMojoNdefRecord);
+        android.nfc.NdefMessage extNdefMessage = NdefMessageUtils.toNdefMessage(extMojoNdefMessage);
+        assertEquals(2, extNdefMessage.getRecords().length);
+        assertEquals(
+                android.nfc.NdefRecord.TNF_EXTERNAL_TYPE, extNdefMessage.getRecords()[0].getTnf());
+        assertEquals(DUMMY_EXTERNAL_RECORD_DOMAIN + ':' + DUMMY_EXTERNAL_RECORD_TYPE,
+                new String(extNdefMessage.getRecords()[0].getType()));
+        assertEquals(TEST_TEXT, new String(extNdefMessage.getRecords()[0].getPayload()));
+        assertEquals(
+                android.nfc.NdefRecord.TNF_EXTERNAL_TYPE, extNdefMessage.getRecords()[1].getTnf());
+
         // Test EMPTY record conversion.
         NdefRecord emptyMojoNdefRecord = new NdefRecord();
         emptyMojoNdefRecord.recordType = NdefMessageUtils.RECORD_TYPE_EMPTY;
@@ -370,6 +400,21 @@
     }
 
     /**
+     * Test external record conversion with invalid custom type.
+     */
+    @Test(expected = InvalidNdefMessageException.class)
+    @Feature({"NFCTest"})
+    public void testInvalidExternalRecordType() throws InvalidNdefMessageException {
+        NdefRecord extMojoNdefRecord = new NdefRecord();
+        // '/' is not allowed.
+        extMojoNdefRecord.recordType = "abc.com:xyz/";
+        extMojoNdefRecord.data = ApiCompatibilityUtils.getBytesUtf8(TEST_TEXT);
+        NdefMessage extMojoNdefMessage = createMojoNdefMessage(TEST_URL, extMojoNdefRecord);
+        android.nfc.NdefMessage extNdefMessage = NdefMessageUtils.toNdefMessage(extMojoNdefMessage);
+        assertEquals(null, extNdefMessage);
+    }
+
+    /**
      * Test that invalid NdefMessage is rejected with INVALID_MESSAGE error code.
      */
     @Test
diff --git a/services/network/cors/cors_url_loader_factory_unittest.cc b/services/network/cors/cors_url_loader_factory_unittest.cc
index 6de7dd2..289e806 100644
--- a/services/network/cors/cors_url_loader_factory_unittest.cc
+++ b/services/network/cors/cors_url_loader_factory_unittest.cc
@@ -72,8 +72,8 @@
     cors_url_loader_factory_ = std::make_unique<CorsURLLoaderFactory>(
         network_context_.get(), std::move(factory_params),
         resource_scheduler_client,
-        mojo::MakeRequest(&cors_url_loader_factory_ptr_), &origin_access_list_,
-        nullptr);
+        cors_url_loader_factory_remote_.BindNewPipeAndPassReceiver(),
+        &origin_access_list_, nullptr);
   }
 
   void CreateLoaderAndStart(const ResourceRequest& request) {
@@ -100,7 +100,7 @@
 
   // CorsURLLoaderFactory instance under tests.
   std::unique_ptr<mojom::URLLoaderFactory> cors_url_loader_factory_;
-  mojom::URLLoaderFactoryPtr cors_url_loader_factory_ptr_;
+  mojo::Remote<mojom::URLLoaderFactory> cors_url_loader_factory_remote_;
 
   // Holds URLLoaderPtr that CreateLoaderAndStart() creates.
   mojom::URLLoaderPtr url_loader_;
diff --git a/services/network/cors/cors_url_loader_unittest.cc b/services/network/cors/cors_url_loader_unittest.cc
index b792321..42c402ec2 100644
--- a/services/network/cors/cors_url_loader_unittest.cc
+++ b/services/network/cors/cors_url_loader_unittest.cc
@@ -346,11 +346,12 @@
         base::MakeRefCounted<ResourceSchedulerClient>(
             process_id, kRouteId, &resource_scheduler_,
             url_request_context_->network_quality_estimator());
+    cors_url_loader_factory_remote_.reset();
     cors_url_loader_factory_ = std::make_unique<CorsURLLoaderFactory>(
         network_context_.get(), std::move(factory_params),
         resource_scheduler_client,
-        mojo::MakeRequest(&cors_url_loader_factory_ptr_), &origin_access_list_,
-        std::move(factory));
+        cors_url_loader_factory_remote_.BindNewPipeAndPassReceiver(),
+        &origin_access_list_, std::move(factory));
   }
 
   NetworkContext* network_context() { return network_context_.get(); }
@@ -369,7 +370,7 @@
 
   // CorsURLLoaderFactory instance under tests.
   std::unique_ptr<mojom::URLLoaderFactory> cors_url_loader_factory_;
-  mojom::URLLoaderFactoryPtr cors_url_loader_factory_ptr_;
+  mojo::Remote<mojom::URLLoaderFactory> cors_url_loader_factory_remote_;
 
   // Factory bound origin access list for testing.
   std::vector<mojom::CorsOriginPatternPtr> factory_bound_allow_patterns_;
diff --git a/services/network/cors/preflight_controller_unittest.cc b/services/network/cors/preflight_controller_unittest.cc
index 6cd7179..a4fb93e 100644
--- a/services/network/cors/preflight_controller_unittest.cc
+++ b/services/network/cors/preflight_controller_unittest.cc
@@ -238,7 +238,8 @@
     params->process_id = mojom::kBrowserProcessId;
     params->is_corb_enabled = false;
     network_context_remote_->CreateURLLoaderFactory(
-        mojo::MakeRequest(&url_loader_factory_ptr_), std::move(params));
+        url_loader_factory_remote_.BindNewPipeAndPassReceiver(),
+        std::move(params));
   }
 
  protected:
@@ -259,7 +260,7 @@
         base::BindOnce(&PreflightControllerTest::HandleRequestCompletion,
                        base::Unretained(this)),
         request, tainted, TRAFFIC_ANNOTATION_FOR_TESTS,
-        url_loader_factory_ptr_.get());
+        url_loader_factory_remote_.get());
     run_loop_->Run();
   }
 
@@ -314,7 +315,7 @@
 
   std::unique_ptr<mojom::NetworkService> network_service_;
   mojo::Remote<mojom::NetworkContext> network_context_remote_;
-  mojom::URLLoaderFactoryPtr url_loader_factory_ptr_;
+  mojo::Remote<mojom::URLLoaderFactory> url_loader_factory_remote_;
 
   net::test_server::EmbeddedTestServer test_server_;
   size_t access_count_ = 0;
diff --git a/services/network/http_cache_data_counter.cc b/services/network/http_cache_data_counter.cc
index 967290d..726b3356 100644
--- a/services/network/http_cache_data_counter.cc
+++ b/services/network/http_cache_data_counter.cc
@@ -9,6 +9,7 @@
 #include "base/bind.h"
 #include "base/callback.h"
 #include "base/location.h"
+#include "base/memory/ptr_util.h"
 #include "base/threading/sequenced_task_runner_handle.h"
 #include "net/disk_cache/disk_cache.h"
 #include "net/http/http_cache.h"
diff --git a/services/network/mojo_socket_test_util.cc b/services/network/mojo_socket_test_util.cc
index 2c583f2..8d8107b 100644
--- a/services/network/mojo_socket_test_util.cc
+++ b/services/network/mojo_socket_test_util.cc
@@ -8,19 +8,17 @@
 
 namespace network {
 
-TestSocketObserver::TestSocketObserver() : binding_(this) {}
+TestSocketObserver::TestSocketObserver() = default;
 
 TestSocketObserver::~TestSocketObserver() {
   EXPECT_EQ(net::OK, read_error_);
   EXPECT_EQ(net::OK, write_error_);
 }
 
-mojom::SocketObserverPtr TestSocketObserver::GetObserverPtr() {
-  DCHECK(!binding_);
-
-  mojom::SocketObserverPtr ptr;
-  binding_.Bind(mojo::MakeRequest(&ptr));
-  return ptr;
+mojo::PendingRemote<mojom::SocketObserver>
+TestSocketObserver::GetObserverRemote() {
+  DCHECK(!receiver_.is_bound());
+  return receiver_.BindNewPipeAndPassRemote();
 }
 
 int TestSocketObserver::WaitForReadError() {
diff --git a/services/network/mojo_socket_test_util.h b/services/network/mojo_socket_test_util.h
index c045101..bfd526b 100644
--- a/services/network/mojo_socket_test_util.h
+++ b/services/network/mojo_socket_test_util.h
@@ -7,7 +7,8 @@
 
 #include "base/macros.h"
 #include "base/run_loop.h"
-#include "mojo/public/cpp/bindings/binding.h"
+#include "mojo/public/cpp/bindings/pending_remote.h"
+#include "mojo/public/cpp/bindings/receiver.h"
 #include "net/base/net_errors.h"
 #include "services/network/public/mojom/tcp_socket.mojom.h"
 
@@ -19,8 +20,8 @@
   TestSocketObserver();
   ~TestSocketObserver() override;
 
-  // Returns a mojo pointer. This can only be called once.
-  mojom::SocketObserverPtr GetObserverPtr();
+  // Returns a mojo pending remote. This can only be called once.
+  mojo::PendingRemote<mojom::SocketObserver> GetObserverRemote();
 
   // Waits for Read and Write error. Returns the error observed.
   int WaitForReadError();
@@ -35,7 +36,7 @@
   int write_error_ = net::OK;
   base::RunLoop read_loop_;
   base::RunLoop write_loop_;
-  mojo::Binding<mojom::SocketObserver> binding_;
+  mojo::Receiver<mojom::SocketObserver> receiver_{this};
 
   DISALLOW_COPY_AND_ASSIGN(TestSocketObserver);
 };
diff --git a/services/network/network_context.cc b/services/network/network_context.cc
index 05c580d2..e5b86d2 100644
--- a/services/network/network_context.cc
+++ b/services/network/network_context.cc
@@ -1025,7 +1025,7 @@
     mojom::TCPConnectedSocketOptionsPtr tcp_connected_socket_options,
     const net::MutableNetworkTrafficAnnotationTag& traffic_annotation,
     mojom::TCPConnectedSocketRequest request,
-    mojom::SocketObserverPtr observer,
+    mojo::PendingRemote<mojom::SocketObserver> observer,
     CreateTCPConnectedSocketCallback callback) {
   socket_factory_->CreateTCPConnectedSocket(
       local_addr, remote_addr_list, std::move(tcp_connected_socket_options),
@@ -1036,12 +1036,12 @@
 void NetworkContext::CreateTCPBoundSocket(
     const net::IPEndPoint& local_addr,
     const net::MutableNetworkTrafficAnnotationTag& traffic_annotation,
-    mojom::TCPBoundSocketRequest request,
+    mojo::PendingReceiver<mojom::TCPBoundSocket> receiver,
     CreateTCPBoundSocketCallback callback) {
   socket_factory_->CreateTCPBoundSocket(
       local_addr,
       static_cast<net::NetworkTrafficAnnotationTag>(traffic_annotation),
-      std::move(request), std::move(callback));
+      std::move(receiver), std::move(callback));
 }
 
 void NetworkContext::CreateProxyResolvingSocketFactory(
@@ -1053,7 +1053,7 @@
 
 void NetworkContext::LookUpProxyForURL(
     const GURL& url,
-    mojom::ProxyLookupClientPtr proxy_lookup_client) {
+    mojo::PendingRemote<mojom::ProxyLookupClient> proxy_lookup_client) {
   DCHECK(proxy_lookup_client);
   std::unique_ptr<ProxyLookupRequest> proxy_lookup_request(
       std::make_unique<ProxyLookupRequest>(std::move(proxy_lookup_client),
@@ -1700,7 +1700,7 @@
   std::unique_ptr<SSLConfigServiceMojo> ssl_config_service =
       std::make_unique<SSLConfigServiceMojo>(
           std::move(params_->initial_ssl_config),
-          std::move(params_->ssl_config_client_request),
+          std::move(params_->ssl_config_client_receiver),
           network_service_->crl_set_distributor());
   SSLConfigServiceMojo* ssl_config_service_raw = ssl_config_service.get();
   builder.set_ssl_config_service(std::move(ssl_config_service));
@@ -2171,12 +2171,12 @@
   origin_policy_manager_->AddReceiver(std::move(receiver));
 }
 
-mojom::URLLoaderFactoryPtr
+mojo::PendingRemote<mojom::URLLoaderFactory>
 NetworkContext::CreateUrlLoaderFactoryForNetworkService() {
   auto url_loader_factory_params = mojom::URLLoaderFactoryParams::New();
   url_loader_factory_params->process_id = network::mojom::kBrowserProcessId;
-  mojom::URLLoaderFactoryPtr url_loader_factory;
-  CreateURLLoaderFactory(mojo::MakeRequest(&url_loader_factory),
+  mojo::PendingRemote<mojom::URLLoaderFactory> url_loader_factory;
+  CreateURLLoaderFactory(url_loader_factory.InitWithNewPipeAndPassReceiver(),
                          std::move(url_loader_factory_params));
   return url_loader_factory;
 }
diff --git a/services/network/network_context.h b/services/network/network_context.h
index 0db51abc..3faf2904 100644
--- a/services/network/network_context.h
+++ b/services/network/network_context.h
@@ -25,6 +25,7 @@
 #include "build/build_config.h"
 #include "mojo/public/cpp/base/big_buffer.h"
 #include "mojo/public/cpp/bindings/pending_receiver.h"
+#include "mojo/public/cpp/bindings/pending_remote.h"
 #include "mojo/public/cpp/bindings/receiver.h"
 #include "mojo/public/cpp/bindings/remote.h"
 #include "mojo/public/cpp/bindings/strong_binding_set.h"
@@ -258,18 +259,18 @@
       mojom::TCPConnectedSocketOptionsPtr tcp_connected_socket_options,
       const net::MutableNetworkTrafficAnnotationTag& traffic_annotation,
       mojom::TCPConnectedSocketRequest request,
-      mojom::SocketObserverPtr observer,
+      mojo::PendingRemote<mojom::SocketObserver> observer,
       CreateTCPConnectedSocketCallback callback) override;
   void CreateTCPBoundSocket(
       const net::IPEndPoint& local_addr,
       const net::MutableNetworkTrafficAnnotationTag& traffic_annotation,
-      mojom::TCPBoundSocketRequest request,
+      mojo::PendingReceiver<mojom::TCPBoundSocket> receiver,
       CreateTCPBoundSocketCallback callback) override;
   void CreateProxyResolvingSocketFactory(
       mojom::ProxyResolvingSocketFactoryRequest request) override;
-  void LookUpProxyForURL(
-      const GURL& url,
-      mojom::ProxyLookupClientPtr proxy_lookup_client) override;
+  void LookUpProxyForURL(const GURL& url,
+                         mojo::PendingRemote<mojom::ProxyLookupClient>
+                             proxy_lookup_client) override;
   void ForceReloadProxyConfig(ForceReloadProxyConfigCallback callback) override;
   void ClearBadProxiesCache(ClearBadProxiesCacheCallback callback) override;
   void CreateWebSocket(
@@ -410,7 +411,8 @@
 
   // Creates a new url loader factory bound to this network context. For use
   // inside the network service.
-  mojom::URLLoaderFactoryPtr CreateUrlLoaderFactoryForNetworkService();
+  mojo::PendingRemote<mojom::URLLoaderFactory>
+  CreateUrlLoaderFactoryForNetworkService();
 
   mojom::OriginPolicyManager* origin_policy_manager() const {
     return origin_policy_manager_.get();
diff --git a/services/network/network_context_unittest.cc b/services/network/network_context_unittest.cc
index cad6d73..d56541b4 100644
--- a/services/network/network_context_unittest.cc
+++ b/services/network/network_context_unittest.cc
@@ -209,15 +209,15 @@
     NetworkContext* network_context,
     int url_loader_options = mojom::kURLLoadOptionNone,
     int process_id = mojom::kBrowserProcessId) {
-  mojom::URLLoaderFactoryPtr loader_factory;
+  mojo::Remote<mojom::URLLoaderFactory> loader_factory;
   auto params = mojom::URLLoaderFactoryParams::New();
   params->process_id = process_id;
   params->is_corb_enabled = false;
   params->network_isolation_key =
       net::NetworkIsolationKey(url::Origin::Create(GURL("https://abc.com")),
                                url::Origin::Create(GURL("https://xyz.com")));
-  network_context->CreateURLLoaderFactory(mojo::MakeRequest(&loader_factory),
-                                          std::move(params));
+  network_context->CreateURLLoaderFactory(
+      loader_factory.BindNewPipeAndPassReceiver(), std::move(params));
 
   auto client = std::make_unique<TestURLLoaderClient>();
   mojom::URLLoaderPtr loader;
@@ -236,12 +236,12 @@
     size_t redirect_counts,
     const ResourceRequest& request,
     NetworkContext* network_context) {
-  mojom::URLLoaderFactoryPtr loader_factory;
+  mojo::Remote<mojom::URLLoaderFactory> loader_factory;
   auto params = mojom::URLLoaderFactoryParams::New();
   params->process_id = mojom::kBrowserProcessId;
   params->is_corb_enabled = false;
-  network_context->CreateURLLoaderFactory(mojo::MakeRequest(&loader_factory),
-                                          std::move(params));
+  network_context->CreateURLLoaderFactory(
+      loader_factory.BindNewPipeAndPassReceiver(), std::move(params));
 
   auto client = std::make_unique<TestURLLoaderClient>();
   mojom::URLLoaderPtr loader;
@@ -306,17 +306,16 @@
 // be received.
 class TestProxyLookupClient : public mojom::ProxyLookupClient {
  public:
-  TestProxyLookupClient() : binding_(this) {}
+  TestProxyLookupClient() = default;
   ~TestProxyLookupClient() override = default;
 
   void StartLookUpProxyForURL(const GURL& url,
                               mojom::NetworkContext* network_context) {
     // Make sure this method is called at most once.
-    EXPECT_FALSE(binding_.is_bound());
+    EXPECT_FALSE(receiver_.is_bound());
 
-    mojom::ProxyLookupClientPtr proxy_lookup_client;
-    binding_.Bind(mojo::MakeRequest(&proxy_lookup_client));
-    network_context->LookUpProxyForURL(url, std::move(proxy_lookup_client));
+    network_context->LookUpProxyForURL(url,
+                                       receiver_.BindNewPipeAndPassRemote());
   }
 
   void WaitForResult() { run_loop_.Run(); }
@@ -333,7 +332,7 @@
     is_done_ = true;
     proxy_info_ = proxy_info;
     net_error_ = net_error;
-    binding_.Close();
+    receiver_.reset();
     run_loop_.Quit();
   }
 
@@ -345,7 +344,7 @@
   bool is_done() const { return is_done_; }
 
  private:
-  mojo::Binding<mojom::ProxyLookupClient> binding_;
+  mojo::Receiver<mojom::ProxyLookupClient> receiver_{this};
 
   bool is_done_ = false;
   base::Optional<net::ProxyInfo> proxy_info_;
@@ -474,13 +473,13 @@
   ResourceRequest request;
   request.url = test_server.GetURL("/hung-after-headers");
 
-  mojom::URLLoaderFactoryPtr loader_factory;
+  mojo::Remote<mojom::URLLoaderFactory> loader_factory;
   mojom::URLLoaderFactoryParamsPtr params =
       mojom::URLLoaderFactoryParams::New();
   params->process_id = mojom::kBrowserProcessId;
   params->is_corb_enabled = false;
-  network_context->CreateURLLoaderFactory(mojo::MakeRequest(&loader_factory),
-                                          std::move(params));
+  network_context->CreateURLLoaderFactory(
+      loader_factory.BindNewPipeAndPassReceiver(), std::move(params));
 
   mojom::URLLoaderPtr loader;
   TestURLLoaderClient client;
@@ -1136,13 +1135,13 @@
     ResourceRequest request;
     request.url = pkp_test_server.GetURL(kPreloadedPKPHost, "/");
 
-    mojom::URLLoaderFactoryPtr loader_factory;
+    mojo::Remote<mojom::URLLoaderFactory> loader_factory;
     mojom::URLLoaderFactoryParamsPtr params =
         mojom::URLLoaderFactoryParams::New();
     params->process_id = mojom::kBrowserProcessId;
     params->is_corb_enabled = false;
-    network_context->CreateURLLoaderFactory(mojo::MakeRequest(&loader_factory),
-                                            std::move(params));
+    network_context->CreateURLLoaderFactory(
+        loader_factory.BindNewPipeAndPassReceiver(), std::move(params));
 
     mojom::URLLoaderPtr loader;
     TestURLLoaderClient client;
@@ -1196,12 +1195,12 @@
       std::unique_ptr<NetworkContext> network_context =
           CreateContextWithParams(std::move(context_params));
 
-      mojom::URLLoaderFactoryPtr loader_factory;
+      mojo::Remote<mojom::URLLoaderFactory> loader_factory;
       mojom::URLLoaderFactoryParamsPtr params =
           mojom::URLLoaderFactoryParams::New();
       params->process_id = 0;
       network_context->CreateURLLoaderFactory(
-          mojo::MakeRequest(&loader_factory), std::move(params));
+          loader_factory.BindNewPipeAndPassReceiver(), std::move(params));
 
       ResourceRequest request;
       request.url = test_server.GetURL("/echoheader?Referer");
@@ -3756,7 +3755,7 @@
     std::unique_ptr<NetworkContext> network_context =
         CreateContextWithParams(CreateContextParams());
 
-    mojom::URLLoaderFactoryPtr loader_factory;
+    mojo::Remote<mojom::URLLoaderFactory> loader_factory;
     mojom::URLLoaderFactoryParamsPtr params =
         mojom::URLLoaderFactoryParams::New();
     params->process_id = mojom::kBrowserProcessId;
@@ -3764,8 +3763,8 @@
     // URLLoaderFactories should not be trusted by default.
     EXPECT_FALSE(params->is_trusted);
     params->is_trusted = trusted_factory;
-    network_context->CreateURLLoaderFactory(mojo::MakeRequest(&loader_factory),
-                                            std::move(params));
+    network_context->CreateURLLoaderFactory(
+        loader_factory.BindNewPipeAndPassReceiver(), std::move(params));
 
     ResourceRequest request;
     request.url = test_server.GetURL("/echo");
@@ -4203,12 +4202,12 @@
   ResourceRequest request;
   request.url = GURL("http://example.test");
 
-  mojom::URLLoaderFactoryPtr loader_factory;
+  mojo::Remote<mojom::URLLoaderFactory> loader_factory;
   mojom::URLLoaderFactoryParamsPtr loader_params =
       mojom::URLLoaderFactoryParams::New();
   loader_params->process_id = mojom::kBrowserProcessId;
-  network_context->CreateURLLoaderFactory(mojo::MakeRequest(&loader_factory),
-                                          std::move(loader_params));
+  network_context->CreateURLLoaderFactory(
+      loader_factory.BindNewPipeAndPassReceiver(), std::move(loader_params));
 
   mojom::URLLoaderPtr loader;
   TestURLLoaderClient client;
@@ -4259,12 +4258,12 @@
   ResourceRequest request;
   request.url = GURL("http://server.bad.dns/fail");
 
-  mojom::URLLoaderFactoryPtr loader_factory;
+  mojo::Remote<mojom::URLLoaderFactory> loader_factory;
   mojom::URLLoaderFactoryParamsPtr loader_params =
       mojom::URLLoaderFactoryParams::New();
   loader_params->process_id = mojom::kBrowserProcessId;
-  network_context->CreateURLLoaderFactory(mojo::MakeRequest(&loader_factory),
-                                          std::move(loader_params));
+  network_context->CreateURLLoaderFactory(
+      loader_factory.BindNewPipeAndPassReceiver(), std::move(loader_params));
 
   mojom::URLLoaderPtr loader;
   TestURLLoaderClient client;
@@ -4399,12 +4398,12 @@
   ResourceRequest request;
   request.url = GURL("http://server.bad.dns");
 
-  mojom::URLLoaderFactoryPtr loader_factory;
+  mojo::Remote<mojom::URLLoaderFactory> loader_factory;
   mojom::URLLoaderFactoryParamsPtr loader_params =
       mojom::URLLoaderFactoryParams::New();
   loader_params->process_id = mojom::kBrowserProcessId;
-  network_context->CreateURLLoaderFactory(mojo::MakeRequest(&loader_factory),
-                                          std::move(loader_params));
+  network_context->CreateURLLoaderFactory(
+      loader_factory.BindNewPipeAndPassReceiver(), std::move(loader_params));
 
   mojom::URLLoaderPtr loader;
   TestURLLoaderClient client;
@@ -4477,12 +4476,12 @@
     std::unique_ptr<NetworkContext> network_context =
         CreateContextWithParams(std::move(context_params));
 
-    mojom::URLLoaderFactoryPtr loader_factory;
+    mojo::Remote<mojom::URLLoaderFactory> loader_factory;
     mojom::URLLoaderFactoryParamsPtr params =
         mojom::URLLoaderFactoryParams::New();
     params->process_id = 0;
-    network_context->CreateURLLoaderFactory(mojo::MakeRequest(&loader_factory),
-                                            std::move(params));
+    network_context->CreateURLLoaderFactory(
+        loader_factory.BindNewPipeAndPassReceiver(), std::move(params));
 
     ResourceRequest request;
     request.url = proxy_data.url;
@@ -4585,15 +4584,15 @@
   ResourceRequest request;
   request.url = test_server.GetURL("/echoheader?foo");
 
-  mojom::URLLoaderFactoryPtr loader_factory;
+  mojo::Remote<mojom::URLLoaderFactory> loader_factory;
   mojom::URLLoaderFactoryParamsPtr params =
       mojom::URLLoaderFactoryParams::New();
   params->process_id = mojom::kBrowserProcessId;
   params->is_corb_enabled = false;
   TestURLLoaderHeaderClient header_client(
       params->header_client.InitWithNewPipeAndPassReceiver());
-  network_context->CreateURLLoaderFactory(mojo::MakeRequest(&loader_factory),
-                                          std::move(params));
+  network_context->CreateURLLoaderFactory(
+      loader_factory.BindNewPipeAndPassReceiver(), std::move(params));
 
   // First, do a request with kURLLoadOptionUseHeaderClient set.
   {
@@ -4652,15 +4651,15 @@
   ResourceRequest request;
   request.url = test_server.GetURL("/echo");
 
-  mojom::URLLoaderFactoryPtr loader_factory;
+  mojo::Remote<mojom::URLLoaderFactory> loader_factory;
   mojom::URLLoaderFactoryParamsPtr params =
       mojom::URLLoaderFactoryParams::New();
   params->process_id = mojom::kBrowserProcessId;
   params->is_corb_enabled = false;
   TestURLLoaderHeaderClient header_client(
       params->header_client.InitWithNewPipeAndPassReceiver());
-  network_context->CreateURLLoaderFactory(mojo::MakeRequest(&loader_factory),
-                                          std::move(params));
+  network_context->CreateURLLoaderFactory(
+      loader_factory.BindNewPipeAndPassReceiver(), std::move(params));
 
   // First, fail request on OnBeforeSendHeaders.
   {
@@ -4800,15 +4799,15 @@
   ResourceRequest request;
   request.url = test_server.GetURL("/echoheader?foo");
 
-  mojom::URLLoaderFactoryPtr loader_factory;
+  mojo::Remote<mojom::URLLoaderFactory> loader_factory;
   mojom::URLLoaderFactoryParamsPtr params =
       mojom::URLLoaderFactoryParams::New();
   params->process_id = mojom::kBrowserProcessId;
   params->is_corb_enabled = false;
   HangingTestURLLoaderHeaderClient header_client(
       params->header_client.InitWithNewPipeAndPassReceiver());
-  network_context->CreateURLLoaderFactory(mojo::MakeRequest(&loader_factory),
-                                          std::move(params));
+  network_context->CreateURLLoaderFactory(
+      loader_factory.BindNewPipeAndPassReceiver(), std::move(params));
 
   mojom::URLLoaderPtr loader;
   TestURLLoaderClient client;
@@ -4851,15 +4850,15 @@
   ResourceRequest request;
   request.url = test_server.GetURL("/echoheader?foo");
 
-  mojom::URLLoaderFactoryPtr loader_factory;
+  mojo::Remote<mojom::URLLoaderFactory> loader_factory;
   mojom::URLLoaderFactoryParamsPtr params =
       mojom::URLLoaderFactoryParams::New();
   params->process_id = mojom::kBrowserProcessId;
   params->is_corb_enabled = false;
   HangingTestURLLoaderHeaderClient header_client(
       params->header_client.InitWithNewPipeAndPassReceiver());
-  network_context->CreateURLLoaderFactory(mojo::MakeRequest(&loader_factory),
-                                          std::move(params));
+  network_context->CreateURLLoaderFactory(
+      loader_factory.BindNewPipeAndPassReceiver(), std::move(params));
 
   mojom::URLLoaderPtr loader;
   TestURLLoaderClient client;
@@ -4901,15 +4900,15 @@
   ResourceRequest request;
   request.url = test_server.GetURL("/echoheader?foo");
 
-  mojom::URLLoaderFactoryPtr loader_factory;
+  mojo::Remote<mojom::URLLoaderFactory> loader_factory;
   mojom::URLLoaderFactoryParamsPtr params =
       mojom::URLLoaderFactoryParams::New();
   params->process_id = mojom::kBrowserProcessId;
   params->is_corb_enabled = false;
   HangingTestURLLoaderHeaderClient header_client(
       params->header_client.InitWithNewPipeAndPassReceiver());
-  network_context->CreateURLLoaderFactory(mojo::MakeRequest(&loader_factory),
-                                          std::move(params));
+  network_context->CreateURLLoaderFactory(
+      loader_factory.BindNewPipeAndPassReceiver(), std::move(params));
 
   mojom::URLLoaderPtr loader;
   TestURLLoaderClient client;
@@ -5478,13 +5477,13 @@
       CreateContextWithParams(CreateContextParams());
   network_context->set_max_loaders_per_process_for_testing(2);
 
-  mojom::URLLoaderFactoryPtr loader_factory;
+  mojo::Remote<mojom::URLLoaderFactory> loader_factory;
   mojom::URLLoaderFactoryParamsPtr params =
       mojom::URLLoaderFactoryParams::New();
   params->process_id = mojom::kBrowserProcessId;
   params->is_corb_enabled = false;
-  network_context->CreateURLLoaderFactory(mojo::MakeRequest(&loader_factory),
-                                          std::move(params));
+  network_context->CreateURLLoaderFactory(
+      loader_factory.BindNewPipeAndPassReceiver(), std::move(params));
 
   ResourceRequest request;
   request.url = test_server.GetURL(kPath1);
@@ -5896,7 +5895,7 @@
     ResourceRequest request = CreateResourceRequest("GET", url);
     request.load_flags |= net::LOAD_SKIP_CACHE_VALIDATION;
 
-    mojom::URLLoaderFactoryPtr loader_factory;
+    mojo::Remote<mojom::URLLoaderFactory> loader_factory;
     auto params = mojom::URLLoaderFactoryParams::New();
     params->process_id = mojom::kBrowserProcessId;
     params->is_corb_enabled = false;
@@ -5913,8 +5912,8 @@
                 update_network_isolation_key_on_redirect);
       params->network_isolation_key = key;
     }
-    network_context_->CreateURLLoaderFactory(mojo::MakeRequest(&loader_factory),
-                                             std::move(params));
+    network_context_->CreateURLLoaderFactory(
+        loader_factory.BindNewPipeAndPassReceiver(), std::move(params));
     auto client = std::make_unique<TestURLLoaderClient>();
     mojom::URLLoaderPtr loader;
     loader_factory->CreateLoaderAndStart(
diff --git a/services/network/network_service_unittest.cc b/services/network/network_service_unittest.cc
index 6975e2a0..4e370788 100644
--- a/services/network/network_service_unittest.cc
+++ b/services/network/network_service_unittest.cc
@@ -750,13 +750,13 @@
                        uint32_t process_id,
                        int options = mojom::kURLLoadOptionNone) {
     client_.reset(new TestURLLoaderClient());
-    mojom::URLLoaderFactoryPtr loader_factory;
+    mojo::Remote<mojom::URLLoaderFactory> loader_factory;
     mojom::URLLoaderFactoryParamsPtr params =
         mojom::URLLoaderFactoryParams::New();
     params->process_id = process_id;
     params->is_corb_enabled = false;
-    network_context_->CreateURLLoaderFactory(mojo::MakeRequest(&loader_factory),
-                                             std::move(params));
+    network_context_->CreateURLLoaderFactory(
+        loader_factory.BindNewPipeAndPassReceiver(), std::move(params));
 
     loader_factory->CreateLoaderAndStart(
         mojo::MakeRequest(&loader_), 1, 1, options, request,
@@ -1451,13 +1451,13 @@
                        uint32_t process_id,
                        int options = mojom::kURLLoadOptionNone) {
     client_.reset(new TestURLLoaderClient());
-    mojom::URLLoaderFactoryPtr loader_factory;
+    mojo::Remote<mojom::URLLoaderFactory> loader_factory;
     mojom::URLLoaderFactoryParamsPtr params =
         mojom::URLLoaderFactoryParams::New();
     params->process_id = process_id;
     params->is_corb_enabled = false;
-    network_context_->CreateURLLoaderFactory(mojo::MakeRequest(&loader_factory),
-                                             std::move(params));
+    network_context_->CreateURLLoaderFactory(
+        loader_factory.BindNewPipeAndPassReceiver(), std::move(params));
 
     loader_factory->CreateLoaderAndStart(
         mojo::MakeRequest(&loader_), 1, 1, options, request,
diff --git a/services/network/origin_policy/origin_policy_fetcher_unittest.cc b/services/network/origin_policy/origin_policy_fetcher_unittest.cc
index b367fca..794b5055 100644
--- a/services/network/origin_policy/origin_policy_fetcher_unittest.cc
+++ b/services/network/origin_policy/origin_policy_fetcher_unittest.cc
@@ -52,7 +52,7 @@
     params->process_id = mojom::kBrowserProcessId;
     params->is_corb_enabled = false;
     network_context_->CreateURLLoaderFactory(
-        mojo::MakeRequest(&url_loader_factory_), std::move(params));
+        url_loader_factory_.BindNewPipeAndPassReceiver(), std::move(params));
 
     manager_ = std::make_unique<OriginPolicyManager>(network_context_.get());
 
@@ -134,7 +134,7 @@
   std::unique_ptr<NetworkService> network_service_;
   std::unique_ptr<NetworkContext> network_context_;
   mojo::Remote<mojom::NetworkContext> network_context_remote_;
-  network::mojom::URLLoaderFactoryPtr url_loader_factory_;
+  mojo::Remote<network::mojom::URLLoaderFactory> url_loader_factory_;
 
   net::test_server::EmbeddedTestServer test_server_;
   url::Origin test_server_origin_;
diff --git a/services/network/origin_policy/origin_policy_manager.h b/services/network/origin_policy/origin_policy_manager.h
index 2fcc7d26..aae6890 100644
--- a/services/network/origin_policy/origin_policy_manager.h
+++ b/services/network/origin_policy/origin_policy_manager.h
@@ -15,6 +15,7 @@
 #include "base/macros.h"
 #include "mojo/public/cpp/bindings/pending_receiver.h"
 #include "mojo/public/cpp/bindings/receiver_set.h"
+#include "mojo/public/cpp/bindings/remote.h"
 #include "services/network/origin_policy/origin_policy_constants.h"
 #include "services/network/origin_policy/origin_policy_header_values.h"
 #include "services/network/public/mojom/origin_policy_manager.mojom.h"
@@ -108,7 +109,7 @@
       origin_policy_fetchers_;
 
   // Used for fetching requests
-  mojom::URLLoaderFactoryPtr url_loader_factory_;
+  mojo::Remote<mojom::URLLoaderFactory> url_loader_factory_;
 
   // This object's set of receivers.
   // This MUST be below origin_policy_fetchers_ to ensure it is destroyed before
diff --git a/services/network/proxy_lookup_request.cc b/services/network/proxy_lookup_request.cc
index 6de763ac0..1ca278f 100644
--- a/services/network/proxy_lookup_request.cc
+++ b/services/network/proxy_lookup_request.cc
@@ -20,7 +20,7 @@
 namespace network {
 
 ProxyLookupRequest::ProxyLookupRequest(
-    mojom::ProxyLookupClientPtr proxy_lookup_client,
+    mojo::PendingRemote<mojom::ProxyLookupClient> proxy_lookup_client,
     NetworkContext* network_context)
     : network_context_(network_context),
       proxy_lookup_client_(std::move(proxy_lookup_client)) {
@@ -36,7 +36,7 @@
 }
 
 void ProxyLookupRequest::Start(const GURL& url) {
-  proxy_lookup_client_.set_connection_error_handler(
+  proxy_lookup_client_.set_disconnect_handler(
       base::BindOnce(&ProxyLookupRequest::DestroySelf, base::Unretained(this)));
   // TODO(mmenke): The NetLogWithSource() means nothing is logged. Fix that.
   int result =
diff --git a/services/network/proxy_lookup_request.h b/services/network/proxy_lookup_request.h
index 6f6a5be..ab69daca8 100644
--- a/services/network/proxy_lookup_request.h
+++ b/services/network/proxy_lookup_request.h
@@ -11,6 +11,8 @@
 
 #include "base/component_export.h"
 #include "base/macros.h"
+#include "mojo/public/cpp/bindings/pending_remote.h"
+#include "mojo/public/cpp/bindings/remote.h"
 #include "net/proxy_resolution/proxy_info.h"
 #include "net/proxy_resolution/proxy_resolution_service.h"
 #include "services/network/public/mojom/proxy_lookup_client.mojom.h"
@@ -23,8 +25,9 @@
 // Single-use object to manage a proxy lookup.
 class COMPONENT_EXPORT(NETWORK_SERVICE) ProxyLookupRequest {
  public:
-  ProxyLookupRequest(mojom::ProxyLookupClientPtr proxy_lookup_client,
-                     NetworkContext* network_context);
+  ProxyLookupRequest(
+      mojo::PendingRemote<mojom::ProxyLookupClient> proxy_lookup_client,
+      NetworkContext* network_context);
   ~ProxyLookupRequest();
 
   // Starts looking up what proxy to use for |url|. On completion, will inform
@@ -41,7 +44,7 @@
   void DestroySelf();
 
   NetworkContext* const network_context_;
-  mojom::ProxyLookupClientPtr proxy_lookup_client_;
+  mojo::Remote<mojom::ProxyLookupClient> proxy_lookup_client_;
 
   net::ProxyInfo proxy_info_;
   std::unique_ptr<net::ProxyResolutionService::Request> request_;
diff --git a/services/network/proxy_resolving_socket_factory_mojo.cc b/services/network/proxy_resolving_socket_factory_mojo.cc
index 0841e60..9c38dc1 100644
--- a/services/network/proxy_resolving_socket_factory_mojo.cc
+++ b/services/network/proxy_resolving_socket_factory_mojo.cc
@@ -28,7 +28,7 @@
     mojom::ProxyResolvingSocketOptionsPtr options,
     const net::MutableNetworkTrafficAnnotationTag& traffic_annotation,
     mojom::ProxyResolvingSocketRequest request,
-    mojom::SocketObserverPtr observer,
+    mojo::PendingRemote<mojom::SocketObserver> observer,
     CreateProxyResolvingSocketCallback callback) {
   std::unique_ptr<net::StreamSocket> net_socket =
       factory_impl_.CreateSocket(url, options && options->use_tls);
diff --git a/services/network/proxy_resolving_socket_factory_mojo.h b/services/network/proxy_resolving_socket_factory_mojo.h
index a268497..52f86ac1 100644
--- a/services/network/proxy_resolving_socket_factory_mojo.h
+++ b/services/network/proxy_resolving_socket_factory_mojo.h
@@ -10,6 +10,7 @@
 #include "base/component_export.h"
 #include "base/macros.h"
 #include "base/memory/ref_counted.h"
+#include "mojo/public/cpp/bindings/pending_remote.h"
 #include "mojo/public/cpp/bindings/strong_binding_set.h"
 #include "net/traffic_annotation/network_traffic_annotation.h"
 #include "services/network/proxy_resolving_client_socket_factory.h"
@@ -34,7 +35,7 @@
       mojom::ProxyResolvingSocketOptionsPtr options,
       const net::MutableNetworkTrafficAnnotationTag& traffic_annotation,
       mojom::ProxyResolvingSocketRequest request,
-      mojom::SocketObserverPtr observer,
+      mojo::PendingRemote<mojom::SocketObserver> observer,
       CreateProxyResolvingSocketCallback callback) override;
 
  private:
diff --git a/services/network/proxy_resolving_socket_mojo.cc b/services/network/proxy_resolving_socket_mojo.cc
index 67bea89f..ecc8511 100644
--- a/services/network/proxy_resolving_socket_mojo.cc
+++ b/services/network/proxy_resolving_socket_mojo.cc
@@ -17,7 +17,7 @@
 ProxyResolvingSocketMojo::ProxyResolvingSocketMojo(
     std::unique_ptr<net::StreamSocket> socket,
     const net::NetworkTrafficAnnotationTag& traffic_annotation,
-    mojom::SocketObserverPtr observer,
+    mojo::PendingRemote<mojom::SocketObserver> observer,
     TLSSocketFactory* tls_socket_factory)
     : observer_(std::move(observer)),
       tls_socket_factory_(tls_socket_factory),
@@ -54,7 +54,7 @@
     const net::HostPortPair& host_port_pair,
     const net::MutableNetworkTrafficAnnotationTag& traffic_annotation,
     mojom::TLSClientSocketRequest request,
-    mojom::SocketObserverPtr observer,
+    mojo::PendingRemote<mojom::SocketObserver> observer,
     mojom::ProxyResolvingSocket::UpgradeToTLSCallback callback) {
   // Wait for data pipes to be closed by the client before doing the upgrade.
   if (socket_data_pump_) {
diff --git a/services/network/proxy_resolving_socket_mojo.h b/services/network/proxy_resolving_socket_mojo.h
index 0b810546..f5528be6 100644
--- a/services/network/proxy_resolving_socket_mojo.h
+++ b/services/network/proxy_resolving_socket_mojo.h
@@ -10,6 +10,8 @@
 #include "base/component_export.h"
 #include "base/macros.h"
 #include "base/memory/ref_counted.h"
+#include "mojo/public/cpp/bindings/pending_remote.h"
+#include "mojo/public/cpp/bindings/remote.h"
 #include "net/traffic_annotation/network_traffic_annotation.h"
 #include "services/network/proxy_resolving_client_socket.h"
 #include "services/network/public/mojom/proxy_resolving_socket.mojom.h"
@@ -28,7 +30,7 @@
   ProxyResolvingSocketMojo(
       std::unique_ptr<net::StreamSocket> socket,
       const net::NetworkTrafficAnnotationTag& traffic_annotation,
-      mojom::SocketObserverPtr observer,
+      mojo::PendingRemote<mojom::SocketObserver> observer,
       TLSSocketFactory* tls_socket_factory);
   ~ProxyResolvingSocketMojo() override;
   void Connect(
@@ -40,7 +42,7 @@
       const net::HostPortPair& host_port_pair,
       const net::MutableNetworkTrafficAnnotationTag& traffic_annotation,
       mojom::TLSClientSocketRequest request,
-      mojom::SocketObserverPtr observer,
+      mojo::PendingRemote<mojom::SocketObserver> observer,
       mojom::ProxyResolvingSocket::UpgradeToTLSCallback callback) override;
 
  private:
@@ -55,7 +57,7 @@
   const net::StreamSocket* BorrowSocket() override;
   std::unique_ptr<net::StreamSocket> TakeSocket() override;
 
-  mojom::SocketObserverPtr observer_;
+  mojo::Remote<mojom::SocketObserver> observer_;
   TLSSocketFactory* tls_socket_factory_;
   std::unique_ptr<net::StreamSocket> socket_;
   const net::NetworkTrafficAnnotationTag traffic_annotation_;
diff --git a/services/network/proxy_resolving_socket_mojo_unittest.cc b/services/network/proxy_resolving_socket_mojo_unittest.cc
index 66eb822..3f99630a 100644
--- a/services/network/proxy_resolving_socket_mojo_unittest.cc
+++ b/services/network/proxy_resolving_socket_mojo_unittest.cc
@@ -13,7 +13,8 @@
 #include "base/test/bind_test_util.h"
 #include "base/test/task_environment.h"
 #include "jingle/glue/fake_ssl_client_socket.h"
-#include "mojo/public/cpp/bindings/strong_binding.h"
+#include "mojo/public/cpp/bindings/binding.h"
+#include "mojo/public/cpp/bindings/pending_remote.h"
 #include "mojo/public/cpp/system/data_pipe_utils.h"
 #include "net/base/net_errors.h"
 #include "net/base/test_completion_callback.h"
@@ -108,7 +109,7 @@
 
   int CreateSocketSync(
       mojom::ProxyResolvingSocketRequest request,
-      mojom::SocketObserverPtr socket_observer,
+      mojo::PendingRemote<mojom::SocketObserver> socket_observer,
       net::IPEndPoint* peer_addr_out,
       const GURL& url,
       mojo::ScopedDataPipeConsumerHandle* receive_pipe_handle_out,
@@ -214,7 +215,7 @@
     mojo::ScopedDataPipeProducerHandle client_socket_send_handle;
     net::IPEndPoint actual_remote_addr;
     EXPECT_EQ(net::OK, CreateSocketSync(mojo::MakeRequest(&socket),
-                                        nullptr /* socket_observer*/,
+                                        mojo::NullRemote() /* socket_observer*/,
                                         &actual_remote_addr, kDestination,
                                         &client_socket_receive_handle,
                                         &client_socket_send_handle));
@@ -260,7 +261,7 @@
     mojo::ScopedDataPipeConsumerHandle client_socket_receive_handle;
     mojo::ScopedDataPipeProducerHandle client_socket_send_handle;
     int status = CreateSocketSync(
-        mojo::MakeRequest(&socket), nullptr /* socket_observer*/,
+        mojo::MakeRequest(&socket), mojo::NullRemote() /* socket_observer*/,
         nullptr /* peer_addr_out */, kDestination,
         &client_socket_receive_handle, &client_socket_send_handle);
     if (test.is_direct) {
@@ -305,7 +306,7 @@
   mojo::ScopedDataPipeProducerHandle client_socket_send_handle;
   const GURL kDestination("http://example.com");
   EXPECT_EQ(net::OK, CreateSocketSync(mojo::MakeRequest(&socket),
-                                      nullptr /* socket_observer */,
+                                      mojo::NullRemote() /* socket_observer */,
                                       nullptr /* peer_addr_out */, kDestination,
                                       &client_socket_receive_handle,
                                       &client_socket_send_handle));
@@ -369,11 +370,11 @@
   mojo::ScopedDataPipeConsumerHandle client_socket_receive_handle;
   mojo::ScopedDataPipeProducerHandle client_socket_send_handle;
   net::IPEndPoint actual_remote_addr;
-  EXPECT_EQ(net::OK,
-            CreateSocketSync(mojo::MakeRequest(&socket),
-                             nullptr /* socket_observer*/, &actual_remote_addr,
-                             kDestination, &client_socket_receive_handle,
-                             &client_socket_send_handle));
+  EXPECT_EQ(net::OK, CreateSocketSync(mojo::MakeRequest(&socket),
+                                      mojo::NullRemote() /* socket_observer*/,
+                                      &actual_remote_addr, kDestination,
+                                      &client_socket_receive_handle,
+                                      &client_socket_send_handle));
 
   EXPECT_EQ(kTestMsg, Read(&client_socket_receive_handle, kMsgSize));
   EXPECT_TRUE(data_provider.AllReadDataConsumed());
@@ -398,7 +399,7 @@
   factory()->CreateProxyResolvingSocket(
       kDestination, nullptr,
       net::MutableNetworkTrafficAnnotationTag(TRAFFIC_ANNOTATION_FOR_TESTS),
-      mojo::MakeRequest(&socket), nullptr /* observer */,
+      mojo::MakeRequest(&socket), mojo::NullRemote() /* observer */,
       base::BindLambdaForTesting(
           [&](int result, const base::Optional<net::IPEndPoint>& local_addr,
               const base::Optional<net::IPEndPoint>& peer_addr,
@@ -435,7 +436,7 @@
   TestSocketObserver test_observer;
 
   int status = CreateSocketSync(
-      mojo::MakeRequest(&socket), test_observer.GetObserverPtr(),
+      mojo::MakeRequest(&socket), test_observer.GetObserverRemote(),
       nullptr /* peer_addr_out */, kDestination, &client_socket_receive_handle,
       &client_socket_send_handle);
   EXPECT_EQ(net::OK, status);
diff --git a/services/network/public/cpp/cross_thread_shared_url_loader_factory_info_unittest.cc b/services/network/public/cpp/cross_thread_shared_url_loader_factory_info_unittest.cc
index c520180c..f793d7f 100644
--- a/services/network/public/cpp/cross_thread_shared_url_loader_factory_info_unittest.cc
+++ b/services/network/public/cpp/cross_thread_shared_url_loader_factory_info_unittest.cc
@@ -16,6 +16,7 @@
 #include "base/test/task_environment.h"
 #include "base/threading/sequenced_task_runner_handle.h"
 #include "mojo/public/cpp/bindings/pending_receiver.h"
+#include "mojo/public/cpp/bindings/remote.h"
 #include "net/traffic_annotation/network_traffic_annotation_test_helper.h"
 #include "services/network/public/cpp/resource_request.h"
 #include "services/network/public/cpp/resource_response.h"
@@ -136,8 +137,8 @@
   }
 
   void TestClone(scoped_refptr<SharedURLLoaderFactory> factory) {
-    mojom::URLLoaderFactoryPtr factory_client;
-    factory->Clone(mojo::MakeRequest(&factory_client));
+    mojo::PendingRemote<mojom::URLLoaderFactory> factory_client;
+    factory->Clone(factory_client.InitWithNewPipeAndPassReceiver());
   }
 
   void TestLoadOnMainThread(scoped_refptr<SharedURLLoaderFactory> factory) {
diff --git a/services/network/public/cpp/server/http_server.cc b/services/network/public/cpp/server/http_server.cc
index 994347d..111f3c9 100644
--- a/services/network/public/cpp/server/http_server.cc
+++ b/services/network/public/cpp/server/http_server.cc
@@ -15,6 +15,7 @@
 #include "base/strings/string_util.h"
 #include "base/threading/thread_task_runner_handle.h"
 #include "build/build_config.h"
+#include "mojo/public/cpp/bindings/pending_remote.h"
 #include "net/base/net_errors.h"
 #include "services/network/public/cpp/server/http_connection.h"
 #include "services/network/public/cpp/server/http_server_request_info.h"
@@ -179,7 +180,7 @@
 
 void HttpServer::DoAcceptLoop() {
   server_socket_->Accept(
-      nullptr, /* observer */
+      mojo::NullRemote(), /* observer */
       base::BindOnce(&HttpServer::OnAcceptCompleted, base::Unretained(this)));
 }
 
diff --git a/services/network/public/cpp/server/http_server_unittest.cc b/services/network/public/cpp/server/http_server_unittest.cc
index 30b25c2..34b3162 100644
--- a/services/network/public/cpp/server/http_server_unittest.cc
+++ b/services/network/public/cpp/server/http_server_unittest.cc
@@ -49,7 +49,7 @@
         base::nullopt /* local address */, addresses,
         nullptr /* tcp_connected_socket_options */,
         TRAFFIC_ANNOTATION_FOR_TESTS, mojo::MakeRequest(&socket_),
-        nullptr /* observer */,
+        mojo::NullRemote() /* observer */,
         base::BindOnce(
             [](base::RunLoop* run_loop, int* result_out,
                mojo::ScopedDataPipeConsumerHandle* receive_pipe_handle_out,
diff --git a/services/network/public/cpp/simple_url_loader.cc b/services/network/public/cpp/simple_url_loader.cc
index 5efac8f..10c12d97 100644
--- a/services/network/public/cpp/simple_url_loader.cc
+++ b/services/network/public/cpp/simple_url_loader.cc
@@ -29,6 +29,7 @@
 #include "mojo/public/cpp/bindings/binding.h"
 #include "mojo/public/cpp/bindings/pending_remote.h"
 #include "mojo/public/cpp/bindings/receiver_set.h"
+#include "mojo/public/cpp/bindings/remote.h"
 #include "mojo/public/cpp/system/data_pipe.h"
 #include "mojo/public/cpp/system/simple_watcher.h"
 #include "net/base/net_errors.h"
@@ -351,7 +352,7 @@
   const net::NetworkTrafficAnnotationTag annotation_tag_;
   // Cloned from the input URLLoaderFactory if it may be needed to follow
   // redirects.
-  mojom::URLLoaderFactoryPtr url_loader_factory_ptr_;
+  mojo::Remote<mojom::URLLoaderFactory> url_loader_factory_remote_;
   std::unique_ptr<BodyHandler> body_handler_;
 
   mojo::Binding<mojom::URLLoaderClient> client_binding_;
@@ -1484,7 +1485,8 @@
     // Clone the URLLoaderFactory, to avoid any dependencies on its lifetime.
     // Results in an easier to use API, with no shutdown ordering requirements,
     // at the cost of some resources.
-    url_loader_factory->Clone(mojo::MakeRequest(&url_loader_factory_ptr_));
+    url_loader_factory->Clone(
+        url_loader_factory_remote_.BindNewPipeAndPassReceiver());
   }
 
   StartRequest(url_loader_factory);
@@ -1526,13 +1528,13 @@
   // If no more retries left, can clean up a little.
   if (remaining_retries_ == 0) {
     resource_request_.reset();
-    url_loader_factory_ptr_.reset();
+    url_loader_factory_remote_.reset();
   }
 }
 
 void SimpleURLLoaderImpl::Retry() {
   DCHECK(resource_request_);
-  DCHECK(url_loader_factory_ptr_);
+  DCHECK(url_loader_factory_remote_);
   DCHECK_GT(remaining_retries_, 0);
   --remaining_retries_;
 
@@ -1542,7 +1544,7 @@
   request_state_ = std::make_unique<RequestState>();
   body_handler_->PrepareToRetry(base::BindOnce(
       &SimpleURLLoaderImpl::StartRequest, weak_ptr_factory_.GetWeakPtr(),
-      url_loader_factory_ptr_.get()));
+      url_loader_factory_remote_.get()));
 }
 
 void SimpleURLLoaderImpl::OnReceiveResponse(
diff --git a/services/network/public/cpp/simple_url_loader_unittest.cc b/services/network/public/cpp/simple_url_loader_unittest.cc
index d63838f..123c878 100644
--- a/services/network/public/cpp/simple_url_loader_unittest.cc
+++ b/services/network/public/cpp/simple_url_loader_unittest.cc
@@ -604,7 +604,7 @@
     params->network_isolation_key = net::NetworkIsolationKey(origin, origin);
     params->is_trusted = true;
     network_context_->CreateURLLoaderFactory(
-        mojo::MakeRequest(&url_loader_factory_), std::move(params));
+        url_loader_factory_.BindNewPipeAndPassReceiver(), std::move(params));
 
     test_server_.AddDefaultHandlers(base::FilePath(FILE_PATH_LITERAL("")));
     test_server_.RegisterRequestHandler(
@@ -646,7 +646,7 @@
   std::unique_ptr<network::mojom::NetworkServiceClient> network_service_client_;
   std::unique_ptr<network::mojom::NetworkContextClient> network_context_client_;
   mojo::Remote<network::mojom::NetworkContext> network_context_;
-  network::mojom::URLLoaderFactoryPtr url_loader_factory_;
+  mojo::Remote<network::mojom::URLLoaderFactory> url_loader_factory_;
 
   net::test_server::EmbeddedTestServer test_server_;
 
diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom
index 4b5aa74..9a42279 100644
--- a/services/network/public/mojom/network_context.mojom
+++ b/services/network/public/mojom/network_context.mojom
@@ -262,9 +262,9 @@
 
   // SSL configuration. |initial_proxy_config| is the initial SSL configuration
   // to use. If nullptr, uses the default configuration. Updated SSL
-  // configurations can be passed in via |ssl_config_client_request|.
+  // configurations can be passed in via |ssl_config_client_receiver|.
   SSLConfig? initial_ssl_config;
-  SSLConfigClient&? ssl_config_client_request;
+  pending_receiver<SSLConfigClient>? ssl_config_client_receiver;
 
   // Proxy configuration. If |initial_proxy_config| is set, it's the initial
   // proxy configuration. Updated proxy configuration can be passed in via
@@ -980,7 +980,7 @@
       TCPConnectedSocketOptions? tcp_connected_socket_options,
       MutableNetworkTrafficAnnotationTag traffic_annotation,
       TCPConnectedSocket& socket,
-      SocketObserver? observer)
+      pending_remote<SocketObserver>? observer)
       => (int32 result,
           IPEndPoint? local_addr,
           IPEndPoint? peer_addr,
@@ -1000,7 +1000,7 @@
   // consumers can mimic Berkeley sockets semantics.
   CreateTCPBoundSocket(IPEndPoint local_addr,
                        MutableNetworkTrafficAnnotationTag traffic_annotation,
-                       TCPBoundSocket& socket)
+                       pending_receiver<TCPBoundSocket> socket)
       => (int32 result, IPEndPoint? local_addr);
 
   // Creates a ProxyResolvingSocketFactory that shares some configuration params
@@ -1012,7 +1012,7 @@
 
   // Looks up what proxy to use for a particular URL.
   LookUpProxyForURL(url.mojom.Url url,
-                    ProxyLookupClient proxy_lookup_client);
+                    pending_remote<ProxyLookupClient> proxy_lookup_client);
 
   // Forces refetching the proxy configuration, and applying it.
   ForceReloadProxyConfig() => ();
diff --git a/services/network/public/mojom/proxy_resolving_socket.mojom b/services/network/public/mojom/proxy_resolving_socket.mojom
index 616e57f3..e8d8553 100644
--- a/services/network/public/mojom/proxy_resolving_socket.mojom
+++ b/services/network/public/mojom/proxy_resolving_socket.mojom
@@ -30,7 +30,7 @@
   UpgradeToTLS(HostPortPair host_port_pair,
                MutableNetworkTrafficAnnotationTag traffic_annotation,
                TLSClientSocket& request,
-               SocketObserver? observer)
+               pending_remote<SocketObserver>? observer)
       => (int32 net_error,
           handle<data_pipe_consumer>? receive_stream,
           handle<data_pipe_producer>? send_stream);
@@ -68,7 +68,7 @@
       ProxyResolvingSocketOptions? options,
       MutableNetworkTrafficAnnotationTag traffic_annotation,
       ProxyResolvingSocket& socket,
-      SocketObserver? observer)
+      pending_remote<SocketObserver>? observer)
      => (int32 result,
          network.mojom.IPEndPoint? local_addr,
          network.mojom.IPEndPoint? peer_addr,
diff --git a/services/network/public/mojom/tcp_socket.mojom b/services/network/public/mojom/tcp_socket.mojom
index 5637a88..8fc7a23e 100644
--- a/services/network/public/mojom/tcp_socket.mojom
+++ b/services/network/public/mojom/tcp_socket.mojom
@@ -50,7 +50,7 @@
       AddressList remote_addr_list,
       TCPConnectedSocketOptions? tcp_connected_socket_options,
       TCPConnectedSocket& socket,
-      SocketObserver? observer)
+      pending_remote<SocketObserver>? observer)
       => (int32 net_error,
           IPEndPoint? local_addr,
           IPEndPoint? peer_addr,
@@ -78,7 +78,7 @@
                TLSClientSocketOptions? options,
                MutableNetworkTrafficAnnotationTag traffic_annotation,
                TLSClientSocket& request,
-               SocketObserver? observer)
+               pending_remote<SocketObserver>? observer)
       => (int32 net_error,
           handle<data_pipe_consumer>? receive_stream,
           handle<data_pipe_producer>? send_stream,
@@ -142,7 +142,7 @@
   //
   // Accepted sockets may not be upgraded to TLS by invoking UpgradeToTLS, as
   // UpgradeToTLS only supports the client part of the TLS handshake.
-  Accept(SocketObserver? observer)
+  Accept(pending_remote<SocketObserver>? observer)
       => (int32 net_error,
           IPEndPoint? remote_addr,
           TCPConnectedSocket? connected_socket,
diff --git a/services/network/socket_data_pump.h b/services/network/socket_data_pump.h
index 1760e9f..9930c26 100644
--- a/services/network/socket_data_pump.h
+++ b/services/network/socket_data_pump.h
@@ -30,7 +30,7 @@
 // pipe. Specifically, it (1) reads from the network socket and writes to a mojo
 // producer pipe, and (2) reads from a mojo consumer pipe and writes to the
 // network socket. On network read/write errors, it (3) also notifies the
-// mojom::SocketObserverPtr appropriately.
+// mojo::Remote<mojom::SocketObserver> appropriately.
 class COMPONENT_EXPORT(NETWORK_SERVICE) SocketDataPump {
  public:
   // Interface to notify a consumer that about network errors and whether both
diff --git a/services/network/socket_factory.cc b/services/network/socket_factory.cc
index 6e4475df..f1a7b95 100644
--- a/services/network/socket_factory.cc
+++ b/services/network/socket_factory.cc
@@ -72,7 +72,7 @@
     mojom::TCPConnectedSocketOptionsPtr tcp_connected_socket_options,
     const net::NetworkTrafficAnnotationTag& traffic_annotation,
     mojom::TCPConnectedSocketRequest request,
-    mojom::SocketObserverPtr observer,
+    mojo::PendingRemote<mojom::SocketObserver> observer,
     mojom::NetworkContext::CreateTCPConnectedSocketCallback callback) {
   auto socket = std::make_unique<TCPConnectedSocket>(
       std::move(observer), net_log_, &tls_socket_factory_,
@@ -88,7 +88,7 @@
 void SocketFactory::CreateTCPBoundSocket(
     const net::IPEndPoint& local_addr,
     const net::NetworkTrafficAnnotationTag& traffic_annotation,
-    mojom::TCPBoundSocketRequest request,
+    mojo::PendingReceiver<mojom::TCPBoundSocket> receiver,
     mojom::NetworkContext::CreateTCPBoundSocketCallback callback) {
   auto socket =
       std::make_unique<TCPBoundSocket>(this, net_log_, traffic_annotation);
@@ -98,13 +98,13 @@
     std::move(callback).Run(result, base::nullopt);
     return;
   }
-  socket->set_id(tcp_bound_socket_bindings_.AddBinding(std::move(socket),
-                                                       std::move(request)));
+  socket->set_id(
+      tcp_bound_socket_receivers_.Add(std::move(socket), std::move(receiver)));
   std::move(callback).Run(result, local_addr_out);
 }
 
 void SocketFactory::DestroyBoundSocket(mojo::BindingId bound_socket_id) {
-  tcp_bound_socket_bindings_.RemoveBinding(bound_socket_id);
+  tcp_bound_socket_receivers_.Remove(bound_socket_id);
 }
 
 void SocketFactory::OnBoundSocketListening(
@@ -113,7 +113,7 @@
     mojom::TCPServerSocketRequest server_socket_request) {
   tcp_server_socket_bindings_.AddBinding(std::move(server_socket),
                                          std::move(server_socket_request));
-  tcp_bound_socket_bindings_.RemoveBinding(bound_socket_id);
+  tcp_bound_socket_receivers_.Remove(bound_socket_id);
 }
 
 void SocketFactory::OnBoundSocketConnected(
@@ -122,7 +122,7 @@
     mojom::TCPConnectedSocketRequest connected_socket_request) {
   tcp_connected_socket_bindings_.AddBinding(
       std::move(connected_socket), std::move(connected_socket_request));
-  tcp_bound_socket_bindings_.RemoveBinding(bound_socket_id);
+  tcp_bound_socket_receivers_.Remove(bound_socket_id);
 }
 
 void SocketFactory::OnAccept(std::unique_ptr<TCPConnectedSocket> socket,
diff --git a/services/network/socket_factory.h b/services/network/socket_factory.h
index 7c70eb0..43996c9 100644
--- a/services/network/socket_factory.h
+++ b/services/network/socket_factory.h
@@ -59,12 +59,12 @@
       mojom::TCPConnectedSocketOptionsPtr tcp_connected_socket_options,
       const net::NetworkTrafficAnnotationTag& traffic_annotation,
       mojom::TCPConnectedSocketRequest request,
-      mojom::SocketObserverPtr observer,
+      mojo::PendingRemote<mojom::SocketObserver> observer,
       mojom::NetworkContext::CreateTCPConnectedSocketCallback callback);
   void CreateTCPBoundSocket(
       const net::IPEndPoint& local_addr,
       const net::NetworkTrafficAnnotationTag& traffic_annotation,
-      mojom::TCPBoundSocketRequest request,
+      mojo::PendingReceiver<mojom::TCPBoundSocket> receiver,
       mojom::NetworkContext::CreateTCPBoundSocketCallback callback);
 
   // Destroys the specified BoundSocket object.
@@ -101,7 +101,7 @@
   mojo::StrongBindingSet<mojom::TCPServerSocket> tcp_server_socket_bindings_;
   mojo::StrongBindingSet<mojom::TCPConnectedSocket>
       tcp_connected_socket_bindings_;
-  mojo::StrongBindingSet<mojom::TCPBoundSocket> tcp_bound_socket_bindings_;
+  mojo::UniqueReceiverSet<mojom::TCPBoundSocket> tcp_bound_socket_receivers_;
 
   DISALLOW_COPY_AND_ASSIGN(SocketFactory);
 };
diff --git a/services/network/ssl_config_service_mojo.cc b/services/network/ssl_config_service_mojo.cc
index 5c73907..6b9143f1 100644
--- a/services/network/ssl_config_service_mojo.cc
+++ b/services/network/ssl_config_service_mojo.cc
@@ -32,10 +32,9 @@
 
 SSLConfigServiceMojo::SSLConfigServiceMojo(
     mojom::SSLConfigPtr initial_config,
-    mojom::SSLConfigClientRequest ssl_config_client_request,
+    mojo::PendingReceiver<mojom::SSLConfigClient> ssl_config_client_receiver,
     CRLSetDistributor* crl_set_distributor)
-    : binding_(this),
-      crl_set_distributor_(crl_set_distributor),
+    : crl_set_distributor_(crl_set_distributor),
       client_cert_pooling_policy_(
           initial_config ? initial_config->client_cert_pooling_policy
                          : std::vector<std::string>()) {
@@ -44,8 +43,8 @@
     ssl_context_config_ = MojoSSLConfigToSSLContextConfig(initial_config);
   }
 
-  if (ssl_config_client_request)
-    binding_.Bind(std::move(ssl_config_client_request));
+  if (ssl_config_client_receiver)
+    receiver_.Bind(std::move(ssl_config_client_receiver));
 
   crl_set_distributor_->AddObserver(this);
   cert_verifier_config_.crl_set = crl_set_distributor_->crl_set();
diff --git a/services/network/ssl_config_service_mojo.h b/services/network/ssl_config_service_mojo.h
index 2ee0f9e9..e961314 100644
--- a/services/network/ssl_config_service_mojo.h
+++ b/services/network/ssl_config_service_mojo.h
@@ -6,7 +6,8 @@
 #define SERVICES_NETWORK_SSL_CONFIG_SERVICE_MOJO_H_
 
 #include "base/component_export.h"
-#include "mojo/public/cpp/bindings/binding.h"
+#include "mojo/public/cpp/bindings/pending_receiver.h"
+#include "mojo/public/cpp/bindings/receiver.h"
 #include "net/cert/cert_verifier.h"
 #include "net/ssl/ssl_config_service.h"
 #include "services/network/crl_set_distributor.h"
@@ -21,12 +22,13 @@
       public net::SSLConfigService,
       public CRLSetDistributor::Observer {
  public:
-  // If |ssl_config_client_request| is not provided, just sticks with the
+  // If |ssl_config_client_receiver| is not provided, just sticks with the
   // initial configuration.
   // Note: |crl_set_distributor| must outlive this object.
-  SSLConfigServiceMojo(mojom::SSLConfigPtr initial_config,
-                       mojom::SSLConfigClientRequest ssl_config_client_request,
-                       CRLSetDistributor* crl_set_distributor);
+  SSLConfigServiceMojo(
+      mojom::SSLConfigPtr initial_config,
+      mojo::PendingReceiver<mojom::SSLConfigClient> ssl_config_client_receiver,
+      CRLSetDistributor* crl_set_distributor);
   ~SSLConfigServiceMojo() override;
 
   // Sets |cert_verifier| to be configured by certificate-related settings
@@ -47,7 +49,7 @@
   void OnNewCRLSet(scoped_refptr<net::CRLSet> crl_set) override;
 
  private:
-  mojo::Binding<mojom::SSLConfigClient> binding_;
+  mojo::Receiver<mojom::SSLConfigClient> receiver_{this};
 
   net::SSLContextConfig ssl_context_config_;
   net::CertVerifier::Config cert_verifier_config_;
diff --git a/services/network/ssl_config_service_mojo_unittest.cc b/services/network/ssl_config_service_mojo_unittest.cc
index e7b1199..54459ce6 100644
--- a/services/network/ssl_config_service_mojo_unittest.cc
+++ b/services/network/ssl_config_service_mojo_unittest.cc
@@ -10,7 +10,6 @@
 #include "base/test/task_environment.h"
 #include "build/build_config.h"
 #include "crypto/sha2.h"
-#include "mojo/public/cpp/bindings/interface_request.h"
 #include "mojo/public/cpp/bindings/remote.h"
 #include "net/base/test_completion_callback.h"
 #include "net/cert/asn1_util.h"
@@ -157,8 +156,9 @@
   // stores it in |network_context_|.
   void SetUpNetworkContext(
       mojom::NetworkContextParamsPtr network_context_params) {
-    network_context_params->ssl_config_client_request =
-        mojo::MakeRequest(&ssl_config_client_);
+    ssl_config_client_.reset();
+    network_context_params->ssl_config_client_receiver =
+        ssl_config_client_.BindNewPipeAndPassReceiver();
     network_context_remote_.reset();
     network_context_ = std::make_unique<NetworkContext>(
         network_service_.get(),
@@ -264,7 +264,7 @@
  protected:
   base::test::TaskEnvironment task_environment_;
   std::unique_ptr<NetworkService> network_service_;
-  mojom::SSLConfigClientPtr ssl_config_client_;
+  mojo::Remote<mojom::SSLConfigClient> ssl_config_client_;
   mojo::Remote<mojom::NetworkContext> network_context_remote_;
   std::unique_ptr<NetworkContext> network_context_;
 };
diff --git a/services/network/tcp_bound_socket.cc b/services/network/tcp_bound_socket.cc
index 6458a154..4cc0145 100644
--- a/services/network/tcp_bound_socket.cc
+++ b/services/network/tcp_bound_socket.cc
@@ -92,7 +92,7 @@
     const net::AddressList& remote_addr_list,
     mojom::TCPConnectedSocketOptionsPtr tcp_connected_socket_options,
     mojom::TCPConnectedSocketRequest request,
-    mojom::SocketObserverPtr observer,
+    mojo::PendingRemote<mojom::SocketObserver> observer,
     ConnectCallback callback) {
   DCHECK(socket_->IsValid());
 
diff --git a/services/network/tcp_bound_socket.h b/services/network/tcp_bound_socket.h
index 8357aea..2f56b96 100644
--- a/services/network/tcp_bound_socket.h
+++ b/services/network/tcp_bound_socket.h
@@ -12,7 +12,7 @@
 #include "base/memory/ref_counted.h"
 #include "base/memory/weak_ptr.h"
 #include "mojo/public/cpp/bindings/binding_set.h"
-#include "mojo/public/cpp/bindings/interface_request.h"
+#include "mojo/public/cpp/bindings/pending_remote.h"
 #include "net/base/ip_endpoint.h"
 #include "net/socket/tcp_socket.h"
 #include "net/traffic_annotation/network_traffic_annotation.h"
@@ -56,7 +56,7 @@
   void Connect(const net::AddressList& remote_addr,
                mojom::TCPConnectedSocketOptionsPtr tcp_connected_socket_options,
                mojom::TCPConnectedSocketRequest request,
-               mojom::SocketObserverPtr observer,
+               mojo::PendingRemote<mojom::SocketObserver> observer,
                ConnectCallback callback) override;
 
  private:
diff --git a/services/network/tcp_bound_socket_unittest.cc b/services/network/tcp_bound_socket_unittest.cc
index 02051dc2..503d796 100644
--- a/services/network/tcp_bound_socket_unittest.cc
+++ b/services/network/tcp_bound_socket_unittest.cc
@@ -14,7 +14,8 @@
 #include "base/test/bind_test_util.h"
 #include "base/test/task_environment.h"
 #include "build/build_config.h"
-#include "mojo/public/cpp/bindings/interface_request.h"
+#include "mojo/public/cpp/bindings/pending_remote.h"
+#include "mojo/public/cpp/bindings/remote.h"
 #include "mojo/public/cpp/system/data_pipe_utils.h"
 #include "mojo/public/cpp/system/simple_watcher.h"
 #include "mojo/public/cpp/system/wait.h"
@@ -45,13 +46,13 @@
   SocketFactory* factory() { return &factory_; }
 
   int BindSocket(const net::IPEndPoint& ip_endpoint_in,
-                 mojom::TCPBoundSocketPtr* bound_socket,
+                 mojo::Remote<mojom::TCPBoundSocket>* bound_socket,
                  net::IPEndPoint* ip_endpoint_out) {
     base::RunLoop run_loop;
     int bind_result = net::ERR_IO_PENDING;
     factory()->CreateTCPBoundSocket(
         ip_endpoint_in, TRAFFIC_ANNOTATION_FOR_TESTS,
-        mojo::MakeRequest(bound_socket),
+        bound_socket->BindNewPipeAndPassReceiver(),
         base::BindLambdaForTesting(
             [&](int net_error,
                 const base::Optional<net::IPEndPoint>& local_addr) {
@@ -66,19 +67,18 @@
     run_loop.Run();
 
     // On error, |bound_socket| should be closed.
-    if (bind_result != net::OK && !bound_socket->encountered_error()) {
+    if (bind_result != net::OK && bound_socket->is_connected()) {
       base::RunLoop close_pipe_run_loop;
-      bound_socket->set_connection_error_handler(
-          close_pipe_run_loop.QuitClosure());
+      bound_socket->set_disconnect_handler(close_pipe_run_loop.QuitClosure());
       close_pipe_run_loop.Run();
     }
     return bind_result;
   }
 
-  int Listen(mojom::TCPBoundSocketPtr bound_socket,
+  int Listen(mojo::Remote<mojom::TCPBoundSocket> bound_socket,
              mojom::TCPServerSocketPtr* server_socket) {
     base::RunLoop bound_socket_destroyed_run_loop;
-    bound_socket.set_connection_error_handler(
+    bound_socket.set_disconnect_handler(
         bound_socket_destroyed_run_loop.QuitClosure());
 
     base::RunLoop run_loop;
@@ -104,16 +104,16 @@
     return listen_result;
   }
 
-  int Connect(mojom::TCPBoundSocketPtr bound_socket,
+  int Connect(mojo::Remote<mojom::TCPBoundSocket> bound_socket,
               const net::IPEndPoint& expected_local_addr,
               const net::IPEndPoint& connect_to_addr,
               mojom::TCPConnectedSocketOptionsPtr tcp_connected_socket_options,
               mojom::TCPConnectedSocketPtr* connected_socket,
-              mojom::SocketObserverPtr socket_observer,
+              mojo::PendingRemote<mojom::SocketObserver> socket_observer,
               mojo::ScopedDataPipeConsumerHandle* client_socket_receive_handle,
               mojo::ScopedDataPipeProducerHandle* client_socket_send_handle) {
     base::RunLoop bound_socket_destroyed_run_loop;
-    bound_socket.set_connection_error_handler(
+    bound_socket.set_disconnect_handler(
         bound_socket_destroyed_run_loop.QuitClosure());
 
     int connect_result = net::ERR_IO_PENDING;
@@ -202,7 +202,7 @@
 // fail.
 TEST_F(TCPBoundSocketTest, BindError) {
   // Set up a listening socket.
-  mojom::TCPBoundSocketPtr bound_socket1;
+  mojo::Remote<mojom::TCPBoundSocket> bound_socket1;
   net::IPEndPoint bound_address1;
   ASSERT_EQ(net::OK, BindSocket(LocalHostWithAnyPort(), &bound_socket1,
                                 &bound_address1));
@@ -210,7 +210,7 @@
   ASSERT_EQ(net::OK, Listen(std::move(bound_socket1), &server_socket));
 
   // Try to bind another socket to the listening socket's address.
-  mojom::TCPBoundSocketPtr bound_socket2;
+  mojo::Remote<mojom::TCPBoundSocket> bound_socket2;
   net::IPEndPoint bound_address2;
   int result = BindSocket(bound_address1, &bound_socket2, &bound_address2);
   // Depending on platform, can get different errors. Some platforms can return
@@ -227,14 +227,14 @@
 // on OSX (after 25+ seconds) instead of connection refused.
 #if !defined(OS_MACOSX) && !defined(OS_IOS)
 TEST_F(TCPBoundSocketTest, ConnectError) {
-  mojom::TCPBoundSocketPtr bound_socket1;
+  mojo::Remote<mojom::TCPBoundSocket> bound_socket1;
   net::IPEndPoint bound_address1;
   ASSERT_EQ(net::OK, BindSocket(LocalHostWithAnyPort(), &bound_socket1,
                                 &bound_address1));
 
   // Trying to bind to an address currently being used for listening should
   // fail.
-  mojom::TCPBoundSocketPtr bound_socket2;
+  mojo::Remote<mojom::TCPBoundSocket> bound_socket2;
   net::IPEndPoint bound_address2;
   ASSERT_EQ(net::OK, BindSocket(LocalHostWithAnyPort(), &bound_socket2,
                                 &bound_address2));
@@ -244,7 +244,7 @@
   EXPECT_EQ(net::ERR_CONNECTION_REFUSED,
             Connect(std::move(bound_socket2), bound_address2, bound_address1,
                     nullptr /* tcp_connected_socket_options */,
-                    &connected_socket, mojom::SocketObserverPtr(),
+                    &connected_socket, mojo::NullRemote(),
                     &client_socket_receive_handle, &client_socket_send_handle));
 }
 #endif  // !defined(OS_MACOSX) && !defined(OS_IOS)
@@ -260,14 +260,14 @@
 #if !defined(OS_WIN) && !defined(OS_MACOSX) && !defined(OS_IOS)
 TEST_F(TCPBoundSocketTest, ListenError) {
   // Bind a socket.
-  mojom::TCPBoundSocketPtr bound_socket1;
+  mojo::Remote<mojom::TCPBoundSocket> bound_socket1;
   net::IPEndPoint bound_address1;
   ASSERT_EQ(net::OK, BindSocket(LocalHostWithAnyPort(), &bound_socket1,
                                 &bound_address1));
 
   // Bind another socket to the same address, which should succeed, due to
   // SO_REUSEADDR.
-  mojom::TCPBoundSocketPtr bound_socket2;
+  mojo::Remote<mojom::TCPBoundSocket> bound_socket2;
   net::IPEndPoint bound_address2;
   ASSERT_EQ(net::OK,
             BindSocket(bound_address1, &bound_socket2, &bound_address2));
@@ -289,7 +289,7 @@
 // Test the case bind succeeds, and transfer some data.
 TEST_F(TCPBoundSocketTest, ReadWrite) {
   // Set up a listening socket.
-  mojom::TCPBoundSocketPtr bound_socket1;
+  mojo::Remote<mojom::TCPBoundSocket> bound_socket1;
   net::IPEndPoint server_address;
   ASSERT_EQ(net::OK, BindSocket(LocalHostWithAnyPort(), &bound_socket1,
                                 &server_address));
@@ -297,7 +297,7 @@
   ASSERT_EQ(net::OK, Listen(std::move(bound_socket1), &server_socket));
 
   // Connect to the socket with another socket.
-  mojom::TCPBoundSocketPtr bound_socket2;
+  mojo::Remote<mojom::TCPBoundSocket> bound_socket2;
   net::IPEndPoint client_address;
   ASSERT_EQ(net::OK, BindSocket(LocalHostWithAnyPort(), &bound_socket2,
                                 &client_address));
@@ -308,7 +308,7 @@
   EXPECT_EQ(net::OK,
             Connect(std::move(bound_socket2), client_address, server_address,
                     nullptr /* tcp_connected_socket_options */, &client_socket,
-                    socket_observer.GetObserverPtr(),
+                    socket_observer.GetObserverRemote(),
                     &client_socket_receive_handle, &client_socket_send_handle));
 
   base::RunLoop run_loop;
@@ -316,7 +316,7 @@
   mojo::ScopedDataPipeConsumerHandle accept_socket_receive_handle;
   mojo::ScopedDataPipeProducerHandle accept_socket_send_handle;
   server_socket->Accept(
-      nullptr /* ovserver */,
+      mojo::NullRemote() /* ovserver */,
       base::BindLambdaForTesting(
           [&](int net_error, const base::Optional<net::IPEndPoint>& remote_addr,
               mojom::TCPConnectedSocketPtr connected_socket,
@@ -368,7 +368,7 @@
 // that the options are actually set, since there's no API for that.
 TEST_F(TCPBoundSocketTest, ConnectWithOptions) {
   // Set up a listening socket.
-  network::mojom::TCPBoundSocketPtr bound_socket1;
+  mojo::Remote<mojom::TCPBoundSocket> bound_socket1;
   net::IPEndPoint server_address;
   ASSERT_EQ(net::OK, BindSocket(LocalHostWithAnyPort(), &bound_socket1,
                                 &server_address));
@@ -376,7 +376,7 @@
   ASSERT_EQ(net::OK, Listen(std::move(bound_socket1), &server_socket));
 
   // Connect to the socket with another socket.
-  network::mojom::TCPBoundSocketPtr bound_socket2;
+  mojo::Remote<mojom::TCPBoundSocket> bound_socket2;
   net::IPEndPoint client_address;
   ASSERT_EQ(net::OK, BindSocket(LocalHostWithAnyPort(), &bound_socket2,
                                 &client_address));
@@ -393,7 +393,7 @@
   EXPECT_EQ(net::OK,
             Connect(std::move(bound_socket2), client_address, server_address,
                     std::move(tcp_connected_socket_options), &client_socket,
-                    socket_observer.GetObserverPtr(),
+                    socket_observer.GetObserverRemote(),
                     &client_socket_receive_handle, &client_socket_send_handle));
 
   base::RunLoop run_loop;
@@ -401,7 +401,7 @@
   mojo::ScopedDataPipeConsumerHandle accept_socket_receive_handle;
   mojo::ScopedDataPipeProducerHandle accept_socket_send_handle;
   server_socket->Accept(
-      nullptr /* ovserver */,
+      mojo::NullRemote() /* ovserver */,
       base::BindLambdaForTesting(
           [&](int net_error, const base::Optional<net::IPEndPoint>& remote_addr,
               network::mojom::TCPConnectedSocketPtr connected_socket,
@@ -439,7 +439,7 @@
       }));
   ASSERT_TRUE(test_server.Start());
 
-  network::mojom::TCPBoundSocketPtr bound_socket;
+  mojo::Remote<mojom::TCPBoundSocket> bound_socket;
   net::IPEndPoint client_address;
   ASSERT_EQ(net::OK,
             BindSocket(LocalHostWithAnyPort(), &bound_socket, &client_address));
@@ -453,7 +453,7 @@
                     net::IPEndPoint(net::IPAddress::IPv4Localhost(),
                                     test_server.host_port_pair().port()),
                     nullptr /* tcp_connected_socket_options */, &client_socket,
-                    socket_observer.GetObserverPtr(),
+                    socket_observer.GetObserverRemote(),
                     &client_socket_receive_handle, &client_socket_send_handle));
 
   // Need to closed these pipes for UpgradeToTLS to complete.
@@ -465,7 +465,7 @@
   client_socket->UpgradeToTLS(
       test_server.host_port_pair(), nullptr /* options */,
       net::MutableNetworkTrafficAnnotationTag(TRAFFIC_ANNOTATION_FOR_TESTS),
-      mojo::MakeRequest(&tls_client_socket), nullptr /* observer */,
+      mojo::MakeRequest(&tls_client_socket), mojo::NullRemote() /* observer */,
       base::BindLambdaForTesting(
           [&](int net_error,
               mojo::ScopedDataPipeConsumerHandle receive_pipe_handle,
diff --git a/services/network/tcp_connected_socket.cc b/services/network/tcp_connected_socket.cc
index 0a63e11..3af48a9 100644
--- a/services/network/tcp_connected_socket.cc
+++ b/services/network/tcp_connected_socket.cc
@@ -66,7 +66,7 @@
 const int TCPConnectedSocket::kMaxBufferSize = 128 * 1024;
 
 TCPConnectedSocket::TCPConnectedSocket(
-    mojom::SocketObserverPtr observer,
+    mojo::PendingRemote<mojom::SocketObserver> observer,
     net::NetLog* net_log,
     TLSSocketFactory* tls_socket_factory,
     net::ClientSocketFactory* client_socket_factory,
@@ -78,7 +78,7 @@
       traffic_annotation_(traffic_annotation) {}
 
 TCPConnectedSocket::TCPConnectedSocket(
-    mojom::SocketObserverPtr observer,
+    mojo::PendingRemote<mojom::SocketObserver> observer,
     std::unique_ptr<net::TransportClientSocket> socket,
     mojo::ScopedDataPipeProducerHandle receive_pipe_handle,
     mojo::ScopedDataPipeConsumerHandle send_pipe_handle,
@@ -156,7 +156,7 @@
     mojom::TLSClientSocketOptionsPtr socket_options,
     const net::MutableNetworkTrafficAnnotationTag& traffic_annotation,
     mojom::TLSClientSocketRequest request,
-    mojom::SocketObserverPtr observer,
+    mojo::PendingRemote<mojom::SocketObserver> observer,
     mojom::TCPConnectedSocket::UpgradeToTLSCallback callback) {
   if (!tls_socket_factory_) {
     std::move(callback).Run(
diff --git a/services/network/tcp_connected_socket.h b/services/network/tcp_connected_socket.h
index 46b9a9b0..50a6c8c 100644
--- a/services/network/tcp_connected_socket.h
+++ b/services/network/tcp_connected_socket.h
@@ -10,6 +10,8 @@
 #include "base/component_export.h"
 #include "base/macros.h"
 #include "base/memory/ref_counted.h"
+#include "mojo/public/cpp/bindings/pending_remote.h"
+#include "mojo/public/cpp/bindings/remote.h"
 #include "mojo/public/cpp/system/data_pipe.h"
 #include "net/base/address_family.h"
 #include "net/base/ip_endpoint.h"
@@ -43,13 +45,13 @@
   // If |client_socket_factory| is nullptr, consumers must use
   // ConnectWithSocket() instead of Connect().
   TCPConnectedSocket(
-      mojom::SocketObserverPtr observer,
+      mojo::PendingRemote<mojom::SocketObserver> observer,
       net::NetLog* net_log,
       TLSSocketFactory* tls_socket_factory,
       net::ClientSocketFactory* client_socket_factory,
       const net::NetworkTrafficAnnotationTag& traffic_annotation);
   TCPConnectedSocket(
-      mojom::SocketObserverPtr observer,
+      mojo::PendingRemote<mojom::SocketObserver> observer,
       std::unique_ptr<net::TransportClientSocket> socket,
       mojo::ScopedDataPipeProducerHandle receive_pipe_handle,
       mojo::ScopedDataPipeConsumerHandle send_pipe_handle,
@@ -76,7 +78,7 @@
       mojom::TLSClientSocketOptionsPtr socket_options,
       const net::MutableNetworkTrafficAnnotationTag& traffic_annotation,
       mojom::TLSClientSocketRequest request,
-      mojom::SocketObserverPtr observer,
+      mojo::PendingRemote<mojom::SocketObserver> observer,
       mojom::TCPConnectedSocket::UpgradeToTLSCallback callback) override;
   void SetSendBufferSize(int send_buffer_size,
                          SetSendBufferSizeCallback callback) override;
@@ -100,7 +102,7 @@
   const net::StreamSocket* BorrowSocket() override;
   std::unique_ptr<net::StreamSocket> TakeSocket() override;
 
-  const mojom::SocketObserverPtr observer_;
+  const mojo::Remote<mojom::SocketObserver> observer_;
 
   net::NetLog* const net_log_;
   net::ClientSocketFactory* const client_socket_factory_;
diff --git a/services/network/tcp_server_socket.cc b/services/network/tcp_server_socket.cc
index cd6b016..7c3dc81f3 100644
--- a/services/network/tcp_server_socket.cc
+++ b/services/network/tcp_server_socket.cc
@@ -55,8 +55,9 @@
   return net_error;
 }
 
-void TCPServerSocket::Accept(mojom::SocketObserverPtr observer,
-                             AcceptCallback callback) {
+void TCPServerSocket::Accept(
+    mojo::PendingRemote<mojom::SocketObserver> observer,
+    AcceptCallback callback) {
   if (pending_accepts_queue_.size() >= static_cast<size_t>(backlog_)) {
     std::move(callback).Run(net::ERR_INSUFFICIENT_RESOURCES, base::nullopt,
                             nullptr, mojo::ScopedDataPipeConsumerHandle(),
@@ -75,8 +76,9 @@
   socket_ = std::move(socket);
 }
 
-TCPServerSocket::PendingAccept::PendingAccept(AcceptCallback callback,
-                                              mojom::SocketObserverPtr observer)
+TCPServerSocket::PendingAccept::PendingAccept(
+    AcceptCallback callback,
+    mojo::PendingRemote<mojom::SocketObserver> observer)
     : callback(std::move(callback)), observer(std::move(observer)) {}
 
 TCPServerSocket::PendingAccept::~PendingAccept() {}
diff --git a/services/network/tcp_server_socket.h b/services/network/tcp_server_socket.h
index 8ff6e62..36415a56 100644
--- a/services/network/tcp_server_socket.h
+++ b/services/network/tcp_server_socket.h
@@ -12,7 +12,7 @@
 #include "base/macros.h"
 #include "base/memory/ref_counted.h"
 #include "base/memory/weak_ptr.h"
-#include "mojo/public/cpp/bindings/interface_request.h"
+#include "mojo/public/cpp/bindings/pending_remote.h"
 #include "net/base/ip_endpoint.h"
 #include "net/traffic_annotation/network_traffic_annotation.h"
 #include "services/network/public/mojom/tcp_socket.mojom.h"
@@ -61,7 +61,7 @@
              net::IPEndPoint* local_addr_out);
 
   // TCPServerSocket implementation.
-  void Accept(mojom::SocketObserverPtr observer,
+  void Accept(mojo::PendingRemote<mojom::SocketObserver> observer,
               AcceptCallback callback) override;
 
   // Replaces the underlying socket implementation with |socket| in tests.
@@ -69,11 +69,12 @@
 
  private:
   struct PendingAccept {
-    PendingAccept(AcceptCallback callback, mojom::SocketObserverPtr observer);
+    PendingAccept(AcceptCallback callback,
+                  mojo::PendingRemote<mojom::SocketObserver> observer);
     ~PendingAccept();
 
     AcceptCallback callback;
-    mojom::SocketObserverPtr observer;
+    mojo::PendingRemote<mojom::SocketObserver> observer;
   };
   // Invoked when socket_->Accept() completes.
   void OnAcceptCompleted(int result);
diff --git a/services/network/tcp_socket_unittest.cc b/services/network/tcp_socket_unittest.cc
index f0bd724d..e500afa5 100644
--- a/services/network/tcp_socket_unittest.cc
+++ b/services/network/tcp_socket_unittest.cc
@@ -164,8 +164,9 @@
   // invoked.
   void AcceptOneConnection(net::CompletionOnceCallback callback) {
     server_socket_->Accept(
-        nullptr, base::BindOnce(&TestServer::OnAccept, base::Unretained(this),
-                                std::move(callback)));
+        mojo::NullRemote(),
+        base::BindOnce(&TestServer::OnAccept, base::Unretained(this),
+                       std::move(callback)));
   }
 
   // Sends data over the most recent connection that is established.
@@ -306,7 +307,7 @@
 
   int CreateTCPConnectedSocketSync(
       mojom::TCPConnectedSocketRequest request,
-      mojom::SocketObserverPtr observer,
+      mojo::PendingRemote<mojom::SocketObserver> observer,
       const base::Optional<net::IPEndPoint>& local_addr,
       const net::IPEndPoint& remote_addr,
       mojo::ScopedDataPipeConsumerHandle* receive_pipe_handle_out,
@@ -375,11 +376,11 @@
     mojo::ScopedDataPipeProducerHandle client_socket_send_handle;
 
     mojom::TCPConnectedSocketPtr client_socket;
-    EXPECT_EQ(net::OK,
-              CreateTCPConnectedSocketSync(
-                  mojo::MakeRequest(&client_socket), nullptr /*observer*/,
-                  test.client_addr, server.server_addr(),
-                  &client_socket_receive_handle, &client_socket_send_handle));
+    EXPECT_EQ(net::OK, CreateTCPConnectedSocketSync(
+                           mojo::MakeRequest(&client_socket),
+                           mojo::NullRemote() /*observer*/, test.client_addr,
+                           server.server_addr(), &client_socket_receive_handle,
+                           &client_socket_send_handle));
     ASSERT_EQ(net::OK, accept_callback.WaitForResult());
 
     // Test sending data from server to client.
@@ -417,7 +418,7 @@
 
     mojom::TCPConnectedSocketPtr client_socket;
     int result = CreateTCPConnectedSocketSync(
-        mojo::MakeRequest(&client_socket), nullptr /*observer*/,
+        mojo::MakeRequest(&client_socket), mojo::NullRemote() /*observer*/,
         test.client_addr, server.server_addr(), &client_socket_receive_handle,
         &client_socket_send_handle);
     // Both net::ERR_INVALID_ARGUMENT and net::ERR_ADDRESS_UNREACHABLE can be
@@ -454,11 +455,12 @@
     mojo::ScopedDataPipeConsumerHandle client_socket_receive_handle;
     mojo::ScopedDataPipeProducerHandle client_socket_send_handle;
     mojom::TCPConnectedSocketPtr client_socket;
-    EXPECT_EQ(net::OK,
-              CreateTCPConnectedSocketSync(
-                  mojo::MakeRequest(&client_socket), nullptr /*observer*/,
-                  base::nullopt /*local_addr*/, server.server_addr(),
-                  &client_socket_receive_handle, &client_socket_send_handle));
+    EXPECT_EQ(
+        net::OK,
+        CreateTCPConnectedSocketSync(
+            mojo::MakeRequest(&client_socket), mojo::NullRemote() /*observer*/,
+            base::nullopt /*local_addr*/, server.server_addr(),
+            &client_socket_receive_handle, &client_socket_send_handle));
     client_sockets.push_back(std::move(client_socket));
   }
   for (const auto& callback : accept_callbacks) {
@@ -478,11 +480,12 @@
   mojom::TCPConnectedSocketPtr client_socket;
   mojo::ScopedDataPipeConsumerHandle client_socket_receive_handle;
   mojo::ScopedDataPipeProducerHandle client_socket_send_handle;
-  EXPECT_EQ(net::OK,
-            CreateTCPConnectedSocketSync(
-                mojo::MakeRequest(&client_socket), nullptr /*observer*/,
-                base::nullopt /*local_addr*/, server.server_addr(),
-                &client_socket_receive_handle, &client_socket_send_handle));
+  EXPECT_EQ(
+      net::OK,
+      CreateTCPConnectedSocketSync(
+          mojo::MakeRequest(&client_socket), mojo::NullRemote() /*observer*/,
+          base::nullopt /*local_addr*/, server.server_addr(),
+          &client_socket_receive_handle, &client_socket_send_handle));
 
   EXPECT_EQ(net::OK, callback.WaitForResult());
 
@@ -497,7 +500,7 @@
   server.most_recent_connected_socket()->UpgradeToTLS(
       net::HostPortPair("foopy", 443), nullptr /* options */,
       net::MutableNetworkTrafficAnnotationTag(TRAFFIC_ANNOTATION_FOR_TESTS),
-      mojo::MakeRequest(&tls_client_socket), nullptr /* observer */,
+      mojo::MakeRequest(&tls_client_socket), mojo::NullRemote() /* observer */,
       base::BindLambdaForTesting(
           [&](int net_error,
               mojo::ScopedDataPipeConsumerHandle receive_pipe_handle,
@@ -521,11 +524,12 @@
   net::TestCompletionCallback accept_callback;
   server->AcceptOneConnection(accept_callback.callback());
 
-  EXPECT_EQ(net::OK,
-            CreateTCPConnectedSocketSync(
-                mojo::MakeRequest(&client_socket), observer()->GetObserverPtr(),
-                base::nullopt /*local_addr*/, server->server_addr(),
-                &client_socket_receive_handle, &client_socket_send_handle));
+  EXPECT_EQ(
+      net::OK,
+      CreateTCPConnectedSocketSync(
+          mojo::MakeRequest(&client_socket), observer()->GetObserverRemote(),
+          base::nullopt /*local_addr*/, server->server_addr(),
+          &client_socket_receive_handle, &client_socket_send_handle));
   ASSERT_EQ(net::OK, accept_callback.WaitForResult());
 
   // Send some data from server to client.
@@ -575,11 +579,12 @@
   mojo::ScopedDataPipeConsumerHandle client_socket_receive_handle;
   mojo::ScopedDataPipeProducerHandle client_socket_send_handle;
   mojom::TCPConnectedSocketPtr client_socket;
-  EXPECT_EQ(net::OK,
-            CreateTCPConnectedSocketSync(
-                mojo::MakeRequest(&client_socket), nullptr /*observer*/,
-                base::nullopt /*local_addr*/, server.server_addr(),
-                &client_socket_receive_handle, &client_socket_send_handle));
+  EXPECT_EQ(
+      net::OK,
+      CreateTCPConnectedSocketSync(
+          mojo::MakeRequest(&client_socket), mojo::NullRemote() /*observer*/,
+          base::nullopt /*local_addr*/, server.server_addr(),
+          &client_socket_receive_handle, &client_socket_send_handle));
   ASSERT_EQ(net::OK, accept_callback.WaitForResult());
 
   // Close |client_socket_receive_handle|. The socket should remain open.
@@ -603,11 +608,12 @@
   mojo::ScopedDataPipeConsumerHandle client_socket_receive_handle;
   mojo::ScopedDataPipeProducerHandle client_socket_send_handle;
   mojom::TCPConnectedSocketPtr client_socket;
-  EXPECT_EQ(net::OK,
-            CreateTCPConnectedSocketSync(
-                mojo::MakeRequest(&client_socket), nullptr /*observer*/,
-                base::nullopt /*local_addr*/, server.server_addr(),
-                &client_socket_receive_handle, &client_socket_send_handle));
+  EXPECT_EQ(
+      net::OK,
+      CreateTCPConnectedSocketSync(
+          mojo::MakeRequest(&client_socket), mojo::NullRemote() /*observer*/,
+          base::nullopt /*local_addr*/, server.server_addr(),
+          &client_socket_receive_handle, &client_socket_send_handle));
   ASSERT_EQ(net::OK, accept_callback.WaitForResult());
 
   // Close |client_socket_send_handle|. The socket should remain open.
@@ -631,11 +637,12 @@
   server.AcceptOneConnection(accept_callback.callback());
 
   mojom::TCPConnectedSocketPtr client_socket;
-  EXPECT_EQ(net::OK,
-            CreateTCPConnectedSocketSync(
-                mojo::MakeRequest(&client_socket), nullptr /*observer*/,
-                base::nullopt /*local_addr*/, server.server_addr(),
-                &client_socket_receive_handle, &client_socket_send_handle));
+  EXPECT_EQ(
+      net::OK,
+      CreateTCPConnectedSocketSync(
+          mojo::MakeRequest(&client_socket), mojo::NullRemote() /*observer*/,
+          base::nullopt /*local_addr*/, server.server_addr(),
+          &client_socket_receive_handle, &client_socket_send_handle));
   ASSERT_EQ(net::OK, accept_callback.WaitForResult());
 
   // Now destroys the server socket.
@@ -702,15 +709,16 @@
   for (size_t i = 0; i < kBacklog; ++i) {
     auto callback = std::make_unique<net::TestCompletionCallback>();
     server_socket->Accept(
-        nullptr, base::BindOnce(
-                     [](net::CompletionOnceCallback callback, int result,
-                        const base::Optional<net::IPEndPoint>& remote_addr,
-                        mojom::TCPConnectedSocketPtr connected_socket,
-                        mojo::ScopedDataPipeConsumerHandle receive_pipe_handle,
-                        mojo::ScopedDataPipeProducerHandle send_pipe_handle) {
-                       std::move(callback).Run(result);
-                     },
-                     callback->callback()));
+        mojo::NullRemote(),
+        base::BindOnce(
+            [](net::CompletionOnceCallback callback, int result,
+               const base::Optional<net::IPEndPoint>& remote_addr,
+               mojom::TCPConnectedSocketPtr connected_socket,
+               mojo::ScopedDataPipeConsumerHandle receive_pipe_handle,
+               mojo::ScopedDataPipeProducerHandle send_pipe_handle) {
+              std::move(callback).Run(result);
+            },
+            callback->callback()));
     accept_callbacks.push_back(std::move(callback));
   }
 
@@ -729,15 +737,16 @@
   // okay.
   auto callback = std::make_unique<net::TestCompletionCallback>();
   server_socket->Accept(
-      nullptr, base::BindOnce(
-                   [](net::CompletionOnceCallback callback, int result,
-                      const base::Optional<net::IPEndPoint>& remote_addr,
-                      mojom::TCPConnectedSocketPtr connected_socket,
-                      mojo::ScopedDataPipeConsumerHandle receive_pipe_handle,
-                      mojo::ScopedDataPipeProducerHandle send_pipe_handle) {
-                     std::move(callback).Run(result);
-                   },
-                   callback->callback()));
+      mojo::NullRemote(),
+      base::BindOnce(
+          [](net::CompletionOnceCallback callback, int result,
+             const base::Optional<net::IPEndPoint>& remote_addr,
+             mojom::TCPConnectedSocketPtr connected_socket,
+             mojo::ScopedDataPipeConsumerHandle receive_pipe_handle,
+             mojo::ScopedDataPipeProducerHandle send_pipe_handle) {
+            std::move(callback).Run(result);
+          },
+          callback->callback()));
   EXPECT_EQ(net::OK, callback->WaitForResult());
 }
 
@@ -766,7 +775,7 @@
   mojo::ScopedDataPipeConsumerHandle receive_handle;
   mojo::ScopedDataPipeProducerHandle send_handle;
   server_socket->Accept(
-      observer()->GetObserverPtr(),
+      observer()->GetObserverRemote(),
       base::BindLambdaForTesting(
           [&](int result, const base::Optional<net::IPEndPoint>& remote_addr,
               mojom::TCPConnectedSocketPtr connected_socket,
@@ -814,7 +823,7 @@
   mojo::ScopedDataPipeConsumerHandle receive_handle;
   mojo::ScopedDataPipeProducerHandle send_handle;
   server_socket->Accept(
-      observer()->GetObserverPtr(),
+      observer()->GetObserverRemote(),
       base::BindLambdaForTesting(
           [&](int result, const base::Optional<net::IPEndPoint>& remote_addr,
               mojom::TCPConnectedSocketPtr connected_socket,
@@ -872,7 +881,7 @@
   mojo::ScopedDataPipeConsumerHandle client_socket_receive_handle;
   mojo::ScopedDataPipeProducerHandle client_socket_send_handle;
   CreateTCPConnectedSocketSync(
-      mojo::MakeRequest(&client_socket), nullptr /*observer*/,
+      mojo::MakeRequest(&client_socket), mojo::NullRemote() /*observer*/,
       base::nullopt /*local_addr*/, server_addr, &client_socket_receive_handle,
       &client_socket_send_handle);
 
@@ -924,7 +933,7 @@
   mojo::ScopedDataPipeConsumerHandle client_socket_receive_handle;
   mojo::ScopedDataPipeProducerHandle client_socket_send_handle;
   CreateTCPConnectedSocketSync(
-      mojo::MakeRequest(&client_socket), nullptr /*observer*/,
+      mojo::MakeRequest(&client_socket), mojo::NullRemote() /*observer*/,
       base::nullopt /*local_addr*/, server_addr, &client_socket_receive_handle,
       &client_socket_send_handle);
 
@@ -969,7 +978,7 @@
   mojo::ScopedDataPipeConsumerHandle client_socket_receive_handle;
   mojo::ScopedDataPipeProducerHandle client_socket_send_handle;
   CreateTCPConnectedSocketSync(
-      mojo::MakeRequest(&client_socket), observer()->GetObserverPtr(),
+      mojo::MakeRequest(&client_socket), observer()->GetObserverRemote(),
       base::nullopt /*local_addr*/, server_addr, &client_socket_receive_handle,
       &client_socket_send_handle);
 
@@ -1005,7 +1014,7 @@
   mojo::ScopedDataPipeConsumerHandle client_socket_receive_handle;
   mojo::ScopedDataPipeProducerHandle client_socket_send_handle;
   CreateTCPConnectedSocketSync(
-      mojo::MakeRequest(&client_socket), observer()->GetObserverPtr(),
+      mojo::MakeRequest(&client_socket), observer()->GetObserverRemote(),
       base::nullopt /*local_addr*/, server_addr, &client_socket_receive_handle,
       &client_socket_send_handle);
   uint32_t num_bytes = strlen(kTestMsg);
@@ -1046,7 +1055,8 @@
         tcp_connected_socket_options->no_delay = no_delay;
         EXPECT_EQ(net::OK,
                   CreateTCPConnectedSocketSync(
-                      mojo::MakeRequest(&client_socket), nullptr /*observer*/,
+                      mojo::MakeRequest(&client_socket),
+                      mojo::NullRemote() /*observer*/,
                       base::nullopt /*local_addr*/, server_addr,
                       &client_socket_receive_handle, &client_socket_send_handle,
                       std::move(tcp_connected_socket_options)));
@@ -1110,12 +1120,13 @@
     tcp_connected_socket_options->receive_buffer_size = 1;
     tcp_connected_socket_options->send_buffer_size = 2;
     tcp_connected_socket_options->no_delay = false;
-    EXPECT_EQ(net::ERR_FAILED,
-              CreateTCPConnectedSocketSync(
-                  mojo::MakeRequest(&client_socket), nullptr /*observer*/,
-                  base::nullopt /*local_addr*/, server_addr,
-                  &client_socket_receive_handle, &client_socket_send_handle,
-                  std::move(tcp_connected_socket_options)));
+    EXPECT_EQ(
+        net::ERR_FAILED,
+        CreateTCPConnectedSocketSync(
+            mojo::MakeRequest(&client_socket), mojo::NullRemote() /*observer*/,
+            base::nullopt /*local_addr*/, server_addr,
+            &client_socket_receive_handle, &client_socket_send_handle,
+            std::move(tcp_connected_socket_options)));
   }
 }
 
@@ -1143,11 +1154,12 @@
       net::MockConnect(GetParam(), net::OK, server_addr));
   mock_client_socket_factory_.AddSocketDataProvider(&data_provider);
 
-  EXPECT_EQ(net::OK,
-            CreateTCPConnectedSocketSync(
-                mojo::MakeRequest(&client_socket), nullptr /*observer*/,
-                base::nullopt /*local_addr*/, server_addr,
-                &client_socket_receive_handle, &client_socket_send_handle));
+  EXPECT_EQ(
+      net::OK,
+      CreateTCPConnectedSocketSync(
+          mojo::MakeRequest(&client_socket), mojo::NullRemote() /*observer*/,
+          base::nullopt /*local_addr*/, server_addr,
+          &client_socket_receive_handle, &client_socket_send_handle));
 
   EXPECT_EQ(-1, data_provider.receive_buffer_size());
 
@@ -1186,11 +1198,12 @@
   data_provider.set_set_send_buffer_size_result(net::ERR_UNEXPECTED);
   mock_client_socket_factory_.AddSocketDataProvider(&data_provider);
 
-  EXPECT_EQ(net::OK,
-            CreateTCPConnectedSocketSync(
-                mojo::MakeRequest(&client_socket), nullptr /*observer*/,
-                base::nullopt /*local_addr*/, server_addr,
-                &client_socket_receive_handle, &client_socket_send_handle));
+  EXPECT_EQ(
+      net::OK,
+      CreateTCPConnectedSocketSync(
+          mojo::MakeRequest(&client_socket), mojo::NullRemote() /*observer*/,
+          base::nullopt /*local_addr*/, server_addr,
+          &client_socket_receive_handle, &client_socket_send_handle));
 
   net::TestCompletionCallback receive_buffer_callback;
   client_socket->SetReceiveBufferSize(1024, receive_buffer_callback.callback());
@@ -1212,9 +1225,9 @@
   net::IPEndPoint server_addr(net::IPAddress::IPv4Localhost(), 1234);
   EXPECT_EQ(net::OK,
             CreateTCPConnectedSocketSync(
-                mojo::MakeRequest(&client_socket), nullptr /*observer*/,
-                base::nullopt, server_addr, &client_socket_receive_handle,
-                &client_socket_send_handle));
+                mojo::MakeRequest(&client_socket),
+                mojo::NullRemote() /*observer*/, base::nullopt, server_addr,
+                &client_socket_receive_handle, &client_socket_send_handle));
 
   EXPECT_TRUE(data_provider.no_delay());
   {
@@ -1289,9 +1302,9 @@
   net::IPEndPoint server_addr(net::IPAddress::IPv4Localhost(), 1234);
   EXPECT_EQ(net::OK,
             CreateTCPConnectedSocketSync(
-                mojo::MakeRequest(&client_socket), nullptr /*observer*/,
-                base::nullopt, server_addr, &client_socket_receive_handle,
-                &client_socket_send_handle));
+                mojo::MakeRequest(&client_socket),
+                mojo::NullRemote() /*observer*/, base::nullopt, server_addr,
+                &client_socket_receive_handle, &client_socket_send_handle));
 
   {
     base::RunLoop run_loop;
@@ -1334,9 +1347,9 @@
   net::IPEndPoint server_addr(net::IPAddress::IPv4Localhost(), 1234);
   EXPECT_EQ(net::OK,
             CreateTCPConnectedSocketSync(
-                mojo::MakeRequest(&client_socket), nullptr /*observer*/,
-                base::nullopt, server_addr, &client_socket_receive_handle,
-                &client_socket_send_handle));
+                mojo::MakeRequest(&client_socket),
+                mojo::NullRemote() /*observer*/, base::nullopt, server_addr,
+                &client_socket_receive_handle, &client_socket_send_handle));
 
   // UpgradeToTLS will destroy network::TCPConnectedSocket::|socket_|. Calling
   // SetNoDelay and SetKeepAlive should error out.
@@ -1349,7 +1362,7 @@
     client_socket->UpgradeToTLS(
         host_port_pair, nullptr /* ssl_config_ptr */,
         net::MutableNetworkTrafficAnnotationTag(TRAFFIC_ANNOTATION_FOR_TESTS),
-        mojo::MakeRequest(&tls_socket), nullptr /*observer */,
+        mojo::MakeRequest(&tls_socket), mojo::NullRemote() /*observer */,
         base::BindLambdaForTesting(
             [&](int result,
                 mojo::ScopedDataPipeConsumerHandle receive_pipe_handle,
@@ -1408,7 +1421,7 @@
   factory()->CreateTCPConnectedSocket(
       base::nullopt, remote_addr_list,
       nullptr /* tcp_connected_socket_options */, TRAFFIC_ANNOTATION_FOR_TESTS,
-      mojo::MakeRequest(&client_socket), nullptr,
+      mojo::MakeRequest(&client_socket), mojo::NullRemote(),
       base::BindLambdaForTesting(
           [&](int result,
               const base::Optional<net::IPEndPoint>& actual_local_addr,
diff --git a/services/network/test/test_network_context.h b/services/network/test/test_network_context.h
index 1b1b78bb..07fd0d7 100644
--- a/services/network/test/test_network_context.h
+++ b/services/network/test/test_network_context.h
@@ -136,12 +136,12 @@
       mojom::TCPConnectedSocketOptionsPtr tcp_connected_socket_options,
       const net::MutableNetworkTrafficAnnotationTag& traffic_annotation,
       mojom::TCPConnectedSocketRequest socket,
-      mojom::SocketObserverPtr observer,
+      mojo::PendingRemote<mojom::SocketObserver> observer,
       CreateTCPConnectedSocketCallback callback) override {}
   void CreateTCPBoundSocket(
       const net::IPEndPoint& local_addr,
       const net::MutableNetworkTrafficAnnotationTag& traffic_annotation,
-      mojom::TCPBoundSocketRequest request,
+      mojo::PendingReceiver<mojom::TCPBoundSocket> receiver,
       CreateTCPBoundSocketCallback callback) override {}
   void CreateProxyResolvingSocketFactory(
       mojom::ProxyResolvingSocketFactoryRequest request) override {}
@@ -159,7 +159,8 @@
       mojo::PendingRemote<mojom::TrustedHeaderClient> header_client) override {}
   void LookUpProxyForURL(
       const GURL& url,
-      ::network::mojom::ProxyLookupClientPtr proxy_lookup_client) override {}
+      mojo::PendingRemote<::network::mojom::ProxyLookupClient>
+          proxy_lookup_client) override {}
   void CreateNetLogExporter(
       mojo::PendingReceiver<mojom::NetLogExporter> receiver) override {}
   void ResolveHost(const net::HostPortPair& host,
diff --git a/services/network/test/test_shared_url_loader_factory.cc b/services/network/test/test_shared_url_loader_factory.cc
index e20b42f..77aa9a93 100644
--- a/services/network/test/test_shared_url_loader_factory.cc
+++ b/services/network/test/test_shared_url_loader_factory.cc
@@ -24,7 +24,7 @@
   params->process_id = mojom::kBrowserProcessId;
   params->is_corb_enabled = false;
   network_context_->CreateURLLoaderFactory(
-      mojo::MakeRequest(&url_loader_factory_), std::move(params));
+      url_loader_factory_.BindNewPipeAndPassReceiver(), std::move(params));
 }
 
 TestSharedURLLoaderFactory::~TestSharedURLLoaderFactory() {}
diff --git a/services/network/test/test_shared_url_loader_factory.h b/services/network/test/test_shared_url_loader_factory.h
index baa25f55..9f20e37 100644
--- a/services/network/test/test_shared_url_loader_factory.h
+++ b/services/network/test/test_shared_url_loader_factory.h
@@ -7,6 +7,7 @@
 
 #include "base/macros.h"
 #include "mojo/public/cpp/bindings/pending_receiver.h"
+#include "mojo/public/cpp/bindings/remote.h"
 #include "services/network/public/cpp/shared_url_loader_factory.h"
 
 namespace net {
@@ -50,7 +51,7 @@
 
   std::unique_ptr<net::TestURLRequestContext> url_request_context_;
   std::unique_ptr<NetworkContext> network_context_;
-  mojom::URLLoaderFactoryPtr url_loader_factory_;
+  mojo::Remote<mojom::URLLoaderFactory> url_loader_factory_;
 
   DISALLOW_COPY_AND_ASSIGN(TestSharedURLLoaderFactory);
 };
diff --git a/services/network/test/test_url_loader_client.h b/services/network/test/test_url_loader_client.h
index 284faea..0196d6c5 100644
--- a/services/network/test/test_url_loader_client.h
+++ b/services/network/test/test_url_loader_client.h
@@ -119,7 +119,6 @@
   base::OnceClosure quit_closure_for_on_connection_error_;
   base::OnceClosure quit_closure_for_on_transfer_size_updated_;
 
-  mojom::URLLoaderFactoryPtr url_loader_factory_;
   int64_t body_transfer_size_ = 0;
   int64_t current_upload_position_ = 0;
   int64_t total_upload_size_ = 0;
diff --git a/services/network/tls_client_socket.cc b/services/network/tls_client_socket.cc
index dd7a936..a12e3521 100644
--- a/services/network/tls_client_socket.cc
+++ b/services/network/tls_client_socket.cc
@@ -20,7 +20,7 @@
 
 TLSClientSocket::TLSClientSocket(
     mojom::TLSClientSocketRequest request,
-    mojom::SocketObserverPtr observer,
+    mojo::PendingRemote<mojom::SocketObserver> observer,
     const net::NetworkTrafficAnnotationTag& traffic_annotation)
     : observer_(std::move(observer)), traffic_annotation_(traffic_annotation) {}
 
diff --git a/services/network/tls_client_socket.h b/services/network/tls_client_socket.h
index 67e257e..acf0df4 100644
--- a/services/network/tls_client_socket.h
+++ b/services/network/tls_client_socket.h
@@ -9,6 +9,8 @@
 
 #include "base/component_export.h"
 #include "base/macros.h"
+#include "mojo/public/cpp/bindings/pending_remote.h"
+#include "mojo/public/cpp/bindings/remote.h"
 #include "net/base/address_family.h"
 #include "net/traffic_annotation/network_traffic_annotation.h"
 #include "services/network/public/mojom/address_family.mojom.h"
@@ -31,7 +33,7 @@
       public SocketDataPump::Delegate {
  public:
   TLSClientSocket(mojom::TLSClientSocketRequest request,
-                  mojom::SocketObserverPtr observer,
+                  mojo::PendingRemote<mojom::SocketObserver> observer,
                   const net::NetworkTrafficAnnotationTag& traffic_annotation);
   ~TLSClientSocket() override;
 
@@ -51,7 +53,7 @@
   void OnNetworkWriteError(int net_error) override;
   void OnShutdown() override;
 
-  const mojom::SocketObserverPtr observer_;
+  const mojo::Remote<mojom::SocketObserver> observer_;
   std::unique_ptr<SocketDataPump> socket_data_pump_;
   std::unique_ptr<net::SSLClientSocket> socket_;
   mojom::TCPConnectedSocket::UpgradeToTLSCallback connect_callback_;
diff --git a/services/network/tls_client_socket_unittest.cc b/services/network/tls_client_socket_unittest.cc
index c451084..f1314ed 100644
--- a/services/network/tls_client_socket_unittest.cc
+++ b/services/network/tls_client_socket_unittest.cc
@@ -15,6 +15,7 @@
 #include "base/test/bind_test_util.h"
 #include "base/test/task_environment.h"
 #include "base/threading/thread.h"
+#include "mojo/public/cpp/bindings/pending_remote.h"
 #include "net/base/completion_once_callback.h"
 #include "net/base/net_errors.h"
 #include "net/base/test_completion_callback.h"
@@ -145,7 +146,7 @@
         base::nullopt /* local_addr */, remote_addr_list,
         nullptr /* tcp_connected_socket_options */,
         TRAFFIC_ANNOTATION_FOR_TESTS, std::move(request),
-        pre_tls_observer()->GetObserverPtr(),
+        pre_tls_observer()->GetObserverRemote(),
         base::BindLambdaForTesting(
             [&](int result,
                 const base::Optional<net::IPEndPoint>& actual_local_addr,
@@ -169,7 +170,7 @@
     proxy_resolving_factory_->CreateProxyResolvingSocket(
         url, nullptr /* options */,
         net::MutableNetworkTrafficAnnotationTag(TRAFFIC_ANNOTATION_FOR_TESTS),
-        std::move(request), nullptr /* observer */,
+        std::move(request), mojo::NullRemote() /* observer */,
         base::BindLambdaForTesting(
             [&](int result,
                 const base::Optional<net::IPEndPoint>& actual_local_addr,
@@ -208,7 +209,7 @@
     client_socket->UpgradeToTLS(
         host_port_pair, std::move(options),
         net::MutableNetworkTrafficAnnotationTag(TRAFFIC_ANNOTATION_FOR_TESTS),
-        std::move(request), post_tls_observer()->GetObserverPtr(),
+        std::move(request), post_tls_observer()->GetObserverRemote(),
         base::BindOnce(
             [](net::CompletionOnceCallback cb,
                mojo::ScopedDataPipeConsumerHandle* consumer_handle_out,
@@ -234,7 +235,7 @@
     client_socket->UpgradeToTLS(
         host_port_pair,
         net::MutableNetworkTrafficAnnotationTag(TRAFFIC_ANNOTATION_FOR_TESTS),
-        std::move(request), post_tls_observer()->GetObserverPtr(),
+        std::move(request), post_tls_observer()->GetObserverRemote(),
         base::BindOnce(
             [](net::CompletionOnceCallback cb,
                mojo::ScopedDataPipeConsumerHandle* consumer_handle,
@@ -441,7 +442,7 @@
     client_socket.tcp_socket->UpgradeToTLS(
         host_port_pair, nullptr /* ssl_config_ptr */,
         net::MutableNetworkTrafficAnnotationTag(TRAFFIC_ANNOTATION_FOR_TESTS),
-        mojo::MakeRequest(&tls_socket2), nullptr /*observer */,
+        mojo::MakeRequest(&tls_socket2), mojo::NullRemote() /*observer */,
         std::move(upgrade2_callback));
   } else {
     auto upgrade2_callback = base::BindLambdaForTesting(
@@ -453,7 +454,7 @@
     client_socket.proxy_socket->UpgradeToTLS(
         host_port_pair,
         net::MutableNetworkTrafficAnnotationTag(TRAFFIC_ANNOTATION_FOR_TESTS),
-        mojo::MakeRequest(&tls_socket2), nullptr /*observer */,
+        mojo::MakeRequest(&tls_socket2), mojo::NullRemote() /*observer */,
         std::move(upgrade2_callback));
   }
   run_loop.Run();
@@ -504,7 +505,7 @@
   client_socket.tcp_socket->UpgradeToTLS(
       host_port_pair, std::move(options),
       net::MutableNetworkTrafficAnnotationTag(TRAFFIC_ANNOTATION_FOR_TESTS),
-      mojo::MakeRequest(&tls_socket), nullptr /*observer */,
+      mojo::MakeRequest(&tls_socket), mojo::NullRemote() /*observer */,
       std::move(upgrade_callback));
   run_loop.Run();
   ASSERT_EQ(net::OK, net_error);
diff --git a/services/network/tls_socket_factory.cc b/services/network/tls_socket_factory.cc
index aa54f16..57b36e5b 100644
--- a/services/network/tls_socket_factory.cc
+++ b/services/network/tls_socket_factory.cc
@@ -76,7 +76,7 @@
     mojom::TLSClientSocketOptionsPtr socket_options,
     const net::MutableNetworkTrafficAnnotationTag& traffic_annotation,
     mojom::TLSClientSocketRequest request,
-    mojom::SocketObserverPtr observer,
+    mojo::PendingRemote<mojom::SocketObserver> observer,
     UpgradeToTLSCallback callback) {
   const net::StreamSocket* socket = socket_delegate->BorrowSocket();
   if (!socket || !socket->IsConnected()) {
@@ -97,7 +97,7 @@
     mojom::TLSClientSocketOptionsPtr socket_options,
     mojom::TLSClientSocketRequest request,
     std::unique_ptr<net::StreamSocket> underlying_socket,
-    mojom::SocketObserverPtr observer,
+    mojo::PendingRemote<mojom::SocketObserver> observer,
     const net::NetworkTrafficAnnotationTag& traffic_annotation,
     mojom::TCPConnectedSocket::UpgradeToTLSCallback callback) {
   auto socket = std::make_unique<TLSClientSocket>(
diff --git a/services/network/tls_socket_factory.h b/services/network/tls_socket_factory.h
index be5c13f..8bd00dd 100644
--- a/services/network/tls_socket_factory.h
+++ b/services/network/tls_socket_factory.h
@@ -10,6 +10,7 @@
 
 #include "base/component_export.h"
 #include "base/macros.h"
+#include "mojo/public/cpp/bindings/pending_remote.h"
 #include "mojo/public/cpp/bindings/strong_binding_set.h"
 #include "net/http/http_network_session.h"
 #include "net/socket/ssl_client_socket.h"
@@ -61,7 +62,7 @@
       mojom::TLSClientSocketOptionsPtr socket_options,
       const net::MutableNetworkTrafficAnnotationTag& traffic_annotation,
       mojom::TLSClientSocketRequest request,
-      mojom::SocketObserverPtr observer,
+      mojo::PendingRemote<mojom::SocketObserver> observer,
       UpgradeToTLSCallback callback);
 
  private:
@@ -70,7 +71,7 @@
       mojom::TLSClientSocketOptionsPtr socket_options,
       mojom::TLSClientSocketRequest request,
       std::unique_ptr<net::StreamSocket> underlying_socket,
-      mojom::SocketObserverPtr observer,
+      mojo::PendingRemote<mojom::SocketObserver> observer,
       const net::NetworkTrafficAnnotationTag& traffic_annotation,
       mojom::TCPConnectedSocket::UpgradeToTLSCallback callback);
 
diff --git a/services/network/transitional_url_loader_factory_owner.cc b/services/network/transitional_url_loader_factory_owner.cc
index 730ce820..68d5b38c 100644
--- a/services/network/transitional_url_loader_factory_owner.cc
+++ b/services/network/transitional_url_loader_factory_owner.cc
@@ -99,7 +99,7 @@
     url_loader_factory_params->process_id = mojom::kBrowserProcessId;
     url_loader_factory_params->is_corb_enabled = false;
     network_context_remote_->CreateURLLoaderFactory(
-        mojo::MakeRequest(&url_loader_factory_),
+        url_loader_factory_.BindNewPipeAndPassReceiver(),
         std::move(url_loader_factory_params));
     shared_url_loader_factory_ =
         base::MakeRefCounted<network::WeakWrapperSharedURLLoaderFactory>(
diff --git a/services/network/transitional_url_loader_factory_owner.h b/services/network/transitional_url_loader_factory_owner.h
index ed7631e6..dfc35b22 100644
--- a/services/network/transitional_url_loader_factory_owner.h
+++ b/services/network/transitional_url_loader_factory_owner.h
@@ -56,7 +56,7 @@
 
   std::unique_ptr<Core> core_;  // deleted cross-thread
   mojo::Remote<network::mojom::NetworkContext> network_context_remote_;
-  network::mojom::URLLoaderFactoryPtr url_loader_factory_;
+  mojo::Remote<network::mojom::URLLoaderFactory> url_loader_factory_;
   scoped_refptr<network::WeakWrapperSharedURLLoaderFactory>
       shared_url_loader_factory_;
   SEQUENCE_CHECKER(sequence_checker_);
diff --git a/services/video_capture/device_factory_media_to_mojo_adapter.cc b/services/video_capture/device_factory_media_to_mojo_adapter.cc
index 403d509..6282cd8 100644
--- a/services/video_capture/device_factory_media_to_mojo_adapter.cc
+++ b/services/video_capture/device_factory_media_to_mojo_adapter.cc
@@ -101,7 +101,7 @@
 void DeviceFactoryMediaToMojoAdapter::GetDeviceInfos(
     GetDeviceInfosCallback callback) {
   capture_system_->GetDeviceInfosAsync(
-      base::Bind(&TranslateDeviceInfos, base::Passed(&callback)));
+      base::BindOnce(&TranslateDeviceInfos, std::move(callback)));
   has_called_get_device_infos_ = true;
 }
 
@@ -117,7 +117,7 @@
     device_entry.binding->Unbind();
     device_entry.device->Stop();
     device_entry.binding->Bind(std::move(device_request));
-    device_entry.binding->set_connection_error_handler(base::Bind(
+    device_entry.binding->set_connection_error_handler(base::BindOnce(
         &DeviceFactoryMediaToMojoAdapter::OnClientConnectionErrorOrClose,
         base::Unretained(this), device_id));
     std::move(callback).Run(mojom::DeviceAccessResultCode::SUCCESS);
@@ -135,8 +135,8 @@
   }
 
   capture_system_->GetDeviceInfosAsync(
-      base::Bind(&DiscardDeviceInfosAndCallContinuation,
-                 base::Passed(&create_and_add_new_device_cb)));
+      base::BindOnce(&DiscardDeviceInfosAndCallContinuation,
+                     std::move(create_and_add_new_device_cb)));
   has_called_get_device_infos_ = true;
 }
 
@@ -185,7 +185,7 @@
 #endif  // defined(OS_CHROMEOS)
   device_entry.binding = std::make_unique<mojo::Binding<mojom::Device>>(
       device_entry.device.get(), std::move(device_request));
-  device_entry.binding->set_connection_error_handler(base::Bind(
+  device_entry.binding->set_connection_error_handler(base::BindOnce(
       &DeviceFactoryMediaToMojoAdapter::OnClientConnectionErrorOrClose,
       base::Unretained(this), device_id));
   active_devices_by_id_[device_id] = std::move(device_entry);
diff --git a/services/video_capture/device_media_to_mojo_adapter.cc b/services/video_capture/device_media_to_mojo_adapter.cc
index 61a805ee..6f14e0b 100644
--- a/services/video_capture/device_media_to_mojo_adapter.cc
+++ b/services/video_capture/device_media_to_mojo_adapter.cc
@@ -67,8 +67,8 @@
   DCHECK(thread_checker_.CalledOnValidThread());
   mojo::Remote<mojom::Receiver> receiver(std::move(receiver_pending_remote));
   receiver.set_disconnect_handler(
-      base::Bind(&DeviceMediaToMojoAdapter::OnClientConnectionErrorOrClose,
-                 weak_factory_.GetWeakPtr()));
+      base::BindOnce(&DeviceMediaToMojoAdapter::OnClientConnectionErrorOrClose,
+                     weak_factory_.GetWeakPtr()));
 
   receiver_ = std::make_unique<ReceiverMojoToMediaAdapter>(std::move(receiver));
   auto media_receiver = std::make_unique<media::VideoFrameReceiverOnTaskRunner>(
diff --git a/services/video_capture/public/mojom/video_capture_service.mojom b/services/video_capture/public/mojom/video_capture_service.mojom
index 8cc7a56..e2b55ca 100644
--- a/services/video_capture/public/mojom/video_capture_service.mojom
+++ b/services/video_capture/public/mojom/video_capture_service.mojom
@@ -17,7 +17,7 @@
 interface AcceleratorFactory {
   // Creates a new JpegDecodeAccelerator and binds it to |jda|.
   CreateJpegDecodeAccelerator(
-      chromeos_camera.mojom.MjpegDecodeAccelerator& jda);
+      pending_receiver<chromeos_camera.mojom.MjpegDecodeAccelerator> jda);
 };
 
 // Entry point to the Video Capture Service API.
diff --git a/services/video_capture/test/fake_device_descriptor_unittest.cc b/services/video_capture/test/fake_device_descriptor_unittest.cc
index 7400a071..173ae5d 100644
--- a/services/video_capture/test/fake_device_descriptor_unittest.cc
+++ b/services/video_capture/test/fake_device_descriptor_unittest.cc
@@ -61,9 +61,9 @@
   factory_->CreateDevice(
       i420_fake_device_info_.descriptor.device_id,
       mojo::MakeRequest(&device_proxy_1),
-      base::Bind(&MockCreateDeviceProxyCallback::Run,
-                 base::Unretained(&create_device_proxy_callback_1)));
-  device_proxy_1.set_connection_error_handler(base::Bind(
+      base::BindOnce(&MockCreateDeviceProxyCallback::Run,
+                     base::Unretained(&create_device_proxy_callback_1)));
+  device_proxy_1.set_connection_error_handler(base::BindOnce(
       [](bool* access_revoked, base::RunLoop* wait_loop_1) {
         *access_revoked = true;
         wait_loop_1->Quit();
@@ -81,11 +81,11 @@
   factory_->CreateDevice(
       i420_fake_device_info_.descriptor.device_id,
       mojo::MakeRequest(&device_proxy_2),
-      base::Bind(&MockCreateDeviceProxyCallback::Run,
-                 base::Unretained(&create_device_proxy_callback_2)));
+      base::BindOnce(&MockCreateDeviceProxyCallback::Run,
+                     base::Unretained(&create_device_proxy_callback_2)));
   device_proxy_2.set_connection_error_handler(
-      base::Bind([](bool* access_revoked) { *access_revoked = true; },
-                 &device_access_2_revoked));
+      base::BindOnce([](bool* access_revoked) { *access_revoked = true; },
+                     &device_access_2_revoked));
   wait_loop_1.Run();
   wait_loop_2.Run();
   ASSERT_TRUE(device_access_1_revoked);
@@ -103,7 +103,7 @@
   factory_->CreateDevice(
       i420_fake_device_info_.descriptor.device_id,
       mojo::MakeRequest(&device_proxy_2),
-      base::Bind(
+      base::BindOnce(
           [](base::RunLoop* wait_loop,
              mojom::DeviceAccessResultCode result_code) { wait_loop->Quit(); },
           &wait_loop));
diff --git a/services/video_capture/test/virtual_device_unittest.cc b/services/video_capture/test/virtual_device_unittest.cc
index 10caa70e..6cd9222 100644
--- a/services/video_capture/test/virtual_device_unittest.cc
+++ b/services/video_capture/test/virtual_device_unittest.cc
@@ -71,15 +71,17 @@
          i++) {
       device_adapter_->RequestFrameBuffer(
           kTestFrameSize, kTestPixelFormat, nullptr,
-          base::Bind(&VirtualDeviceTest::OnFrameBufferReceived,
-                     base::Unretained(this), true /* valid_buffer_expected */));
+          base::BindOnce(&VirtualDeviceTest::OnFrameBufferReceived,
+                         base::Unretained(this),
+                         true /* valid_buffer_expected */));
     }
 
     // No more buffer available. Invalid buffer id should be returned.
     device_adapter_->RequestFrameBuffer(
         kTestFrameSize, kTestPixelFormat, nullptr,
-        base::Bind(&VirtualDeviceTest::OnFrameBufferReceived,
-                   base::Unretained(this), false /* valid_buffer_expected */));
+        base::BindOnce(&VirtualDeviceTest::OnFrameBufferReceived,
+                       base::Unretained(this),
+                       false /* valid_buffer_expected */));
 
     wait_loop.RunUntilIdle();
     Mock::VerifyAndClearExpectations(producer_.get());
@@ -115,8 +117,8 @@
   EXPECT_CALL(*producer_, DoOnNewBuffer(_, _, _)).Times(0);
   device_adapter_->RequestFrameBuffer(
       kTestFrameSize, kTestPixelFormat, nullptr,
-      base::Bind(&VirtualDeviceTest::OnFrameBufferReceived,
-                 base::Unretained(this), true /* valid_buffer_expected */));
+      base::BindOnce(&VirtualDeviceTest::OnFrameBufferReceived,
+                     base::Unretained(this), true /* valid_buffer_expected */));
 
   wait_loop.RunUntilIdle();
 }
diff --git a/services/video_capture/video_capture_service_impl.cc b/services/video_capture/video_capture_service_impl.cc
index c43c03b1f..39429a02 100644
--- a/services/video_capture/video_capture_service_impl.cc
+++ b/services/video_capture/video_capture_service_impl.cc
@@ -61,11 +61,12 @@
   }
 
   void CreateJpegDecodeAccelerator(
-      chromeos_camera::mojom::MjpegDecodeAcceleratorRequest request) {
+      mojo::PendingReceiver<chromeos_camera::mojom::MjpegDecodeAccelerator>
+          receiver) {
     DCHECK(gpu_io_task_runner_->RunsTasksInCurrentSequence());
     if (!accelerator_factory_)
       return;
-    accelerator_factory_->CreateJpegDecodeAccelerator(std::move(request));
+    accelerator_factory_->CreateJpegDecodeAccelerator(std::move(receiver));
   }
 #endif  // defined(OS_CHROMEOS)
 
diff --git a/services/video_capture/virtual_device_enabled_device_factory.cc b/services/video_capture/virtual_device_enabled_device_factory.cc
index 424989d..a4a6faf4 100644
--- a/services/video_capture/virtual_device_enabled_device_factory.cc
+++ b/services/video_capture/virtual_device_enabled_device_factory.cc
@@ -114,9 +114,9 @@
     }
     device_entry.EstablishConsumerBinding(
         std::move(device_request),
-        base::Bind(&VirtualDeviceEnabledDeviceFactory::
-                       OnVirtualDeviceConsumerConnectionErrorOrClose,
-                   base::Unretained(this), device_id));
+        base::BindOnce(&VirtualDeviceEnabledDeviceFactory::
+                           OnVirtualDeviceConsumerConnectionErrorOrClose,
+                       base::Unretained(this), device_id));
     std::move(callback).Run(mojom::DeviceAccessResultCode::SUCCESS);
     return;
   }
@@ -139,9 +139,9 @@
   }
 
   producer.set_connection_error_handler(
-      base::Bind(&VirtualDeviceEnabledDeviceFactory::
-                     OnVirtualDeviceProducerConnectionErrorOrClose,
-                 base::Unretained(this), device_id));
+      base::BindOnce(&VirtualDeviceEnabledDeviceFactory::
+                         OnVirtualDeviceProducerConnectionErrorOrClose,
+                     base::Unretained(this), device_id));
   auto device = std::make_unique<SharedMemoryVirtualDeviceMojoAdapter>(
       std::move(producer),
       send_buffer_handles_to_producer_as_raw_file_descriptors);
@@ -149,9 +149,9 @@
       std::make_unique<mojo::Binding<mojom::SharedMemoryVirtualDevice>>(
           device.get(), std::move(virtual_device_request));
   producer_binding->set_connection_error_handler(
-      base::Bind(&VirtualDeviceEnabledDeviceFactory::
-                     OnVirtualDeviceProducerConnectionErrorOrClose,
-                 base::Unretained(this), device_id));
+      base::BindOnce(&VirtualDeviceEnabledDeviceFactory::
+                         OnVirtualDeviceProducerConnectionErrorOrClose,
+                     base::Unretained(this), device_id));
   VirtualDeviceEntry device_entry(device_info, std::move(device),
                                   std::move(producer_binding));
   virtual_devices_by_id_.insert(
diff --git a/services/viz/public/cpp/gpu/gpu.cc b/services/viz/public/cpp/gpu/gpu.cc
index 307cf41..62afb73 100644
--- a/services/viz/public/cpp/gpu/gpu.cc
+++ b/services/viz/public/cpp/gpu/gpu.cc
@@ -58,9 +58,10 @@
 
 #if defined(OS_CHROMEOS)
   void CreateJpegDecodeAccelerator(
-      chromeos_camera::mojom::MjpegDecodeAcceleratorRequest request) {
+      mojo::PendingReceiver<chromeos_camera::mojom::MjpegDecodeAccelerator>
+          receiver) {
     DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
-    gpu_ptr_->CreateJpegDecodeAccelerator(std::move(request));
+    gpu_ptr_->CreateJpegDecodeAccelerator(std::move(receiver));
   }
 #endif  // defined(OS_CHROMEOS)
 
@@ -288,12 +289,13 @@
 
 #if defined(OS_CHROMEOS)
 void Gpu::CreateJpegDecodeAccelerator(
-    chromeos_camera::mojom::MjpegDecodeAcceleratorRequest jda_request) {
+    mojo::PendingReceiver<chromeos_camera::mojom::MjpegDecodeAccelerator>
+        jda_receiver) {
   DCHECK(main_task_runner_->BelongsToCurrentThread());
   io_task_runner_->PostTask(
       FROM_HERE,
       base::BindOnce(&GpuPtrIO::CreateJpegDecodeAccelerator,
-                     base::Unretained(gpu_.get()), std::move(jda_request)));
+                     base::Unretained(gpu_.get()), std::move(jda_receiver)));
 }
 #endif  // defined(OS_CHROMEOS)
 
diff --git a/services/viz/public/cpp/gpu/gpu.h b/services/viz/public/cpp/gpu/gpu.h
index b343f666..33a09983 100644
--- a/services/viz/public/cpp/gpu/gpu.h
+++ b/services/viz/public/cpp/gpu/gpu.h
@@ -13,6 +13,7 @@
 #include "base/single_thread_task_runner.h"
 #include "components/viz/common/gpu/context_provider.h"
 #include "gpu/ipc/client/gpu_channel_host.h"
+#include "mojo/public/cpp/bindings/pending_receiver.h"
 #include "mojo/public/cpp/bindings/pending_remote.h"
 #include "services/viz/public/cpp/gpu/client_gpu_memory_buffer_manager.h"
 #include "services/viz/public/mojom/gpu.mojom.h"
@@ -43,7 +44,8 @@
 
 #if defined(OS_CHROMEOS)
   void CreateJpegDecodeAccelerator(
-      chromeos_camera::mojom::MjpegDecodeAcceleratorRequest jda_request);
+      mojo::PendingReceiver<chromeos_camera::mojom::MjpegDecodeAccelerator>
+          jda_receiver);
 #endif  // defined(OS_CHROMEOS)
   void CreateVideoEncodeAcceleratorProvider(
       mojo::PendingReceiver<media::mojom::VideoEncodeAcceleratorProvider>
diff --git a/services/viz/public/cpp/gpu/gpu_unittest.cc b/services/viz/public/cpp/gpu/gpu_unittest.cc
index d4fed86..37f76f6 100644
--- a/services/viz/public/cpp/gpu/gpu_unittest.cc
+++ b/services/viz/public/cpp/gpu/gpu_unittest.cc
@@ -60,8 +60,8 @@
 
 #if defined(OS_CHROMEOS)
   void CreateJpegDecodeAccelerator(
-      chromeos_camera::mojom::MjpegDecodeAcceleratorRequest jda_request)
-      override {}
+      mojo::PendingReceiver<chromeos_camera::mojom::MjpegDecodeAccelerator>
+          jda_receiver) override {}
 #endif  // defined(OS_CHROMEOS)
 
   void CreateVideoEncodeAcceleratorProvider(
diff --git a/services/viz/public/mojom/gpu.mojom b/services/viz/public/mojom/gpu.mojom
index 76d40af5..07e3b48 100644
--- a/services/viz/public/mojom/gpu.mojom
+++ b/services/viz/public/mojom/gpu.mojom
@@ -44,7 +44,7 @@
   // Creates a new JpegDecodeAccelerator and binds it to |jda|.
   [EnableIf=is_chromeos]
   CreateJpegDecodeAccelerator(
-      chromeos_camera.mojom.MjpegDecodeAccelerator& jda);
+      pending_receiver<chromeos_camera.mojom.MjpegDecodeAccelerator> jda);
 
   // Creates a VideoEncodeAcceleratorProvider and binds it to |vea_provider|.
   CreateVideoEncodeAcceleratorProvider(
diff --git a/skia/public/mojom/test/mojom_traits_unittest.cc b/skia/public/mojom/test/mojom_traits_unittest.cc
index 817a96c..fb8e281e 100644
--- a/skia/public/mojom/test/mojom_traits_unittest.cc
+++ b/skia/public/mojom/test/mojom_traits_unittest.cc
@@ -3,7 +3,8 @@
 // found in the LICENSE file.
 
 #include "base/test/task_environment.h"
-#include "mojo/public/cpp/bindings/binding_set.h"
+#include "mojo/public/cpp/bindings/receiver_set.h"
+#include "mojo/public/cpp/bindings/remote.h"
 #include "skia/public/mojom/test/traits_test_service.mojom.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "third_party/skia/include/core/SkColorFilter.h"
@@ -23,10 +24,10 @@
   StructTraitsTest() = default;
 
  protected:
-  mojom::TraitsTestServicePtr GetTraitsTestProxy() {
-    mojom::TraitsTestServicePtr proxy;
-    traits_test_bindings_.AddBinding(this, mojo::MakeRequest(&proxy));
-    return proxy;
+  mojo::Remote<mojom::TraitsTestService> GetTraitsTestRemote() {
+    mojo::Remote<mojom::TraitsTestService> remote;
+    traits_test_receivers_.Add(this, remote.BindNewPipeAndPassReceiver());
+    return remote;
   }
 
  private:
@@ -47,7 +48,7 @@
   }
 
   base::test::TaskEnvironment task_environment_;
-  mojo::BindingSet<TraitsTestService> traits_test_bindings_;
+  mojo::ReceiverSet<TraitsTestService> traits_test_receivers_;
 
   DISALLOW_COPY_AND_ASSIGN(StructTraitsTest);
 };
@@ -59,15 +60,15 @@
       34, 56, SkColorType::kGray_8_SkColorType,
       SkAlphaType::kUnpremul_SkAlphaType,
       SkColorSpace::MakeRGB(SkNamedTransferFn::kSRGB, SkNamedGamut::kAdobeRGB));
-  mojom::TraitsTestServicePtr proxy = GetTraitsTestProxy();
+  mojo::Remote<mojom::TraitsTestService> remote = GetTraitsTestRemote();
   SkImageInfo output;
-  proxy->EchoImageInfo(input, &output);
+  remote->EchoImageInfo(input, &output);
   EXPECT_EQ(input, output);
 
   SkImageInfo another_input_with_null_color_space =
       SkImageInfo::Make(54, 43, SkColorType::kRGBA_8888_SkColorType,
                         SkAlphaType::kPremul_SkAlphaType, nullptr);
-  proxy->EchoImageInfo(another_input_with_null_color_space, &output);
+  remote->EchoImageInfo(another_input_with_null_color_space, &output);
   EXPECT_FALSE(output.colorSpace());
   EXPECT_EQ(another_input_with_null_color_space, output);
 }
@@ -80,9 +81,9 @@
                             SkNamedGamut::kRec2020)));
   input.eraseColor(SK_ColorYELLOW);
   input.erase(SK_ColorTRANSPARENT, SkIRect::MakeXYWH(0, 1, 2, 3));
-  mojom::TraitsTestServicePtr proxy = GetTraitsTestProxy();
+  mojo::Remote<mojom::TraitsTestService> remote = GetTraitsTestRemote();
   SkBitmap output;
-  proxy->EchoBitmap(input, &output);
+  remote->EchoBitmap(input, &output);
   EXPECT_EQ(input.info(), output.info());
   EXPECT_EQ(input.rowBytes(), output.rowBytes());
   EXPECT_TRUE(gfx::BitmapsAreEqual(input, output));
@@ -99,9 +100,9 @@
   input.allocPixels(info, info.minRowBytes() + extra);
   input.eraseColor(SK_ColorRED);
   input.erase(SK_ColorTRANSPARENT, SkIRect::MakeXYWH(0, 1, 2, 3));
-  mojom::TraitsTestServicePtr proxy = GetTraitsTestProxy();
+  mojo::Remote<mojom::TraitsTestService> remote = GetTraitsTestRemote();
   SkBitmap output;
-  proxy->EchoBitmap(input, &output);
+  remote->EchoBitmap(input, &output);
   EXPECT_EQ(input.info(), output.info());
   EXPECT_EQ(input.rowBytes(), output.rowBytes());
   EXPECT_TRUE(gfx::BitmapsAreEqual(input, output));
@@ -109,9 +110,9 @@
 
 TEST_F(StructTraitsTest, BlurImageFilterTileMode) {
   SkBlurImageFilter::TileMode input(SkBlurImageFilter::kClamp_TileMode);
-  mojom::TraitsTestServicePtr proxy = GetTraitsTestProxy();
+  mojo::Remote<mojom::TraitsTestService> remote = GetTraitsTestRemote();
   SkBlurImageFilter::TileMode output;
-  proxy->EchoBlurImageFilterTileMode(input, &output);
+  remote->EchoBlurImageFilterTileMode(input, &output);
   EXPECT_EQ(input, output);
 }
 
diff --git a/testing/variations/fieldtrial_testing_config.json b/testing/variations/fieldtrial_testing_config.json
index 8901de13..4b8d563d 100644
--- a/testing/variations/fieldtrial_testing_config.json
+++ b/testing/variations/fieldtrial_testing_config.json
@@ -1387,6 +1387,25 @@
             ]
         }
     ],
+    "BlockPromptsIfIgnoredOften": [
+        {
+            "platforms": [
+                "android",
+                "chromeos",
+                "linux",
+                "mac",
+                "windows"
+            ],
+            "experiments": [
+                {
+                    "name": "BlockPromptsIfIgnoredOften",
+                    "enable_features": [
+                        "BlockPromptsIfIgnoredOften"
+                    ]
+                }
+            ]
+        }
+    ],
     "BookmarkInProductHelp": [
         {
             "platforms": [
diff --git a/third_party/blink/common/loader/request_destination.cc b/third_party/blink/common/loader/request_destination.cc
index 3c72936..a41401d 100644
--- a/third_party/blink/common/loader/request_destination.cc
+++ b/third_party/blink/common/loader/request_destination.cc
@@ -28,8 +28,10 @@
     case mojom::RequestContextType::FONT:
       return "font";
     case mojom::RequestContextType::FRAME:
-    case mojom::RequestContextType::HYPERLINK:
+      return "frame";
     case mojom::RequestContextType::IFRAME:
+      return "iframe";
+    case mojom::RequestContextType::HYPERLINK:
     case mojom::RequestContextType::LOCATION:
     case mojom::RequestContextType::FORM:
       return "document";
diff --git a/third_party/blink/public/BUILD.gn b/third_party/blink/public/BUILD.gn
index 9e28e12..d50e06f 100644
--- a/third_party/blink/public/BUILD.gn
+++ b/third_party/blink/public/BUILD.gn
@@ -483,7 +483,6 @@
     "web/web_plugin_script_forbidden_scope.h",
     "web/web_popup_menu_info.h",
     "web/web_prerenderer_client.h",
-    "web/web_presentation_receiver_flags.h",
     "web/web_print_params.h",
     "web/web_print_preset_options.h",
     "web/web_print_scaling_option.h",
diff --git a/third_party/blink/public/common/BUILD.gn b/third_party/blink/public/common/BUILD.gn
index 5bc23fc2b..cc13265 100644
--- a/third_party/blink/public/common/BUILD.gn
+++ b/third_party/blink/public/common/BUILD.gn
@@ -117,6 +117,7 @@
     "peerconnection/webrtc_ip_handling_policy.h",
     "plugin/plugin_action.h",
     "prerender/prerender_rel_type.h",
+    "presentation/presentation_receiver_flags.h",
     "scheduler/web_scheduler_tracked_feature.h",
     "screen_orientation/web_screen_orientation_lock_type.h",
     "screen_orientation/web_screen_orientation_type.h",
diff --git a/third_party/blink/public/common/presentation/presentation_receiver_flags.h b/third_party/blink/public/common/presentation/presentation_receiver_flags.h
new file mode 100644
index 0000000..7059ba2
--- /dev/null
+++ b/third_party/blink/public/common/presentation/presentation_receiver_flags.h
@@ -0,0 +1,47 @@
+/*
+ * Copyright (C) 2017 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *     * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ *     * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef THIRD_PARTY_BLINK_PUBLIC_COMMON_PRESENTATION_PRESENTATION_RECEIVER_FLAGS_H_
+#define THIRD_PARTY_BLINK_PUBLIC_COMMON_PRESENTATION_PRESENTATION_RECEIVER_FLAGS_H_
+
+#include "third_party/blink/public/common/frame/sandbox_flags.h"
+
+namespace blink {
+
+// Disable popups, modals, and top-level navigation for presentation receivers.
+// See:
+// https://w3c.github.io/presentation-api/#creating-a-receiving-browsing-context
+constexpr WebSandboxFlags kPresentationReceiverSandboxFlags =
+    WebSandboxFlags::kPopups | WebSandboxFlags::kModals |
+    WebSandboxFlags::kTopNavigation;
+
+}  // namespace blink
+
+#endif  // THIRD_PARTY_BLINK_PUBLIC_COMMON_PRESENTATION_PRESENTATION_RECEIVER_FLAGS_H_
diff --git a/third_party/blink/public/platform/platform.h b/third_party/blink/public/platform/platform.h
index 2430904..aaf0792c 100644
--- a/third_party/blink/public/platform/platform.h
+++ b/third_party/blink/public/platform/platform.h
@@ -640,6 +640,10 @@
 
   virtual bool IsWebRtcStunOriginEnabled() { return false; }
 
+  virtual bool IsWebRtcSrtpAesGcmEnabled() { return false; }
+
+  virtual bool IsWebRtcSrtpEncryptedHeadersEnabled() { return false; }
+
   virtual base::Optional<std::string> WebRtcStunProbeTrialParameter() {
     return base::nullopt;
   }
diff --git a/third_party/blink/public/web/blink.h b/third_party/blink/public/web/blink.h
index a15ea06..7ec87b5a 100644
--- a/third_party/blink/public/web/blink.h
+++ b/third_party/blink/public/web/blink.h
@@ -68,10 +68,6 @@
 BLINK_EXPORT void SetWebTestMode(bool);
 BLINK_EXPORT bool WebTestMode();
 
-// Enables or disables the use of the mock theme for web tests. This function
-// must be called only if SetWebTestMode(true).
-BLINK_EXPORT void SetMockThemeEnabledForTest(bool);
-
 // Alters the rendering of fonts for web tests.
 BLINK_EXPORT void SetFontAntialiasingEnabledForTest(bool);
 BLINK_EXPORT bool FontAntialiasingEnabledForTest();
diff --git a/third_party/blink/public/web/web_presentation_receiver_flags.h b/third_party/blink/public/web/web_presentation_receiver_flags.h
deleted file mode 100644
index 8b0094b..0000000
--- a/third_party/blink/public/web/web_presentation_receiver_flags.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright (C) 2017 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- *     * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *     * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- *     * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef THIRD_PARTY_BLINK_PUBLIC_WEB_WEB_PRESENTATION_RECEIVER_FLAGS_H_
-#define THIRD_PARTY_BLINK_PUBLIC_WEB_WEB_PRESENTATION_RECEIVER_FLAGS_H_
-
-#include "third_party/blink/public/common/frame/sandbox_flags.h"
-
-namespace blink {
-
-// Disable popups, modals, and top-level navigation for presentation receivers.
-// See:
-// https://w3c.github.io/presentation-api/#creating-a-receiving-browsing-context
-static constexpr WebSandboxFlags kPresentationReceiverSandboxFlags =
-    WebSandboxFlags::kPopups | WebSandboxFlags::kModals |
-    WebSandboxFlags::kTopNavigation;
-
-}  // namespace blink
-
-#endif  // THIRD_PARTY_BLINK_PUBLIC_WEB_WEB_PRESENTATION_RECEIVER_FLAGS_H_
diff --git a/third_party/blink/renderer/bindings/core/v8/serialization/v8_script_value_serializer.cc b/third_party/blink/renderer/bindings/core/v8/serialization/v8_script_value_serializer.cc
index abb7627..7838a7a6 100644
--- a/third_party/blink/renderer/bindings/core/v8/serialization/v8_script_value_serializer.cc
+++ b/third_party/blink/renderer/bindings/core/v8/serialization/v8_script_value_serializer.cc
@@ -304,9 +304,17 @@
     WriteUint32Enum(ImageSerializationTag::kEndTag);
     WriteUint32(image_bitmap->width());
     WriteUint32(image_bitmap->height());
-    scoped_refptr<Uint8Array> pixels = image_bitmap->CopyBitmapData();
-    WriteUint32(pixels->length());
-    WriteRawBytes(pixels->Data(), pixels->length());
+    Vector<uint8_t> pixels = image_bitmap->CopyBitmapData();
+    // Check if we succeeded to copy the BitmapData.
+    if (image_bitmap->width() * image_bitmap->height() != 0 &&
+        pixels.size() == 0) {
+      exception_state.ThrowDOMException(
+          DOMExceptionCode::kDataCloneError,
+          "An ImageBitmap could not be read successfully.");
+      return false;
+    }
+    WriteUint32(pixels.size());
+    WriteRawBytes(pixels.data(), pixels.size());
     return true;
   }
   if (wrapper_type_info == V8ImageData::GetWrapperTypeInfo()) {
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 4ef3089..f1c4bcd 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
@@ -179,7 +179,8 @@
   // we might use the cached result instead. In order to ensure we skip the
   // newly locked layers, we need to set |need_graphics_layer_collection_|
   // before marking the layer for repaint.
-  needs_graphics_layer_collection_ = true;
+  if (!RuntimeEnabledFeatures::CompositeAfterPaintEnabled())
+    needs_graphics_layer_collection_ = true;
   MarkPaintLayerNeedsRepaint();
 }
 
@@ -606,8 +607,9 @@
   DCHECK(ConnectedToView());
   if (auto* layout_object = element_->GetLayoutObject()) {
     layout_object->PaintingLayer()->SetNeedsRepaint();
-    if (needs_graphics_layer_collection_) {
-      document_->View()->GraphicsLayersDidChange();
+    if (!RuntimeEnabledFeatures::CompositeAfterPaintEnabled() &&
+        needs_graphics_layer_collection_) {
+      document_->View()->SetForeignLayerListNeedsUpdate();
       needs_graphics_layer_collection_ = false;
     }
     return true;
diff --git a/third_party/blink/renderer/core/display_lock/display_lock_context_test.cc b/third_party/blink/renderer/core/display_lock/display_lock_context_test.cc
index 371d8a0..e14278a 100644
--- a/third_party/blink/renderer/core/display_lock/display_lock_context_test.cc
+++ b/third_party/blink/renderer/core/display_lock/display_lock_context_test.cc
@@ -1315,7 +1315,7 @@
   auto* container = GetDocument().getElementById("container");
 
   // Ensure that we will gather graphics layer on the next update (after lock).
-  GetDocument().View()->GraphicsLayersDidChange();
+  GetDocument().View()->SetForeignLayerListNeedsUpdate();
 
   LockElement(*container, false /* activatable */);
   EXPECT_TRUE(container->GetDisplayLockContext()->IsLocked());
diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_party/blink/renderer/core/exported/web_view_impl.cc
index cc15530..7e9946f 100644
--- a/third_party/blink/renderer/core/exported/web_view_impl.cc
+++ b/third_party/blink/renderer/core/exported/web_view_impl.cc
@@ -96,7 +96,6 @@
 #include "third_party/blink/renderer/core/frame/browser_controls.h"
 #include "third_party/blink/renderer/core/frame/event_handler_registry.h"
 #include "third_party/blink/renderer/core/frame/fullscreen_controller.h"
-#include "third_party/blink/renderer/core/frame/link_highlights.h"
 #include "third_party/blink/renderer/core/frame/local_dom_window.h"
 #include "third_party/blink/renderer/core/frame/local_frame.h"
 #include "third_party/blink/renderer/core/frame/local_frame_client.h"
@@ -134,6 +133,7 @@
 #include "third_party/blink/renderer/core/page/context_menu_provider.h"
 #include "third_party/blink/renderer/core/page/focus_controller.h"
 #include "third_party/blink/renderer/core/page/frame_tree.h"
+#include "third_party/blink/renderer/core/page/link_highlight.h"
 #include "third_party/blink/renderer/core/page/page.h"
 #include "third_party/blink/renderer/core/page/page_popup_client.h"
 #include "third_party/blink/renderer/core/page/pointer_lock_controller.h"
@@ -532,7 +532,7 @@
     case WebInputEvent::kGestureTapCancel:
     case WebInputEvent::kGestureTap:
     case WebInputEvent::kGestureLongPress:
-      GetPage()->GetLinkHighlights().StartHighlightAnimationIfNeeded();
+      GetPage()->GetLinkHighlight().StartHighlightAnimationIfNeeded();
       break;
     default:
       break;
@@ -1012,16 +1012,7 @@
 void WebViewImpl::EnableTapHighlightAtPoint(
     const GestureEventWithHitTestResults& targeted_tap_event) {
   Node* touch_node = BestTapNode(targeted_tap_event);
-
-  HeapVector<Member<Node>> highlight_nodes;
-  highlight_nodes.push_back(touch_node);
-
-  EnableTapHighlights(highlight_nodes);
-}
-
-void WebViewImpl::EnableTapHighlights(
-    HeapVector<Member<Node>>& highlight_nodes) {
-  GetPage()->GetLinkHighlights().SetTapHighlights(highlight_nodes);
+  GetPage()->GetLinkHighlight().SetTapHighlight(touch_node);
   UpdateLifecycle(WebWidget::LifecycleUpdate::kAll,
                   WebWidget::LifecycleUpdateReason::kOther);
 }
diff --git a/third_party/blink/renderer/core/exported/web_view_impl.h b/third_party/blink/renderer/core/exported/web_view_impl.h
index 234e079..e3f37ec 100644
--- a/third_party/blink/renderer/core/exported/web_view_impl.h
+++ b/third_party/blink/renderer/core/exported/web_view_impl.h
@@ -332,7 +332,6 @@
   Node* BestTapNode(const GestureEventWithHitTestResults& targeted_tap_event);
   void EnableTapHighlightAtPoint(
       const GestureEventWithHitTestResults& targeted_tap_event);
-  void EnableTapHighlights(HeapVector<Member<Node>>&);
 
   void EnableFakePageScaleAnimationForTesting(bool);
   bool FakeDoubleTapAnimationPendingForTesting() const {
diff --git a/third_party/blink/renderer/core/frame/BUILD.gn b/third_party/blink/renderer/core/frame/BUILD.gn
index e901abf..882c5152 100644
--- a/third_party/blink/renderer/core/frame/BUILD.gn
+++ b/third_party/blink/renderer/core/frame/BUILD.gn
@@ -88,8 +88,6 @@
     "intervention_report_body.h",
     "layout_subtree_root_list.cc",
     "layout_subtree_root_list.h",
-    "link_highlights.cc",
-    "link_highlights.h",
     "local_dom_window.cc",
     "local_dom_window.h",
     "local_frame.cc",
diff --git a/third_party/blink/renderer/core/frame/frame_overlay.cc b/third_party/blink/renderer/core/frame/frame_overlay.cc
index afd8919..058f16d 100644
--- a/third_party/blink/renderer/core/frame/frame_overlay.cc
+++ b/third_party/blink/renderer/core/frame/frame_overlay.cc
@@ -110,7 +110,7 @@
 }
 
 void FrameOverlay::GraphicsLayersDidChange() {
-  frame_->View()->GraphicsLayersDidChange();
+  frame_->View()->SetForeignLayerListNeedsUpdate();
 }
 
 void FrameOverlay::ServiceScriptedAnimations(
diff --git a/third_party/blink/renderer/core/frame/link_highlights.cc b/third_party/blink/renderer/core/frame/link_highlights.cc
deleted file mode 100644
index 8e962f4..0000000
--- a/third_party/blink/renderer/core/frame/link_highlights.cc
+++ /dev/null
@@ -1,129 +0,0 @@
-// Copyright 2018 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/core/frame/link_highlights.h"
-
-#include <memory>
-
-#include "cc/animation/animation_host.h"
-#include "cc/layers/picture_layer.h"
-#include "third_party/blink/public/platform/platform.h"
-#include "third_party/blink/renderer/core/dom/node.h"
-#include "third_party/blink/renderer/core/frame/local_frame.h"
-#include "third_party/blink/renderer/core/layout/layout_object.h"
-#include "third_party/blink/renderer/core/page/chrome_client.h"
-#include "third_party/blink/renderer/core/page/page.h"
-#include "third_party/blink/renderer/core/paint/link_highlight_impl.h"
-#include "third_party/blink/renderer/platform/animation/compositor_animation_timeline.h"
-
-namespace blink {
-
-LinkHighlights::LinkHighlights(Page& owner) : page_(&owner) {}
-
-LinkHighlights::~LinkHighlights() {
-  RemoveAllHighlights();
-}
-
-void LinkHighlights::Trace(blink::Visitor* visitor) {
-  visitor->Trace(page_);
-}
-
-void LinkHighlights::RemoveAllHighlights() {
-  for (auto& highlight : link_highlights_) {
-    if (timeline_)
-      timeline_->AnimationDestroyed(*highlight);
-    if (auto* node = highlight->GetNode()) {
-      if (auto* layout_object = node->GetLayoutObject())
-        layout_object->SetNeedsPaintPropertyUpdate();
-    }
-  }
-  link_highlights_.clear();
-}
-
-void LinkHighlights::ResetForPageNavigation() {
-  RemoveAllHighlights();
-}
-
-void LinkHighlights::SetTapHighlights(
-    HeapVector<Member<Node>>& highlight_nodes) {
-  // Always clear any existing highlight when this is invoked, even if we
-  // don't get a new target to highlight.
-  RemoveAllHighlights();
-
-  for (wtf_size_t i = 0; i < highlight_nodes.size(); ++i) {
-    Node* node = highlight_nodes[i];
-
-    if (!node || !node->GetLayoutObject())
-      continue;
-
-    Color highlight_color =
-        node->GetLayoutObject()->StyleRef().TapHighlightColor();
-    // Safari documentation for -webkit-tap-highlight-color says if the
-    // specified color has 0 alpha, then tap highlighting is disabled.
-    // http://developer.apple.com/library/safari/#documentation/appleapplications/reference/safaricssref/articles/standardcssproperties.html
-    if (!highlight_color.Alpha())
-      continue;
-
-    link_highlights_.push_back(std::make_unique<LinkHighlightImpl>(node));
-    if (timeline_)
-      timeline_->AnimationAttached(*link_highlights_.back());
-    node->GetLayoutObject()->SetNeedsPaintPropertyUpdate();
-  }
-}
-
-void LinkHighlights::UpdateGeometry() {
-  for (auto& highlight : link_highlights_)
-    highlight->UpdateGeometry();
-}
-
-LocalFrame* LinkHighlights::MainFrame() const {
-  return GetPage().MainFrame() && GetPage().MainFrame()->IsLocalFrame()
-             ? GetPage().DeprecatedLocalMainFrame()
-             : nullptr;
-}
-
-void LinkHighlights::StartHighlightAnimationIfNeeded() {
-  for (auto& highlight : link_highlights_)
-    highlight->StartHighlightAnimationIfNeeded();
-
-  if (auto* local_frame = MainFrame())
-    GetPage().GetChromeClient().ScheduleAnimation(local_frame->View());
-}
-
-void LinkHighlights::AnimationHostInitialized(
-    cc::AnimationHost& animation_host) {
-  animation_host_ = &animation_host;
-  if (Platform::Current()->IsThreadedAnimationEnabled()) {
-    timeline_ = std::make_unique<CompositorAnimationTimeline>();
-    animation_host_->AddAnimationTimeline(timeline_->GetAnimationTimeline());
-  }
-}
-
-void LinkHighlights::WillCloseAnimationHost() {
-  RemoveAllHighlights();
-  if (timeline_) {
-    animation_host_->RemoveAnimationTimeline(timeline_->GetAnimationTimeline());
-    timeline_.reset();
-  }
-  animation_host_ = nullptr;
-}
-
-bool LinkHighlights::NeedsHighlightEffectInternal(
-    const LayoutObject& object) const {
-  for (auto& highlight : link_highlights_) {
-    if (auto* node = highlight->GetNode()) {
-      if (node->GetLayoutObject() == &object)
-        return true;
-    }
-  }
-  return false;
-}
-
-void LinkHighlights::Paint(GraphicsContext& context) const {
-  DCHECK(RuntimeEnabledFeatures::CompositeAfterPaintEnabled());
-  for (const auto& highlight : link_highlights_)
-    highlight->Paint(context);
-}
-
-}  // namespace blink
diff --git a/third_party/blink/renderer/core/frame/link_highlights.h b/third_party/blink/renderer/core/frame/link_highlights.h
deleted file mode 100644
index 925e80ac7..0000000
--- a/third_party/blink/renderer/core/frame/link_highlights.h
+++ /dev/null
@@ -1,92 +0,0 @@
-// Copyright 2018 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_CORE_FRAME_LINK_HIGHLIGHTS_H_
-#define THIRD_PARTY_BLINK_RENDERER_CORE_FRAME_LINK_HIGHLIGHTS_H_
-
-#include <memory>
-
-#include "third_party/blink/renderer/core/core_export.h"
-#include "third_party/blink/renderer/platform/graphics/compositor_element_id.h"
-#include "third_party/blink/renderer/platform/heap/handle.h"
-
-namespace cc {
-class AnimationHost;
-}
-
-namespace blink {
-class GraphicsContext;
-class Page;
-class LinkHighlightImpl;
-class CompositorAnimationTimeline;
-class LocalFrame;
-class LayoutObject;
-
-// TODO(wangxianzhu): Since the tap disambiguation feature was removed,
-// (http://crrev.com/c/579263), LinkHighlights no longer needs to manage
-// multiple link highlights. Rename this class to LinkHighlight and move
-// it under core/page, and rename LinkHighlightImpl (core/paint) to
-// LinkHighlightPainter. This will be convenient to do when we remove
-// GraphicsLayer for CompositeAfterPaint.
-class CORE_EXPORT LinkHighlights final
-    : public GarbageCollected<LinkHighlights> {
- public:
-  explicit LinkHighlights(Page&);
-  virtual ~LinkHighlights();
-
-  virtual void Trace(blink::Visitor*);
-
-  void ResetForPageNavigation();
-
-  void SetTapHighlights(HeapVector<Member<Node>>&);
-
-  // Updates geometry on all highlights. See: LinkHighlightImpl::UpdateGeometry.
-  void UpdateGeometry();
-
-  void StartHighlightAnimationIfNeeded();
-
-  void AnimationHostInitialized(cc::AnimationHost&);
-  void WillCloseAnimationHost();
-
-  bool IsEmpty() const { return link_highlights_.IsEmpty(); }
-
-  bool NeedsHighlightEffect(const LayoutObject& object) const {
-    if (link_highlights_.IsEmpty())
-      return false;
-    return NeedsHighlightEffectInternal(object);
-  }
-
-  // For CompositeAfterPaint.
-  void Paint(GraphicsContext&) const;
-
- private:
-  FRIEND_TEST_ALL_PREFIXES(LinkHighlightImplTest, verifyWebViewImplIntegration);
-  FRIEND_TEST_ALL_PREFIXES(LinkHighlightImplTest, resetDuringNodeRemoval);
-  FRIEND_TEST_ALL_PREFIXES(LinkHighlightImplTest, resetLayerTreeView);
-  FRIEND_TEST_ALL_PREFIXES(LinkHighlightImplTest, HighlightInvalidation);
-  FRIEND_TEST_ALL_PREFIXES(LinkHighlightImplTest, multipleHighlights);
-  FRIEND_TEST_ALL_PREFIXES(LinkHighlightImplTest, HighlightLayerEffectNode);
-  FRIEND_TEST_ALL_PREFIXES(LinkHighlightImplTest, MultiColumn);
-  FRIEND_TEST_ALL_PREFIXES(LinkHighlightSquashingImplTest, SquashingLayer);
-
-  void RemoveAllHighlights();
-
-  LocalFrame* MainFrame() const;
-
-  Page& GetPage() const {
-    DCHECK(page_);
-    return *page_;
-  }
-
-  bool NeedsHighlightEffectInternal(const LayoutObject& object) const;
-
-  Member<Page> page_;
-  Vector<std::unique_ptr<LinkHighlightImpl>> link_highlights_;
-  cc::AnimationHost* animation_host_ = nullptr;
-  std::unique_ptr<CompositorAnimationTimeline> timeline_;
-};
-
-}  // namespace blink
-
-#endif  // THIRD_PARTY_BLINK_RENDERER_CORE_FRAME_LINK_HIGHLIGHTS_H_
diff --git a/third_party/blink/renderer/core/frame/local_frame_view.cc b/third_party/blink/renderer/core/frame/local_frame_view.cc
index 10b95a1..33945b1d 100644
--- a/third_party/blink/renderer/core/frame/local_frame_view.cc
+++ b/third_party/blink/renderer/core/frame/local_frame_view.cc
@@ -56,7 +56,6 @@
 #include "third_party/blink/renderer/core/frame/find_in_page.h"
 #include "third_party/blink/renderer/core/frame/frame_overlay.h"
 #include "third_party/blink/renderer/core/frame/frame_view_auto_size_info.h"
-#include "third_party/blink/renderer/core/frame/link_highlights.h"
 #include "third_party/blink/renderer/core/frame/local_frame.h"
 #include "third_party/blink/renderer/core/frame/local_frame_client.h"
 #include "third_party/blink/renderer/core/frame/local_frame_ukm_aggregator.h"
@@ -102,6 +101,7 @@
 #include "third_party/blink/renderer/core/page/chrome_client.h"
 #include "third_party/blink/renderer/core/page/focus_controller.h"
 #include "third_party/blink/renderer/core/page/frame_tree.h"
+#include "third_party/blink/renderer/core/page/link_highlight.h"
 #include "third_party/blink/renderer/core/page/page.h"
 #include "third_party/blink/renderer/core/page/print_context.h"
 #include "third_party/blink/renderer/core/page/scrolling/fragment_anchor.h"
@@ -138,7 +138,6 @@
 #include "third_party/blink/renderer/platform/graphics/compositing/paint_artifact_compositor.h"
 #include "third_party/blink/renderer/platform/graphics/graphics_context.h"
 #include "third_party/blink/renderer/platform/graphics/graphics_layer.h"
-#include "third_party/blink/renderer/platform/graphics/link_highlight.h"
 #include "third_party/blink/renderer/platform/graphics/paint/cull_rect.h"
 #include "third_party/blink/renderer/platform/graphics/paint/foreign_layer_display_item.h"
 #include "third_party/blink/renderer/platform/graphics/paint/paint_controller.h"
@@ -2415,7 +2414,8 @@
       // PrePaintTreeWalk can reach this frame.
       frame_view.SetNeedsPaintPropertyUpdate();
       // We may record more foreign layers under the frame.
-      frame_view.GraphicsLayersDidChange();
+      if (!RuntimeEnabledFeatures::CompositeAfterPaintEnabled())
+        frame_view.SetForeignLayerListNeedsUpdate();
       if (auto* owner = frame_view.GetLayoutEmbeddedContent())
         owner->SetShouldCheckForPaintInvalidation();
     }
@@ -2425,6 +2425,10 @@
     SCOPED_UMA_AND_UKM_TIMER(EnsureUkmAggregator(),
                              LocalFrameUkmAggregator::kPrePaint);
 
+    // This is before WalkTree because it may SetNeedsPaintPropertyUpdate() on
+    // layout objects.
+    GetPage()->GetLinkHighlight().UpdatePrePaint();
+
     PrePaintTreeWalk().WalkTree(*this);
   }
 
@@ -2602,24 +2606,6 @@
   CollectDrawableLayersForLayerListRecursively(context, layer->MaskLayer());
 }
 
-static void CollectLinkHighlightLayersForLayerListRecursively(
-    GraphicsContext& context,
-    const GraphicsLayer* layer) {
-  if (!layer || layer->Client().ShouldThrottleRendering())
-    return;
-
-  for (auto* highlight : layer->GetLinkHighlights()) {
-    auto property_tree_state = layer->GetPropertyTreeState();
-    property_tree_state.SetEffect(highlight->Effect());
-    RecordForeignLayer(
-        context, DisplayItem::kForeignLayerLinkHighlight, highlight->Layer(),
-        highlight->GetOffsetFromTransformNode(), property_tree_state);
-  }
-
-  for (const auto* child : layer->Children())
-    CollectLinkHighlightLayersForLayerListRecursively(context, child);
-}
-
 static bool PaintGraphicsLayerRecursively(GraphicsLayer* layer) {
   bool painted = layer->PaintRecursively();
 #if DCHECK_IS_ON()
@@ -2665,10 +2651,9 @@
       PaintInternal(graphics_context, kGlobalPaintNormalPhase,
                     CullRect::Infinite());
 
-      frame_->GetPage()->GetLinkHighlights().Paint(graphics_context);
+      GetPage()->GetLinkHighlight().Paint(graphics_context);
 
-      frame_->GetPage()->GetValidationMessageClient().PaintOverlay(
-          graphics_context);
+      GetPage()->GetValidationMessageClient().PaintOverlay(graphics_context);
       ForAllNonThrottledLocalFrameViews(
           [&graphics_context](LocalFrameView& view) {
             view.frame_->PaintFrameColorOverlay(graphics_context);
@@ -2696,12 +2681,6 @@
           GetScrollingCoordinator()->NotifyGeometryChanged(this);
       }
     }
-
-    // This uses an invalidation approach based on graphics layer raster
-    // invalidation so it must be after paint. This adds/removes link highlight
-    // layers so it must be before
-    // |CollectDrawableLayersForLayerListRecursively|.
-    frame_->GetPage()->GetLinkHighlights().UpdateGeometry();
   }
 
   ForAllNonThrottledLocalFrameViews([](LocalFrameView& frame_view) {
@@ -2784,7 +2763,7 @@
     // collect the foreign layers, and this doesn't need caching. This shouldn't
     // affect caching status of DisplayItemClients because FinishCycle() is
     // not synchronized with other PaintControllers. This may live across frame
-    // updates until GraphicsLayersDidChange() is called.
+    // updates until SetForeignLayerListNeedsUpdate() is called.
     paint_controller_ =
         std::make_unique<PaintController>(PaintController::kTransient);
 
@@ -2803,9 +2782,9 @@
     // so we do not need to collect scrollbars separately.
     auto* root = GetLayoutView()->Compositor()->PaintRootGraphicsLayer();
     CollectDrawableLayersForLayerListRecursively(context, root);
+
     // Link highlights paint after all other layers.
-    if (!frame_->GetPage()->GetLinkHighlights().IsEmpty())
-      CollectLinkHighlightLayersForLayerListRecursively(context, root);
+    page->GetLinkHighlight().Paint(context);
 
     paint_controller_->CommitNewDisplayItems();
   }
@@ -3982,7 +3961,8 @@
   DCHECK(!frame_->GetDocument() || !frame_->GetDocument()->InStyleRecalc());
 
   // We may record more/less foreign layers under the frame.
-  GraphicsLayersDidChange();
+  if (!RuntimeEnabledFeatures::CompositeAfterPaintEnabled())
+    SetForeignLayerListNeedsUpdate();
 
   if (!CanThrottleRendering())
     InvalidateForThrottlingChange();
@@ -4043,10 +4023,11 @@
     root->paint_artifact_compositor_->SetNeedsUpdate();
 }
 
-void LocalFrameView::GraphicsLayersDidChange() {
+void LocalFrameView::SetForeignLayerListNeedsUpdate() {
+  DCHECK(!RuntimeEnabledFeatures::CompositeAfterPaintEnabled());
   LocalFrameView* root = GetFrame().LocalFrameRoot().View();
   if (root) {
-    // We will re-collect GraphicsLayers in PushPaintArtifactsToCompositor().
+    // We will re-collect foreign layers in PushPaintArtifactsToCompositor().
     root->paint_controller_ = nullptr;
     if (root->paint_artifact_compositor_)
       root->paint_artifact_compositor_->SetNeedsUpdate();
diff --git a/third_party/blink/renderer/core/frame/local_frame_view.h b/third_party/blink/renderer/core/frame/local_frame_view.h
index b02f253..1685421e 100644
--- a/third_party/blink/renderer/core/frame/local_frame_view.h
+++ b/third_party/blink/renderer/core/frame/local_frame_view.h
@@ -215,7 +215,7 @@
   void ForceUpdateViewportIntersections();
 
   void SetPaintArtifactCompositorNeedsUpdate();
-  void GraphicsLayersDidChange();
+  void SetForeignLayerListNeedsUpdate();
 
   // Marks this frame, and ancestor frames, as needing a mandatory compositing
   // update. This overrides throttling for one frame, up to kCompositingClean.
@@ -946,9 +946,9 @@
   std::unique_ptr<Vector<ObjectPaintInvalidation>>
       tracked_object_paint_invalidations_;
 
-  // Currently used in PushPaintArtifactToCompositor() to collect GraphicsLayers
-  // as foreign layers. It's transient, but may live across frame updates until
-  // GraphicsLayersDidChange() is called.
+  // Currently used in PushPaintArtifactToCompositor() to collect composited
+  // layers as foreign layers. It's transient, but may live across frame updates
+  // until SetForeignLayerListNeedsUpdate() is called.
   // For CompositeAfterPaint, we use it in PaintTree() for all paintings of the
   // frame tree in PaintTree(). It caches display items and subsequences across
   // frame updates and repaints.
diff --git a/third_party/blink/renderer/core/frame/visual_viewport.cc b/third_party/blink/renderer/core/frame/visual_viewport.cc
index c7e7354..0ea5258 100644
--- a/third_party/blink/renderer/core/frame/visual_viewport.cc
+++ b/third_party/blink/renderer/core/frame/visual_viewport.cc
@@ -1126,7 +1126,7 @@
 
 void VisualViewport::GraphicsLayersDidChange() {
   if (MainFrame() && MainFrame()->View())
-    MainFrame()->View()->GraphicsLayersDidChange();
+    MainFrame()->View()->SetForeignLayerListNeedsUpdate();
 }
 
 PaintArtifactCompositor* VisualViewport::GetPaintArtifactCompositor() const {
diff --git a/third_party/blink/renderer/core/imagebitmap/image_bitmap.cc b/third_party/blink/renderer/core/imagebitmap/image_bitmap.cc
index b3207449..83c1ece8 100644
--- a/third_party/blink/renderer/core/imagebitmap/image_bitmap.cc
+++ b/third_party/blink/renderer/core/imagebitmap/image_bitmap.cc
@@ -191,35 +191,29 @@
 // This function results in a readback due to using SkImage::readPixels().
 // Returns transparent black pixels if the input SkImageInfo.bounds() does
 // not intersect with the input image boundaries.
-scoped_refptr<Uint8Array> CopyImageData(
-    const scoped_refptr<StaticBitmapImage>& input,
-    const SkImageInfo& info,
-    const unsigned x = 0,
-    const unsigned y = 0) {
+Vector<uint8_t> CopyImageData(const scoped_refptr<StaticBitmapImage>& input,
+                              const SkImageInfo& info,
+                              const unsigned x = 0,
+                              const unsigned y = 0) {
   if (info.isEmpty())
-    return nullptr;
+    return {};
   sk_sp<SkImage> sk_image = input->PaintImageForCurrentFrame().GetSkImage();
   if (sk_image->bounds().isEmpty())
-    return nullptr;
-  scoped_refptr<ArrayBuffer> dst_buffer =
-      ArrayBuffer::CreateOrNull(info.computeMinByteSize(), 1);
-  if (!dst_buffer)
-    return nullptr;
-  unsigned byte_length = dst_buffer->ByteLength();
-  scoped_refptr<Uint8Array> dst_pixels =
-      Uint8Array::Create(std::move(dst_buffer), 0, byte_length);
-  if (!dst_pixels)
-    return nullptr;
+    return {};
+
+  wtf_size_t byte_length =
+      base::checked_cast<wtf_size_t>(info.computeMinByteSize());
+  Vector<uint8_t> dst_buffer(byte_length);
+
   bool read_pixels_successful =
-      sk_image->readPixels(info, dst_pixels->Data(), info.minRowBytes(), x, y);
+      sk_image->readPixels(info, dst_buffer.data(), info.minRowBytes(), x, y);
   DCHECK(read_pixels_successful);
   if (!read_pixels_successful)
-    return nullptr;
-  return dst_pixels;
+    return {};
+  return dst_buffer;
 }
 
-scoped_refptr<Uint8Array> CopyImageData(
-    const scoped_refptr<StaticBitmapImage>& input) {
+Vector<uint8_t> CopyImageData(const scoped_refptr<StaticBitmapImage>& input) {
   SkImageInfo info = GetSkImageInfo(input);
   return CopyImageData(std::move(input), info);
 }
@@ -1063,9 +1057,8 @@
   return CanvasColorParams(GetSkImageInfo(image_));
 }
 
-scoped_refptr<Uint8Array> ImageBitmap::CopyBitmapData(
-    AlphaDisposition alpha_op,
-    DataU8ColorType u8_color_type) {
+Vector<uint8_t> ImageBitmap::CopyBitmapData(AlphaDisposition alpha_op,
+                                            DataU8ColorType u8_color_type) {
   DCHECK(alpha_op != kDontChangeAlpha);
   SkImageInfo info = GetSkImageInfo(image_);
   auto color_type = info.colorType();
@@ -1079,7 +1072,7 @@
   return CopyImageData(image_, info);
 }
 
-scoped_refptr<Uint8Array> ImageBitmap::CopyBitmapData() {
+Vector<uint8_t> ImageBitmap::CopyBitmapData() {
   return CopyImageData(image_);
 }
 
diff --git a/third_party/blink/renderer/core/imagebitmap/image_bitmap.h b/third_party/blink/renderer/core/imagebitmap/image_bitmap.h
index 62ffad0..f4fde0b 100644
--- a/third_party/blink/renderer/core/imagebitmap/image_bitmap.h
+++ b/third_party/blink/renderer/core/imagebitmap/image_bitmap.h
@@ -122,9 +122,9 @@
   static ImageBitmap* Take(ScriptPromiseResolver*, sk_sp<SkImage>);
 
   scoped_refptr<StaticBitmapImage> BitmapImage() const { return image_; }
-  scoped_refptr<Uint8Array> CopyBitmapData();
-  scoped_refptr<Uint8Array> CopyBitmapData(AlphaDisposition,
-                                           DataU8ColorType = kRGBAColorType);
+  Vector<uint8_t> CopyBitmapData();
+  Vector<uint8_t> CopyBitmapData(AlphaDisposition,
+                                 DataU8ColorType = kRGBAColorType);
   unsigned width() const;
   unsigned height() const;
   IntSize Size() const;
diff --git a/third_party/blink/renderer/core/layout/layout_theme.cc b/third_party/blink/renderer/core/layout/layout_theme.cc
index b2b0be7..a453aa7 100644
--- a/third_party/blink/renderer/core/layout/layout_theme.cc
+++ b/third_party/blink/renderer/core/layout/layout_theme.cc
@@ -141,12 +141,6 @@
 
 }  // namespace
 
-// Wrapper function defined in WebKit.h
-void SetMockThemeEnabledForTest(bool value) {
-  WebTestSupport::SetMockThemeEnabledForTest(value);
-  LayoutTheme::GetTheme().DidChangeThemeEngine();
-}
-
 LayoutTheme& LayoutTheme::GetTheme() {
   if (RuntimeEnabledFeatures::MobileLayoutThemeEnabled()) {
     DEFINE_STATIC_REF(LayoutTheme, layout_theme_mobile,
diff --git a/third_party/blink/renderer/core/layout/ng/inline/ng_line_breaker.cc b/third_party/blink/renderer/core/layout/ng/inline/ng_line_breaker.cc
index 4f6223c..66acca9 100644
--- a/third_party/blink/renderer/core/layout/ng/inline/ng_line_breaker.cc
+++ b/third_party/blink/renderer/core/layout/ng/inline/ng_line_breaker.cc
@@ -185,16 +185,31 @@
   available_width_ = ComputeAvailableWidth();
   break_iterator_.SetBreakSpace(BreakSpaceType::kBeforeSpaceRun);
 
-  if (break_token) {
-    item_index_ = break_token->ItemIndex();
-    offset_ = break_token->TextOffset();
-    break_iterator_.SetStartOffset(offset_);
-    is_after_forced_break_ = break_token->IsForcedBreak();
-    items_data_.AssertOffset(item_index_, offset_);
-    // TODO(crbug.com/1013040): |break_token->Style()| should not be nullptr.
-    if (const ComputedStyle* line_initial_style = break_token->Style())
-      SetCurrentStyle(*line_initial_style);
+  if (!break_token)
+    return;
+
+  const ComputedStyle* line_initial_style = break_token->Style();
+  if (UNLIKELY(!line_initial_style)) {
+    // Usually an inline break token has the line initial style, but class C
+    // breaks and last-resort breaks require a break token to start from the
+    // beginning of the block. In that case, the line is still the first
+    // formatted line, and the line initial style should be computed from the
+    // containing block.
+    DCHECK_EQ(break_token->ItemIndex(), 0u);
+    DCHECK_EQ(break_token->TextOffset(), 0u);
+    DCHECK(!break_token->IsForcedBreak());
+    DCHECK_EQ(item_index_, break_token->ItemIndex());
+    DCHECK_EQ(offset_, break_token->TextOffset());
+    DCHECK_EQ(is_after_forced_break_, break_token->IsForcedBreak());
+    return;
   }
+
+  item_index_ = break_token->ItemIndex();
+  offset_ = break_token->TextOffset();
+  break_iterator_.SetStartOffset(offset_);
+  is_after_forced_break_ = break_token->IsForcedBreak();
+  items_data_.AssertOffset(item_index_, offset_);
+  SetCurrentStyle(*line_initial_style);
 }
 
 // Define the destructor here, so that we can forward-declare more in the
diff --git a/third_party/blink/renderer/core/layout/ng/ng_block_node.cc b/third_party/blink/renderer/core/layout/ng/ng_block_node.cc
index 8ee7a1f..e5b28ad0 100644
--- a/third_party/blink/renderer/core/layout/ng/ng_block_node.cc
+++ b/third_party/blink/renderer/core/layout/ng/ng_block_node.cc
@@ -1180,6 +1180,20 @@
     builder.SetInitialFragmentGeometry(fragment_geometry);
     builder.SetIsLegacyLayoutRoot();
 
+    // If we're block-fragmented, we can only handle monolithic content, since
+    // the two block fragmentation machineries (NG and legacy) cannot cooperate.
+    DCHECK(!constraint_space.HasBlockFragmentation() || IsMonolithic());
+
+    if (constraint_space.IsInitialColumnBalancingPass()) {
+      // In the initial column balancing pass we need to provide the tallest
+      // unbreakable block-size. However, since the content is monolithic,
+      // that's already handled by the parent algorithm (so we don't need to
+      // propagate anything here). We still have to tell the builder that we're
+      // in this layout pass, though, so that the layout result is set up
+      // correctly.
+      builder.SetIsInitialColumnBalancingPass();
+    }
+
     CopyBaselinesFromLegacyLayout(constraint_space, &builder);
     layout_result = builder.ToBoxFragment();
 
diff --git a/third_party/blink/renderer/core/layout/ng/ng_column_layout_algorithm.cc b/third_party/blink/renderer/core/layout/ng/ng_column_layout_algorithm.cc
index e751a83..02923f4 100644
--- a/third_party/blink/renderer/core/layout/ng/ng_column_layout_algorithm.cc
+++ b/third_party/blink/renderer/core/layout/ng/ng_column_layout_algorithm.cc
@@ -117,8 +117,11 @@
   is_constrained_by_outer_fragmentation_context_ =
       ConstraintSpace().HasKnownFragmentainerBlockSize();
 
-  if (is_constrained_by_outer_fragmentation_context_)
+  if (ConstraintSpace().HasBlockFragmentation()) {
     container_builder_.SetHasBlockFragmentation();
+    if (ConstraintSpace().IsInitialColumnBalancingPass())
+      container_builder_.SetIsInitialColumnBalancingPass();
+  }
 
   container_builder_.SetIsBlockFragmentationContextRoot();
 
@@ -661,6 +664,14 @@
     content_runs[index].implicit_breaks_assumed_count++;
   }
 
+  if (ConstraintSpace().IsInitialColumnBalancingPass()) {
+    // Nested column balancing. Our outer fragmentation context is in its
+    // initial balancing pass, so it also wants to know the largest unbreakable
+    // block-size.
+    container_builder_.PropagateTallestUnbreakableBlockSize(
+        tallest_unbreakable_block_size);
+  }
+
   // We now have an estimated minimal block-size for the columns. Roughly
   // speaking, this is the block-size that the columns will need if we are
   // allowed to break freely at any offset. This is normally not the case,
diff --git a/third_party/blink/renderer/core/layout/ng/ng_column_layout_algorithm_test.cc b/third_party/blink/renderer/core/layout/ng/ng_column_layout_algorithm_test.cc
index d70d4fe27..4c4b780 100644
--- a/third_party/blink/renderer/core/layout/ng/ng_column_layout_algorithm_test.cc
+++ b/third_party/blink/renderer/core/layout/ng/ng_column_layout_algorithm_test.cc
@@ -2826,6 +2826,72 @@
   EXPECT_EQ(expectation, dump);
 }
 
+TEST_F(NGColumnLayoutAlgorithmTest, ColumnBalancingSingleLineInNested) {
+  SetBodyInnerHTML(R"HTML(
+    <style>
+      #parent {
+        columns: 3;
+        column-gap: 10px;
+        width: 320px;
+        line-height: 20px;
+      }
+    </style>
+    <div id="container">
+      <div id="parent">
+        <div style="columns:2; column-gap:10px;">
+          <br>
+        </div>
+      </div>
+    </div>
+  )HTML");
+
+  String dump = DumpFragmentTree(GetElementById("container"));
+  String expectation = R"DUMP(.:: LayoutNG Physical Fragment Tree ::.
+  offset:unplaced size:1000x20
+    offset:0,0 size:320x20
+      offset:0,0 size:100x20
+        offset:0,0 size:100x20
+          offset:0,0 size:45x20
+            offset:0,0 size:0x20
+              offset:0,9 size:0x1
+)DUMP";
+  EXPECT_EQ(expectation, dump);
+}
+
+TEST_F(NGColumnLayoutAlgorithmTest, ColumnBalancingSingleLineInNestedSpanner) {
+  SetBodyInnerHTML(R"HTML(
+    <style>
+      #parent {
+        columns: 3;
+        column-gap: 10px;
+        width: 320px;
+        line-height: 20px;
+      }
+    </style>
+    <div id="container">
+      <div id="parent">
+        <div style="columns:2;">
+          <div style="column-span:all;">
+            <br>
+          </div>
+        </div>
+      </div>
+    </div>
+  )HTML");
+
+  String dump = DumpFragmentTree(GetElementById("container"));
+  String expectation = R"DUMP(.:: LayoutNG Physical Fragment Tree ::.
+  offset:unplaced size:1000x20
+    offset:0,0 size:320x20
+      offset:0,0 size:100x20
+        offset:0,0 size:100x20
+          offset:0,0 size:100x20
+            offset:0,0 size:0x20
+              offset:0,9 size:0x1
+)DUMP";
+  EXPECT_EQ(expectation, dump);
+}
+
 TEST_F(NGColumnLayoutAlgorithmTest, ColumnBalancingOverflow) {
   SetBodyInnerHTML(R"HTML(
     <style>
diff --git a/third_party/blink/renderer/core/page/BUILD.gn b/third_party/blink/renderer/core/page/BUILD.gn
index dd46353..9c440ee 100644
--- a/third_party/blink/renderer/core/page/BUILD.gn
+++ b/third_party/blink/renderer/core/page/BUILD.gn
@@ -32,6 +32,8 @@
     "focus_controller.h",
     "frame_tree.cc",
     "frame_tree.h",
+    "link_highlight.cc",
+    "link_highlight.h",
     "page.cc",
     "page.h",
     "page_animator.cc",
diff --git a/third_party/blink/renderer/core/page/link_highlight.cc b/third_party/blink/renderer/core/page/link_highlight.cc
new file mode 100644
index 0000000..0dd8ae9
--- /dev/null
+++ b/third_party/blink/renderer/core/page/link_highlight.cc
@@ -0,0 +1,120 @@
+// Copyright 2018 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/core/page/link_highlight.h"
+
+#include <memory>
+
+#include "cc/animation/animation_host.h"
+#include "cc/layers/picture_layer.h"
+#include "third_party/blink/public/platform/platform.h"
+#include "third_party/blink/renderer/core/dom/node.h"
+#include "third_party/blink/renderer/core/frame/local_frame.h"
+#include "third_party/blink/renderer/core/layout/layout_object.h"
+#include "third_party/blink/renderer/core/page/chrome_client.h"
+#include "third_party/blink/renderer/core/page/page.h"
+#include "third_party/blink/renderer/core/paint/link_highlight_impl.h"
+#include "third_party/blink/renderer/platform/animation/compositor_animation_timeline.h"
+
+namespace blink {
+
+LinkHighlight::LinkHighlight(Page& owner) : page_(&owner) {}
+
+LinkHighlight::~LinkHighlight() {
+  RemoveHighlight();
+}
+
+void LinkHighlight::Trace(blink::Visitor* visitor) {
+  visitor->Trace(page_);
+}
+
+void LinkHighlight::RemoveHighlight() {
+  if (impl_) {
+    if (timeline_)
+      timeline_->AnimationDestroyed(*impl_);
+    if (auto* node = impl_->GetNode()) {
+      if (auto* layout_object = node->GetLayoutObject())
+        layout_object->SetNeedsPaintPropertyUpdate();
+    }
+  }
+  impl_.reset();
+}
+
+void LinkHighlight::ResetForPageNavigation() {
+  RemoveHighlight();
+}
+
+void LinkHighlight::SetTapHighlight(Node* node) {
+  // Always clear any existing highlight when this is invoked, even if we
+  // don't get a new target to highlight.
+  RemoveHighlight();
+
+  if (!node || !node->GetLayoutObject())
+    return;
+
+  Color highlight_color =
+      node->GetLayoutObject()->StyleRef().TapHighlightColor();
+  // Safari documentation for -webkit-tap-highlight-color says if the
+  // specified color has 0 alpha, then tap highlighting is disabled.
+  // http://developer.apple.com/library/safari/#documentation/appleapplications/reference/safaricssref/articles/standardcssproperties.html
+  if (!highlight_color.Alpha())
+    return;
+
+  impl_ = std::make_unique<LinkHighlightImpl>(node);
+  if (timeline_)
+    timeline_->AnimationAttached(*impl_);
+  node->GetLayoutObject()->SetNeedsPaintPropertyUpdate();
+}
+
+LocalFrame* LinkHighlight::MainFrame() const {
+  return GetPage().MainFrame() && GetPage().MainFrame()->IsLocalFrame()
+             ? GetPage().DeprecatedLocalMainFrame()
+             : nullptr;
+}
+
+void LinkHighlight::StartHighlightAnimationIfNeeded() {
+  if (impl_)
+    impl_->StartHighlightAnimationIfNeeded();
+
+  if (auto* local_frame = MainFrame())
+    GetPage().GetChromeClient().ScheduleAnimation(local_frame->View());
+}
+
+void LinkHighlight::AnimationHostInitialized(
+    cc::AnimationHost& animation_host) {
+  animation_host_ = &animation_host;
+  if (Platform::Current()->IsThreadedAnimationEnabled()) {
+    timeline_ = std::make_unique<CompositorAnimationTimeline>();
+    animation_host_->AddAnimationTimeline(timeline_->GetAnimationTimeline());
+  }
+}
+
+void LinkHighlight::WillCloseAnimationHost() {
+  RemoveHighlight();
+  if (timeline_) {
+    animation_host_->RemoveAnimationTimeline(timeline_->GetAnimationTimeline());
+    timeline_.reset();
+  }
+  animation_host_ = nullptr;
+}
+
+bool LinkHighlight::NeedsHighlightEffectInternal(
+    const LayoutObject& object) const {
+  DCHECK(impl_);
+  if (auto* node = impl_->GetNode())
+    return node->GetLayoutObject() == &object;
+  return false;
+}
+
+void LinkHighlight::UpdatePrePaint() {
+  if (impl_)
+    impl_->UpdatePrePaint();
+}
+
+void LinkHighlight::Paint(GraphicsContext& context) const {
+  if (impl_)
+    impl_->Paint(context);
+}
+
+}  // namespace blink
diff --git a/third_party/blink/renderer/core/page/link_highlight.h b/third_party/blink/renderer/core/page/link_highlight.h
new file mode 100644
index 0000000..71cf8f1
--- /dev/null
+++ b/third_party/blink/renderer/core/page/link_highlight.h
@@ -0,0 +1,71 @@
+// Copyright 2018 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_CORE_PAGE_LINK_HIGHLIGHT_H_
+#define THIRD_PARTY_BLINK_RENDERER_CORE_PAGE_LINK_HIGHLIGHT_H_
+
+#include <memory>
+
+#include "third_party/blink/renderer/core/core_export.h"
+#include "third_party/blink/renderer/platform/graphics/compositor_element_id.h"
+#include "third_party/blink/renderer/platform/heap/handle.h"
+
+namespace cc {
+class AnimationHost;
+}
+
+namespace blink {
+class GraphicsContext;
+class Page;
+class LinkHighlightImpl;
+class CompositorAnimationTimeline;
+class LocalFrame;
+class LayoutObject;
+
+class CORE_EXPORT LinkHighlight final : public GarbageCollected<LinkHighlight> {
+ public:
+  explicit LinkHighlight(Page&);
+  virtual ~LinkHighlight();
+
+  virtual void Trace(blink::Visitor*);
+
+  void ResetForPageNavigation();
+
+  void SetTapHighlight(Node*);
+
+  void StartHighlightAnimationIfNeeded();
+
+  void AnimationHostInitialized(cc::AnimationHost&);
+  void WillCloseAnimationHost();
+
+  bool NeedsHighlightEffect(const LayoutObject& object) const {
+    return impl_ && NeedsHighlightEffectInternal(object);
+  }
+
+  void UpdatePrePaint();
+  void Paint(GraphicsContext&) const;
+
+ private:
+  friend class LinkHighlightImplTest;
+
+  void RemoveHighlight();
+
+  LocalFrame* MainFrame() const;
+
+  Page& GetPage() const {
+    DCHECK(page_);
+    return *page_;
+  }
+
+  bool NeedsHighlightEffectInternal(const LayoutObject& object) const;
+
+  Member<Page> page_;
+  std::unique_ptr<LinkHighlightImpl> impl_;
+  cc::AnimationHost* animation_host_ = nullptr;
+  std::unique_ptr<CompositorAnimationTimeline> timeline_;
+};
+
+}  // namespace blink
+
+#endif  // THIRD_PARTY_BLINK_RENDERER_CORE_PAGE_LINK_HIGHLIGHT_H_
diff --git a/third_party/blink/renderer/core/page/page.cc b/third_party/blink/renderer/core/page/page.cc
index baa9827..2f7939fb 100644
--- a/third_party/blink/renderer/core/page/page.cc
+++ b/third_party/blink/renderer/core/page/page.cc
@@ -37,7 +37,6 @@
 #include "third_party/blink/renderer/core/frame/dom_timer.h"
 #include "third_party/blink/renderer/core/frame/event_handler_registry.h"
 #include "third_party/blink/renderer/core/frame/frame_console.h"
-#include "third_party/blink/renderer/core/frame/link_highlights.h"
 #include "third_party/blink/renderer/core/frame/local_dom_window.h"
 #include "third_party/blink/renderer/core/frame/local_frame.h"
 #include "third_party/blink/renderer/core/frame/local_frame_client.h"
@@ -60,6 +59,7 @@
 #include "third_party/blink/renderer/core/page/context_menu_controller.h"
 #include "third_party/blink/renderer/core/page/drag_controller.h"
 #include "third_party/blink/renderer/core/page/focus_controller.h"
+#include "third_party/blink/renderer/core/page/link_highlight.h"
 #include "third_party/blink/renderer/core/page/page_hidden_state.h"
 #include "third_party/blink/renderer/core/page/plugin_data.h"
 #include "third_party/blink/renderer/core/page/plugins_changed_observer.h"
@@ -191,7 +191,7 @@
       overscroll_controller_(
           MakeGarbageCollected<OverscrollController>(GetVisualViewport(),
                                                      GetChromeClient())),
-      link_highlights_(MakeGarbageCollected<LinkHighlights>(*this)),
+      link_highlight_(MakeGarbageCollected<LinkHighlight>(*this)),
       plugin_data_(nullptr),
       // TODO(pdr): Initialize |validation_message_client_| lazily.
       validation_message_client_(
@@ -290,8 +290,8 @@
   return *overscroll_controller_;
 }
 
-LinkHighlights& Page::GetLinkHighlights() {
-  return *link_highlights_;
+LinkHighlight& Page::GetLinkHighlight() {
+  return *link_highlight_;
 }
 
 void Page::SetMainFrame(Frame* main_frame) {
@@ -782,7 +782,7 @@
     // Update |has_related_pages_| as features are reset after navigation.
     UpdateHasRelatedPages();
   }
-  GetLinkHighlights().ResetForPageNavigation();
+  GetLinkHighlight().ResetForPageNavigation();
 }
 
 void Page::AcceptLanguagesChanged() {
@@ -816,7 +816,7 @@
   visitor->Trace(global_root_scroller_controller_);
   visitor->Trace(visual_viewport_);
   visitor->Trace(overscroll_controller_);
-  visitor->Trace(link_highlights_);
+  visitor->Trace(link_highlight_);
   visitor->Trace(spatial_navigation_controller_);
   visitor->Trace(main_frame_);
   visitor->Trace(plugin_data_);
@@ -834,13 +834,13 @@
   if (GetScrollingCoordinator()) {
     GetScrollingCoordinator()->AnimationHostInitialized(animation_host, view);
   }
-  GetLinkHighlights().AnimationHostInitialized(animation_host);
+  GetLinkHighlight().AnimationHostInitialized(animation_host);
 }
 
 void Page::WillCloseAnimationHost(LocalFrameView* view) {
   if (scrolling_coordinator_)
     scrolling_coordinator_->WillCloseAnimationHost(view);
-  GetLinkHighlights().WillCloseAnimationHost();
+  GetLinkHighlight().WillCloseAnimationHost();
 }
 
 void Page::WillBeDestroyed() {
diff --git a/third_party/blink/renderer/core/page/page.h b/third_party/blink/renderer/core/page/page.h
index 0f17c421..e4a4c367 100644
--- a/third_party/blink/renderer/core/page/page.h
+++ b/third_party/blink/renderer/core/page/page.h
@@ -61,7 +61,7 @@
 class DragController;
 class FocusController;
 class Frame;
-class LinkHighlights;
+class LinkHighlight;
 class LocalFrame;
 class LocalFrameView;
 class MediaFeatureOverrides;
@@ -219,7 +219,7 @@
   VisualViewport& GetVisualViewport();
   const VisualViewport& GetVisualViewport() const;
 
-  LinkHighlights& GetLinkHighlights();
+  LinkHighlight& GetLinkHighlight();
 
   OverscrollController& GetOverscrollController();
   const OverscrollController& GetOverscrollController() const;
@@ -380,7 +380,7 @@
       global_root_scroller_controller_;
   const Member<VisualViewport> visual_viewport_;
   const Member<OverscrollController> overscroll_controller_;
-  const Member<LinkHighlights> link_highlights_;
+  const Member<LinkHighlight> link_highlight_;
   Member<SpatialNavigationController> spatial_navigation_controller_;
 
   Member<PluginData> plugin_data_;
diff --git a/third_party/blink/renderer/core/paint/compositing/composited_layer_mapping.cc b/third_party/blink/renderer/core/paint/compositing/composited_layer_mapping.cc
index fc15680d..13f8bc5 100644
--- a/third_party/blink/renderer/core/paint/compositing/composited_layer_mapping.cc
+++ b/third_party/blink/renderer/core/paint/compositing/composited_layer_mapping.cc
@@ -1863,7 +1863,7 @@
 }
 
 bool CompositedLayerMapping::NeedsToReparentOverflowControls() const {
-  return owning_layer_.NeedsReorderOverlayScrollbars();
+  return owning_layer_.NeedsReorderOverlayOverflowControls();
 }
 
 GraphicsLayer* CompositedLayerMapping::DetachLayerForOverflowControls() {
@@ -2413,7 +2413,7 @@
 void CompositedLayerMapping::GraphicsLayersDidChange() {
   LocalFrameView* frame_view = GetLayoutObject().GetFrameView();
   DCHECK(frame_view);
-  frame_view->GraphicsLayersDidChange();
+  frame_view->SetForeignLayerListNeedsUpdate();
 }
 
 bool CompositedLayerMapping::PaintBlockedByDisplayLockIncludingAncestors(
diff --git a/third_party/blink/renderer/core/paint/link_highlight_impl.cc b/third_party/blink/renderer/core/paint/link_highlight_impl.cc
index 5f3ae41..91a7a78 100644
--- a/third_party/blink/renderer/core/paint/link_highlight_impl.cc
+++ b/third_party/blink/renderer/core/paint/link_highlight_impl.cc
@@ -28,6 +28,7 @@
 #include <memory>
 #include <utility>
 
+#include "base/debug/stack_trace.h"
 #include "base/memory/ptr_util.h"
 #include "cc/layers/picture_layer.h"
 #include "cc/paint/display_item_list.h"
@@ -96,10 +97,6 @@
 
 LinkHighlightImpl::LinkHighlightImpl(Node* node)
     : node_(node),
-      current_graphics_layer_(nullptr),
-      is_scrolling_graphics_layer_(false),
-      offset_from_transform_node_(FloatPoint()),
-      geometry_needs_update_(false),
       is_animating_(false),
       start_time_(base::TimeTicks::Now()),
       element_id_(NewElementId()) {
@@ -110,11 +107,13 @@
   DCHECK(compositor_animation_);
   compositor_animation_->SetAnimationDelegate(this);
   compositor_animation_->AttachElement(element_id_);
-  geometry_needs_update_ = true;
 
   effect_ = EffectPaintPropertyNode::Create(
       EffectPaintPropertyNode::Root(),
       LinkHighlightEffectNodeState(kStartOpacity, element_id_));
+
+  SetPaintArtifactCompositorNeedsUpdate();
+
 #if DCHECK_IS_ON()
   effect_->SetDebugName("LinkHighlightEffect");
 #endif
@@ -126,7 +125,6 @@
   compositor_animation_->SetAnimationDelegate(nullptr);
   compositor_animation_.reset();
 
-  ClearGraphicsLayerLinkHighlightPointer();
   ReleaseResources();
 }
 
@@ -136,162 +134,10 @@
 
   if (auto* layout_object = node_->GetLayoutObject())
     layout_object->SetNeedsPaintPropertyUpdate();
-  else
-    SetPaintArtifactCompositorNeedsUpdate();
 
-  node_.Clear();
-}
-
-void LinkHighlightImpl::AttachLinkHighlightToCompositingLayer(
-    const LayoutBoxModelObject& paint_invalidation_container) {
-  DCHECK(!RuntimeEnabledFeatures::CompositeAfterPaintEnabled());
-
-  GraphicsLayer* new_graphics_layer =
-      paint_invalidation_container.Layer()->GraphicsLayerBacking(
-          node_->GetLayoutObject());
-  is_scrolling_graphics_layer_ = false;
-  // FIXME: There should always be a GraphicsLayer. See crbug.com/431961.
-  if (paint_invalidation_container.Layer()->NeedsCompositedScrolling() &&
-      node_->GetLayoutObject() != &paint_invalidation_container) {
-    is_scrolling_graphics_layer_ = true;
-  }
-  if (!new_graphics_layer) {
-    ClearGraphicsLayerLinkHighlightPointer();
-    return;
-  }
-
-  if (current_graphics_layer_ != new_graphics_layer) {
-    if (current_graphics_layer_)
-      ClearGraphicsLayerLinkHighlightPointer();
-
-    current_graphics_layer_ = new_graphics_layer;
-    current_graphics_layer_->AddLinkHighlight(this);
-  }
-}
-
-static void AddQuadToPath(const FloatQuad& quad, Path& path) {
-  // FIXME: Make this create rounded quad-paths, just like the axis-aligned
-  // case.
-  path.MoveTo(quad.P1());
-  path.AddLineTo(quad.P2());
-  path.AddLineTo(quad.P3());
-  path.AddLineTo(quad.P4());
-  path.CloseSubpath();
-}
-
-void LinkHighlightImpl::ComputeQuads(const Node& node,
-                                     Vector<FloatQuad>& out_quads) const {
-  DCHECK(!RuntimeEnabledFeatures::CompositeAfterPaintEnabled());
-
-  if (!node.GetLayoutObject())
-    return;
-
-  LayoutObject* layout_object = node.GetLayoutObject();
-
-  // For inline elements, absoluteQuads will return a line box based on the
-  // line-height and font metrics, which is technically incorrect as replaced
-  // elements like images should use their intristic height and expand the
-  // linebox  as needed. To get an appropriately sized highlight we descend
-  // into the children and have them add their boxes.
-  if (layout_object->IsLayoutInline()) {
-    for (Node* child = LayoutTreeBuilderTraversal::FirstChild(node); child;
-         child = LayoutTreeBuilderTraversal::NextSibling(*child))
-      ComputeQuads(*child, out_quads);
-  } else {
-    // FIXME: this does not need to be absolute, just in the paint invalidation
-    // container's space.
-    layout_object->AbsoluteQuads(out_quads, kTraverseDocumentBoundaries);
-  }
-}
-
-bool LinkHighlightImpl::ComputeHighlightLayerPathAndPosition(
-    const LayoutBoxModelObject& paint_invalidation_container) {
-  DCHECK(!RuntimeEnabledFeatures::CompositeAfterPaintEnabled());
-
-  if (!node_ || !node_->GetLayoutObject() || !current_graphics_layer_)
-    return false;
-
-  // FIXME: This is defensive code to avoid crashes such as those described in
-  // crbug.com/440887. This should be cleaned up once we fix the root cause of
-  // of the paint invalidation container not being composited.
-  if (!paint_invalidation_container.Layer()->GetCompositedLayerMapping() &&
-      !paint_invalidation_container.Layer()->GroupedMapping())
-    return false;
-
-  // Get quads for node in absolute coordinates.
-  Vector<FloatQuad> quads;
-  ComputeQuads(*node_, quads);
-  Path new_path;
-
-  for (wtf_size_t quad_index = 0; quad_index < quads.size(); ++quad_index) {
-    FloatQuad absolute_quad = quads[quad_index];
-
-    // Scrolling content layers have the same offset from layout object as the
-    // non-scrolling layers. Thus we need to adjust for their scroll offset.
-    if (is_scrolling_graphics_layer_) {
-      FloatPoint scroll_position = paint_invalidation_container.Layer()
-                                       ->GetScrollableArea()
-                                       ->ScrollPosition();
-      absolute_quad.Move(ToScrollOffset(scroll_position));
-    }
-
-    absolute_quad.SetP1(FloatPoint(RoundedIntPoint(absolute_quad.P1())));
-    absolute_quad.SetP2(FloatPoint(RoundedIntPoint(absolute_quad.P2())));
-    absolute_quad.SetP3(FloatPoint(RoundedIntPoint(absolute_quad.P3())));
-    absolute_quad.SetP4(FloatPoint(RoundedIntPoint(absolute_quad.P4())));
-    FloatQuad transformed_quad =
-        paint_invalidation_container.AbsoluteToLocalQuad(
-            absolute_quad, kTraverseDocumentBoundaries);
-
-    PaintLayer::MapQuadInPaintInvalidationContainerToBacking(
-        paint_invalidation_container, transformed_quad);
-
-    // Adjust for offset from LayoutObject.
-    PhysicalOffset offset_to_backing =
-        PhysicalOffset(-current_graphics_layer_->OffsetFromLayoutObject());
-
-    transformed_quad.Move(FloatSize(offset_to_backing));
-
-    // FIXME: for now, we'll only use rounded paths if we have a single node
-    // quad. The reason for this is that we may sometimes get a chain of
-    // adjacent boxes (e.g. for text nodes) which end up looking like sausage
-    // links: these should ideally be merged into a single rect before creating
-    // the path, but that's another CL.
-    if (quads.size() == 1 && transformed_quad.IsRectilinear() &&
-        !node_->GetDocument()
-             .GetSettings()
-             ->GetMockGestureTapHighlightsEnabled()) {
-      FloatSize rect_rounding_radii(3, 3);
-      new_path.AddRoundedRect(transformed_quad.BoundingBox(),
-                              rect_rounding_radii);
-    } else {
-      AddQuadToPath(transformed_quad, new_path);
-    }
-  }
-
-  FloatRect bounding_rect = new_path.BoundingRect();
-  new_path.Translate(-ToFloatSize(bounding_rect.Location()));
-
-  DCHECK_EQ(1u, fragments_.size());
-  fragments_[0].SetColor(
-      node_->GetLayoutObject()->StyleRef().TapHighlightColor());
-  auto* layer = fragments_[0].Layer();
-
-  bool path_has_changed = new_path != fragments_[0].GetPath();
-  if (path_has_changed) {
-    fragments_[0].SetPath(new_path);
-    layer->SetBounds(
-        static_cast<gfx::Size>(EnclosingIntRect(bounding_rect).Size()));
-  }
-
-  layer->SetPosition(bounding_rect.Location());
-
-  offset_from_transform_node_ =
-      FloatPoint(current_graphics_layer_->GetOffsetFromTransformNode());
-  offset_from_transform_node_.MoveBy(bounding_rect.Location());
   SetPaintArtifactCompositorNeedsUpdate();
 
-  return path_has_changed;
+  node_.Clear();
 }
 
 LinkHighlightImpl::LinkHighlightFragment::LinkHighlightFragment() {
@@ -374,23 +220,11 @@
       *curve, compositor_target_property::OPACITY, 0, 0);
 
   compositor_animation_->AddKeyframeModel(std::move(keyframe_model));
-
-  Invalidate();
 }
 
-void LinkHighlightImpl::ClearGraphicsLayerLinkHighlightPointer() {
-  if (current_graphics_layer_) {
-    current_graphics_layer_->RemoveLinkHighlight(this);
-    current_graphics_layer_ = nullptr;
-  }
-}
-
-void LinkHighlightImpl::NotifyAnimationStarted(double, int) {}
-
 void LinkHighlightImpl::NotifyAnimationFinished(double, int) {
   // Since WebViewImpl may hang on to us for a while, make sure we
   // release resources as soon as possible.
-  ClearGraphicsLayerLinkHighlightPointer();
   ReleaseResources();
 
   // Reset the link highlight opacity to clean up after the animation now that
@@ -398,76 +232,26 @@
   UpdateOpacity(kStartOpacity);
 }
 
-void LinkHighlightImpl::UpdateGeometry() {
-  DCHECK(!RuntimeEnabledFeatures::CompositeAfterPaintEnabled());
-
+void LinkHighlightImpl::UpdatePrePaint() {
   if (!node_ || !node_->GetLayoutObject() ||
-      node_->GetLayoutObject()->GetFrameView()->ShouldThrottleRendering()) {
-    ClearGraphicsLayerLinkHighlightPointer();
+      node_->GetLayoutObject()->GetFrameView()->ShouldThrottleRendering())
     ReleaseResources();
-    return;
-  }
-
-  // To avoid unnecessary updates (e.g. other entities have requested animations
-  // from our WebViewImpl), only proceed if we actually requested an update.
-  if (!geometry_needs_update_)
-    return;
-
-  geometry_needs_update_ = false;
-
-  const LayoutBoxModelObject& paint_invalidation_container =
-      node_->GetLayoutObject()->ContainerForPaintInvalidation();
-  AttachLinkHighlightToCompositingLayer(paint_invalidation_container);
-  if (ComputeHighlightLayerPathAndPosition(paint_invalidation_container)) {
-    // We only need to invalidate the layer if the highlight size has changed,
-    // otherwise we can just re-position the layer without needing to
-    // repaint.
-    Layer()->SetNeedsDisplay();
-
-    if (current_graphics_layer_) {
-      IntRect rect = IntRect(IntPoint(), IntSize(Layer()->bounds()));
-      current_graphics_layer_->TrackRasterInvalidation(
-          *this, rect, PaintInvalidationReason::kFullLayer);
-    }
-  }
-}
-
-void LinkHighlightImpl::ClearCurrentGraphicsLayer() {
-  current_graphics_layer_ = nullptr;
-  geometry_needs_update_ = true;
-}
-
-void LinkHighlightImpl::Invalidate() {
-  // Make sure we update geometry on the next callback from
-  // WebViewImpl::layout().
-  geometry_needs_update_ = true;
-}
-
-cc::Layer* LinkHighlightImpl::Layer() {
-  DCHECK(!RuntimeEnabledFeatures::CompositeAfterPaintEnabled());
-  DCHECK_EQ(1u, fragments_.size());
-  return fragments_[0].Layer();
 }
 
 CompositorAnimation* LinkHighlightImpl::GetCompositorAnimation() const {
   return compositor_animation_.get();
 }
 
-const EffectPaintPropertyNode& LinkHighlightImpl::Effect() const {
-  return *effect_;
-}
-
 void LinkHighlightImpl::Paint(GraphicsContext& context) {
-  DCHECK(RuntimeEnabledFeatures::CompositeAfterPaintEnabled());
-  if (!node_ || !node_->GetLayoutObject() ||
-      node_->GetLayoutObject()->GetFrameView()->ShouldThrottleRendering()) {
-    ReleaseResources();
+  if (!node_)
     return;
-  }
 
   const auto* object = node_->GetLayoutObject();
+  DCHECK(object);
+  DCHECK(!object->GetFrameView()->ShouldThrottleRendering());
+
   static const FloatSize rect_rounding_radii(3, 3);
-  auto color = node_->GetLayoutObject()->StyleRef().TapHighlightColor();
+  auto color = object->StyleRef().TapHighlightColor();
 
   // For now, we'll only use rounded rects if we have a single rect because
   // otherwise we may sometimes get a chain of adjacent boxes (e.g. for text
@@ -495,12 +279,8 @@
         new_path.AddRect(snapped_rect);
     }
 
-    if (index == fragments_.size()) {
+    if (index == fragments_.size())
       fragments_.emplace_back();
-      // PaintArtifactCompositor needs update for the new cc::PictureLayer we
-      // just created for the fragment.
-      SetPaintArtifactCompositorNeedsUpdate();
-    }
 
     auto& link_highlight_fragment = fragments_[index];
     link_highlight_fragment.SetColor(color);
@@ -532,10 +312,9 @@
 void LinkHighlightImpl::SetPaintArtifactCompositorNeedsUpdate() {
   DCHECK(node_);
   if (auto* frame_view = node_->GetDocument().View()) {
-    if (RuntimeEnabledFeatures::CompositeAfterPaintEnabled())
-      frame_view->SetPaintArtifactCompositorNeedsUpdate();
-    else
-      frame_view->GraphicsLayersDidChange();
+    frame_view->SetPaintArtifactCompositorNeedsUpdate();
+    if (!RuntimeEnabledFeatures::CompositeAfterPaintEnabled())
+      frame_view->SetForeignLayerListNeedsUpdate();
   }
 }
 
diff --git a/third_party/blink/renderer/core/paint/link_highlight_impl.h b/third_party/blink/renderer/core/paint/link_highlight_impl.h
index 8e75159..c777a84 100644
--- a/third_party/blink/renderer/core/paint/link_highlight_impl.h
+++ b/third_party/blink/renderer/core/paint/link_highlight_impl.h
@@ -35,7 +35,6 @@
 #include "third_party/blink/renderer/platform/animation/compositor_animation_delegate.h"
 #include "third_party/blink/renderer/platform/graphics/color.h"
 #include "third_party/blink/renderer/platform/graphics/compositor_element_id.h"
-#include "third_party/blink/renderer/platform/graphics/link_highlight.h"
 #include "third_party/blink/renderer/platform/graphics/path.h"
 #include "third_party/blink/renderer/platform/heap/persistent.h"
 #include "third_party/blink/renderer/platform/wtf/forward.h"
@@ -47,13 +46,11 @@
 
 namespace blink {
 
+class EffectPaintPropertyNode;
 class GraphicsContext;
-class GraphicsLayer;
-class LayoutBoxModelObject;
 class Node;
 
-class CORE_EXPORT LinkHighlightImpl final : public LinkHighlight,
-                                            public CompositorAnimationDelegate,
+class CORE_EXPORT LinkHighlightImpl final : public CompositorAnimationDelegate,
                                             public CompositorAnimationClient {
  public:
   explicit LinkHighlightImpl(Node*);
@@ -61,38 +58,21 @@
 
   void StartHighlightAnimationIfNeeded();
 
-  // Recalculates |path_| based on |node_|'s geometry and updates the link
-  // highlight layer. To avoid re-computing |path_|, a dirty bit is used
-  // (see |geometry_needs_update_| and |Invalidate()|) which is based on raster
-  // invalidation of the owning graphics layer.
-  void UpdateGeometry();
-
   // CompositorAnimationDelegate implementation.
-  void NotifyAnimationStarted(double monotonic_time, int group) override;
+  void NotifyAnimationStarted(double monotonic_time, int group) override {}
   void NotifyAnimationFinished(double monotonic_time, int group) override;
   void NotifyAnimationAborted(double monotonic_time, int group) override {}
 
-  // LinkHighlight implementation.
-  void Invalidate() override;
-  cc::Layer* Layer() override;
-  void ClearCurrentGraphicsLayer() override;
-  FloatPoint GetOffsetFromTransformNode() const override {
-    return offset_from_transform_node_;
-  }
-
   // CompositorAnimationClient implementation.
   CompositorAnimation* GetCompositorAnimation() const override;
 
-  GraphicsLayer* CurrentGraphicsLayerForTesting() const {
-    return current_graphics_layer_;
-  }
-
   Node* GetNode() const { return node_; }
 
   CompositorElementId ElementIdForTesting() const { return element_id_; }
 
-  const EffectPaintPropertyNode& Effect() const override;
+  const EffectPaintPropertyNode& Effect() const { return *effect_; }
 
+  void UpdatePrePaint();
   void Paint(GraphicsContext&);
 
   wtf_size_t FragmentCountForTesting() const { return fragments_.size(); }
@@ -101,18 +81,7 @@
   }
 
  private:
-  // TODO(crbug.com/967281): These NOINLINEs are for more accurate crash stack
-  // in the crash reports.
-  NOINLINE void ReleaseResources();
-  NOINLINE void ComputeQuads(const Node&, Vector<FloatQuad>&) const;
-
-  NOINLINE void AttachLinkHighlightToCompositingLayer(
-      const LayoutBoxModelObject& paint_invalidation_container);
-  NOINLINE void ClearGraphicsLayerLinkHighlightPointer();
-  // This function computes the highlight path, and returns true if it has
-  // changed size since the last call to this function.
-  NOINLINE bool ComputeHighlightLayerPathAndPosition(
-      const LayoutBoxModelObject&);
+  void ReleaseResources();
 
   void SetPaintArtifactCompositorNeedsUpdate();
   void UpdateOpacity(float opacity);
@@ -142,13 +111,9 @@
   Vector<LinkHighlightFragment> fragments_;
 
   Persistent<Node> node_;
-  GraphicsLayer* current_graphics_layer_;
-  bool is_scrolling_graphics_layer_;
   std::unique_ptr<CompositorAnimation> compositor_animation_;
   scoped_refptr<EffectPaintPropertyNode> effect_;
-  FloatPoint offset_from_transform_node_;
 
-  bool geometry_needs_update_;
   bool is_animating_;
   base::TimeTicks start_time_;
   CompositorElementId element_id_;
diff --git a/third_party/blink/renderer/core/paint/link_highlight_impl_test.cc b/third_party/blink/renderer/core/paint/link_highlight_impl_test.cc
index 5c291cc..e38a957 100644
--- a/third_party/blink/renderer/core/paint/link_highlight_impl_test.cc
+++ b/third_party/blink/renderer/core/paint/link_highlight_impl_test.cc
@@ -41,11 +41,11 @@
 #include "third_party/blink/renderer/core/events/web_input_event_conversion.h"
 #include "third_party/blink/renderer/core/exported/web_view_impl.h"
 #include "third_party/blink/renderer/core/frame/frame_test_helpers.h"
-#include "third_party/blink/renderer/core/frame/link_highlights.h"
 #include "third_party/blink/renderer/core/frame/local_frame_view.h"
 #include "third_party/blink/renderer/core/frame/web_local_frame_impl.h"
 #include "third_party/blink/renderer/core/input/event_handler.h"
 #include "third_party/blink/renderer/core/layout/layout_object.h"
+#include "third_party/blink/renderer/core/page/link_highlight.h"
 #include "third_party/blink/renderer/core/page/page.h"
 #include "third_party/blink/renderer/platform/animation/compositor_animation_timeline.h"
 #include "third_party/blink/renderer/platform/bindings/exception_state.h"
@@ -112,6 +112,21 @@
         WebWidget::LifecycleUpdateReason::kTest);
   }
 
+  LinkHighlight& GetLinkHighlight() {
+    return web_view_helper_.GetWebView()->GetPage()->GetLinkHighlight();
+  }
+
+  LinkHighlightImpl* GetLinkHighlightImpl() {
+    return GetLinkHighlight().impl_.get();
+  }
+
+  cc::AnimationHost* GetAnimationHost() {
+    EXPECT_EQ(
+        GetLinkHighlight().timeline_->GetAnimationTimeline()->animation_host(),
+        GetLinkHighlight().animation_host_);
+    return GetLinkHighlight().animation_host_;
+  }
+
   frame_test_helpers::WebViewHelper web_view_helper_;
 };
 
@@ -142,32 +157,28 @@
   // Shouldn't crash.
   web_view_impl->EnableTapHighlightAtPoint(GetTargetedEvent(touch_event));
 
-  const auto& highlights =
-      web_view_impl->GetPage()->GetLinkHighlights().link_highlights_;
-  EXPECT_TRUE(highlights.at(0));
-  EXPECT_EQ(1u, highlights.at(0)->FragmentCountForTesting());
-  EXPECT_TRUE(highlights.at(0)->LayerForTesting(0));
+  const auto* highlight = GetLinkHighlightImpl();
+  EXPECT_TRUE(highlight);
+  EXPECT_EQ(1u, highlight->FragmentCountForTesting());
+  EXPECT_TRUE(highlight->LayerForTesting(0));
 
   // Find a target inside a scrollable div
   touch_event.SetPositionInWidget(WebFloatPoint(20, 100));
   web_view_impl->EnableTapHighlightAtPoint(GetTargetedEvent(touch_event));
-  ASSERT_TRUE(highlights.at(0));
+  ASSERT_TRUE(highlight);
 
   // Enesure the timeline was added to a host.
-  EXPECT_TRUE(!!web_view_impl->GetPage()
-                    ->GetLinkHighlights()
-                    .timeline_->GetAnimationTimeline()
-                    ->animation_host());
+  EXPECT_TRUE(GetAnimationHost());
 
   // Don't highlight if no "hand cursor"
   touch_event.SetPositionInWidget(
       WebFloatPoint(20, 220));  // An A-link with cross-hair cursor.
   web_view_impl->EnableTapHighlightAtPoint(GetTargetedEvent(touch_event));
-  ASSERT_EQ(0U, highlights.size());
+  EXPECT_FALSE(GetLinkHighlightImpl());
 
   touch_event.SetPositionInWidget(WebFloatPoint(20, 260));  // A text input box.
   web_view_impl->EnableTapHighlightAtPoint(GetTargetedEvent(touch_event));
-  ASSERT_EQ(0U, highlights.size());
+  EXPECT_FALSE(GetLinkHighlightImpl());
 }
 
 TEST_P(LinkHighlightImplTest, resetDuringNodeRemoval) {
@@ -189,31 +200,16 @@
   ASSERT_TRUE(touch_node);
 
   web_view_impl->EnableTapHighlightAtPoint(targeted_event);
-  const auto& highlights = web_view_impl->GetPage()->GetLinkHighlights();
-  ASSERT_EQ(1u, highlights.link_highlights_.size());
-  ASSERT_TRUE(highlights.link_highlights_.at(0));
-  EXPECT_EQ(touch_node, highlights.link_highlights_.at(0)->GetNode());
-
-  GraphicsLayer* highlight_layer;
-  if (!RuntimeEnabledFeatures::CompositeAfterPaintEnabled()) {
-    highlight_layer =
-        highlights.link_highlights_.at(0)->CurrentGraphicsLayerForTesting();
-    ASSERT_TRUE(highlight_layer);
-    EXPECT_TRUE(highlight_layer->GetLinkHighlights().at(0));
-  }
+  const auto* highlight = GetLinkHighlightImpl();
+  ASSERT_TRUE(highlight);
+  EXPECT_EQ(touch_node, highlight->GetNode());
 
   touch_node->remove(IGNORE_EXCEPTION_FOR_TESTING);
   UpdateAllLifecyclePhases();
 
-  ASSERT_EQ(1u, highlights.link_highlights_.size());
-  ASSERT_TRUE(highlights.link_highlights_.at(0));
-  EXPECT_FALSE(highlights.link_highlights_.at(0)->GetNode());
-
-  if (!RuntimeEnabledFeatures::CompositeAfterPaintEnabled()) {
-    EXPECT_EQ(0U, highlight_layer->GetLinkHighlights().size());
-    EXPECT_FALSE(
-        highlights.link_highlights_.at(0)->CurrentGraphicsLayerForTesting());
-  }
+  ASSERT_EQ(highlight, GetLinkHighlightImpl());
+  ASSERT_TRUE(highlight);
+  EXPECT_FALSE(highlight->GetNode());
 }
 
 // A lifetime test: delete LayerTreeView while running LinkHighlights.
@@ -236,56 +232,7 @@
   ASSERT_TRUE(touch_node);
 
   web_view_impl->EnableTapHighlightAtPoint(targeted_event);
-  const auto& highlights =
-      web_view_impl->GetPage()->GetLinkHighlights().link_highlights_;
-  ASSERT_TRUE(highlights.at(0));
-
-  if (!RuntimeEnabledFeatures::CompositeAfterPaintEnabled()) {
-    GraphicsLayer* highlight_layer =
-        highlights.at(0)->CurrentGraphicsLayerForTesting();
-    ASSERT_TRUE(highlight_layer);
-    EXPECT_TRUE(highlight_layer->GetLinkHighlights().at(0));
-  }
-}
-
-TEST_P(LinkHighlightImplTest, HighlightInvalidation) {
-  // This test requires GraphicsLayers which are not used in
-  // CompositeAfterPaint.
-  if (RuntimeEnabledFeatures::CompositeAfterPaintEnabled())
-    return;
-
-  WebViewImpl* web_view_impl = web_view_helper_.GetWebView();
-  web_view_impl->MainFrameWidget()->Resize(WebSize(640, 480));
-  UpdateAllLifecyclePhases();
-
-  WebGestureEvent touch_event(WebInputEvent::kGestureShowPress,
-                              WebInputEvent::kNoModifiers,
-                              WebInputEvent::GetStaticTimeStampForTests(),
-                              WebGestureDevice::kTouchscreen);
-  touch_event.SetPositionInWidget(WebFloatPoint(20, 20));
-  GestureEventWithHitTestResults targeted_event = GetTargetedEvent(touch_event);
-  auto* touch_element = To<Element>(web_view_impl->BestTapNode(targeted_event));
-  web_view_impl->EnableTapHighlightAtPoint(targeted_event);
-
-  web_view_helper_.LocalMainFrame()
-      ->GetFrameView()
-      ->SetTracksPaintInvalidations(true);
-
-  // Change the touched element's height to 12px.
-  auto& style = touch_element->getAttribute(html_names::kStyleAttr);
-  StringBuilder new_style;
-  new_style.Append(style.GetString());
-  new_style.Append("height: 12px;");
-  touch_element->setAttribute(html_names::kStyleAttr,
-                              new_style.ToAtomicString());
-  UpdateAllLifecyclePhases();
-
-  const auto& highlights =
-      web_view_impl->GetPage()->GetLinkHighlights().link_highlights_;
-  auto* highlight_layer = highlights.at(0)->CurrentGraphicsLayerForTesting();
-  const auto* tracking = highlight_layer->GetRasterInvalidationTracking();
-  // The invalidation rect should fully cover the layer.
-  EXPECT_EQ(tracking->Invalidations().back().rect, IntRect(0, 0, 200, 12));
+  ASSERT_TRUE(GetLinkHighlightImpl());
 }
 
 TEST_P(LinkHighlightImplTest, HighlightLayerEffectNode) {
@@ -314,8 +261,7 @@
   // The highlight should create one additional layer.
   EXPECT_EQ(layer_count_before_highlight + 1, ContentLayerCount());
 
-  auto& highlights = web_view_impl->GetPage()->GetLinkHighlights();
-  auto* highlight = highlights.link_highlights_.at(0).get();
+  const auto* highlight = GetLinkHighlightImpl();
   ASSERT_TRUE(highlight);
 
   // Check that the link highlight cc layer has a cc effect property tree node.
@@ -342,7 +288,7 @@
   // After starting the highlight animation the effect node's opacity should
   // be 0.f as it will be overridden bt the animation but may become visible
   // before the animation is destructed. See https://crbug.com/974160
-  highlights.StartHighlightAnimationIfNeeded();
+  GetLinkHighlight().StartHighlightAnimationIfNeeded();
   EXPECT_EQ(0.f, highlight->Effect().Opacity());
   EXPECT_TRUE(highlight->Effect().HasActiveOpacityAnimation());
 
@@ -378,10 +324,7 @@
 
   web_view_impl->EnableTapHighlightAtPoint(targeted_event);
 
-  const auto& highlights =
-      web_view_impl->GetPage()->GetLinkHighlights().link_highlights_;
-  EXPECT_EQ(1u, highlights.size());
-  const auto* highlight = highlights.at(0).get();
+  const auto* highlight = GetLinkHighlightImpl();
   ASSERT_TRUE(highlight);
 
   // The link highlight cc effect node should correspond to the blink effect
@@ -405,18 +348,11 @@
                                      [highlight->ElementIdForTesting()]);
   };
 
-  if (RuntimeEnabledFeatures::CompositeAfterPaintEnabled()) {
-    // The highlight should create 2 additional layer, each for each fragment.
-    EXPECT_EQ(layer_count_before_highlight + 2, ContentLayerCount());
-    EXPECT_EQ(2u, highlight->FragmentCountForTesting());
-    check_layer(highlight->LayerForTesting(0));
-    check_layer(highlight->LayerForTesting(1));
-  } else {
-    // The highlight should create 1 additional layer covering both fragments.
-    EXPECT_EQ(layer_count_before_highlight + 1, ContentLayerCount());
-    EXPECT_EQ(1u, highlight->FragmentCountForTesting());
-    check_layer(highlight->LayerForTesting(0));
-  }
+  // The highlight should create 2 additional layer, each for each fragment.
+  EXPECT_EQ(layer_count_before_highlight + 2, ContentLayerCount());
+  EXPECT_EQ(2u, highlight->FragmentCountForTesting());
+  check_layer(highlight->LayerForTesting(0));
+  check_layer(highlight->LayerForTesting(1));
 
   touch_node->remove(IGNORE_EXCEPTION_FOR_TESTING);
   UpdateAllLifecyclePhases();
@@ -424,103 +360,4 @@
   EXPECT_EQ(layer_count_before_highlight, ContentLayerCount());
 }
 
-class LinkHighlightSquashingImplTest : public testing::Test,
-                                       public PaintTestConfigurations {
- protected:
-  GestureEventWithHitTestResults GetTargetedEvent(
-      WebGestureEvent& touch_event) {
-    WebGestureEvent scaled_event = TransformWebGestureEvent(
-        web_view_helper_.GetWebView()->MainFrameImpl()->GetFrameView(),
-        touch_event);
-    return web_view_helper_.GetWebView()
-        ->GetPage()
-        ->DeprecatedLocalMainFrame()
-        ->GetEventHandler()
-        .TargetGestureEvent(scaled_event, true);
-  }
-
-  void SetUp() override {
-    // TODO(crbug.com/751425): We should use the mock functionality
-    // via |web_view_helper_|.
-    WebURL url = url_test_helpers::RegisterMockedURLLoadFromBase(
-        WebString::FromUTF8("http://www.test.com/"), test::CoreTestDataPath(),
-        WebString::FromUTF8("test_touch_link_highlight_squashing.html"));
-    web_view_helper_.InitializeAndLoad(url.GetString().Utf8());
-  }
-
-  void TearDown() override {
-    url_test_helpers::UnregisterAllURLsAndClearMemoryCache();
-
-    // Ensure we fully clean up while scoped settings are enabled. Without this,
-    // garbage collection would occur after Scoped[setting]ForTest is out of
-    // scope, so the settings would not apply in some destructors.
-    web_view_helper_.Reset();
-    ThreadState::Current()->CollectAllGarbageForTesting();
-  }
-
-  size_t ContentLayerCount() {
-    // paint_artifact_compositor()->EnableExtraDataForTesting() should be called
-    // before using this function.
-    DCHECK(paint_artifact_compositor()->GetExtraDataForTesting());
-    return paint_artifact_compositor()
-        ->GetExtraDataForTesting()
-        ->content_layers.size();
-  }
-
-  PaintArtifactCompositor* paint_artifact_compositor() {
-    auto* local_frame_view = web_view_helper_.LocalMainFrame()->GetFrameView();
-    return local_frame_view->GetPaintArtifactCompositor();
-  }
-
-  void UpdateAllLifecyclePhases() {
-    web_view_helper_.GetWebView()->MainFrameWidget()->UpdateAllLifecyclePhases(
-        WebWidget::LifecycleUpdateReason::kTest);
-  }
-
-  frame_test_helpers::WebViewHelper web_view_helper_;
-};
-
-INSTANTIATE_PAINT_TEST_SUITE_P(LinkHighlightSquashingImplTest);
-
-TEST_P(LinkHighlightSquashingImplTest, SquashingLayer) {
-  if (RuntimeEnabledFeatures::CompositeAfterPaintEnabled())
-    return;
-
-  bool was_running_web_test = WebTestSupport::IsRunningWebTest();
-  WebTestSupport::SetIsRunningWebTest(false);
-  int page_width = 640;
-  int page_height = 480;
-  WebViewImpl* web_view_impl = web_view_helper_.GetWebView();
-  web_view_impl->MainFrameWidget()->Resize(WebSize(page_width, page_height));
-
-  paint_artifact_compositor()->EnableExtraDataForTesting();
-  UpdateAllLifecyclePhases();
-  size_t layer_count_before_highlight = ContentLayerCount();
-  WebGestureEvent touch_event(WebInputEvent::kGestureShowPress,
-                              WebInputEvent::kNoModifiers,
-                              WebInputEvent::GetStaticTimeStampForTests(),
-                              WebGestureDevice::kTouchscreen);
-  touch_event.SetPositionInWidget(WebFloatPoint(100, 100));
-
-  GestureEventWithHitTestResults targeted_event = GetTargetedEvent(touch_event);
-  Node* touch_node = web_view_impl->BestTapNode(targeted_event);
-  ASSERT_TRUE(touch_node);
-
-  web_view_impl->EnableTapHighlightAtPoint(targeted_event);
-  // The highlight should create one additional layer.
-  EXPECT_EQ(layer_count_before_highlight + 1, ContentLayerCount());
-
-  auto& highlights = web_view_impl->GetPage()->GetLinkHighlights();
-  auto* highlight = highlights.link_highlights_.at(0).get();
-  ASSERT_TRUE(highlight);
-
-  // Check that the link highlight cc layer has a cc effect property tree node.
-  EXPECT_EQ(1u, highlight->FragmentCountForTesting());
-  auto* layer = highlight->LayerForTesting(0);
-
-  EXPECT_EQ(gfx::Size(256, 256), layer->bounds());
-
-  WebTestSupport::SetIsRunningWebTest(was_running_web_test);
-}
-
 }  // namespace blink
diff --git a/third_party/blink/renderer/core/paint/ng/ng_box_fragment_painter.cc b/third_party/blink/renderer/core/paint/ng/ng_box_fragment_painter.cc
index 712c12d..8230ad6 100644
--- a/third_party/blink/renderer/core/paint/ng/ng_box_fragment_painter.cc
+++ b/third_party/blink/renderer/core/paint/ng/ng_box_fragment_painter.cc
@@ -1236,6 +1236,8 @@
 }
 
 LayoutRectOutsets NGBoxFragmentPainter::ComputeBorders() const {
+  if (box_fragment_.GetLayoutObject()->IsTableCell())
+    return ToLayoutBox(box_fragment_.GetLayoutObject())->BorderBoxOutsets();
   return BoxStrutToLayoutRectOutsets(PhysicalFragment().BorderWidths());
 }
 
diff --git a/third_party/blink/renderer/core/paint/paint_invalidator.cc b/third_party/blink/renderer/core/paint/paint_invalidator.cc
index a1293f9..358f04b 100644
--- a/third_party/blink/renderer/core/paint/paint_invalidator.cc
+++ b/third_party/blink/renderer/core/paint/paint_invalidator.cc
@@ -16,6 +16,8 @@
 #include "third_party/blink/renderer/core/layout/layout_view.h"
 #include "third_party/blink/renderer/core/layout/ng/legacy_layout_tree_walking.h"
 #include "third_party/blink/renderer/core/layout/svg/svg_layout_support.h"
+#include "third_party/blink/renderer/core/page/link_highlight.h"
+#include "third_party/blink/renderer/core/page/page.h"
 #include "third_party/blink/renderer/core/paint/clip_path_clipper.h"
 #include "third_party/blink/renderer/core/paint/find_paint_offset_and_visual_rect_needing_update.h"
 #include "third_party/blink/renderer/core/paint/ng/ng_paint_fragment.h"
@@ -334,6 +336,16 @@
   if (!object.ShouldCheckForPaintInvalidation() && !context.NeedsSubtreeWalk())
     return false;
 
+  if (!RuntimeEnabledFeatures::CompositeAfterPaintEnabled() &&
+      object.GetFrame()->GetPage()->GetLinkHighlight().NeedsHighlightEffect(
+          object)) {
+    // We need to recollect the foreign layers for link highlight when the
+    // geometry of the highlights may change. CompositeAfterPaint doesn't
+    // need this because we collect foreign layers during
+    // LocalFrameView::PaintTree() which is not controlled by the flag.
+    object.GetFrameView()->SetForeignLayerListNeedsUpdate();
+  }
+
   unsigned tree_builder_index = 0;
 
   for (auto* fragment_data = &object.GetMutableForPainting().FirstFragment();
diff --git a/third_party/blink/renderer/core/paint/paint_layer.cc b/third_party/blink/renderer/core/paint/paint_layer.cc
index 15c61a01..645ce72 100644
--- a/third_party/blink/renderer/core/paint/paint_layer.cc
+++ b/third_party/blink/renderer/core/paint/paint_layer.cc
@@ -177,7 +177,7 @@
       needs_compositing_layer_assignment_(false),
       descendant_needs_compositing_layer_assignment_(false),
       has_self_painting_layer_descendant_(false),
-      needs_reorder_overlay_scrollbars_(false),
+      needs_reorder_overlay_overflow_controls_(false),
 #if DCHECK_IS_ON()
       layer_list_mutation_allowed_(true),
 #endif
@@ -227,7 +227,7 @@
   // PaintLayerScrollableArea::WillRemoveScrollbar() from dirtying the z-order
   // list of the stacking context. If this layer is removed from the parent,
   // the z-order list should have been invalidated in RemoveChild().
-  needs_reorder_overlay_scrollbars_ = false;
+  needs_reorder_overlay_overflow_controls_ = false;
 
   if (scrollable_area_)
     scrollable_area_->Dispose();
diff --git a/third_party/blink/renderer/core/paint/paint_layer.h b/third_party/blink/renderer/core/paint/paint_layer.h
index 509f5953..2eb6f7ec 100644
--- a/third_party/blink/renderer/core/paint/paint_layer.h
+++ b/third_party/blink/renderer/core/paint/paint_layer.h
@@ -886,9 +886,10 @@
     return has_self_painting_layer_descendant_;
   }
 
-  // See PaintLayerStackingNode::layer_to_overlay_scrollbars_painting_after_.
-  bool NeedsReorderOverlayScrollbars() const {
-    return needs_reorder_overlay_scrollbars_;
+  // See
+  // PaintLayerStackingNode::layer_to_overlay_overflow_controls_painting_after_.
+  bool NeedsReorderOverlayOverflowControls() const {
+    return needs_reorder_overlay_overflow_controls_;
   }
 
   // Returns true if there is a descendant with blend-mode that is
@@ -1283,8 +1284,8 @@
   // PaintLayerPaintOrderIterator.
   PaintLayerStackingNode* StackingNode() const { return stacking_node_.get(); }
 
-  void SetNeedsReorderOverlayScrollbars(bool b) {
-    needs_reorder_overlay_scrollbars_ = b;
+  void SetNeedsReorderOverlayOverflowControls(bool b) {
+    needs_reorder_overlay_overflow_controls_ = b;
   }
 
   // Self-painting layer is an optimization where we avoid the heavy Layer
@@ -1366,7 +1367,7 @@
 
   unsigned has_self_painting_layer_descendant_ : 1;
 
-  unsigned needs_reorder_overlay_scrollbars_ : 1;
+  unsigned needs_reorder_overlay_overflow_controls_ : 1;
 
 #if DCHECK_IS_ON()
   mutable unsigned layer_list_mutation_allowed_ : 1;
diff --git a/third_party/blink/renderer/core/paint/paint_layer_paint_order_iterator.h b/third_party/blink/renderer/core/paint/paint_layer_paint_order_iterator.h
index 5bd84d94..19aa595 100644
--- a/third_party/blink/renderer/core/paint/paint_layer_paint_order_iterator.h
+++ b/third_party/blink/renderer/core/paint/paint_layer_paint_order_iterator.h
@@ -57,11 +57,11 @@
 
   PaintLayer* Next();
 
-  const Vector<PaintLayer*>* LayersPaintingOverlayScrollbarsAfter(
+  const Vector<PaintLayer*>* LayersPaintingOverlayOverflowControlsAfter(
       const PaintLayer* layer) const {
     return root_.stacking_node_
-               ? root_.stacking_node_->LayersPaintingOverlayScrollbarsAfter(
-                     layer)
+               ? root_.stacking_node_
+                     ->LayersPaintingOverlayOverflowControlsAfter(layer)
                : nullptr;
   }
 
diff --git a/third_party/blink/renderer/core/paint/paint_layer_painter.cc b/third_party/blink/renderer/core/paint/paint_layer_painter.cc
index 37d0d69..51b5d4ec 100644
--- a/third_party/blink/renderer/core/paint/paint_layer_painter.cc
+++ b/third_party/blink/renderer/core/paint/paint_layer_painter.cc
@@ -146,8 +146,8 @@
   if (painting_info.GetGlobalPaintFlags() &
       kGlobalPaintFlattenCompositingLayers)
     return false;
-  if (paint_flags &
-      (kPaintLayerPaintingOverlayScrollbars | kPaintLayerUncachedClipRects))
+  if (paint_flags & (kPaintLayerPaintingOverlayOverflowControls |
+                     kPaintLayerUncachedClipRects))
     return false;
 
   return true;
@@ -337,8 +337,8 @@
   AdjustForPaintProperties(context, painting_info, paint_flags);
 
   bool is_self_painting_layer = paint_layer_.IsSelfPaintingLayer();
-  bool is_painting_overlay_scrollbars =
-      paint_flags & kPaintLayerPaintingOverlayScrollbars;
+  bool is_painting_overlay_overflow_controls =
+      paint_flags & kPaintLayerPaintingOverlayOverflowControls;
   bool is_painting_scrolling_content =
       paint_flags & kPaintLayerPaintingCompositingScrollingPhase;
   bool is_painting_composited_foreground =
@@ -355,7 +355,7 @@
   // It is painted as part of the decoration phase which paints content that
   // is not scrolled and should be above scrolled content.
   bool should_paint_self_outline =
-      is_self_painting_layer && !is_painting_overlay_scrollbars &&
+      is_self_painting_layer && !is_painting_overlay_overflow_controls &&
       (is_painting_composited_decoration ||
        (!is_painting_overflow_contents && !is_painting_mask)) &&
       paint_layer_.GetLayoutObject().StyleRef().HasOutline();
@@ -415,12 +415,12 @@
       // painting. Foreign content should never paint in this situation, as it
       // is primary, not auxiliary.
       !paint_layer_.IsUnderSVGHiddenContainer() && is_self_painting_layer &&
-      !is_painting_overlay_scrollbars;
+      !is_painting_overlay_overflow_controls;
 
   PaintLayerFragments layer_fragments;
 
   if (should_paint_content || should_paint_self_outline ||
-      is_painting_overlay_scrollbars) {
+      is_painting_overlay_overflow_controls) {
     // Collect the fragments. This will compute the clip rectangles and paint
     // offsets for each layer fragment.
     paint_layer_.CollectFragments(
@@ -457,13 +457,14 @@
          (is_painting_root_layer &&
           !(paint_flags & kPaintLayerPaintingSkipRootBackground)));
     bool should_paint_neg_z_order_list =
-        !is_painting_overlay_scrollbars &&
+        !is_painting_overlay_overflow_controls &&
         (is_painting_scrolling_content ? is_painting_overflow_contents
                                        : is_painting_composited_background);
     bool should_paint_own_contents =
         is_painting_composited_foreground && should_paint_content;
     bool should_paint_normal_flow_and_pos_z_order_lists =
-        is_painting_composited_foreground && !is_painting_overlay_scrollbars;
+        is_painting_composited_foreground &&
+        !is_painting_overlay_overflow_controls;
     bool is_video = paint_layer_.GetLayoutObject().IsVideo();
 
     base::Optional<ScopedPaintChunkProperties>
@@ -524,8 +525,8 @@
 
     if (paint_layer_.GetScrollableArea() &&
         paint_layer_.GetScrollableArea()->HasOverlayOverflowControls()) {
-      if (is_painting_overlay_scrollbars ||
-          !paint_layer_.NeedsReorderOverlayScrollbars()) {
+      if (is_painting_overlay_overflow_controls ||
+          !paint_layer_.NeedsReorderOverlayOverflowControls()) {
         PaintOverlayOverflowControlsForFragments(
             layer_fragments, context, local_painting_info, paint_flags);
       }
@@ -538,7 +539,7 @@
                                    local_painting_info, paint_flags);
     }
 
-    if (!is_painting_overlay_scrollbars) {
+    if (!is_painting_overlay_overflow_controls) {
       // For filters, if the layer painted nothing, we need to issue a no-op
       // display item to ensure the filters won't be ignored. For backdrop
       // filters, we issue the display item regardless of other paintings to
@@ -659,14 +660,15 @@
         kMayBeClippedByCullRect)
       result = kMayBeClippedByCullRect;
 
-    if (const auto* layers_painting_overlay_scrollbars_after =
-            iterator.LayersPaintingOverlayScrollbarsAfter(child)) {
-      for (auto* reparent_scrollbar_layer :
-           *layers_painting_overlay_scrollbars_after) {
-        DCHECK(reparent_scrollbar_layer->NeedsReorderOverlayScrollbars());
-        if (PaintLayerPainter(*reparent_scrollbar_layer)
+    if (const auto* layers_painting_overlay_overflow_controls_after =
+            iterator.LayersPaintingOverlayOverflowControlsAfter(child)) {
+      for (auto* reparent_overflow_controls_layer :
+           *layers_painting_overlay_overflow_controls_after) {
+        DCHECK(reparent_overflow_controls_layer
+                   ->NeedsReorderOverlayOverflowControls());
+        if (PaintLayerPainter(*reparent_overflow_controls_layer)
                 .Paint(context, painting_info,
-                       kPaintLayerPaintingOverlayScrollbars) ==
+                       kPaintLayerPaintingOverlayOverflowControls) ==
             kMayBeClippedByCullRect)
           result = kMayBeClippedByCullRect;
       }
@@ -861,13 +863,13 @@
                   });
 }
 
-void PaintLayerPainter::PaintOverlayScrollbars(
+void PaintLayerPainter::PaintOverlayOverflowControls(
     GraphicsContext& context,
     const CullRect& cull_rect,
     const GlobalPaintFlags paint_flags) {
   PaintLayerPaintingInfo painting_info(&paint_layer_, cull_rect, paint_flags,
                                        PhysicalOffset());
-  Paint(context, painting_info, kPaintLayerPaintingOverlayScrollbars);
+  Paint(context, painting_info, kPaintLayerPaintingOverlayOverflowControls);
 }
 
 void PaintLayerPainter::FillMaskingFragment(GraphicsContext& context,
diff --git a/third_party/blink/renderer/core/paint/paint_layer_painter.h b/third_party/blink/renderer/core/paint/paint_layer_painter.h
index 7eef065..e61f2ce 100644
--- a/third_party/blink/renderer/core/paint/paint_layer_painter.h
+++ b/third_party/blink/renderer/core/paint/paint_layer_painter.h
@@ -49,9 +49,9 @@
                                  const PaintLayerPaintingInfo&,
                                  PaintLayerFlags);
 
-  void PaintOverlayScrollbars(GraphicsContext&,
-                              const CullRect&,
-                              const GlobalPaintFlags);
+  void PaintOverlayOverflowControls(GraphicsContext&,
+                                    const CullRect&,
+                                    const GlobalPaintFlags);
 
   // Returns true if the painted output of this PaintLayer and its children is
   // invisible and therefore can't impact painted output.
diff --git a/third_party/blink/renderer/core/paint/paint_layer_painting_info.h b/third_party/blink/renderer/core/paint/paint_layer_painting_info.h
index 2c5c0bc..75dbb3da 100644
--- a/third_party/blink/renderer/core/paint/paint_layer_painting_info.h
+++ b/third_party/blink/renderer/core/paint/paint_layer_painting_info.h
@@ -64,7 +64,7 @@
   kPaintLayerNoFlag = 0,
   kPaintLayerHaveTransparency = 1,
   kPaintLayerUncachedClipRects = 1 << 2,
-  kPaintLayerPaintingOverlayScrollbars = 1 << 3,
+  kPaintLayerPaintingOverlayOverflowControls = 1 << 3,
   kPaintLayerPaintingCompositingBackgroundPhase = 1 << 4,
   kPaintLayerPaintingCompositingForegroundPhase = 1 << 5,
   kPaintLayerPaintingCompositingMaskPhase = 1 << 6,
@@ -139,8 +139,8 @@
     append("kPaintLayerHaveTransparency");
   if (flags & kPaintLayerUncachedClipRects)
     append("kPaintLayerUncachedClipRects");
-  if (flags & kPaintLayerPaintingOverlayScrollbars)
-    append("kPaintLayerPaintingOverlayScrollbars");
+  if (flags & kPaintLayerPaintingOverlayOverflowControls)
+    append("kPaintLayerPaintingOverlayOverflowControls");
   if (flags & kPaintLayerPaintingCompositingScrollingPhase)
     append("kPaintLayerPaintingCompositingScrollingPhase");
   if (flags & kPaintLayerPaintingOverflowContents)
diff --git a/third_party/blink/renderer/core/paint/paint_layer_scrollable_area.cc b/third_party/blink/renderer/core/paint/paint_layer_scrollable_area.cc
index 7f9115a..ca7dea3 100644
--- a/third_party/blink/renderer/core/paint/paint_layer_scrollable_area.cc
+++ b/third_party/blink/renderer/core/paint/paint_layer_scrollable_area.cc
@@ -1689,8 +1689,7 @@
 }
 
 void PaintLayerScrollableArea::UpdateScrollCornerStyle() {
-  bool can_update = HasScrollbar() && !HasOverlayScrollbars();
-  if (!can_update) {
+  if (!HasNonOverlayOverflowControls()) {
     if (scroll_corner_) {
       scroll_corner_->Destroy();
       scroll_corner_ = nullptr;
@@ -2644,7 +2643,7 @@
 void PaintLayerScrollableArea::WillRemoveScrollbar(
     Scrollbar& scrollbar,
     ScrollbarOrientation orientation) {
-  if (layer_->NeedsReorderOverlayScrollbars()) {
+  if (layer_->NeedsReorderOverlayOverflowControls()) {
     // Z-order of reparented scrollbar is updated along with the z-order lists.
     DCHECK(scrollbar.IsOverlayScrollbar());
     layer_->DirtyStackingContextZOrderLists();
@@ -2689,7 +2688,11 @@
   bool is_overlay = scrollbar && scrollbar->IsOverlayScrollbar();
 
   IntRect new_visual_rect;
-  if (scrollbar)
+  // Calculate visual rect of the scrollbar, except overlay composited
+  // scrollbars because we invalidate the graphics layer only.
+  // TODO(wangxianzhu): Investigate how non-empty visual rect of composited
+  // scrollbar affects GPU texture memory (http://crbug.com/1011996).
+  if (scrollbar && !(graphics_layer && is_overlay))
     new_visual_rect = scrollbar->FrameRect();
 
   if (needs_paint_invalidation && graphics_layer) {
diff --git a/third_party/blink/renderer/core/paint/paint_layer_scrollable_area.h b/third_party/blink/renderer/core/paint/paint_layer_scrollable_area.h
index cb652b6..dc9895c 100644
--- a/third_party/blink/renderer/core/paint/paint_layer_scrollable_area.h
+++ b/third_party/blink/renderer/core/paint/paint_layer_scrollable_area.h
@@ -107,14 +107,14 @@
 // This only happens if the associated PaintLayer is itself composited.
 //
 //
-// ***** OVERLAY SCROLLBARS *****
-// Overlay scrollbars are painted on top of the box's content. As such they
-// don't use any space in the box. Software overlay scrollbars are painted by
-// PaintLayerPainter::paintOverlayScrollbars after all content as part of a
-// separate tree traversal. The reason for this 2nd traversal is that they need
-// to be painted on top of everything. Hardware accelerated overlay scrollbars
-// are painted by their associated GraphicsLayer that sets the paint flag
-// PaintLayerPaintingOverlayScrollbars.
+// ***** OVERLAY OVERFLOW CONTROLS *****
+// Overlay overflow controls are painted on top of the box's content. As such
+// they don't use any space in the box. Software overlay overflow controls are
+// painted by PaintLayerPainter::PaintOverlayOverflowControlsForFragments after
+// all content as part of a separate tree traversal. The reason for this 2nd
+// traversal is that they need to be painted on top of everything. Hardware
+// accelerated overlay overflow controls are painted into their associated
+// GraphicsLayers by CompositedLayerMapping::PaintScrollableArea.
 class CORE_EXPORT PaintLayerScrollableArea final
     : public GarbageCollected<PaintLayerScrollableArea>,
       public ScrollableArea {
diff --git a/third_party/blink/renderer/core/paint/paint_layer_stacking_node.cc b/third_party/blink/renderer/core/paint/paint_layer_stacking_node.cc
index 22b7919..19565d068 100644
--- a/third_party/blink/renderer/core/paint/paint_layer_stacking_node.cc
+++ b/third_party/blink/renderer/core/paint/paint_layer_stacking_node.cc
@@ -88,11 +88,12 @@
   pos_z_order_list_.clear();
   neg_z_order_list_.clear();
 
-  for (auto& entry : layer_to_overlay_scrollbars_painting_after_.Values()) {
+  for (auto& entry :
+       layer_to_overlay_overflow_controls_painting_after_.Values()) {
     for (PaintLayer* layer : entry)
-      layer->SetNeedsReorderOverlayScrollbars(false);
+      layer->SetNeedsReorderOverlayOverflowControls(false);
   }
-  layer_to_overlay_scrollbars_painting_after_.clear();
+  layer_to_overlay_overflow_controls_painting_after_.clear();
 
   z_order_lists_dirty_ = true;
 
@@ -154,7 +155,7 @@
 #endif
   DCHECK(z_order_lists_dirty_);
 
-  layer_.SetNeedsReorderOverlayScrollbars(false);
+  layer_.SetNeedsReorderOverlayOverflowControls(false);
   for (PaintLayer* child = layer_.FirstChild(); child;
        child = child->NextSibling())
     CollectLayers(*child, nullptr);
@@ -196,7 +197,7 @@
 
 void PaintLayerStackingNode::CollectLayers(PaintLayer& paint_layer,
                                            HighestLayers* highest_layers) {
-  paint_layer.SetNeedsReorderOverlayScrollbars(false);
+  paint_layer.SetNeedsReorderOverlayOverflowControls(false);
 
   if (paint_layer.IsInTopLayer())
     return;
@@ -240,11 +241,11 @@
                   subtree_highest_layers->highest_absolute_position);
     }
     if (layer_to_paint_overlay_scrollbars_after) {
-      layer_to_overlay_scrollbars_painting_after_
+      layer_to_overlay_overflow_controls_painting_after_
           .insert(layer_to_paint_overlay_scrollbars_after, PaintLayers())
           .stored_value->value.push_back(&paint_layer);
     }
-    paint_layer.SetNeedsReorderOverlayScrollbars(
+    paint_layer.SetNeedsReorderOverlayOverflowControls(
         !!layer_to_paint_overlay_scrollbars_after);
 
     if (highest_layers)
diff --git a/third_party/blink/renderer/core/paint/paint_layer_stacking_node.h b/third_party/blink/renderer/core/paint/paint_layer_stacking_node.h
index 7f0f3c24..67f36324 100644
--- a/third_party/blink/renderer/core/paint/paint_layer_stacking_node.h
+++ b/third_party/blink/renderer/core/paint/paint_layer_stacking_node.h
@@ -115,15 +115,16 @@
     return neg_z_order_list_;
   }
 
-  const PaintLayers* LayersPaintingOverlayScrollbarsAfter(
+  const PaintLayers* LayersPaintingOverlayOverflowControlsAfter(
       const PaintLayer* layer) const {
     DCHECK(!z_order_lists_dirty_);
-    auto it = layer_to_overlay_scrollbars_painting_after_.find(layer);
-    return it == layer_to_overlay_scrollbars_painting_after_.end() ? nullptr
-                                                                   : &it->value;
+    auto it = layer_to_overlay_overflow_controls_painting_after_.find(layer);
+    return it == layer_to_overlay_overflow_controls_painting_after_.end()
+               ? nullptr
+               : &it->value;
   }
 
-  void ClearNeedsReorderOverlayScrollbars();
+  void ClearNeedsReorderOverlayOverflowControls();
 
  private:
   void RebuildZOrderLists();
@@ -186,7 +187,7 @@
   // more than one scroller in the same stacking context with overlay
   // scrollbars.
   HashMap<const PaintLayer*, PaintLayers>
-      layer_to_overlay_scrollbars_painting_after_;
+      layer_to_overlay_overflow_controls_painting_after_;
 
   // Indicates whether the z-order lists above are dirty.
   bool z_order_lists_dirty_ : 1;
diff --git a/third_party/blink/renderer/core/paint/paint_layer_test.cc b/third_party/blink/renderer/core/paint/paint_layer_test.cc
index 6c74e3f0..debe2d2 100644
--- a/third_party/blink/renderer/core/paint/paint_layer_test.cc
+++ b/third_party/blink/renderer/core/paint/paint_layer_test.cc
@@ -429,11 +429,11 @@
   EXPECT_FALSE(child->HasSelfPaintingLayerDescendant());
 }
 
-static const Vector<PaintLayer*>* LayersPaintingOverlayScrollbarsAfter(
+static const Vector<PaintLayer*>* LayersPaintingOverlayOverflowControlsAfter(
     const PaintLayer* layer) {
   return PaintLayerPaintOrderIterator(*layer->AncestorStackingContext(),
                                       kPositiveZOrderChildren)
-      .LayersPaintingOverlayScrollbarsAfter(layer);
+      .LayersPaintingOverlayOverflowControlsAfter(layer);
 }
 
 // We need new enum and class to test the overlay overflow controls reordering,
@@ -496,42 +496,42 @@
 
   auto* parent = GetPaintLayerByElementId("parent");
   auto* child = GetPaintLayerByElementId("child");
-  EXPECT_TRUE(parent->NeedsReorderOverlayScrollbars());
-  EXPECT_FALSE(child->NeedsReorderOverlayScrollbars());
-  EXPECT_THAT(LayersPaintingOverlayScrollbarsAfter(child),
+  EXPECT_TRUE(parent->NeedsReorderOverlayOverflowControls());
+  EXPECT_FALSE(child->NeedsReorderOverlayOverflowControls());
+  EXPECT_THAT(LayersPaintingOverlayOverflowControlsAfter(child),
               Pointee(ElementsAre(parent)));
 
   GetDocument().getElementById("child")->setAttribute(
       html_names::kStyleAttr, "position: relative; height: 80px");
   UpdateAllLifecyclePhasesForTest();
   if (GetOverlayType() == kOverlayScrollbars) {
-    EXPECT_FALSE(parent->NeedsReorderOverlayScrollbars());
-    EXPECT_FALSE(LayersPaintingOverlayScrollbarsAfter(child));
+    EXPECT_FALSE(parent->NeedsReorderOverlayOverflowControls());
+    EXPECT_FALSE(LayersPaintingOverlayOverflowControlsAfter(child));
   } else {
-    EXPECT_TRUE(parent->NeedsReorderOverlayScrollbars());
-    EXPECT_FALSE(child->NeedsReorderOverlayScrollbars());
-    EXPECT_THAT(LayersPaintingOverlayScrollbarsAfter(child),
+    EXPECT_TRUE(parent->NeedsReorderOverlayOverflowControls());
+    EXPECT_FALSE(child->NeedsReorderOverlayOverflowControls());
+    EXPECT_THAT(LayersPaintingOverlayOverflowControlsAfter(child),
                 Pointee(ElementsAre(parent)));
   }
 
   GetDocument().getElementById("child")->setAttribute(
       html_names::kStyleAttr, "position: relative; width: 200px; height: 80px");
   UpdateAllLifecyclePhasesForTest();
-  EXPECT_TRUE(parent->NeedsReorderOverlayScrollbars());
-  EXPECT_THAT(LayersPaintingOverlayScrollbarsAfter(child),
+  EXPECT_TRUE(parent->NeedsReorderOverlayOverflowControls());
+  EXPECT_THAT(LayersPaintingOverlayOverflowControlsAfter(child),
               Pointee(ElementsAre(parent)));
 
   GetDocument().getElementById("child")->setAttribute(
       html_names::kStyleAttr, "width: 200px; height: 80px");
   UpdateAllLifecyclePhasesForTest();
-  EXPECT_FALSE(parent->NeedsReorderOverlayScrollbars());
+  EXPECT_FALSE(parent->NeedsReorderOverlayOverflowControls());
 
   GetDocument().getElementById("child")->setAttribute(
       html_names::kStyleAttr, "position: relative; width: 200px; height: 80px");
   UpdateAllLifecyclePhasesForTest();
   child = GetPaintLayerByElementId("child");
-  EXPECT_TRUE(parent->NeedsReorderOverlayScrollbars());
-  EXPECT_THAT(LayersPaintingOverlayScrollbarsAfter(child),
+  EXPECT_TRUE(parent->NeedsReorderOverlayOverflowControls());
+  EXPECT_THAT(LayersPaintingOverlayOverflowControlsAfter(child),
               Pointee(ElementsAre(parent)));
 }
 
@@ -556,22 +556,22 @@
 
   auto* parent = GetPaintLayerByElementId("parent");
   auto* child = GetPaintLayerByElementId("child");
-  EXPECT_TRUE(parent->NeedsReorderOverlayScrollbars());
-  EXPECT_FALSE(child->NeedsReorderOverlayScrollbars());
-  EXPECT_THAT(LayersPaintingOverlayScrollbarsAfter(child),
+  EXPECT_TRUE(parent->NeedsReorderOverlayOverflowControls());
+  EXPECT_FALSE(child->NeedsReorderOverlayOverflowControls());
+  EXPECT_THAT(LayersPaintingOverlayOverflowControlsAfter(child),
               Pointee(ElementsAre(parent)));
 
   GetDocument().getElementById("child")->setAttribute(html_names::kStyleAttr,
                                                       "");
   UpdateAllLifecyclePhasesForTest();
-  EXPECT_FALSE(parent->NeedsReorderOverlayScrollbars());
+  EXPECT_FALSE(parent->NeedsReorderOverlayOverflowControls());
 
   GetDocument().getElementById("child")->setAttribute(html_names::kStyleAttr,
                                                       "position: absolute");
   UpdateAllLifecyclePhasesForTest();
   child = GetPaintLayerByElementId("child");
-  EXPECT_TRUE(parent->NeedsReorderOverlayScrollbars());
-  EXPECT_THAT(LayersPaintingOverlayScrollbarsAfter(child),
+  EXPECT_TRUE(parent->NeedsReorderOverlayOverflowControls());
+  EXPECT_THAT(LayersPaintingOverlayOverflowControlsAfter(child),
               Pointee(ElementsAre(parent)));
 }
 
@@ -597,22 +597,22 @@
 
   auto* parent = GetPaintLayerByElementId("parent");
   auto* child = GetPaintLayerByElementId("child");
-  EXPECT_TRUE(parent->NeedsReorderOverlayScrollbars());
-  EXPECT_FALSE(child->NeedsReorderOverlayScrollbars());
-  EXPECT_THAT(LayersPaintingOverlayScrollbarsAfter(child),
+  EXPECT_TRUE(parent->NeedsReorderOverlayOverflowControls());
+  EXPECT_FALSE(child->NeedsReorderOverlayOverflowControls());
+  EXPECT_THAT(LayersPaintingOverlayOverflowControlsAfter(child),
               Pointee(ElementsAre(parent)));
 
   GetDocument().getElementById("child")->setAttribute(html_names::kStyleAttr,
                                                       "z-index: -1");
   UpdateAllLifecyclePhasesForTest();
-  EXPECT_FALSE(parent->NeedsReorderOverlayScrollbars());
-  EXPECT_FALSE(LayersPaintingOverlayScrollbarsAfter(child));
+  EXPECT_FALSE(parent->NeedsReorderOverlayOverflowControls());
+  EXPECT_FALSE(LayersPaintingOverlayOverflowControlsAfter(child));
 
   GetDocument().getElementById("child")->setAttribute(html_names::kStyleAttr,
                                                       "z-index: 2");
   UpdateAllLifecyclePhasesForTest();
-  EXPECT_TRUE(parent->NeedsReorderOverlayScrollbars());
-  EXPECT_THAT(LayersPaintingOverlayScrollbarsAfter(child),
+  EXPECT_TRUE(parent->NeedsReorderOverlayOverflowControls());
+  EXPECT_THAT(LayersPaintingOverlayOverflowControlsAfter(child),
               Pointee(ElementsAre(parent)));
 }
 
@@ -645,10 +645,10 @@
   auto* ancestor = GetPaintLayerByElementId("ancestor");
   auto* parent = GetPaintLayerByElementId("parent");
   auto* child = GetPaintLayerByElementId("child");
-  EXPECT_TRUE(ancestor->NeedsReorderOverlayScrollbars());
-  EXPECT_TRUE(parent->NeedsReorderOverlayScrollbars());
-  EXPECT_FALSE(child->NeedsReorderOverlayScrollbars());
-  EXPECT_THAT(LayersPaintingOverlayScrollbarsAfter(child),
+  EXPECT_TRUE(ancestor->NeedsReorderOverlayOverflowControls());
+  EXPECT_TRUE(parent->NeedsReorderOverlayOverflowControls());
+  EXPECT_FALSE(child->NeedsReorderOverlayOverflowControls());
+  EXPECT_THAT(LayersPaintingOverlayOverflowControlsAfter(child),
               Pointee(ElementsAre(parent, ancestor)));
 }
 
@@ -685,10 +685,10 @@
   auto* ancestor = GetPaintLayerByElementId("ancestor");
   auto* parent = GetPaintLayerByElementId("parent");
   auto* child = GetPaintLayerByElementId("child");
-  EXPECT_TRUE(ancestor->NeedsReorderOverlayScrollbars());
-  EXPECT_TRUE(parent->NeedsReorderOverlayScrollbars());
-  EXPECT_FALSE(child->NeedsReorderOverlayScrollbars());
-  EXPECT_THAT(LayersPaintingOverlayScrollbarsAfter(child),
+  EXPECT_TRUE(ancestor->NeedsReorderOverlayOverflowControls());
+  EXPECT_TRUE(parent->NeedsReorderOverlayOverflowControls());
+  EXPECT_FALSE(child->NeedsReorderOverlayOverflowControls());
+  EXPECT_THAT(LayersPaintingOverlayOverflowControlsAfter(child),
               Pointee(ElementsAre(parent, ancestor)));
 }
 
@@ -729,13 +729,13 @@
   auto* low_child = GetPaintLayerByElementId("low-child");
   auto* middle_child = GetPaintLayerByElementId("middle-child");
   auto* high_child = GetPaintLayerByElementId("high-child");
-  EXPECT_TRUE(parent->NeedsReorderOverlayScrollbars());
-  EXPECT_FALSE(LayersPaintingOverlayScrollbarsAfter(low_child));
+  EXPECT_TRUE(parent->NeedsReorderOverlayOverflowControls());
+  EXPECT_FALSE(LayersPaintingOverlayOverflowControlsAfter(low_child));
   // The highest contained child by parent is middle_child because the
   // absolute-position children are not contained.
-  EXPECT_THAT(LayersPaintingOverlayScrollbarsAfter(middle_child),
+  EXPECT_THAT(LayersPaintingOverlayOverflowControlsAfter(middle_child),
               Pointee(ElementsAre(parent)));
-  EXPECT_FALSE(LayersPaintingOverlayScrollbarsAfter(high_child));
+  EXPECT_FALSE(LayersPaintingOverlayOverflowControlsAfter(high_child));
 
   std::string extra_style = GetOverlayType() == kOverlayScrollbars
                                 ? "overflow: auto;"
@@ -744,19 +744,19 @@
   GetDocument().getElementById("parent")->setAttribute(html_names::kStyleAttr,
                                                        new_style.c_str());
   UpdateAllLifecyclePhasesForTest();
-  EXPECT_FALSE(parent->NeedsReorderOverlayScrollbars());
-  EXPECT_FALSE(LayersPaintingOverlayScrollbarsAfter(low_child));
-  EXPECT_FALSE(LayersPaintingOverlayScrollbarsAfter(middle_child));
-  EXPECT_FALSE(LayersPaintingOverlayScrollbarsAfter(high_child));
+  EXPECT_FALSE(parent->NeedsReorderOverlayOverflowControls());
+  EXPECT_FALSE(LayersPaintingOverlayOverflowControlsAfter(low_child));
+  EXPECT_FALSE(LayersPaintingOverlayOverflowControlsAfter(middle_child));
+  EXPECT_FALSE(LayersPaintingOverlayOverflowControlsAfter(high_child));
 
   new_style = extra_style + "position: absolute;";
   GetDocument().getElementById("parent")->setAttribute(html_names::kStyleAttr,
                                                        new_style.c_str());
   UpdateAllLifecyclePhasesForTest();
-  EXPECT_TRUE(parent->NeedsReorderOverlayScrollbars());
-  EXPECT_FALSE(LayersPaintingOverlayScrollbarsAfter(low_child));
-  EXPECT_FALSE(LayersPaintingOverlayScrollbarsAfter(middle_child));
-  EXPECT_THAT(LayersPaintingOverlayScrollbarsAfter(high_child),
+  EXPECT_TRUE(parent->NeedsReorderOverlayOverflowControls());
+  EXPECT_FALSE(LayersPaintingOverlayOverflowControlsAfter(low_child));
+  EXPECT_FALSE(LayersPaintingOverlayOverflowControlsAfter(middle_child));
+  EXPECT_THAT(LayersPaintingOverlayOverflowControlsAfter(high_child),
               Pointee(ElementsAre(parent)));
 }
 
@@ -777,41 +777,41 @@
 
   auto* parent = GetPaintLayerByElementId("parent");
   auto* child = GetPaintLayerByElementId("child");
-  EXPECT_TRUE(parent->NeedsReorderOverlayScrollbars());
-  EXPECT_FALSE(child->NeedsReorderOverlayScrollbars());
-  EXPECT_THAT(LayersPaintingOverlayScrollbarsAfter(child),
+  EXPECT_TRUE(parent->NeedsReorderOverlayOverflowControls());
+  EXPECT_FALSE(child->NeedsReorderOverlayOverflowControls());
+  EXPECT_THAT(LayersPaintingOverlayOverflowControlsAfter(child),
               Pointee(ElementsAre(parent)));
 
   GetDocument().getElementById("child")->setAttribute(
       html_names::kStyleAttr, "position: relative; height: 80px");
   UpdateAllLifecyclePhasesForTest();
   if (GetOverlayType() == kOverlayResizer) {
-    EXPECT_TRUE(parent->NeedsReorderOverlayScrollbars());
-    EXPECT_THAT(LayersPaintingOverlayScrollbarsAfter(child),
+    EXPECT_TRUE(parent->NeedsReorderOverlayOverflowControls());
+    EXPECT_THAT(LayersPaintingOverlayOverflowControlsAfter(child),
                 Pointee(ElementsAre(parent)));
   } else {
-    EXPECT_FALSE(parent->NeedsReorderOverlayScrollbars());
-    EXPECT_FALSE(LayersPaintingOverlayScrollbarsAfter(child));
+    EXPECT_FALSE(parent->NeedsReorderOverlayOverflowControls());
+    EXPECT_FALSE(LayersPaintingOverlayOverflowControlsAfter(child));
   }
 
   GetDocument().getElementById("child")->setAttribute(
       html_names::kStyleAttr, "position: relative; width: 200px; height: 80px");
   UpdateAllLifecyclePhasesForTest();
-  EXPECT_TRUE(parent->NeedsReorderOverlayScrollbars());
-  EXPECT_THAT(LayersPaintingOverlayScrollbarsAfter(child),
+  EXPECT_TRUE(parent->NeedsReorderOverlayOverflowControls());
+  EXPECT_THAT(LayersPaintingOverlayOverflowControlsAfter(child),
               Pointee(ElementsAre(parent)));
 
   GetDocument().getElementById("child")->setAttribute(
       html_names::kStyleAttr, "width: 200px; height: 80px");
   UpdateAllLifecyclePhasesForTest();
-  EXPECT_FALSE(parent->NeedsReorderOverlayScrollbars());
+  EXPECT_FALSE(parent->NeedsReorderOverlayOverflowControls());
 
   GetDocument().getElementById("child")->setAttribute(
       html_names::kStyleAttr, "position: relative; width: 200px; height: 80px");
   UpdateAllLifecyclePhasesForTest();
   child = GetPaintLayerByElementId("child");
-  EXPECT_TRUE(parent->NeedsReorderOverlayScrollbars());
-  EXPECT_THAT(LayersPaintingOverlayScrollbarsAfter(child),
+  EXPECT_TRUE(parent->NeedsReorderOverlayOverflowControls());
+  EXPECT_THAT(LayersPaintingOverlayOverflowControlsAfter(child),
               Pointee(ElementsAre(parent)));
 }
 
@@ -836,22 +836,22 @@
 
   auto* parent = GetPaintLayerByElementId("parent");
   auto* child = GetPaintLayerByElementId("child");
-  EXPECT_TRUE(parent->NeedsReorderOverlayScrollbars());
-  EXPECT_FALSE(child->NeedsReorderOverlayScrollbars());
-  EXPECT_THAT(LayersPaintingOverlayScrollbarsAfter(child),
+  EXPECT_TRUE(parent->NeedsReorderOverlayOverflowControls());
+  EXPECT_FALSE(child->NeedsReorderOverlayOverflowControls());
+  EXPECT_THAT(LayersPaintingOverlayOverflowControlsAfter(child),
               Pointee(ElementsAre(parent)));
 
   GetDocument().getElementById("child")->setAttribute(html_names::kStyleAttr,
                                                       "z-index: -1");
   UpdateAllLifecyclePhasesForTest();
-  EXPECT_FALSE(parent->NeedsReorderOverlayScrollbars());
-  EXPECT_FALSE(LayersPaintingOverlayScrollbarsAfter(child));
+  EXPECT_FALSE(parent->NeedsReorderOverlayOverflowControls());
+  EXPECT_FALSE(LayersPaintingOverlayOverflowControlsAfter(child));
 
   GetDocument().getElementById("child")->setAttribute(html_names::kStyleAttr,
                                                       "z-index: 2");
   UpdateAllLifecyclePhasesForTest();
-  EXPECT_TRUE(parent->NeedsReorderOverlayScrollbars());
-  EXPECT_THAT(LayersPaintingOverlayScrollbarsAfter(child),
+  EXPECT_TRUE(parent->NeedsReorderOverlayOverflowControls());
+  EXPECT_THAT(LayersPaintingOverlayOverflowControlsAfter(child),
               Pointee(ElementsAre(parent)));
 }
 
@@ -876,9 +876,9 @@
 
   auto* parent = GetPaintLayerByElementId("parent");
   auto* child = GetPaintLayerByElementId("child");
-  EXPECT_FALSE(parent->NeedsReorderOverlayScrollbars());
-  EXPECT_FALSE(child->NeedsReorderOverlayScrollbars());
-  EXPECT_FALSE(LayersPaintingOverlayScrollbarsAfter(child));
+  EXPECT_FALSE(parent->NeedsReorderOverlayOverflowControls());
+  EXPECT_FALSE(child->NeedsReorderOverlayOverflowControls());
+  EXPECT_FALSE(LayersPaintingOverlayOverflowControlsAfter(child));
 }
 
 TEST_P(ReorderOverlayOverflowControlsTest, NonStackedWithNonStackedDescendant) {
@@ -894,9 +894,9 @@
   auto* parent = GetPaintLayerByElementId("parent");
   auto* child = GetPaintLayerByElementId("child");
 
-  EXPECT_FALSE(parent->NeedsReorderOverlayScrollbars());
-  EXPECT_FALSE(child->NeedsReorderOverlayScrollbars());
-  EXPECT_FALSE(LayersPaintingOverlayScrollbarsAfter(child));
+  EXPECT_FALSE(parent->NeedsReorderOverlayOverflowControls());
+  EXPECT_FALSE(child->NeedsReorderOverlayOverflowControls());
+  EXPECT_FALSE(LayersPaintingOverlayOverflowControlsAfter(child));
 }
 
 TEST_P(ReorderOverlayOverflowControlsTest,
@@ -927,10 +927,10 @@
   auto* ancestor = GetPaintLayerByElementId("ancestor");
   auto* parent = GetPaintLayerByElementId("parent");
   auto* child = GetPaintLayerByElementId("child");
-  EXPECT_TRUE(ancestor->NeedsReorderOverlayScrollbars());
-  EXPECT_TRUE(parent->NeedsReorderOverlayScrollbars());
-  EXPECT_FALSE(child->NeedsReorderOverlayScrollbars());
-  EXPECT_THAT(LayersPaintingOverlayScrollbarsAfter(child),
+  EXPECT_TRUE(ancestor->NeedsReorderOverlayOverflowControls());
+  EXPECT_TRUE(parent->NeedsReorderOverlayOverflowControls());
+  EXPECT_FALSE(child->NeedsReorderOverlayOverflowControls());
+  EXPECT_THAT(LayersPaintingOverlayOverflowControlsAfter(child),
               Pointee(ElementsAre(parent, ancestor)));
 }
 
@@ -964,10 +964,10 @@
   auto* ancestor = GetPaintLayerByElementId("ancestor");
   auto* parent = GetPaintLayerByElementId("parent");
   auto* child = GetPaintLayerByElementId("child");
-  EXPECT_FALSE(ancestor->NeedsReorderOverlayScrollbars());
-  EXPECT_FALSE(parent->NeedsReorderOverlayScrollbars());
-  EXPECT_FALSE(child->NeedsReorderOverlayScrollbars());
-  EXPECT_FALSE(LayersPaintingOverlayScrollbarsAfter(child));
+  EXPECT_FALSE(ancestor->NeedsReorderOverlayOverflowControls());
+  EXPECT_FALSE(parent->NeedsReorderOverlayOverflowControls());
+  EXPECT_FALSE(child->NeedsReorderOverlayOverflowControls());
+  EXPECT_FALSE(LayersPaintingOverlayOverflowControlsAfter(child));
 }
 
 TEST_P(PaintLayerTest, SubsequenceCachingStackingContexts) {
diff --git a/third_party/blink/renderer/core/paint/paint_property_tree_builder.cc b/third_party/blink/renderer/core/paint/paint_property_tree_builder.cc
index cf6481b4..b604ca0 100644
--- a/third_party/blink/renderer/core/paint/paint_property_tree_builder.cc
+++ b/third_party/blink/renderer/core/paint/paint_property_tree_builder.cc
@@ -10,7 +10,6 @@
 #include "cc/input/overscroll_behavior.h"
 #include "third_party/blink/renderer/core/animation/element_animations.h"
 #include "third_party/blink/renderer/core/dom/dom_node_ids.h"
-#include "third_party/blink/renderer/core/frame/link_highlights.h"
 #include "third_party/blink/renderer/core/frame/local_frame.h"
 #include "third_party/blink/renderer/core/frame/local_frame_view.h"
 #include "third_party/blink/renderer/core/frame/settings.h"
@@ -28,6 +27,7 @@
 #include "third_party/blink/renderer/core/layout/svg/svg_layout_support.h"
 #include "third_party/blink/renderer/core/layout/svg/svg_resources.h"
 #include "third_party/blink/renderer/core/layout/svg/svg_resources_cache.h"
+#include "third_party/blink/renderer/core/page/link_highlight.h"
 #include "third_party/blink/renderer/core/page/page.h"
 #include "third_party/blink/renderer/core/page/scrolling/snap_coordinator.h"
 #include "third_party/blink/renderer/core/page/scrolling/top_document_root_scroller_controller.h"
@@ -1149,7 +1149,7 @@
 
 static bool NeedsLinkHighlightEffect(const LayoutObject& object) {
   auto* page = object.GetFrame()->GetPage();
-  return page->GetLinkHighlights().NeedsHighlightEffect(object);
+  return page->GetLinkHighlight().NeedsHighlightEffect(object);
 }
 
 // TODO(crbug.com/900241): Remove this function and let the caller use
@@ -3093,6 +3093,14 @@
   if (fragments_changed) {
     object_.GetMutableForPainting().AddSubtreePaintPropertyUpdateReason(
         SubtreePaintPropertyUpdateReason::kFragmentsChanged);
+    if (!RuntimeEnabledFeatures::CompositeAfterPaintEnabled() &&
+        NeedsLinkHighlightEffect(object_)) {
+      // We need to recollect the foreign layers for link highlight for the
+      // changed fragments. CompositeAfterPaint doesn't need this because we
+      // collect foreign layers during LocalFrameView::PaintTree() which is not
+      // controlled by the flag.
+      object_.GetFrameView()->SetForeignLayerListNeedsUpdate();
+    }
   }
 }
 
diff --git a/third_party/blink/renderer/core/paint/scrollable_area_painter.cc b/third_party/blink/renderer/core/paint/scrollable_area_painter.cc
index 456b862..37fb8cc 100644
--- a/third_party/blink/renderer/core/paint/scrollable_area_painter.cc
+++ b/third_party/blink/renderer/core/paint/scrollable_area_painter.cc
@@ -64,8 +64,7 @@
 
   // Draw a frame around the resizer (1px grey line) if there are any scrollbars
   // present.  Clipping will exclude the right and bottom edges of this frame.
-  if (!GetScrollableArea().HasOverlayScrollbars() &&
-      GetScrollableArea().HasScrollbar()) {
+  if (GetScrollableArea().HasNonOverlayOverflowControls()) {
     GraphicsContextStateSaver state_saver(context);
     context.Clip(abs_rect);
     IntRect larger_corner = abs_rect;
diff --git a/third_party/blink/renderer/core/scheduler_integration_tests/scheduler_affecting_features_test.cc b/third_party/blink/renderer/core/scheduler_integration_tests/scheduler_affecting_features_test.cc
index fd52e176..93eb2670 100644
--- a/third_party/blink/renderer/core/scheduler_integration_tests/scheduler_affecting_features_test.cc
+++ b/third_party/blink/renderer/core/scheduler_integration_tests/scheduler_affecting_features_test.cc
@@ -55,9 +55,9 @@
               testing::UnorderedElementsAre());
 
   main_resource.Complete(
-      "(<script>"
+      "<script>"
       "  var socket = new WebSocket(\"ws://www.example.com/websocket\");"
-      "</script>)");
+      "</script>");
 
   EXPECT_TRUE(PageScheduler()->OptedOutFromAggressiveThrottlingForTest());
   EXPECT_THAT(
@@ -83,9 +83,9 @@
               testing::UnorderedElementsAre());
 
   main_resource.Complete(
-      "(<script>"
+      "<script>"
       "  var data_channel = new RTCPeerConnection();"
-      "</script>)");
+      "</script>");
 
   EXPECT_TRUE(PageScheduler()->OptedOutFromAggressiveThrottlingForTest());
   EXPECT_THAT(
@@ -173,9 +173,9 @@
   SimRequest main_resource("https://foo.com/", "text/html");
   LoadURL("https://foo.com/");
   main_resource.Complete(
-      "(<script>"
+      "<script>"
       " window.addEventListener(\"pageshow\", () => {}); "
-      "</script>)");
+      "</script>");
 
   EXPECT_THAT(GetNonTrivialMainFrameFeatures(),
               testing::UnorderedElementsAre(
@@ -186,9 +186,9 @@
   SimRequest main_resource("https://foo.com/", "text/html");
   LoadURL("https://foo.com/");
   main_resource.Complete(
-      "(<script>"
+      "<script>"
       " window.addEventListener(\"pagehide\", () => {}); "
-      "</script>)");
+      "</script>");
 
   EXPECT_THAT(GetNonTrivialMainFrameFeatures(),
               testing::UnorderedElementsAre(
@@ -199,9 +199,9 @@
   SimRequest main_resource("https://foo.com/", "text/html");
   LoadURL("https://foo.com/");
   main_resource.Complete(
-      "(<script>"
+      "<script>"
       " window.addEventListener(\"beforeunload\", () => {}); "
-      "</script>)");
+      "</script>");
 
   EXPECT_THAT(GetNonTrivialMainFrameFeatures(),
               testing::UnorderedElementsAre(
@@ -212,9 +212,9 @@
   SimRequest main_resource("https://foo.com/", "text/html");
   LoadURL("https://foo.com/");
   main_resource.Complete(
-      "(<script>"
+      "<script>"
       " window.addEventListener(\"unload\", () => {}); "
-      "</script>)");
+      "</script>");
 
   EXPECT_THAT(GetNonTrivialMainFrameFeatures(),
               testing::UnorderedElementsAre(
@@ -225,9 +225,9 @@
   SimRequest main_resource("https://foo.com/", "text/html");
   LoadURL("https://foo.com/");
   main_resource.Complete(
-      "(<script>"
+      "<script>"
       " window.addEventListener(\"freeze\", () => {}); "
-      "</script>)");
+      "</script>");
 
   EXPECT_THAT(GetNonTrivialMainFrameFeatures(),
               testing::UnorderedElementsAre(
@@ -238,9 +238,9 @@
   SimRequest main_resource("https://foo.com/", "text/html");
   LoadURL("https://foo.com/");
   main_resource.Complete(
-      "(<script>"
+      "<script>"
       " window.addEventListener(\"resume\", () => {}); "
-      "</script>)");
+      "</script>");
 
   EXPECT_THAT(GetNonTrivialMainFrameFeatures(),
               testing::UnorderedElementsAre(
@@ -274,9 +274,9 @@
   SimRequest main_resource("https://foo.com/", "text/html");
   LoadURL("https://foo.com/");
   main_resource.Complete(
-      "(<script>"
+      "<script>"
       " navigator.locks.request('my_resource', async lock => {}); "
-      "</script>)");
+      "</script>");
 
   EXPECT_THAT(
       GetNonTrivialMainFrameFeatures(),
diff --git a/third_party/blink/renderer/core/svg/animation/smil_time.h b/third_party/blink/renderer/core/svg/animation/smil_time.h
index d317626c..b4fec36d 100644
--- a/third_party/blink/renderer/core/svg/animation/smil_time.h
+++ b/third_party/blink/renderer/core/svg/animation/smil_time.h
@@ -130,9 +130,6 @@
   bool operator<=(SMILTime other) const { return time_ <= other.time_; }
 
  private:
-  friend bool operator!=(const SMILInterval& a, const SMILInterval& b);
-  friend struct SMILTimeHash;
-
   constexpr SMILTime(base::TimeDelta time) : time_(time) {}
 
   base::TimeDelta time_;
@@ -177,10 +174,13 @@
 // (https://www.w3.org/TR/SMIL3/smil-timing.html#q101)
 struct SMILInterval {
   DISALLOW_NEW();
-  SMILInterval() = default;
-  SMILInterval(const SMILTime& begin, const SMILTime& end)
+  constexpr SMILInterval(const SMILTime& begin, const SMILTime& end)
       : begin(begin), end(end) {}
 
+  static constexpr SMILInterval Unresolved() {
+    return {SMILTime::Unresolved(), SMILTime::Unresolved()};
+  }
+
   bool IsResolved() const { return begin.IsFinite(); }
   bool BeginsAfter(SMILTime time) const { return time < begin; }
   bool BeginsBefore(SMILTime time) const { return !BeginsAfter(time); }
diff --git a/third_party/blink/renderer/core/svg/animation/smil_time_container.cc b/third_party/blink/renderer/core/svg/animation/smil_time_container.cc
index 49386ba1..703ab578 100644
--- a/third_party/blink/renderer/core/svg/animation/smil_time_container.cc
+++ b/third_party/blink/renderer/core/svg/animation/smil_time_container.cc
@@ -275,16 +275,21 @@
   if (!IsPaused())
     SynchronizeToDocumentTimeline();
 
-  {
+  // If we are rewinding the timeline, we need to start from 0 and then move
+  // forward to the new presentation time. If we're moving forward we can just
+  // perform the update in the normal fashion.
+  if (elapsed < latest_update_time_) {
     base::AutoReset<bool> updating_intervals_scope(&is_updating_intervals_,
                                                    true);
     ScheduledAnimationsMutationsForbidden scope(this);
     for (auto& sandwich : scheduled_animations_.Values())
       sandwich->Reset();
-  }
 
+    latest_update_time_ = SMILTime();
+  }
+  // We need to set this to make sure we update the active state of the timed
+  // elements.
   intervals_dirty_ = true;
-  latest_update_time_ = SMILTime();
   UpdateAnimationsAndScheduleFrameIfNeeded(elapsed);
 }
 
diff --git a/third_party/blink/renderer/core/svg/animation/svg_smil_element.cc b/third_party/blink/renderer/core/svg/animation/svg_smil_element.cc
index 5cc3e58..d21c530d 100644
--- a/third_party/blink/renderer/core/svg/animation/svg_smil_element.cc
+++ b/third_party/blink/renderer/core/svg/animation/svg_smil_element.cc
@@ -186,8 +186,8 @@
       has_end_event_conditions_(false),
       is_waiting_for_first_interval_(true),
       is_scheduled_(false),
-      interval_{SMILTime::Unresolved(), SMILTime::Unresolved()},
-      previous_interval_{SMILTime::Unresolved(), SMILTime::Unresolved()},
+      interval_(SMILInterval::Unresolved()),
+      previous_interval_(SMILInterval::Unresolved()),
       next_interval_time_(SMILTime::Earliest()),
       active_state_(kInactive),
       restart_(kRestartAlways),
@@ -255,8 +255,8 @@
 void SVGSMILElement::Reset() {
   active_state_ = kInactive;
   is_waiting_for_first_interval_ = true;
-  interval_ = {SMILTime::Unresolved(), SMILTime::Unresolved()};
-  previous_interval_ = {SMILTime::Unresolved(), SMILTime::Unresolved()};
+  interval_ = SMILInterval::Unresolved();
+  previous_interval_ = SMILInterval::Unresolved();
   next_interval_time_ = SMILTime::Earliest();
   last_progress_ = {0.0f, 0};
 }
@@ -759,8 +759,13 @@
   return repeat_dur;
 }
 
-SMILTime SVGSMILElement::ResolveActiveEnd(SMILTime resolved_begin,
-                                          SMILTime resolved_end) const {
+SMILTime SVGSMILElement::ResolveActiveEnd(SMILTime resolved_begin) const {
+  SMILTime resolved_end = FindInstanceTime(kEnd, resolved_begin, false);
+  if (resolved_end.IsUnresolved()) {
+    // If we have no pending end conditions, don't generate a new interval.
+    if (!end_times_.IsEmpty() && !has_end_event_conditions_)
+      return SMILTime::Unresolved();
+  }
   // Computing the active duration
   // http://www.w3.org/TR/SMIL2/smil-timing.html#Timing-ComputingActiveDur
   SMILTime preliminary_active_duration;
@@ -793,15 +798,10 @@
     SMILTime temp_begin = FindInstanceTime(kBegin, begin_after, true);
     if (temp_begin.IsUnresolved())
       break;
-    SMILTime temp_end = FindInstanceTime(kEnd, temp_begin, false);
-    if (temp_end.IsUnresolved()) {
-      // If we have no pending end conditions, don't generate a new interval.
-      if (!end_times_.IsEmpty() && !has_end_event_conditions_)
-        break;
-    }
-    temp_end = ResolveActiveEnd(temp_begin, temp_end);
-    // If this is the first interval being resolved, don't allow it to end
-    // before the origin of the timeline.
+    SMILTime temp_end = ResolveActiveEnd(temp_begin);
+    if (temp_end.IsUnresolved())
+      break;
+    // Don't allow the interval to end in the past.
     if (temp_end > end_after) {
       DCHECK(!temp_begin.IsIndefinite());
       return SMILInterval(temp_begin, temp_end);
@@ -809,7 +809,7 @@
 
     begin_after = temp_end;
   }
-  return SMILInterval(SMILTime::Unresolved(), SMILTime::Unresolved());
+  return SMILInterval::Unresolved();
 }
 
 void SVGSMILElement::SetNewInterval(const SMILInterval& interval,
@@ -875,16 +875,19 @@
     return;
   // If the current interval has not yet started, discard it and re-resolve.
   if (interval_.BeginsAfter(presentation_time)) {
-    interval_ = {SMILTime::Unresolved(), SMILTime::Unresolved()};
+    interval_ = SMILInterval::Unresolved();
     return;
   }
 
   // If we have a current interval but it has not yet ended, re-resolve the
   // end time.
   if (interval_.EndsAfter(presentation_time)) {
-    SMILTime new_end = FindInstanceTime(kEnd, interval_.begin, false);
-    DCHECK(!new_end.IsUnresolved());
-    new_end = ResolveActiveEnd(interval_.begin, new_end);
+    SMILTime new_end = ResolveActiveEnd(interval_.begin);
+    if (new_end.IsUnresolved()) {
+      // No active duration, discard the current interval.
+      interval_ = SMILInterval::Unresolved();
+      return;
+    }
     if (new_end != interval_.end)
       SetNewIntervalEnd(new_end, presentation_time);
   }
diff --git a/third_party/blink/renderer/core/svg/animation/svg_smil_element.h b/third_party/blink/renderer/core/svg/animation/svg_smil_element.h
index 0031ab0..11ea52a4 100644
--- a/third_party/blink/renderer/core/svg/animation/svg_smil_element.h
+++ b/third_party/blink/renderer/core/svg/animation/svg_smil_element.h
@@ -165,13 +165,11 @@
   SMILTime BeginTimeForPrioritization(SMILTime presentation_time) const;
 
   SMILInterval ResolveInterval(SMILTime begin_after, SMILTime end_after) const;
-  bool ResolveFirstInterval(SMILTime presentation_time);
   // Check if the current interval is still current, and apply restart
   // semantics. Returns true if a new interval should be resolved.
   bool HandleIntervalRestart(SMILTime presentation_time);
   void DiscardOrRevalidateCurrentInterval(SMILTime presentation_time);
-  SMILTime ResolveActiveEnd(SMILTime resolved_begin,
-                            SMILTime resolved_end) const;
+  SMILTime ResolveActiveEnd(SMILTime resolved_begin) const;
   SMILTime RepeatingDuration() const;
   const SMILInterval& GetActiveInterval(SMILTime elapsed) const;
   void SetNewInterval(const SMILInterval&, SMILTime presentation_time);
diff --git a/third_party/blink/renderer/core/testing/data/test_touch_link_highlight_squashing.html b/third_party/blink/renderer/core/testing/data/test_touch_link_highlight_squashing.html
deleted file mode 100644
index a2f5d90..0000000
--- a/third_party/blink/renderer/core/testing/data/test_touch_link_highlight_squashing.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE html>
-
-<style>
-  .abs {
-    position: absolute;
-    top: 5;
-    left: 5;
-    width: 512px;
-    height: 512px;
-  }
-
-  #target {
-    display: block;
-    transform: scale(0.5);
-    transform-origin: left top;
-    background-color: green;
-  }
-</style>
-<div class=abs style="will-change: transform; pointer-events: none;"></div>
-<a class=abs id=target href="javascript:void(0)"></a>
diff --git a/third_party/blink/renderer/devtools/front_end/bindings/CompilerScriptMapping.js b/third_party/blink/renderer/devtools/front_end/bindings/CompilerScriptMapping.js
index a53e3af..dc2f398 100644
--- a/third_party/blink/renderer/devtools/front_end/bindings/CompilerScriptMapping.js
+++ b/third_party/blink/renderer/devtools/front_end/bindings/CompilerScriptMapping.js
@@ -119,7 +119,8 @@
     if (!sourceMap) {
       return true;
     }
-    return !!sourceMap.findEntry(rawLocation.lineNumber, rawLocation.columnNumber);
+    const entry = sourceMap.findEntry(rawLocation.lineNumber, rawLocation.columnNumber);
+    return !!entry && entry.lineNumber === rawLocation.lineNumber && entry.columnNumber === rawLocation.columnNumber;
   }
 
   /**
diff --git a/third_party/blink/renderer/devtools/front_end/bindings/ContentProviderBasedProject.js b/third_party/blink/renderer/devtools/front_end/bindings/ContentProviderBasedProject.js
index 124bf148..1df00cf 100644
--- a/third_party/blink/renderer/devtools/front_end/bindings/ContentProviderBasedProject.js
+++ b/third_party/blink/renderer/devtools/front_end/bindings/ContentProviderBasedProject.js
@@ -51,13 +51,18 @@
   /**
    * @override
    * @param {!Workspace.UISourceCode} uiSourceCode
-   * @param {function(?string,boolean)} callback
+   * @returns {!Promise<!Common.DeferredContent>}
    */
-  requestFileContent(uiSourceCode, callback) {
+  async requestFileContent(uiSourceCode) {
     const contentProvider = this._contentProviders[uiSourceCode.url()];
-    (async () => {
-      callback(await contentProvider.requestContent(), await contentProvider.contentEncoded());
-    })();
+    try {
+      const [content, isEncoded] =
+          await Promise.all([contentProvider.requestContent(), contentProvider.contentEncoded()]);
+      return {content: content.content, isEncoded, error: content.error};
+    } catch (err) {
+      // TODO(rob.paveza): CRBug 1013683 - Consider propagating exceptions full-stack
+      return {isEncoded: false, error: err ? String(err) : ls`Unknown error loading file`};
+    }
   }
 
   /**
diff --git a/third_party/blink/renderer/devtools/front_end/bindings/ResourceMapping.js b/third_party/blink/renderer/devtools/front_end/bindings/ResourceMapping.js
index f79f378..84b666a 100644
--- a/third_party/blink/renderer/devtools/front_end/bindings/ResourceMapping.js
+++ b/third_party/blink/renderer/devtools/front_end/bindings/ResourceMapping.js
@@ -349,7 +349,7 @@
       return;
     }  // There is already a _styleSheetChanged loop running
 
-    const content = await this._uiSourceCode.requestContent();
+    const {content} = await this._uiSourceCode.requestContent();
     if (content !== null) {
       this._innerStyleSheetChanged(content);
     }
@@ -440,7 +440,7 @@
 
   /**
    * @override
-   * @return {!Promise<string>}
+   * @return {!Promise<!Common.DeferredContent>}
    */
   requestContent() {
     return this._resources.firstValue().requestContent();
diff --git a/third_party/blink/renderer/devtools/front_end/bindings/ResourceScriptMapping.js b/third_party/blink/renderer/devtools/front_end/bindings/ResourceScriptMapping.js
index d83f8c53..f2f8068 100644
--- a/third_party/blink/renderer/devtools/front_end/bindings/ResourceScriptMapping.js
+++ b/third_party/blink/renderer/devtools/front_end/bindings/ResourceScriptMapping.js
@@ -413,17 +413,11 @@
       this._mappingCheckedForTest();
       return;
     }
-    this._script.requestContent().then(callback.bind(this));
-
-    /**
-     * @param {?string} source
-     * @this {ResourceScriptFile}
-     */
-    function callback(source) {
-      this._scriptSource = source;
+    this._script.requestContent().then(deferredContent => {
+      this._scriptSource = deferredContent.content;
       this._update();
       this._mappingCheckedForTest();
-    }
+    });
   }
 
   _mappingCheckedForTest() {
diff --git a/third_party/blink/renderer/devtools/front_end/bindings/StylesSourceMapping.js b/third_party/blink/renderer/devtools/front_end/bindings/StylesSourceMapping.js
index a5f3c5c..fbd0678 100644
--- a/third_party/blink/renderer/devtools/front_end/bindings/StylesSourceMapping.js
+++ b/third_party/blink/renderer/devtools/front_end/bindings/StylesSourceMapping.js
@@ -272,8 +272,8 @@
     if (fromProvider === this._uiSourceCode) {
       newContent = this._uiSourceCode.workingCopy();
     } else {
-      // ------ ASYNC ------
-      newContent = await fromProvider.requestContent();
+      const deferredContent = await fromProvider.requestContent();
+      newContent = deferredContent.content;
     }
 
     if (newContent === null || this._terminated) {
@@ -339,7 +339,7 @@
 
   /**
    * @override
-   * @return {!Promise<string>}
+   * @return {!Promise<!Common.DeferredContent>}
    */
   requestContent() {
     return this._headers.firstValue().originalContentProvider().requestContent();
diff --git a/third_party/blink/renderer/devtools/front_end/bindings/bindings_strings.grdp b/third_party/blink/renderer/devtools/front_end/bindings/bindings_strings.grdp
index 948dfcf..2a9b5d4 100644
--- a/third_party/blink/renderer/devtools/front_end/bindings/bindings_strings.grdp
+++ b/third_party/blink/renderer/devtools/front_end/bindings/bindings_strings.grdp
@@ -3,6 +3,9 @@
   <message name="IDS_DEVTOOLS_412dac8227bbaf752fecaad8826f20e6" desc="Text in Resource Script Mapping">
     LiveEdit failed: <ph name="ERROR">$1s<ex>warning</ex></ph>
   </message>
+  <message name="IDS_DEVTOOLS_5e2c3eac46d298d72b51f1500601d7be" desc="Error message that is displayed in the Sources panel when can't be loaded.">
+    Unknown error loading file
+  </message>
   <message name="IDS_DEVTOOLS_d3ff22990e37ccce8a501ffba38626b7" desc="Text in Resource Script Mapping">
     LiveEdit compile failed: <ph name="EXCEPTIONDETAILS_TEXT">$1s<ex>connection lost</ex></ph>
   </message>
diff --git a/third_party/blink/renderer/devtools/front_end/color_picker/Spectrum.js b/third_party/blink/renderer/devtools/front_end/color_picker/Spectrum.js
index 32acbdb..75cfd6d 100644
--- a/third_party/blink/renderer/devtools/front_end/color_picker/Spectrum.js
+++ b/third_party/blink/renderer/devtools/front_end/color_picker/Spectrum.js
@@ -1061,7 +1061,7 @@
    * @return {!Promise}
    */
   async _processStylesheet(stylesheet) {
-    let text = await stylesheet.requestContent() || '';
+    let text = (await stylesheet.requestContent()).content || '';
     text = text.toLowerCase();
     const regexResult = text.match(/((?:rgb|hsl)a?\([^)]+\)|#[0-9a-f]{6}|#[0-9a-f]{3})/g) || [];
     for (const c of regexResult) {
diff --git a/third_party/blink/renderer/devtools/front_end/common/ContentProvider.js b/third_party/blink/renderer/devtools/front_end/common/ContentProvider.js
index 0431e617..12574e8 100644
--- a/third_party/blink/renderer/devtools/front_end/common/ContentProvider.js
+++ b/third_party/blink/renderer/devtools/front_end/common/ContentProvider.js
@@ -27,6 +27,18 @@
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
+
+/**
+ * @typedef {{
+ *    content: string,
+ *    isEncoded: boolean,
+ * }|{
+ *    error: string,
+ *    isEncoded: boolean,
+ * }}
+ */
+Common.DeferredContent;
+
 /**
  * @interface
  */
@@ -50,7 +62,7 @@
   }
 
   /**
-   * @return {!Promise<string>}
+   * @return {!Promise<!Common.DeferredContent>}
    */
   requestContent() {
   }
diff --git a/third_party/blink/renderer/devtools/front_end/common/StaticContentProvider.js b/third_party/blink/renderer/devtools/front_end/common/StaticContentProvider.js
index 9575a9a..a73ec1d 100644
--- a/third_party/blink/renderer/devtools/front_end/common/StaticContentProvider.js
+++ b/third_party/blink/renderer/devtools/front_end/common/StaticContentProvider.js
@@ -9,7 +9,7 @@
   /**
    * @param {string} contentURL
    * @param {!Common.ResourceType} contentType
-   * @param {function():!Promise<string>} lazyContent
+   * @param {function():!Promise<!Common.DeferredContent>} lazyContent
    */
   constructor(contentURL, contentType, lazyContent) {
     this._contentURL = contentURL;
@@ -24,7 +24,7 @@
    * @return {!Common.StaticContentProvider}
    */
   static fromString(contentURL, contentType, content) {
-    const lazyContent = () => Promise.resolve(content);
+    const lazyContent = () => Promise.resolve({content, isEncoded: false});
     return new Common.StaticContentProvider(contentURL, contentType, lazyContent);
   }
 
@@ -54,7 +54,7 @@
 
   /**
    * @override
-   * @return {!Promise<string>}
+   * @return {!Promise<!Common.DeferredContent>}
    */
   requestContent() {
     return this._lazyContent();
@@ -68,7 +68,7 @@
    * @return {!Promise<!Array<!Common.ContentProvider.SearchMatch>>}
    */
   async searchInContent(query, caseSensitive, isRegex) {
-    const content = await this._lazyContent();
+    const {content} = (await this._lazyContent());
     return content ? Common.ContentProvider.performSearchInContent(content, query, caseSensitive, isRegex) : [];
   }
 }
diff --git a/third_party/blink/renderer/devtools/front_end/coverage/CoverageDecorationManager.js b/third_party/blink/renderer/devtools/front_end/coverage/CoverageDecorationManager.js
index 50be4b9..b3a34f8 100644
--- a/third_party/blink/renderer/devtools/front_end/coverage/CoverageDecorationManager.js
+++ b/third_party/blink/renderer/devtools/front_end/coverage/CoverageDecorationManager.js
@@ -59,7 +59,7 @@
    */
   async usageByLine(uiSourceCode) {
     const result = [];
-    const content = await uiSourceCode.requestContent();
+    const {content} = await uiSourceCode.requestContent();
     if (!content) {
       return [];
     }
@@ -135,8 +135,8 @@
    * @return {!Promise}
    */
   async _updateTextForProvider(contentProvider) {
-    const content = await contentProvider.requestContent();
-    this._textByProvider.set(contentProvider, new TextUtils.Text(content));
+    const {content} = await contentProvider.requestContent();
+    this._textByProvider.set(contentProvider, new TextUtils.Text(content || ''));
   }
 
   /**
diff --git a/third_party/blink/renderer/devtools/front_end/coverage/CoverageListView.js b/third_party/blink/renderer/devtools/front_end/coverage/CoverageListView.js
index 2f9bb853..88ed965 100644
--- a/third_party/blink/renderer/devtools/front_end/coverage/CoverageListView.js
+++ b/third_party/blink/renderer/devtools/front_end/coverage/CoverageListView.js
@@ -139,10 +139,9 @@
     if (!sourceCode) {
       return;
     }
-    const content = await sourceCode.requestContent();
+    const content = (await sourceCode.requestContent()).content || '';
     if (TextUtils.isMinified(content)) {
       const formatData = await Sources.sourceFormatter.format(sourceCode);
-      // ------------ ASYNC ------------
       sourceCode = formatData.formattedSourceCode;
     }
     if (this._dataGrid.selectedNode !== node) {
diff --git a/third_party/blink/renderer/devtools/front_end/coverage/CoverageModel.js b/third_party/blink/renderer/devtools/front_end/coverage/CoverageModel.js
index 7be7a9a..19c6b955 100644
--- a/third_party/blink/renderer/devtools/front_end/coverage/CoverageModel.js
+++ b/third_party/blink/renderer/devtools/front_end/coverage/CoverageModel.js
@@ -495,7 +495,8 @@
       let fullText = null;
       if (useFullText) {
         const resource = SDK.ResourceTreeModel.resourceForURL(url);
-        fullText = resource ? new TextUtils.Text(await resource.requestContent()) : null;
+        const content = (await resource.requestContent()).content;
+        fullText = resource ? new TextUtils.Text(content || '') : null;
       }
 
       const coverageByLocationKeys = Array.from(urlInfo._coverageInfoByLocation.keys()).sort(locationCompare);
@@ -522,7 +523,7 @@
       // Fall back to the per-script operation.
       for (const infoKey of coverageByLocationKeys) {
         const info = urlInfo._coverageInfoByLocation.get(infoKey);
-        const entry = {url, ranges: [], text: await info.contentProvider().requestContent()};
+        const entry = {url, ranges: [], text: (await info.contentProvider().requestContent()).content};
         let start = 0;
         for (const segment of info._segments) {
           if (segment.count) {
diff --git a/third_party/blink/renderer/devtools/front_end/elements/StylesSidebarPane.js b/third_party/blink/renderer/devtools/front_end/elements/StylesSidebarPane.js
index 1d2a3b6..4d294ef 100644
--- a/third_party/blink/renderer/devtools/front_end/elements/StylesSidebarPane.js
+++ b/third_party/blink/renderer/devtools/front_end/elements/StylesSidebarPane.js
@@ -623,7 +623,8 @@
     if (!styleSheetHeader) {
       return;
     }
-    const text = await styleSheetHeader.requestContent() || '';
+
+    const text = (await styleSheetHeader.requestContent()).content || '';
     const lines = text.split('\n');
     const range = TextUtils.TextRange.createFromLocation(lines.length - 1, lines[lines.length - 1].length);
     this._addBlankSection(this._sectionBlocks[0].sections[0], styleSheetHeader.id, range);
diff --git a/third_party/blink/renderer/devtools/front_end/extensions/ExtensionServer.js b/third_party/blink/renderer/devtools/front_end/extensions/ExtensionServer.js
index fd73648..62945a7 100644
--- a/third_party/blink/renderer/devtools/front_end/extensions/ExtensionServer.js
+++ b/third_party/blink/renderer/devtools/front_end/extensions/ExtensionServer.js
@@ -497,7 +497,7 @@
    * @param {!MessagePort} port
    */
   async _getResourceContent(contentProvider, message, port) {
-    const content = await contentProvider.requestContent();
+    const {content} = await contentProvider.requestContent();
     const encoded = await contentProvider.contentEncoded();
     this._dispatchCallback(message.requestId, port, {encoding: encoded ? 'base64' : '', content: content});
   }
diff --git a/third_party/blink/renderer/devtools/front_end/network/BinaryResourceView.js b/third_party/blink/renderer/devtools/front_end/network/BinaryResourceView.js
index 04c63896..f9a2be5 100644
--- a/third_party/blink/renderer/devtools/front_end/network/BinaryResourceView.js
+++ b/third_party/blink/renderer/devtools/front_end/network/BinaryResourceView.js
@@ -78,7 +78,7 @@
 
   async _copySelectedViewToClipboard() {
     const viewObject = this._getCurrentViewObject();
-    Host.InspectorFrontendHost.copyText(await viewObject.content());
+    Host.InspectorFrontendHost.copyText((await viewObject.content()).content);
     this._copiedText.setText(viewObject.copiedMessage);
     this._copiedText.element.classList.remove('fadeout');
     /**
@@ -143,14 +143,18 @@
     const copyMenu = contextMenu.clipboardSection().appendSubMenuItem(submenuItemText);
     const footerSection = copyMenu.footerSection();
 
-    footerSection.appendItem(
-        ls`Copy as Base64`,
-        async () => Host.InspectorFrontendHost.copyText(await this._binaryResourceViewFactory.base64()));
-    footerSection.appendItem(
-        ls`Copy as Hex`, async () => Host.InspectorFrontendHost.copyText(await this._binaryResourceViewFactory.hex()));
-    footerSection.appendItem(
-        ls`Copy as UTF-8`,
-        async () => Host.InspectorFrontendHost.copyText(await this._binaryResourceViewFactory.utf8()));
+    footerSection.appendItem(ls`Copy as Base64`, async () => {
+      const content = await this._binaryResourceViewFactory.base64();
+      Host.InspectorFrontendHost.copyText(content.content);
+    });
+    footerSection.appendItem(ls`Copy as Hex`, async () => {
+      const content = await this._binaryResourceViewFactory.hex();
+      Host.InspectorFrontendHost.copyText(content.content);
+    });
+    footerSection.appendItem(ls`Copy as UTF-8`, async () => {
+      const content = await this._binaryResourceViewFactory.utf8();
+      Host.InspectorFrontendHost.copyText(content.content);
+    });
   }
 };
 
@@ -160,13 +164,13 @@
    * @param {string} label
    * @param {string} copiedMessage
    * @param {function():!UI.Widget} createViewFn
-   * @param {function():Promise<string>} content
+   * @param {function():Promise<!Common.DeferredContent>} deferredContent
    */
-  constructor(type, label, copiedMessage, createViewFn, content) {
+  constructor(type, label, copiedMessage, createViewFn, deferredContent) {
     this.type = type;
     this.label = label;
     this.copiedMessage = copiedMessage;
-    this.content = content;
+    this.content = deferredContent;
     this._createViewFn = createViewFn;
 
     /** @type {?UI.Widget} */
diff --git a/third_party/blink/renderer/devtools/front_end/persistence/Automapping.js b/third_party/blink/renderer/devtools/front_end/persistence/Automapping.js
index 805e1aa..88fa293 100644
--- a/third_party/blink/renderer/devtools/front_end/persistence/Automapping.js
+++ b/third_party/blink/renderer/devtools/front_end/persistence/Automapping.js
@@ -234,13 +234,9 @@
         return null;
       }
 
-      const contents = await Promise.all([
-        status.fileSystem.requestContent(),
-        new Promise(x => status.network.project().requestFileContent(status.network, x))
-      ]);
-      const fileSystemContent = contents[0];
-      const networkContent = contents[1];
-      if (fileSystemContent === null || networkContent === null) {
+      const [fileSystemContent, networkContent] = await Promise.all(
+          [status.fileSystem.requestContent(), status.network.project().requestFileContent(status.network)]);
+      if (fileSystemContent.content === null || networkContent === null) {
         return null;
       }
 
@@ -250,13 +246,14 @@
 
       const target = Bindings.NetworkProject.targetForUISourceCode(status.network);
       let isValid = false;
+      const fileContent = fileSystemContent.content;
       if (target && target.type() === SDK.Target.Type.Node) {
         const rewrappedNetworkContent =
-            Persistence.Persistence.rewrapNodeJSContent(status.fileSystem, fileSystemContent, networkContent);
-        isValid = fileSystemContent === rewrappedNetworkContent;
+            Persistence.Persistence.rewrapNodeJSContent(status.fileSystem, fileContent, networkContent.content);
+        isValid = fileContent === rewrappedNetworkContent;
       } else {
         // Trim trailing whitespaces because V8 adds trailing newline.
-        isValid = fileSystemContent.trimRight() === networkContent.trimRight();
+        isValid = fileContent.trimRight() === networkContent.content.trimRight();
       }
       if (!isValid) {
         this._prevalidationFailedForTest(status);
diff --git a/third_party/blink/renderer/devtools/front_end/persistence/FileSystemWorkspaceBinding.js b/third_party/blink/renderer/devtools/front_end/persistence/FileSystemWorkspaceBinding.js
index 54c0a86..4a500e1 100644
--- a/third_party/blink/renderer/devtools/front_end/persistence/FileSystemWorkspaceBinding.js
+++ b/third_party/blink/renderer/devtools/front_end/persistence/FileSystemWorkspaceBinding.js
@@ -305,11 +305,11 @@
   /**
    * @override
    * @param {!Workspace.UISourceCode} uiSourceCode
-   * @param {function(?string,boolean)} callback
+   * @returns {!Promise<!Common.DeferredContent>}
    */
-  requestFileContent(uiSourceCode, callback) {
+  requestFileContent(uiSourceCode) {
     const filePath = this._filePathForUISourceCode(uiSourceCode);
-    this._fileSystem.requestFileContent(filePath, callback);
+    return this._fileSystem.requestFileContent(filePath);
   }
 
   /**
@@ -396,18 +396,13 @@
    * @param {boolean} isRegex
    * @return {!Promise<!Array<!Common.ContentProvider.SearchMatch>>}
    */
-  searchInFileContent(uiSourceCode, query, caseSensitive, isRegex) {
-    return new Promise(resolve => {
-      const filePath = this._filePathForUISourceCode(uiSourceCode);
-      this._fileSystem.requestFileContent(filePath, contentCallback);
-
-      /**
-       * @param {?string} content
-       */
-      function contentCallback(content) {
-        resolve(content ? Common.ContentProvider.performSearchInContent(content, query, caseSensitive, isRegex) : []);
-      }
-    });
+  async searchInFileContent(uiSourceCode, query, caseSensitive, isRegex) {
+    const filePath = this._filePathForUISourceCode(uiSourceCode);
+    const {content} = await this._fileSystem.requestFileContent(filePath);
+    if (content) {
+      return Common.ContentProvider.performSearchInContent(content, query, caseSensitive, isRegex);
+    }
+    return [];
   }
 
   /**
diff --git a/third_party/blink/renderer/devtools/front_end/persistence/IsolatedFileSystem.js b/third_party/blink/renderer/devtools/front_end/persistence/IsolatedFileSystem.js
index faf021d..1e0f98dc1 100644
--- a/third_party/blink/renderer/devtools/front_end/persistence/IsolatedFileSystem.js
+++ b/third_party/blink/renderer/devtools/front_end/persistence/IsolatedFileSystem.js
@@ -338,46 +338,51 @@
   /**
    * @override
    * @param {string} path
-   * @param {function(?string,boolean)} callback
+   * @returns {!Promise<!Common.DeferredContent>}
    */
-  requestFileContent(path, callback) {
-    const innerRequestFileContent = async () => {
-      const blob = await this.requestFileBlob(path);
-      if (!blob) {
-        callback(null, false);
-        return;
-      }
+  requestFileContent(path) {
+    return this._serializedFileOperation(path, () => this._innerRequestFileContent(path));
+  }
 
-      const reader = new FileReader();
-      const extension = Common.ParsedURL.extractExtension(path);
-      const encoded = BinaryExtensions.has(extension);
-      const readPromise = new Promise(x => reader.onloadend = x);
-      if (encoded) {
-        reader.readAsBinaryString(blob);
-      } else {
-        reader.readAsText(blob);
-      }
-      await readPromise;
-      if (reader.error) {
-        console.error('Can\'t read file: ' + path + ': ' + reader.error);
-        callback(null, false);
-        return;
-      }
-      let result;
-      try {
-        result = /** @type {string} */ (reader.result);
-      } catch (e) {
-        result = null;
-        console.error('Can\'t read file: ' + path + ': ' + e);
-      }
-      if (result === undefined || result === null) {
-        callback(null, false);
-        return;
-      }
-      callback(encoded ? btoa(result) : result, encoded);
-    };
+  /**
+   * @param {string} path
+   * @return {!Promise<!Common.DeferredContent>}
+   */
+  async _innerRequestFileContent(path) {
+    const blob = await this.requestFileBlob(path);
+    if (!blob) {
+      return {error: ls`Blob could not be loaded.`, isEncoded: false};
+    }
 
-    this._serializedFileOperation(path, innerRequestFileContent);
+    const reader = new FileReader();
+    const extension = Common.ParsedURL.extractExtension(path);
+    const encoded = Persistence.IsolatedFileSystem.BinaryExtensions.has(extension);
+    const readPromise = new Promise(x => reader.onloadend = x);
+    if (encoded) {
+      reader.readAsBinaryString(blob);
+    } else {
+      reader.readAsText(blob);
+    }
+    await readPromise;
+    if (reader.error) {
+      const error = ls`Can't read file: ${path}: ${reader.error}`;
+      console.error(error);
+      return {isEncoded: false, error};
+    }
+    let result = null;
+    let error = null;
+    try {
+      result = /** @type {string} */ (reader.result);
+    } catch (e) {
+      result = null;
+      error = ls`Can't read file: ${path}: ${e.message}`;
+    }
+    if (result === undefined || result === null) {
+      error = error || ls`Unknown error reading file: ${path}`;
+      console.error(error);
+      return {isEncoded: false, error};
+    }
+    return {isEncoded: encoded, content: encoded ? btoa(result) : result};
   }
 
   /**
diff --git a/third_party/blink/renderer/devtools/front_end/persistence/NetworkPersistenceManager.js b/third_party/blink/renderer/devtools/front_end/persistence/NetworkPersistenceManager.js
index b7f730cf..afde0aa 100644
--- a/third_party/blink/renderer/devtools/front_end/persistence/NetworkPersistenceManager.js
+++ b/third_party/blink/renderer/devtools/front_end/persistence/NetworkPersistenceManager.js
@@ -237,7 +237,7 @@
     fileSystemUISourceCode[this._bindingSymbol] = binding;
     Persistence.persistence.addBinding(binding);
     const uiSourceCodeOfTruth = networkUISourceCode[this._savingSymbol] ? networkUISourceCode : fileSystemUISourceCode;
-    const [content, encoded] =
+    const [{content}, encoded] =
         await Promise.all([uiSourceCodeOfTruth.requestContent(), uiSourceCodeOfTruth.contentEncoded()]);
     Persistence.persistence.syncContent(uiSourceCodeOfTruth, content, encoded);
   }
@@ -266,7 +266,7 @@
     }
     uiSourceCode[this._savingSymbol] = true;
     let encodedPath = this._encodedPathFromUrl(uiSourceCode.url());
-    const content = await uiSourceCode.requestContent();
+    const content = (await uiSourceCode.requestContent()).content || '';
     const encoded = await uiSourceCode.contentEncoded();
     const lastIndexOfSlash = encodedPath.lastIndexOf('/');
     const encodedFileName = encodedPath.substr(lastIndexOfSlash + 1);
diff --git a/third_party/blink/renderer/devtools/front_end/persistence/PersistenceActions.js b/third_party/blink/renderer/devtools/front_end/persistence/PersistenceActions.js
index 656f8e23..df2e1b6 100644
--- a/third_party/blink/renderer/devtools/front_end/persistence/PersistenceActions.js
+++ b/third_party/blink/renderer/devtools/front_end/persistence/PersistenceActions.js
@@ -19,7 +19,7 @@
       if (contentProvider instanceof Workspace.UISourceCode) {
         /** @type {!Workspace.UISourceCode} */ (contentProvider).commitWorkingCopy();
       }
-      let content = await contentProvider.requestContent();
+      let content = (await contentProvider.requestContent()).content || '';
       if (await contentProvider.contentEncoded()) {
         content = window.atob(content);
       }
diff --git a/third_party/blink/renderer/devtools/front_end/persistence/PersistenceImpl.js b/third_party/blink/renderer/devtools/front_end/persistence/PersistenceImpl.js
index 8145ee3..b15dda9 100644
--- a/third_party/blink/renderer/devtools/front_end/persistence/PersistenceImpl.js
+++ b/third_party/blink/renderer/devtools/front_end/persistence/PersistenceImpl.js
@@ -223,7 +223,7 @@
     const target = Bindings.NetworkProject.targetForUISourceCode(binding.network);
     if (target.type() === SDK.Target.Type.Node) {
       other.requestContent().then(currentContent => {
-        const nodeJSContent = PersistenceImpl.rewrapNodeJSContent(other, currentContent, newContent);
+        const nodeJSContent = PersistenceImpl.rewrapNodeJSContent(other, currentContent.content, newContent);
         setContent.call(this, nodeJSContent);
       });
       return;
diff --git a/third_party/blink/renderer/devtools/front_end/persistence/PlatformFileSystem.js b/third_party/blink/renderer/devtools/front_end/persistence/PlatformFileSystem.js
index a034bb4..2276225 100644
--- a/third_party/blink/renderer/devtools/front_end/persistence/PlatformFileSystem.js
+++ b/third_party/blink/renderer/devtools/front_end/persistence/PlatformFileSystem.js
@@ -83,10 +83,10 @@
 
   /**
    * @param {string} path
-   * @param {function(?string,boolean)} callback
+   * @returns {!Promise<!Common.DeferredContent>}
    */
-  requestFileContent(path, callback) {
-    callback(null, false);
+  async requestFileContent(path) {
+    return {error: ls`Unable to read files with this implementation.`, isEncoded: false};
   }
 
   /**
diff --git a/third_party/blink/renderer/devtools/front_end/persistence/persistence_strings.grdp b/third_party/blink/renderer/devtools/front_end/persistence/persistence_strings.grdp
index 8df5a591..3e38b71 100644
--- a/third_party/blink/renderer/devtools/front_end/persistence/persistence_strings.grdp
+++ b/third_party/blink/renderer/devtools/front_end/persistence/persistence_strings.grdp
@@ -18,12 +18,18 @@
   <message name="IDS_DEVTOOLS_17d5f7dcd4ef6b9702a8b2ac7d237e5b" desc="Title of a setting under the Persistence category that can be invoked through the Command Menu">
     Enable override network requests
   </message>
+  <message name="IDS_DEVTOOLS_1c02bb01227ee7caca379039bfc5e85d" desc="Assertion error message when failing to load a file">
+    Unable to read files with this implementation.
+  </message>
   <message name="IDS_DEVTOOLS_1c5594ed57047449210c4b4d803f7787" desc="A tag of Enable Local Overrides setting that can be searched in the command menu">
     interception
   </message>
   <message name="IDS_DEVTOOLS_25ee7702f0b5dbe737d8f0f2ba3ce591" desc="A context menu item in the Persistence Actions of the Workspace settings in Settings">
     Save for overrides
   </message>
+  <message name="IDS_DEVTOOLS_3f117c10eacf50ac452cf2bea0295951" desc="Error message when failing to load a file">
+    Unknown error reading file: <ph name="PATH"><ex>c:\dir\file.js</ex>$1s</ph>
+  </message>
   <message name="IDS_DEVTOOLS_57e01423e2b182ada052707cbb8d7b3a" desc="Error message when a file system path is an empty string.">
     Enter a path
   </message>
@@ -36,6 +42,9 @@
   <message name="IDS_DEVTOOLS_62def4422771353f5e30763d92474b43" desc="Text in Persistence Utils of the Workspace settings in Settings">
     Linked to source map: <ph name="BINDING_NETWORK_URL___TRIMMIDDLE_____">$1s<ex>example.url</ex></ph>
   </message>
+  <message name="IDS_DEVTOOLS_6b8a6e4cad0454926dd845d32b525f04" desc="Error message when reading a file.">
+    Can&apos;t read file: <ph name="PATH"><ex>c:\dir\file.js</ex>$1s</ph>: <ph name="READER_ERROR"><ex>Underlying error</ex>$2s</ph>
+  </message>
   <message name="IDS_DEVTOOLS_7b4639e8d528d7a3eedafe23e9cdfee1" desc="A tag of Enable Local Overrides setting that can be searched in the command menu">
     rewrite
   </message>
@@ -63,6 +72,9 @@
   <message name="IDS_DEVTOOLS_e3b3f56615d1e5f2608d2f1130a7ef54" desc="A tag of Enable Local Overrides setting that can be searched in the command menu">
     override
   </message>
+  <message name="IDS_DEVTOOLS_ef1e313a589a406cf35afebfba156df5" desc="Error message when reading a remote blob">
+    Blob could not be loaded.
+  </message>
   <message name="IDS_DEVTOOLS_fddede572fa09e1b1bb28504d8c43343" desc="Text in Edit File System View of the Workspace settings in Settings">
     Folder path
   </message>
diff --git a/third_party/blink/renderer/devtools/front_end/sdk/CSSStyleSheetHeader.js b/third_party/blink/renderer/devtools/front_end/sdk/CSSStyleSheetHeader.js
index 023e97b..fe65dc1 100644
--- a/third_party/blink/renderer/devtools/front_end/sdk/CSSStyleSheetHeader.js
+++ b/third_party/blink/renderer/devtools/front_end/sdk/CSSStyleSheetHeader.js
@@ -36,9 +36,15 @@
    */
   originalContentProvider() {
     if (!this._originalContentProvider) {
-      const lazyContent = this._cssModel.originalStyleSheetText.bind(this._cssModel, this);
-      this._originalContentProvider = new Common.StaticContentProvider(
-          this.contentURL(), this.contentType(), /** @type {function():!Promise<string>} */ (lazyContent));
+      const lazyContent = /** @type {function():!Promise<!Common.DeferredContent>} */ (async () => {
+        const originalText = await this._cssModel.originalStyleSheetText(this);
+        if (!originalText) {
+          return {error: ls`Could not find the original style sheet.`, isEncoded: false};
+        }
+        return {content: originalText, isEncoded: false};
+      });
+      this._originalContentProvider =
+          new Common.StaticContentProvider(this.contentURL(), this.contentType(), lazyContent);
     }
     return this._originalContentProvider;
   }
@@ -143,10 +149,18 @@
 
   /**
    * @override
-   * @return {!Promise<string>}
+   * @return {!Promise<!Common.DeferredContent>}
    */
-  requestContent() {
-    return /** @type {!Promise<string>} */ (this._cssModel.getStyleSheetText(this.id));
+  async requestContent() {
+    try {
+      const cssText = await this._cssModel.getStyleSheetText(this.id);
+      return {content: /** @type{string} */ (cssText), isEncoded: false};
+    } catch (err) {
+      return {
+        error: ls`There was an error retrieving the source styles.`,
+        isEncoded: false,
+      };
+    }
   }
 
   /**
@@ -157,8 +171,8 @@
    * @return {!Promise<!Array<!Common.ContentProvider.SearchMatch>>}
    */
   async searchInContent(query, caseSensitive, isRegex) {
-    const content = await this.requestContent();
-    return Common.ContentProvider.performSearchInContent(content, query, caseSensitive, isRegex);
+    const {content} = await this.requestContent();
+    return Common.ContentProvider.performSearchInContent(content || '', query, caseSensitive, isRegex);
   }
 
   /**
diff --git a/third_party/blink/renderer/devtools/front_end/sdk/CompilerSourceMappingContentProvider.js b/third_party/blink/renderer/devtools/front_end/sdk/CompilerSourceMappingContentProvider.js
index cd909628..c4a0b02 100644
--- a/third_party/blink/renderer/devtools/front_end/sdk/CompilerSourceMappingContentProvider.js
+++ b/third_party/blink/renderer/devtools/front_end/sdk/CompilerSourceMappingContentProvider.js
@@ -67,31 +67,28 @@
 
   /**
    * @override
-   * @return {!Promise<string>}
+   * @return {!Promise<!Common.DeferredContent>}
    */
   requestContent() {
-    let callback;
-    const promise = new Promise(fulfill => callback = fulfill);
-    SDK.multitargetNetworkManager.loadResource(this._sourceURL, contentLoaded.bind(this));
-    return promise;
-
-    /**
-     * @param {number} statusCode
-     * @param {!Object.<string, string>} headers
-     * @param {string} content
-     * @this {CompilerSourceMappingContentProvider}
-     */
-    function contentLoaded(statusCode, headers, content) {
-      if (statusCode >= 400) {
-        console.error(
-            'Could not load content for ' + this._sourceURL + ' : ' +
-            'HTTP status code: ' + statusCode);
-        callback(null);
-        return;
-      }
-
-      callback(content);
-    }
+    return new Promise(resolve => {
+      SDK.multitargetNetworkManager.loadResource(
+          this._sourceURL,
+          /**
+         * @param {number} statusCode
+         * @param {!Object.<string, string>} _headers (unused)
+         * @param {string} content
+         * @this {SDK.CompilerSourceMappingContentProvider}
+         */
+          (statusCode, _headers, content) => {
+            if (statusCode >= 400) {
+              const error = ls`Could not load content for ${this._sourceURL} : HTTP status code: ${statusCode}`;
+              console.error(error);
+              resolve({error, isEncoded: false});
+            } else {
+              resolve({content, isEncoded: false});
+            }
+          });
+    });
   }
 
   /**
@@ -102,7 +99,7 @@
    * @return {!Promise<!Array<!Common.ContentProvider.SearchMatch>>}
    */
   async searchInContent(query, caseSensitive, isRegex) {
-    const content = await this.requestContent();
+    const {content} = await this.requestContent();
     if (typeof content !== 'string') {
       return [];
     }
diff --git a/third_party/blink/renderer/devtools/front_end/sdk/NetworkRequest.js b/third_party/blink/renderer/devtools/front_end/sdk/NetworkRequest.js
index 1e7f1697..fb9d05d1 100644
--- a/third_party/blink/renderer/devtools/front_end/sdk/NetworkRequest.js
+++ b/third_party/blink/renderer/devtools/front_end/sdk/NetworkRequest.js
@@ -1136,10 +1136,15 @@
 
   /**
    * @override
-   * @return {!Promise<string>}
+   * @return {!Promise<!Common.DeferredContent>}
    */
   async requestContent() {
-    return /** @type {string} */ ((await this.contentData()).content);
+    const {content, error, encoded} = await this.contentData();
+    return /** @type{!Common.DeferredContent} */ ({
+      content,
+      error,
+      isEncoded: encoded,
+    });
   }
 
   /**
diff --git a/third_party/blink/renderer/devtools/front_end/sdk/Resource.js b/third_party/blink/renderer/devtools/front_end/sdk/Resource.js
index 4594963..df5cac5 100644
--- a/third_party/blink/renderer/devtools/front_end/sdk/Resource.js
+++ b/third_party/blink/renderer/devtools/front_end/sdk/Resource.js
@@ -57,6 +57,7 @@
     this._contentSize = contentSize;
 
     /** @type {?string} */ this._content;
+    /** @type {?string} */ this._contentLoadError;
     /** @type {boolean} */ this._contentEncoded;
     this._pendingContentCallbacks = [];
     if (this._request && !this._request.finished) {
@@ -192,11 +193,11 @@
 
   /**
    * @override
-   * @return {!Promise<string>}
+   * @return {!Promise<!Common.DeferredContent>}
    */
   requestContent() {
     if (typeof this._content !== 'undefined') {
-      return Promise.resolve(/** @type {string} */ (this._content));
+      return Promise.resolve({content: /** @type {string} */ (this._content), isEncoded: this._contentEncoded});
     }
 
     let callback;
@@ -238,7 +239,7 @@
    * @param {!Element} image
    */
   async populateImageSource(image) {
-    const content = await this.requestContent();
+    const {content} = await this.requestContent();
     const encoded = this._contentEncoded;
     image.src = Common.ContentProvider.contentAsDataURL(content, this._mimeType, encoded) || this._url;
   }
@@ -256,14 +257,25 @@
     }
     this._contentRequested = true;
 
+    /** @type {!Common.DeferredContent} */
+    let loadResult;
     if (this.request) {
       const contentData = await this.request.contentData();
       this._content = contentData.content;
       this._contentEncoded = contentData.encoded;
+      loadResult = {content: /** @type{string} */ (contentData.content), isEncoded: contentData.encoded};
     } else {
       const response = await this._resourceTreeModel.target().pageAgent().invoke_getResourceContent(
           {frameId: this.frameId, url: this.url});
-      this._content = response[Protocol.Error] ? null : response.content;
+      if (response[Protocol.Error]) {
+        this._contentLoadError = response[Protocol.Error];
+        this._content = null;
+        loadResult = {error: response[Protocol.Error], isEncoded: false};
+      } else {
+        this._content = response.content;
+        this._contentLoadError = null;
+        loadResult = {content: response.content, isEncoded: response.base64Encoded};
+      }
       this._contentEncoded = response.base64Encoded;
     }
 
@@ -272,8 +284,9 @@
     }
 
     for (const callback of this._pendingContentCallbacks.splice(0)) {
-      callback(this._content);
+      callback(loadResult);
     }
+
     delete this._contentRequested;
   }
 
diff --git a/third_party/blink/renderer/devtools/front_end/sdk/Script.js b/third_party/blink/renderer/devtools/front_end/sdk/Script.js
index 678d7d1..12862e7a 100644
--- a/third_party/blink/renderer/devtools/front_end/sdk/Script.js
+++ b/third_party/blink/renderer/devtools/front_end/sdk/Script.js
@@ -138,25 +138,31 @@
 
   /**
    * @override
-   * @return {!Promise<string>}
+   * @return {!Promise<!Common.DeferredContent>}
    */
   async requestContent() {
     if (this._source) {
-      return this._source;
+      return {content: this._source, isEncoded: false};
     }
     if (!this.scriptId) {
-      return '';
+      return {error: ls`Script removed or deleted.`, isEncoded: false};
     }
-    const source = await this.debuggerModel.target().debuggerAgent().getScriptSource(this.scriptId);
-    if (source && this.hasSourceURL) {
-      this._source = Script._trimSourceURLComment(source);
-    } else {
-      this._source = source || '';
+
+    try {
+      const source = await this.debuggerModel.target().debuggerAgent().getScriptSource(this.scriptId);
+      if (source && this.hasSourceURL) {
+        this._source = SDK.Script._trimSourceURLComment(source);
+      } else {
+        this._source = source || '';
+      }
+
+      if (this._originalSource === null) {
+        this._originalSource = this._source;
+      }
+      return {content: this._source, isEncoded: false};
+    } catch (err) {
+      return {error: ls`Unable to fetch script source.`, isEncoded: false};
     }
-    if (this._originalSource === null) {
-      this._originalSource = this._source;
-    }
-    return this._source;
   }
 
   /**
@@ -164,7 +170,12 @@
    */
   originalContentProvider() {
     if (!this._originalContentProvider) {
-      const lazyContent = () => this.requestContent().then(() => this._originalSource);
+      const lazyContent = () => this.requestContent().then(() => {
+        return {
+          content: this._originalSource,
+          isEncoded: false,
+        };
+      });
       this._originalContentProvider =
           new Common.StaticContentProvider(this.contentURL(), this.contentType(), lazyContent);
     }
diff --git a/third_party/blink/renderer/devtools/front_end/sdk/sdk_strings.grdp b/third_party/blink/renderer/devtools/front_end/sdk/sdk_strings.grdp
index 70cc090..2df36d8c5 100644
--- a/third_party/blink/renderer/devtools/front_end/sdk/sdk_strings.grdp
+++ b/third_party/blink/renderer/devtools/front_end/sdk/sdk_strings.grdp
@@ -1,11 +1,17 @@
 <?xml version="1.0" encoding="utf-8"?>
 <grit-part>
+  <message name="IDS_DEVTOOLS_0203e27fe44545283879b18e7084391b" desc="Error message when failing to load a script source text">
+    Unable to fetch script source.
+  </message>
   <message name="IDS_DEVTOOLS_021aa7730980fe55529e460ee1367179" desc="Tooltip to explain why a cookie was blocked">
     This cookie had the &quot;SameSite=Extended&quot; attribute and the request was made on a different site. The different site is outside of the cookie&apos;s trusted first-party set.
   </message>
   <message name="IDS_DEVTOOLS_04608e209233c72a33b9a80e8ff2bd58" desc="Tooltip to explain why a cookie was blocked">
     This cookie had the &quot;SameSite=None&quot; attribute but was not marked &quot;Secure&quot;. Cookies without SameSite restrictions must be marked &quot;Secure&quot; and sent over a secure connection.
   </message>
+  <message name="IDS_DEVTOOLS_0568216cb82d1edfc0a9482db7b99ba1" desc="Error message when failing to load a script source text via the network">
+    Could not load content for <ph name="THIS__SOURCEURL"><ex>https://example.com</ex>$1s</ph> : HTTP status code: <ph name="STATUSCODE"><ex>404</ex>$2s</ph>
+  </message>
   <message name="IDS_DEVTOOLS_07553a11db31a4433684be32cc4716e3" desc="Text in Network Manager">
     Cross-Origin Read Blocking (CORB) blocked cross-origin response <ph name="NETWORKREQUEST_URL__">$1s<ex>https://example.com</ex></ph> with MIME type <ph name="NETWORKREQUEST_MIMETYPE">$2s<ex>application</ex></ph>. See https://www.chromestatus.com/feature/5629709824032768 for more details.
   </message>
@@ -141,9 +147,15 @@
   <message name="IDS_DEVTOOLS_509a7f125ba127d220887938738af707" desc="Text in Console Model">
     Failed to save to temp variable.
   </message>
+  <message name="IDS_DEVTOOLS_51a81ec0bbeea1b79ef6a0cc91a7b9a8" desc="Error message for when a script can't be loaded which had been previously">
+    Script removed or deleted.
+  </message>
   <message name="IDS_DEVTOOLS_52da3e7fcf6abefc2a8807df4b759ef8" desc="Text in the Event Listener Breakpoints Panel of the JavaScript Debugger in the Sources Panel">
     setInterval fired
   </message>
+  <message name="IDS_DEVTOOLS_58b76a3d0e2c9313c7742f409bc0afa9" desc="Error message to display when a source CSS file could not be retrieved.">
+    There was an error retrieving the source styles.
+  </message>
   <message name="IDS_DEVTOOLS_58c00b9a5a2a60122f4ac08e4610d9e2" desc="Tooltip to explain why a cookie was blocked">
     This set-cookie had the &quot;SameSite=Extended&quot; attribute but came from a cross-origin response.
   </message>
@@ -195,6 +207,9 @@
   <message name="IDS_DEVTOOLS_75101dcdfc88455bcafc9e53e0b06689" desc="Service worker running status displayed in the Service Workers view in the Application panel">
     running
   </message>
+  <message name="IDS_DEVTOOLS_75ce94bc789367b63d0fc1c8daa996df" desc="Error message for when a CSS file can't be loaded">
+    Could not find the original style sheet.
+  </message>
   <message name="IDS_DEVTOOLS_77454122d17d16885c51c0d57f5c7bd3" desc="Tooltip to explain why a cookie was blocked">
     This cookie had the &quot;SameSite=Strict&quot; attribute and the request was made on on a different site. This includes navigation requests initiated by other sites.
   </message>
diff --git a/third_party/blink/renderer/devtools/front_end/snippets/ScriptSnippetFileSystem.js b/third_party/blink/renderer/devtools/front_end/snippets/ScriptSnippetFileSystem.js
index ed8322a..fd00ef5 100644
--- a/third_party/blink/renderer/devtools/front_end/snippets/ScriptSnippetFileSystem.js
+++ b/third_party/blink/renderer/devtools/front_end/snippets/ScriptSnippetFileSystem.js
@@ -55,12 +55,12 @@
   /**
    * @override
    * @param {string} path
-   * @param {function(?string,boolean)} callback
+   * @returns {!Promise<!Common.DeferredContent>}
    */
-  requestFileContent(path, callback) {
+  async requestFileContent(path) {
     const name = unescape(path.substring(1));
     const snippet = this._snippetsSetting.get().find(snippet => snippet.name === name);
-    callback(snippet ? snippet.content : null, /* encoded */ false);
+    return {content: snippet ? snippet.content : null, isEncoded: false};
   }
 
   /**
@@ -163,7 +163,6 @@
   }
 
   const runtimeModel = executionContext.runtimeModel;
-
   await uiSourceCode.requestContent();
   uiSourceCode.commitWorkingCopy();
   const expression = uiSourceCode.workingCopy();
diff --git a/third_party/blink/renderer/devtools/front_end/source_frame/BinaryResourceViewFactory.js b/third_party/blink/renderer/devtools/front_end/source_frame/BinaryResourceViewFactory.js
index 4b8889dd..cdc7209 100644
--- a/third_party/blink/renderer/devtools/front_end/source_frame/BinaryResourceViewFactory.js
+++ b/third_party/blink/renderer/devtools/front_end/source_frame/BinaryResourceViewFactory.js
@@ -16,7 +16,7 @@
     this._arrayPromise = null;
     /** @type {?Promise<string>} */
     this._hexPromise = null;
-    /** @type {?Promise<string>} */
+    /** @type {?Promise<!Common.DeferredContent>} */
     this._utf8Promise = null;
   }
 
@@ -31,14 +31,14 @@
   }
 
   /**
-   * @return {!Promise<string>}
+   * @return {!Promise<!Common.DeferredContent>}
    */
   async hex() {
     if (!this._hexPromise) {
       this._hexPromise = new Promise(async resolve => {
         const content = await this._fetchContentAsArray();
         const hexString = SourceFrame.BinaryResourceViewFactory.uint8ArrayToHexString(content);
-        resolve(hexString);
+        resolve({content: hexString, isEncoded: false});
       });
     }
 
@@ -46,21 +46,21 @@
   }
 
   /**
-   * @return {!Promise<string>}
+   * @return {!Promise<!Common.DeferredContent>}
    */
   async base64() {
-    return this._base64content;
+    return {content: this._base64content, isEncoded: true};
   }
 
   /**
-   * @return {!Promise<string>}
+   * @return {!Promise<!Common.DeferredContent>}
    */
   async utf8() {
     if (!this._utf8Promise) {
       this._utf8Promise = new Promise(async resolve => {
         const content = await this._fetchContentAsArray();
         const utf8String = new TextDecoder('utf8').decode(content);
-        resolve(utf8String);
+        resolve({content: utf8String, isEncoded: false});
       });
     }
 
@@ -80,9 +80,12 @@
    * @return {!SourceFrame.ResourceSourceFrame}
    */
   createHexView() {
-    const hexViewerContentProvider = new Common.StaticContentProvider(
-        this._contentUrl, this._resourceType,
-        async () => SourceFrame.BinaryResourceViewFactory.uint8ArrayToHexViewer(await this._fetchContentAsArray()));
+    const hexViewerContentProvider =
+        new Common.StaticContentProvider(this._contentUrl, this._resourceType, async () => {
+          const contentAsArray = await this._fetchContentAsArray();
+          const content = SourceFrame.BinaryResourceViewFactory.uint8ArrayToHexViewer(contentAsArray);
+          return {content, isEncoded: false};
+        });
     return new SourceFrame.ResourceSourceFrame(
         hexViewerContentProvider,
         /* autoPrettyPrint */ false, {lineNumbers: false, lineWrapping: false});
diff --git a/third_party/blink/renderer/devtools/front_end/source_frame/FontView.js b/third_party/blink/renderer/devtools/front_end/source_frame/FontView.js
index a01c5ef..50e4ad4 100644
--- a/third_party/blink/renderer/devtools/front_end/source_frame/FontView.js
+++ b/third_party/blink/renderer/devtools/front_end/source_frame/FontView.js
@@ -55,9 +55,10 @@
 
   /**
    * @param {string} uniqueFontName
-   * @param {?string} content
+   * @param {!Common.DeferredContent} deferredContent
    */
-  _onFontContentLoaded(uniqueFontName, content) {
+  _onFontContentLoaded(uniqueFontName, deferredContent) {
+    const {content} = deferredContent;
     const url = content ? Common.ContentProvider.contentAsDataURL(content, this._mimeType, true) : this._url;
     this.fontStyleElement.textContent =
         String.sprintf('@font-face { font-family: "%s"; src: url(%s); }', uniqueFontName, url);
@@ -71,7 +72,9 @@
     const uniqueFontName = 'WebInspectorFontPreview' + (++SourceFrame.FontView._fontId);
 
     this.fontStyleElement = createElement('style');
-    this._contentProvider.requestContent().then(this._onFontContentLoaded.bind(this, uniqueFontName));
+    this._contentProvider.requestContent().then(deferredContent => {
+      this._onFontContentLoaded(uniqueFontName, deferredContent);
+    });
     this.element.appendChild(this.fontStyleElement);
 
     const fontPreview = createElement('div');
diff --git a/third_party/blink/renderer/devtools/front_end/source_frame/ImageView.js b/third_party/blink/renderer/devtools/front_end/source_frame/ImageView.js
index d49d57f0..43c8af6 100644
--- a/third_party/blink/renderer/devtools/front_end/source_frame/ImageView.js
+++ b/third_party/blink/renderer/devtools/front_end/source_frame/ImageView.js
@@ -94,7 +94,7 @@
   }
 
   async _updateContentIfNeeded() {
-    const content = await this._contentProvider.requestContent();
+    const {content} = await this._contentProvider.requestContent();
     if (this._cachedContent === content) {
       return;
     }
diff --git a/third_party/blink/renderer/devtools/front_end/source_frame/PreviewFactory.js b/third_party/blink/renderer/devtools/front_end/source_frame/PreviewFactory.js
index bad56158..0f4a9dc 100644
--- a/third_party/blink/renderer/devtools/front_end/source_frame/PreviewFactory.js
+++ b/third_party/blink/renderer/devtools/front_end/source_frame/PreviewFactory.js
@@ -21,11 +21,14 @@
         return new SourceFrame.FontView(mimeType, provider);
     }
 
-    let content = await provider.requestContent();
-    if (!content) {
+    const deferredContent = await provider.requestContent();
+    if (deferredContent.error) {
+      return new UI.EmptyWidget(deferredContent.error);
+    } else if (!deferredContent.content) {
       return new UI.EmptyWidget(Common.UIString('Nothing to preview'));
     }
 
+    let content = deferredContent.content;
     if (await provider.contentEncoded()) {
       content = window.atob(content);
     }
diff --git a/third_party/blink/renderer/devtools/front_end/source_frame/ResourceSourceFrame.js b/third_party/blink/renderer/devtools/front_end/source_frame/ResourceSourceFrame.js
index 8fb0f69f..37347aac 100644
--- a/third_party/blink/renderer/devtools/front_end/source_frame/ResourceSourceFrame.js
+++ b/third_party/blink/renderer/devtools/front_end/source_frame/ResourceSourceFrame.js
@@ -38,11 +38,11 @@
    */
   constructor(resource, autoPrettyPrint, codeMirrorOptions) {
     super(async () => {
-      let content = await resource.requestContent();
+      let content = (await resource.requestContent()).content || '';
       if (await resource.contentEncoded()) {
         content = window.atob(content);
       }
-      return content;
+      return {content, isEncoded: false};
     }, codeMirrorOptions);
     this._resource = resource;
     this.setCanPrettyPrint(this._resource.contentType().isDocumentOrScriptOrStyleSheet(), autoPrettyPrint);
diff --git a/third_party/blink/renderer/devtools/front_end/source_frame/SourceFrame.js b/third_party/blink/renderer/devtools/front_end/source_frame/SourceFrame.js
index 7710bc21..f48a1e29 100644
--- a/third_party/blink/renderer/devtools/front_end/source_frame/SourceFrame.js
+++ b/third_party/blink/renderer/devtools/front_end/source_frame/SourceFrame.js
@@ -35,7 +35,7 @@
  */
 SourceFrame.SourceFrame = class extends UI.SimpleView {
   /**
-   * @param {function(): !Promise<string>} lazyContent
+   * @param {function(): !Promise<!Common.DeferredContent>} lazyContent
    * @param {!UI.TextEditor.Options=} codeMirrorOptions
    */
   constructor(lazyContent, codeMirrorOptions) {
@@ -69,6 +69,7 @@
     this._currentSearchResultIndex = -1;
     this._searchResults = [];
     this._searchRegex = null;
+    this._loadError = false;
 
     this._textEditor.addEventListener(
         SourceFrame.SourcesTextEditor.Events.EditorFocused, this._resetCurrentSearchResultIndex, this);
@@ -149,13 +150,13 @@
     if (this._pretty) {
       const formatInfo = await this._requestFormattedContent();
       this._formattedMap = formatInfo.map;
-      this.setContent(formatInfo.content);
+      this.setContent(formatInfo.content, null);
       this._prettyCleanGeneration = this._textEditor.markClean();
       const start = this._rawToPrettyLocation(selection.startLine, selection.startColumn);
       const end = this._rawToPrettyLocation(selection.endLine, selection.endColumn);
       newSelection = new TextUtils.TextRange(start[0], start[1], end[0], end[1]);
     } else {
-      this.setContent(this._rawContent);
+      this.setContent(this._rawContent, null);
       this._cleanGeneration = this._textEditor.markClean();
       const start = this._prettyToRawLocation(selection.startLine, selection.startColumn);
       const end = this._prettyToRawLocation(selection.endLine, selection.endColumn);
@@ -234,6 +235,13 @@
   }
 
   /**
+   * @return {boolean}
+   */
+  hasLoadError() {
+    return this._loadError;
+  }
+
+  /**
    * @override
    */
   wasShown() {
@@ -276,15 +284,32 @@
   async _ensureContentLoaded() {
     if (!this._contentRequested) {
       this._contentRequested = true;
-      const content = await this._lazyContent();
-      this._rawContent = content || '';
+      const {content, error} = (await this._lazyContent());
+      this._rawContent = error || content || '';
       this._formattedContentPromise = null;
       this._formattedMap = null;
       this._prettyToggle.setEnabled(true);
-      if (this._shouldAutoPrettyPrint && TextUtils.isMinified(content)) {
-        await this._setPretty(true);
+
+      if (error) {
+        this.setContent(null, error);
+        this._prettyToggle.setEnabled(false);
+
+        // Occasionally on load, there can be a race in which it appears the CodeMirror plugin
+        // runs the highlighter type assignment out of order. In case of an error then, set
+        // the highlighter type after a short delay. This appears to only occur the first
+        // time that CodeMirror is initialized, likely because the highlighter type was first
+        // initialized based on the file type, and the syntax highlighting is in a race
+        // with the new highlighter assignment. As the option is just an option and is not
+        // observable, we can't handle waiting for it here.
+        // https://github.com/codemirror/CodeMirror/issues/6019
+        // CRBug 1011445
+        setTimeout(() => this.setHighlighterType('text/plain'), 50);
       } else {
-        this.setContent(this._rawContent);
+        if (this._shouldAutoPrettyPrint && TextUtils.isMinified(content || '')) {
+          await this._setPretty(true);
+        } else {
+          this.setContent(this._rawContent, null);
+        }
       }
     }
   }
@@ -472,14 +497,23 @@
 
   /**
    * @param {?string} content
+   * @param {?string} loadError
    */
-  setContent(content) {
+  setContent(content, loadError) {
     this._muteChangeEventsForSetContent = true;
     if (!this._loaded) {
       this._loaded = true;
-      this._textEditor.setText(content || '');
-      this._cleanGeneration = this._textEditor.markClean();
-      this._textEditor.setReadOnly(!this._editable);
+      if (!loadError) {
+        this._textEditor.setText(content || '');
+        this._cleanGeneration = this._textEditor.markClean();
+        this._textEditor.setReadOnly(!this._editable);
+        this._loadError = false;
+      } else {
+        this._textEditor.setText(loadError || '');
+        this._highlighterType = 'text/plain';
+        this._textEditor.setReadOnly(true);
+        this._loadError = true;
+      }
     } else {
       const scrollTop = this._textEditor.scrollTop();
       const selection = this._textEditor.selection();
diff --git a/third_party/blink/renderer/devtools/front_end/sources/DebuggerPlugin.js b/third_party/blink/renderer/devtools/front_end/sources/DebuggerPlugin.js
index c2c4e98c..ef85d03 100644
--- a/third_party/blink/renderer/devtools/front_end/sources/DebuggerPlugin.js
+++ b/third_party/blink/renderer/devtools/front_end/sources/DebuggerPlugin.js
@@ -1565,7 +1565,7 @@
   }
 
   _detectMinified() {
-    const content = this._uiSourceCode.content();
+    const {content} = this._uiSourceCode.content();
     if (!content || !TextUtils.isMinified(content)) {
       return;
     }
diff --git a/third_party/blink/renderer/devtools/front_end/sources/InplaceFormatterEditorAction.js b/third_party/blink/renderer/devtools/front_end/sources/InplaceFormatterEditorAction.js
index fc4342f2..adeda44 100644
--- a/third_party/blink/renderer/devtools/front_end/sources/InplaceFormatterEditorAction.js
+++ b/third_party/blink/renderer/devtools/front_end/sources/InplaceFormatterEditorAction.js
@@ -79,38 +79,44 @@
     }
 
     if (uiSourceCode.isDirty()) {
-      contentLoaded.call(this, uiSourceCode.workingCopy());
+      this._contentLoaded(uiSourceCode, uiSourceCode.workingCopy());
     } else {
-      uiSourceCode.requestContent().then(contentLoaded.bind(this));
+      uiSourceCode.requestContent().then(deferredContent => {
+        this._contentLoaded(uiSourceCode, deferredContent.content);
+      });
     }
+  }
 
-    /**
-     * @this {Sources.InplaceFormatterEditorAction}
-     * @param {?string} content
-     */
-    function contentLoaded(content) {
-      const highlighterType = uiSourceCode.mimeType();
-      Formatter.Formatter.format(uiSourceCode.contentType(), highlighterType, content || '', innerCallback.bind(this));
-    }
+  /**
+   * @param {?Workspace.UISourceCode} uiSourceCode
+   * @param {string} content
+   */
+  _contentLoaded(uiSourceCode, content) {
+    const highlighterType = uiSourceCode.mimeType();
+    Formatter.Formatter.format(
+        uiSourceCode.contentType(), highlighterType, content, (formattedContent, formatterMapping) => {
+          this._formattingComplete(uiSourceCode, formattedContent, formatterMapping);
+        });
+  }
 
-    /**
-     * @this {Sources.InplaceFormatterEditorAction}
+  /**
+     * Post-format callback
+     * @param {?Workspace.UISourceCode} uiSourceCode
      * @param {string} formattedContent
      * @param {!Formatter.FormatterSourceMapping} formatterMapping
      */
-    function innerCallback(formattedContent, formatterMapping) {
-      if (uiSourceCode.workingCopy() === formattedContent) {
-        return;
-      }
-      const sourceFrame = this._sourcesView.viewForFile(uiSourceCode);
-      let start = [0, 0];
-      if (sourceFrame) {
-        const selection = sourceFrame.selection();
-        start = formatterMapping.originalToFormatted(selection.startLine, selection.startColumn);
-      }
-      uiSourceCode.setWorkingCopy(formattedContent);
-
-      this._sourcesView.showSourceLocation(uiSourceCode, start[0], start[1]);
+  _formattingComplete(uiSourceCode, formattedContent, formatterMapping) {
+    if (uiSourceCode.workingCopy() === formattedContent) {
+      return;
     }
+    const sourceFrame = this._sourcesView.viewForFile(uiSourceCode);
+    let start = [0, 0];
+    if (sourceFrame) {
+      const selection = sourceFrame.selection();
+      start = formatterMapping.originalToFormatted(selection.startLine, selection.startColumn);
+    }
+    uiSourceCode.setWorkingCopy(formattedContent);
+
+    this._sourcesView.showSourceLocation(uiSourceCode, start[0], start[1]);
   }
 };
diff --git a/third_party/blink/renderer/devtools/front_end/sources/JavaScriptBreakpointsSidebarPane.js b/third_party/blink/renderer/devtools/front_end/sources/JavaScriptBreakpointsSidebarPane.js
index 09e020d..60b042f69 100644
--- a/third_party/blink/renderer/devtools/front_end/sources/JavaScriptBreakpointsSidebarPane.js
+++ b/third_party/blink/renderer/devtools/front_end/sources/JavaScriptBreakpointsSidebarPane.js
@@ -129,7 +129,7 @@
     checkboxLabel.checkboxElement.indeterminate = hasEnabled && hasDisabled;
 
     const snippetElement = element[Sources.JavaScriptBreakpointsSidebarPane._snippetElementSymbol];
-    const content = await uiLocation.uiSourceCode.requestContent();
+    const {content} = await uiLocation.uiSourceCode.requestContent();
     const lineNumber = uiLocation.lineNumber;
     const text = new TextUtils.Text(content || '');
     if (lineNumber < text.lineCount()) {
diff --git a/third_party/blink/renderer/devtools/front_end/sources/NavigatorView.js b/third_party/blink/renderer/devtools/front_end/sources/NavigatorView.js
index 9c445d3..b4c6eabb5 100644
--- a/third_party/blink/renderer/devtools/front_end/sources/NavigatorView.js
+++ b/third_party/blink/renderer/devtools/front_end/sources/NavigatorView.js
@@ -870,7 +870,7 @@
   async create(project, path, uiSourceCodeToCopy) {
     let content = '';
     if (uiSourceCodeToCopy) {
-      content = (await uiSourceCodeToCopy.requestContent()) || '';
+      content = (await uiSourceCodeToCopy.requestContent()).content || '';
     }
     const uiSourceCode = await project.createFile(path, null, content);
     if (!uiSourceCode) {
diff --git a/third_party/blink/renderer/devtools/front_end/sources/SourceFormatter.js b/third_party/blink/renderer/devtools/front_end/sources/SourceFormatter.js
index 4634c63..dca9ea6 100644
--- a/third_party/blink/renderer/devtools/front_end/sources/SourceFormatter.js
+++ b/third_party/blink/renderer/devtools/front_end/sources/SourceFormatter.js
@@ -103,7 +103,7 @@
       fulfillFormatPromise = fulfill;
     });
     this._formattedSourceCodes.set(uiSourceCode, {promise: resultPromise, formatData: null});
-    const content = await uiSourceCode.requestContent();
+    const {content} = await uiSourceCode.requestContent();
     // ------------ ASYNC ------------
     Formatter.Formatter.format(
         uiSourceCode.contentType(), uiSourceCode.mimeType(), content || '', formatDone.bind(this));
diff --git a/third_party/blink/renderer/devtools/front_end/sources/SourceMapNamesResolver.js b/third_party/blink/renderer/devtools/front_end/sources/SourceMapNamesResolver.js
index f36b919..a7812a4f 100644
--- a/third_party/blink/renderer/devtools/front_end/sources/SourceMapNamesResolver.js
+++ b/third_party/blink/renderer/devtools/front_end/sources/SourceMapNamesResolver.js
@@ -40,14 +40,15 @@
   return script.requestContent().then(onContent);
 
   /**
-   * @param {?string} content
+   * @param {!Common.DeferredContent} deferredContent
    * @return {!Promise<!Array<!Sources.SourceMapNamesResolver.Identifier>>}
    */
-  function onContent(content) {
-    if (!content) {
+  function onContent(deferredContent) {
+    if (!deferredContent.content) {
       return Promise.resolve(/** @type {!Array<!Sources.SourceMapNamesResolver.Identifier>}*/ ([]));
     }
 
+    const content = deferredContent.content;
     const text = new TextUtils.Text(content);
     const scopeRange = new TextUtils.TextRange(
         startLocation.lineNumber, startLocation.columnNumber, endLocation.lineNumber, endLocation.columnNumber);
@@ -167,7 +168,10 @@
       return Promise.resolve(/** @type {?string} */ (null));
     }
 
-    return uiSourceCode.requestContent().then(onSourceContent.bind(null, sourceTextRange));
+    return uiSourceCode.requestContent().then(deferredContent => {
+      const content = deferredContent.content;
+      return onSourceContent(sourceTextRange, content);
+    });
   }
 
   /**
@@ -290,10 +294,11 @@
   return script.requestContent().then(onContent);
 
   /**
-   * @param {?string} content
+   * @param {!Common.DeferredContent} deferredContent
    * @return {!Promise<string>}
    */
-  function onContent(content) {
+  function onContent(deferredContent) {
+    const content = deferredContent.content;
     if (!content) {
       return Promise.resolve('');
     }
diff --git a/third_party/blink/renderer/devtools/front_end/sources/SourcesNavigator.js b/third_party/blink/renderer/devtools/front_end/sources/SourcesNavigator.js
index a5d28810..0e8c0520 100644
--- a/third_party/blink/renderer/devtools/front_end/sources/SourcesNavigator.js
+++ b/third_party/blink/renderer/devtools/front_end/sources/SourcesNavigator.js
@@ -291,8 +291,8 @@
    */
   async _handleSaveAs(uiSourceCode) {
     uiSourceCode.commitWorkingCopy();
-    const content = await uiSourceCode.requestContent();
-    Workspace.fileManager.save(uiSourceCode.url(), content, true);
+    const {content} = await uiSourceCode.requestContent();
+    Workspace.fileManager.save(uiSourceCode.url(), content || '', true);
     Workspace.fileManager.close(uiSourceCode.url());
   }
 };
diff --git a/third_party/blink/renderer/devtools/front_end/sources/SourcesSearchScope.js b/third_party/blink/renderer/devtools/front_end/sources/SourcesSearchScope.js
index 0f6214e..39187c76 100644
--- a/third_party/blink/renderer/devtools/front_end/sources/SourcesSearchScope.js
+++ b/third_party/blink/renderer/devtools/front_end/sources/SourcesSearchScope.js
@@ -242,7 +242,9 @@
       if (uiSourceCode.isDirty()) {
         contentLoaded.call(this, uiSourceCode, uiSourceCode.workingCopy());
       } else {
-        uiSourceCode.requestContent().then(contentLoaded.bind(this, uiSourceCode));
+        uiSourceCode.requestContent().then(deferredContent => {
+          contentLoaded.call(this, uiSourceCode, deferredContent.content || '');
+        });
       }
     }
 
@@ -266,7 +268,7 @@
 
     /**
      * @param {!Workspace.UISourceCode} uiSourceCode
-     * @param {?string} content
+     * @param {string} content
      * @this {Sources.SourcesSearchScope}
      */
     function contentLoaded(uiSourceCode, content) {
diff --git a/third_party/blink/renderer/devtools/front_end/sources/TabbedEditorContainer.js b/third_party/blink/renderer/devtools/front_end/sources/TabbedEditorContainer.js
index eae8ce65..4e00fb5 100644
--- a/third_party/blink/renderer/devtools/front_end/sources/TabbedEditorContainer.js
+++ b/third_party/blink/renderer/devtools/front_end/sources/TabbedEditorContainer.js
@@ -491,10 +491,28 @@
 
     this._updateFileTitle(uiSourceCode);
     this._addUISourceCodeListeners(uiSourceCode);
+    if (uiSourceCode.loadError()) {
+      this._addLoadErrorIcon(tabId);
+    } else if (!uiSourceCode.contentLoaded()) {
+      uiSourceCode.requestContent().then(content => {
+        if (uiSourceCode.loadError()) {
+          this._addLoadErrorIcon(tabId);
+        }
+      });
+    }
     return tabId;
   }
 
   /**
+   * @param {string} tabId
+   */
+  _addLoadErrorIcon(tabId) {
+    const icon = UI.Icon.create('smallicon-error');
+    icon.title = ls`Unable to load this content.`;
+    this._tabbedPane.setTabIcon(tabId, icon);
+  }
+
+  /**
    * @param {!UI.Widget} editorView
    * @param {!TextUtils.TextRange=} selection
    * @param {number=} firstLineNumber
@@ -581,7 +599,10 @@
       const tooltip = this._tooltipForFile(uiSourceCode);
       this._tabbedPane.changeTabTitle(tabId, title, tooltip);
       let icon = null;
-      if (Persistence.persistence.hasUnsavedCommittedChanges(uiSourceCode)) {
+      if (uiSourceCode.loadError()) {
+        icon = UI.Icon.create('smallicon-error');
+        icon.title = ls`Unable to load this content.`;
+      } else if (Persistence.persistence.hasUnsavedCommittedChanges(uiSourceCode)) {
         icon = UI.Icon.create('smallicon-warning');
         icon.title = Common.UIString('Changes to this file were not saved to file system.');
       } else {
diff --git a/third_party/blink/renderer/devtools/front_end/sources/UISourceCodeFrame.js b/third_party/blink/renderer/devtools/front_end/sources/UISourceCodeFrame.js
index 4bc5fd0..7ae2ace 100644
--- a/third_party/blink/renderer/devtools/front_end/sources/UISourceCodeFrame.js
+++ b/third_party/blink/renderer/devtools/front_end/sources/UISourceCodeFrame.js
@@ -75,11 +75,11 @@
     this._initializeUISourceCode();
 
     /**
-     * @return {!Promise<string>}
+     * @return {!Promise<!Common.DeferredContent>}
      */
     function workingCopy() {
       if (uiSourceCode.isDirty()) {
-        return Promise.resolve(uiSourceCode.workingCopy());
+        return Promise.resolve({content: uiSourceCode.workingCopy(), isEncoded: false});
       }
       return uiSourceCode.requestContent();
     }
@@ -219,6 +219,9 @@
    * @return {boolean}
    */
   _canEditSource() {
+    if (this.hasLoadError()) {
+      return false;
+    }
     if (Persistence.persistence.binding(this._uiSourceCode)) {
       return true;
     }
@@ -256,11 +259,12 @@
   /**
    * @override
    * @param {?string} content
+   * @param {?string} loadError
    */
-  setContent(content) {
+  setContent(content, loadError) {
     this._disposePlugins();
     this._rowMessageBuckets.clear();
-    super.setContent(content);
+    super.setContent(content, loadError);
     for (const message of this._allMessages()) {
       this._addMessageToSource(message);
     }
@@ -396,7 +400,7 @@
       this._diff.highlightModifiedLines(oldContent, content);
     }
     if (oldContent !== content) {
-      this.setContent(content);
+      this.setContent(content, null);
     }
     this._isSettingContent = false;
   }
diff --git a/third_party/blink/renderer/devtools/front_end/sources/sources_strings.grdp b/third_party/blink/renderer/devtools/front_end/sources/sources_strings.grdp
index 3cca66f3c..bc07192 100644
--- a/third_party/blink/renderer/devtools/front_end/sources/sources_strings.grdp
+++ b/third_party/blink/renderer/devtools/front_end/sources/sources_strings.grdp
@@ -474,6 +474,9 @@
   <message name="IDS_DEVTOOLS_e68f8487d76aeb933b5b06d7999a0e44" desc="Title of a setting under the Sources category that can be invoked through the Command Menu">
     Enable JavaScript source maps
   </message>
+  <message name="IDS_DEVTOOLS_eb2f2225858078738d498794cd737d18" desc="Error message for tooltip showing that a file in Sources could not be loaded">
+    Unable to load this content.
+  </message>
   <message name="IDS_DEVTOOLS_ed5eceb0fe85ceeeabf4b4b93eeca711" desc="A context menu item in the Sources Panel of the Sources panel">
     Continue to here
   </message>
diff --git a/third_party/blink/renderer/devtools/front_end/sources_test_runner/DebuggerTestRunner.js b/third_party/blink/renderer/devtools/front_end/sources_test_runner/DebuggerTestRunner.js
index fa3790d..fcfe514 100644
--- a/third_party/blink/renderer/devtools/front_end/sources_test_runner/DebuggerTestRunner.js
+++ b/third_party/blink/renderer/devtools/front_end/sources_test_runner/DebuggerTestRunner.js
@@ -655,7 +655,7 @@
 
   script.requestContent = function() {
     const trimmedSource = SDK.Script._trimSourceURLComment(source);
-    return Promise.resolve(trimmedSource);
+    return Promise.resolve({content: trimmedSource, isEncoded: false});
   };
 
   if (preRegisterCallback) {
diff --git a/third_party/blink/renderer/devtools/front_end/workspace/UISourceCode.js b/third_party/blink/renderer/devtools/front_end/workspace/UISourceCode.js
index d427e34..543a003d 100644
--- a/third_party/blink/renderer/devtools/front_end/workspace/UISourceCode.js
+++ b/third_party/blink/renderer/devtools/front_end/workspace/UISourceCode.js
@@ -57,7 +57,7 @@
     }
 
     this._contentType = contentType;
-    /** @type {?Promise<string>} */
+    /** @type {?Promise<!Common.DeferredContent>} */
     this._requestContentPromise = null;
     /** @type {?Platform.Multimap<string, !LineMarker>} */
     this._decorations = null;
@@ -65,10 +65,8 @@
     /** @type {?Set<!Message>} */
     this._messages = null;
     this._contentLoaded = false;
-    /** @type {?string} */
+    /** @type {?Common.DeferredContent} */
     this._content = null;
-    /** @type {boolean|undefined} */
-    this._contentEncoded;
     this._forceLoadOnCheckContent = false;
     this._checkingContent = false;
     /** @type {?string} */
@@ -240,7 +238,7 @@
 
   /**
    * @override
-   * @return {!Promise<string>}
+   * @return {!Promise<!Common.DeferredContent>}
    */
   requestContent() {
     if (this._requestContentPromise) {
@@ -248,23 +246,34 @@
     }
 
     if (this._contentLoaded) {
-      this._requestContentPromise = Promise.resolve(this._content || '');
-    } else {
-      let fulfill;
-      this._requestContentPromise = new Promise(x => fulfill = x);
-      this._project.requestFileContent(this, (content, encoded) => {
-        if (!this._contentLoaded) {
-          this._contentLoaded = true;
-          this._content = content;
-          this._contentEncoded = encoded;
-        }
-        fulfill(this._content);
-      });
+      return Promise.resolve(/** @type {!Common.DeferredContent} */ (this._content));
     }
+
+
+    this._requestContentPromise = this._requestContentImpl();
     return this._requestContentPromise;
   }
 
-  checkContentUpdated() {
+  /**
+   * @returns {!Promise<!Common.DeferredContent>}
+   */
+  async _requestContentImpl() {
+    try {
+      const content = await this._project.requestFileContent(this);
+      if (!this._contentLoaded) {
+        this._contentLoaded = true;
+        this._content = content;
+        this._contentEncoded = content.isEncoded;
+      }
+    } catch (err) {
+      this._contentLoaded = true;
+      this._content = {error: err ? String(err) : '', isEncoded: false};
+    }
+
+    return /** @type {!Common.DeferredContent} */ (this._content);
+  }
+
+  async checkContentUpdated() {
     if (!this._contentLoaded && !this._forceLoadOnCheckContent) {
       return;
     }
@@ -274,47 +283,38 @@
     }
 
     this._checkingContent = true;
-    this._project.requestFileContent(this, contentLoaded.bind(this));
+    const updatedContent = await this._project.requestFileContent(this);
+    this._checkingContent = false;
+    if (updatedContent.content === null) {
+      const workingCopy = this.workingCopy();
+      this._contentCommitted('', false);
+      this.setWorkingCopy(workingCopy);
+      return;
+    }
+    if (this._lastAcceptedContent === updatedContent.content) {
+      return;
+    }
 
-    /**
-     * @param {?string} updatedContent
-     * @param {boolean} encoded
-     * @this {UISourceCode}
-     */
-    async function contentLoaded(updatedContent, encoded) {
-      this._checkingContent = false;
-      if (updatedContent === null) {
-        const workingCopy = this.workingCopy();
-        this._contentCommitted('', false);
-        this.setWorkingCopy(workingCopy);
-        return;
-      }
-      if (this._lastAcceptedContent === updatedContent) {
-        return;
-      }
+    if (this._content && this._content.content === updatedContent.content) {
+      this._lastAcceptedContent = null;
+      return;
+    }
 
-      if (this._content === updatedContent) {
-        this._lastAcceptedContent = null;
-        return;
-      }
+    if (!this.isDirty() || this._workingCopy === updatedContent.content) {
+      this._contentCommitted(/** @type {string} */ (updatedContent.content), false);
+      return;
+    }
 
-      if (!this.isDirty() || this._workingCopy === updatedContent) {
-        this._contentCommitted(/** @type {string} */ (updatedContent), false);
-        return;
-      }
+    await Common.Revealer.reveal(this);
 
-      await Common.Revealer.reveal(this);
+    // Make sure we are in the next frame before stopping the world with confirm
+    await new Promise(resolve => setTimeout(resolve, 0));
 
-      // Make sure we are in the next frame before stopping the world with confirm
-      await new Promise(resolve => setTimeout(resolve, 0));
-
-      const shouldUpdate =
-          window.confirm(Common.UIString('This file was changed externally. Would you like to reload it?'));
-      if (shouldUpdate) {
-        this._contentCommitted(/** @type {string} */ (updatedContent), false);
-      } else {
-        this._lastAcceptedContent = updatedContent;
-      }
+    const shouldUpdate = window.confirm(ls`This file was changed externally. Would you like to reload it?`);
+    if (shouldUpdate) {
+      this._contentCommitted(/** @type {string} */ (updatedContent.content), false);
+    } else {
+      this._lastAcceptedContent = updatedContent.content;
     }
   }
 
@@ -338,7 +338,7 @@
    */
   _contentCommitted(content, committedByUser) {
     this._lastAcceptedContent = null;
-    this._content = content;
+    this._content = {content, isEncoded: false};
     this._contentLoaded = true;
     this._requestContentPromise = null;
 
@@ -378,7 +378,7 @@
     if (this.isDirty()) {
       return /** @type {string} */ (this._workingCopy);
     }
-    return this._content || '';
+    return (this._content && this._content.content) || '';
   }
 
   resetWorkingCopy() {
@@ -456,10 +456,17 @@
   }
 
   /**
-   * @return {?string}
+   * @return {string}
    */
   content() {
-    return this._content;
+    return (this._content && this._content.content) || '';
+  }
+
+  /**
+   * @return {?string}
+   */
+  loadError() {
+    return (this._content && this._content.error);
   }
 
   /**
diff --git a/third_party/blink/renderer/devtools/front_end/workspace/WorkspaceImpl.js b/third_party/blink/renderer/devtools/front_end/workspace/WorkspaceImpl.js
index fe2c63d7..25b056e 100644
--- a/third_party/blink/renderer/devtools/front_end/workspace/WorkspaceImpl.js
+++ b/third_party/blink/renderer/devtools/front_end/workspace/WorkspaceImpl.js
@@ -106,9 +106,9 @@
 
   /**
    * @param {!Workspace.UISourceCode} uiSourceCode
-   * @param {function(?string,boolean)} callback
+   * @returns {!Promise<!Common.DeferredContent>}
    */
-  requestFileContent(uiSourceCode, callback) {
+  requestFileContent(uiSourceCode) {
   }
 
   /**
diff --git a/third_party/blink/renderer/devtools/front_end/workspace_diff/WorkspaceDiff.js b/third_party/blink/renderer/devtools/front_end/workspace_diff/WorkspaceDiff.js
index b50c3875..853fa91 100644
--- a/third_party/blink/renderer/devtools/front_end/workspace_diff/WorkspaceDiff.js
+++ b/third_party/blink/renderer/devtools/front_end/workspace_diff/WorkspaceDiff.js
@@ -167,8 +167,11 @@
       return;
     }
 
-    const contentsPromise =
-        Promise.all([this.requestOriginalContentForUISourceCode(uiSourceCode), uiSourceCode.requestContent()]);
+    const contentsPromise = Promise.all([
+      this.requestOriginalContentForUISourceCode(uiSourceCode),
+      uiSourceCode.requestContent().then(deferredContent => deferredContent.content)
+    ]);
+
     this._loadingUISourceCodes.set(uiSourceCode, contentsPromise);
     const contents = await contentsPromise;
     if (this._loadingUISourceCodes.get(uiSourceCode) !== contentsPromise) {
@@ -262,17 +265,15 @@
   /**
    * @return {!Promise<?string>}
    */
-  _originalContent() {
+  async _originalContent() {
     const originalNetworkContent =
         Persistence.networkPersistenceManager.originalContentForUISourceCode(this._uiSourceCode);
     if (originalNetworkContent) {
       return originalNetworkContent;
     }
 
-    let callback;
-    const promise = new Promise(fulfill => callback = fulfill);
-    this._uiSourceCode.project().requestFileContent(this._uiSourceCode, callback);
-    return promise;
+    const content = await this._uiSourceCode.project().requestFileContent(this._uiSourceCode);
+    return content.content || content.error || '';
   }
 
   /**
@@ -294,12 +295,12 @@
 
     let current = this._uiSourceCode.workingCopy();
     if (!current && !this._uiSourceCode.contentLoaded()) {
-      current = await this._uiSourceCode.requestContent();
+      current = (await this._uiSourceCode.requestContent()).content;
     }
+
     if (current.length > 1024 * 1024) {
       return null;
     }
-    // ------------ ASYNC ------------
 
     if (this._dispose) {
       return null;
diff --git a/third_party/blink/renderer/devtools/karma.conf.js b/third_party/blink/renderer/devtools/karma.conf.js
index e31def1..812ec42 100644
--- a/third_party/blink/renderer/devtools/karma.conf.js
+++ b/third_party/blink/renderer/devtools/karma.conf.js
@@ -17,14 +17,14 @@
       included: false,
       served: true
     },{
-      pattern: 'tests/**/*.ts',
+      pattern: 'test/unittests/**/*.ts',
       type: 'module'
     }],
 
     reporters: ['dots', 'coverage-istanbul'],
 
     preprocessors: {
-      './tests/**/*.ts': ['karma-typescript'],
+      './test/unittests/**/*.ts': ['karma-typescript'],
       './front_end/common/*.js': ['karma-coverage-istanbul-instrumenter']
     },
 
diff --git a/third_party/blink/renderer/devtools/scripts/run_tests.py b/third_party/blink/renderer/devtools/scripts/run_tests.py
index 6f95fb0..da9fcd8 100755
--- a/third_party/blink/renderer/devtools/scripts/run_tests.py
+++ b/third_party/blink/renderer/devtools/scripts/run_tests.py
@@ -11,14 +11,14 @@
 
 import devtools_paths
 
-is_cygwin = sys.platform == "cygwin"
+is_cygwin = sys.platform == 'cygwin'
 chrome_binary = None
 
 if len(sys.argv) >= 2:
-    chrome_binary = re.sub(r"^\-\-chrome-binary=(.*)", "\\1", sys.argv[1])
+    chrome_binary = re.sub(r'^\-\-chrome-binary=(.*)', '\\1', sys.argv[1])
     is_executable = os.path.exists(chrome_binary) and os.path.isfile(chrome_binary) and os.access(chrome_binary, os.X_OK)
     if not is_executable:
-        print("Unable to find a Chrome binary at \"%s\"" % chrome_binary)
+        print('Unable to find a Chrome binary at \'%s\'' % chrome_binary)
         sys.exit(1)
 
 
@@ -29,26 +29,26 @@
 def to_platform_path_exact(filepath):
     if not is_cygwin:
         return filepath
-    output, _ = popen(["cygpath", "-w", filepath]).communicate()
+    output, _ = popen(['cygpath', '-w', filepath]).communicate()
     # pylint: disable=E1103
-    return output.strip().replace("\\", "\\\\")
+    return output.strip().replace('\\', '\\\\')
 
 
 scripts_path = os.path.dirname(os.path.abspath(__file__))
 devtools_path = os.path.dirname(scripts_path)
 
-print("Running tests with Karma...")
+print('Running tests with Karma...')
 if (chrome_binary is not None):
-    print("Using custom Chrome Binary (%s)\n" % chrome_binary)
+    print('Using custom Chrome Binary (%s)\n' % chrome_binary)
 else:
-    print("Using system Chrome")
+    print('Using system Chrome')
 
 
 def run_tests():
     karma_errors_found = False
 
-    karmaconfig_path = os.path.join(devtools_path, "karma.conf.js")
-    exec_command = [devtools_paths.node_path(), devtools_paths.karma_path(), "start", to_platform_path_exact(karmaconfig_path)]
+    karmaconfig_path = os.path.join(devtools_path, 'karma.conf.js')
+    exec_command = [devtools_paths.node_path(), devtools_paths.karma_path(), 'start', to_platform_path_exact(karmaconfig_path)]
 
     env = {'NODE_PATH': devtools_paths.node_modules_path()}
     if (chrome_binary is not None):
@@ -60,7 +60,7 @@
     if karma_proc.returncode != 0:
         karma_errors_found = True
     else:
-        print("Karma exited successfully")
+        print('Karma exited successfully')
 
     print(karma_proc_out)
     return karma_errors_found
@@ -69,5 +69,5 @@
 errors_found = run_tests()
 
 if errors_found:
-    print("ERRORS DETECTED")
+    print('ERRORS DETECTED')
     sys.exit(1)
diff --git a/third_party/blink/renderer/devtools/test/unittests/front_end/common/Color.ts b/third_party/blink/renderer/devtools/test/unittests/front_end/common/Color.ts
new file mode 100644
index 0000000..5c61389
--- /dev/null
+++ b/third_party/blink/renderer/devtools/test/unittests/front_end/common/Color.ts
@@ -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.
+
+const { assert } = chai;
+
+import { default as Color } from '../../../../front_end/common/Color.js';
+
+describe('Color', () => {
+  describe('parse', () => {
+    it('parses hex values', () => {
+      assert.deepEqual(Color.parse('#FF00FF').rgba(), [1, 0, 1, 1]);
+      assert.deepEqual(Color.parse('#F0F').rgba(), [1, 0, 1, 1]);
+      assert.deepEqual(Color.parse('#F0F0').rgba(), [1, 0, 1, 0]);
+      assert.deepEqual(Color.parse('#FF00FF00').rgba(), [1, 0, 1, 0]);
+    });
+
+    it('parses nickname values', () => {
+      assert.deepEqual(Color.parse('red').rgba(), [1, 0, 0, 1]);
+    });
+
+    it('parses rgb(a) values', () => {
+      const colorOne = Color.parse('rgb(255, 255, 0)');
+      assert.deepEqual(colorOne.rgba(), [1, 1, 0, 1]);
+
+      const colorTwo = Color.parse('rgba(0, 255, 255, 0.5)');
+      assert.deepEqual(colorTwo.rgba(), [0, 1, 1, 0.5]);
+
+      const colorThree = Color.parse('rgb(255 255 255)');
+      assert.deepEqual(colorThree.rgba(), [1, 1, 1, 1]);
+
+      const colorFour = Color.parse('rgb(10% 10% 10%)');
+      assert.deepEqual(colorFour.rgba(), [0.1, 0.1, 0.1, 1]);
+
+      const colorFive = Color.parse('rgb(10% 10% 10% / 0.4)');
+      assert.deepEqual(colorFive.rgba(), [0.1, 0.1, 0.1, 0.4]);
+    });
+
+    it('parses hsl(a) values', () => {
+      const colorOne = Color.parse('hsl(0, 100%, 50%)');
+      assert.deepEqual(colorOne.rgba(), [1, 0, 0, 1]);
+
+      const colorTwo = Color.parse('hsla(0, 100%, 50%, 0.5)');
+      assert.deepEqual(colorTwo.rgba(), [1, 0, 0, 0.5]);
+
+      const colorThree = Color.parse('hsla(50deg 100% 100% / 50%)');
+      assert.deepEqual(colorThree.rgba(), [1, 1, 1, 0.5]);
+    });
+
+    it('handles invalid values', () => {
+      assert.isNull(Color.parse('#FAFAFA       Trailing'));
+      assert.isNull(Color.parse('#FAFAFG'));
+      assert.isNull(Color.parse('gooseberry'));
+      assert.isNull(Color.parse('rgb(10% 10% 10% /)'));
+      assert.isNull(Color.parse('rgb(10% 10% 10% 0.4 40)'));
+      assert.isNull(Color.parse('hsl(0, carrot, 30%)'));
+      assert.isNull(Color.parse('hsl(0)'));
+      assert.isNull(Color.parse('rgb(255)'));
+      assert.isNull(Color.parse('rgba(1 golf 30)'));
+    });
+  });
+});
diff --git a/third_party/blink/renderer/devtools/test/unittests/front_end/common/Console.ts b/third_party/blink/renderer/devtools/test/unittests/front_end/common/Console.ts
new file mode 100644
index 0000000..f1125c37
--- /dev/null
+++ b/third_party/blink/renderer/devtools/test/unittests/front_end/common/Console.ts
@@ -0,0 +1,60 @@
+// 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 { assert } = chai;
+
+import { default as Console, Events, MessageLevel } from '../../../../front_end/common/Console.js';
+
+describe('Console', () => {
+  let consoleImpl: Console;
+  beforeEach(() => {
+    consoleImpl = new Console();
+  });
+
+  it('adds messages', () => {
+    consoleImpl.addMessage('Foo', MessageLevel.Info, true);
+    const messages = consoleImpl.messages();
+    assert.equal(messages.length, 1);
+    assert.equal(messages[0].text, 'Foo');
+  });
+
+  it('adds handles messages of all types', () => {
+    const messageTypes = new Map<string, string>([
+      ['Info', 'log'],
+      ['Warning', 'warn'],
+      ['Error', 'error']
+    ]);
+
+    for (const [type, method] of messageTypes) {
+      consoleImpl = new Console();
+
+      // Dispatch the message of the appropriate type.
+      consoleImpl[method](type);
+
+      // Now read the message back and check it.
+      const messages = consoleImpl.messages();
+      assert.equal(messages.length, 1);
+      assert.equal(messages[0].text, type);
+      assert.equal(messages[0].level, MessageLevel[type]);
+    }
+  });
+
+  it('stores messages', () => {
+    consoleImpl.addMessage('Foo', MessageLevel.Info, true);
+    consoleImpl.addMessage('Baz', MessageLevel.Warning, true);
+    consoleImpl.addMessage('Bar', MessageLevel.Error, true);
+    consoleImpl.addMessage('Donkey', MessageLevel.Info, true);
+    const messages = consoleImpl.messages();
+    assert.equal(messages.length, 4);
+  });
+
+  it('dispatches events to listeners', (done) => {
+    consoleImpl.addEventListener(Events.MessageAdded, ({ data }) => {
+      assert.equal(data.text, 'Foo');
+      done();
+    });
+
+    consoleImpl.addMessage('Foo', MessageLevel.Info, true);
+  });
+});
diff --git a/third_party/blink/renderer/devtools/test/unittests/front_end/common/Object.ts b/third_party/blink/renderer/devtools/test/unittests/front_end/common/Object.ts
new file mode 100644
index 0000000..a73c6f2
--- /dev/null
+++ b/third_party/blink/renderer/devtools/test/unittests/front_end/common/Object.ts
@@ -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.
+
+const { assert } = chai;
+
+import { default as ObjectWrapper } from '../../../../front_end/common/Object.js';
+
+describe('ObjectWrapper', () => {
+  let obj: ObjectWrapper;
+  beforeEach(() => {
+    obj = new ObjectWrapper();
+  });
+
+  describe('event listeners', () => {
+    it('adds event listeners', (done) => {
+      obj.addEventListener('foo', () => {
+        done();
+      });
+
+      obj.dispatchEventToListeners('foo');
+    });
+
+    it('reports event listeners correctly', () => {
+      const callback = () => {};
+
+      obj.addEventListener('foo', callback);
+      assert.isTrue(obj.hasEventListeners('foo'));
+
+      obj.removeEventListener('foo', callback);
+      assert.isFalse(obj.hasEventListeners('foo'));
+    });
+
+    it('fires event listeners once', async () => {
+      const fireOnce = obj.once('foo');
+      obj.dispatchEventToListeners('foo');
+      await fireOnce;
+
+      assert.isFalse(obj.hasEventListeners('foo'));
+    });
+
+    it('fires event listeners multiple times', () => {
+      let count = 0;
+      const callback = () => {
+        count++;
+      };
+
+      obj.addEventListener('foo', callback);
+      obj.dispatchEventToListeners('foo');
+      obj.dispatchEventToListeners('foo');
+      assert.equal(count, 2);
+    });
+
+    it('fires event listeners with data', (done) => {
+      let count = 0;
+      const callback = (evt: { data: { bar: string } } ) => {
+        assert.equal(evt.data.bar, 'baz');
+        done();
+      };
+
+      obj.addEventListener('foo', callback);
+      obj.dispatchEventToListeners('foo', { bar: 'baz' });
+      assert.equal(count, 2);
+    });
+
+    it('handles removal of non-existent listener', () => {
+      assert.doesNotThrow(() => {
+        obj.removeEventListener('foo', () => {});
+      });
+    });
+
+    it('handles dispatch of events with zero listeners', () => {
+      assert.doesNotThrow(() => {
+        obj.dispatchEventToListeners('foo');
+      });
+    });
+  });
+});
diff --git a/third_party/blink/renderer/devtools/test/unittests/front_end/common/ParsedURL.ts b/third_party/blink/renderer/devtools/test/unittests/front_end/common/ParsedURL.ts
new file mode 100644
index 0000000..faefcff
--- /dev/null
+++ b/third_party/blink/renderer/devtools/test/unittests/front_end/common/ParsedURL.ts
@@ -0,0 +1,421 @@
+// 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 {assert} = chai;
+
+import {default as ParsedURL} from '../../../../front_end/common/ParsedURL.js';
+
+describe('Parsed URL', () => {
+  it('recognizes valid URLs', () => {
+    const parsedUrl = new ParsedURL('http://www.example.com/');
+    assert.isTrue(parsedUrl.isValid, 'the URL should be valid');
+  });
+
+  it('recognizes the URL elements', () => {
+    const parsedUrl = new ParsedURL('http://username@www.example.com:8080/testing/test?isTest=true#testFragment');
+    assert.isTrue(parsedUrl.isValid, 'the URL should be valid');
+    assert.equal(
+        parsedUrl.url, 'http://username@www.example.com:8080/testing/test?isTest=true#testFragment',
+        'URL value is incorrect');
+    assert.equal(parsedUrl.scheme, 'http', 'URL scheme is incorrect');
+    assert.equal(parsedUrl.user, 'username', 'URL user is incorrect');
+    assert.equal(parsedUrl.host, 'www.example.com', 'URL host is incorrect');
+    assert.equal(parsedUrl.port, '8080', 'URL port is incorrect');
+    assert.equal(parsedUrl.path, '/testing/test', 'URL path is incorrect');
+    assert.equal(parsedUrl.queryParams, 'isTest=true', 'URL query params are incorrect');
+    assert.equal(parsedUrl.fragment, 'testFragment', 'URL fragment is incorrect');
+    assert.equal(parsedUrl.folderPathComponents, '/testing', 'URL folder path components are incorrect');
+    assert.equal(parsedUrl.lastPathComponent, 'test', 'URL last path component is incorrect');
+  });
+
+  it('recognizes a valid blob URL', () => {
+    const parsedUrl = new ParsedURL('blob:http://www.example.com/');
+    assert.isTrue(parsedUrl.isValid, 'the URL should be valid');
+    assert.equal(parsedUrl.scheme, 'blob', 'the URL scheme is not blob');
+    assert.equal(parsedUrl._blobInnerScheme, 'http', 'the URL inner scheme is not http');
+  });
+
+  it('parses a URL with no path', () => {
+    const parsedUrl = new ParsedURL('http://www.example.com');
+    assert.isTrue(parsedUrl.isValid, 'the URL should be valid');
+    assert.equal(parsedUrl.path, '/', 'path is not a single slash ("/")');
+  });
+
+  it('parses a data URL', () => {
+    const parsedUrl = new ParsedURL('data:test');
+    assert.isFalse(parsedUrl.isValid, 'the URL should not be valid');
+    assert.equal(parsedUrl.scheme, 'data', 'the URL scheme is not data');
+  });
+
+  it('recognizes an invalid blob URL', () => {
+    const parsedUrl = new ParsedURL('blob:test');
+    assert.isFalse(parsedUrl.isValid, 'the URL should not be valid');
+    assert.equal(parsedUrl.scheme, 'blob', 'the URL scheme is not blob');
+  });
+
+  it('recognizes an invalid blank URL', () => {
+    const parsedUrl = new ParsedURL('about:blank');
+    assert.isFalse(parsedUrl.isValid, 'the URL should not be valid');
+    assert.equal(parsedUrl.scheme, 'about', 'the URL scheme is not blob');
+  });
+
+  it('recognizes an invalid URL', () => {
+    const parsedUrl = new ParsedURL('abc');
+    assert.isFalse(parsedUrl.isValid, 'the URL should not be valid');
+    assert.equal(parsedUrl.url, 'abc', 'URL value is incorrect');
+  });
+
+  it('converts platform path to a URL that does not start with "file://"', () => {
+    const platformPathTest = 'usr/lib';
+    const convertedUrl = ParsedURL.platformPathToURL(platformPathTest);
+    assert.equal(convertedUrl, 'file:///usr/lib', 'URL was not converted correctly');
+  });
+
+  it('converts platform path to a URL that does not start with "file://" but starts with a slash ("/")', () => {
+    const platformPathTest = '/usr/lib';
+    const convertedUrl = ParsedURL.platformPathToURL(platformPathTest);
+    assert.equal(convertedUrl, 'file:///usr/lib', 'URL was not converted correctly');
+  });
+
+  it('converts platform path to a URL that starts with "file://"', () => {
+    const platformPathTest = 'file://usr/lib';
+    const convertedUrl = ParsedURL.platformPathToURL(platformPathTest);
+    assert.equal(convertedUrl, 'file://usr/lib', 'URL was not converted correctly');
+  });
+
+  it('converts URL to a platform path that starts with "file://"', () => {
+    const urlTest = 'file://usr/lib';
+    const convertedUrl = ParsedURL.urlToPlatformPath(urlTest);
+    assert.equal(convertedUrl, 'usr/lib', 'URL was not converted successfully');
+  });
+
+  it('converts URL to a platform path that starts with "file:///" on Windows', () => {
+    const urlTest = 'file:///usr/lib';
+    const convertedUrl = ParsedURL.urlToPlatformPath(urlTest, true);
+    assert.equal(convertedUrl, 'usr\\lib', 'URL was not converted successfully');
+  });
+
+  it('converts URL with a hash to a URL without a hash', () => {
+    const urlTest = 'http://www.example.com#test';
+    const convertedUrl = ParsedURL.urlWithoutHash(urlTest);
+    assert.equal(convertedUrl, 'http://www.example.com', 'URL was not converted successfully');
+  });
+
+  it('returns URL without a hash as it is', () => {
+    const urlTest = 'http://www.example.com';
+    const convertedUrl = ParsedURL.urlWithoutHash(urlTest);
+    assert.equal(convertedUrl, urlTest, 'URL was changed');
+  });
+
+  it('extracts the path from a valid URL', () => {
+    const urlTest = 'http://www.example.com/test/path';
+    const extractedPath = ParsedURL.extractPath(urlTest);
+    assert.equal(extractedPath, '/test/path', 'path extracted incorrectly');
+  });
+
+  it('returns an empty string as a path if the URL is not valid', () => {
+    const urlTest = 'www.example.com/test/path';
+    const extractedPath = ParsedURL.extractPath(urlTest);
+    assert.equal(extractedPath, '', 'did not return an empty path');
+  });
+
+  it('extracts the origin from a valid URL', () => {
+    const urlTest = 'http://www.example.com/test/path';
+    const extractedOrigin = ParsedURL.extractOrigin(urlTest);
+    assert.equal(extractedOrigin, 'http://www.example.com', 'origin extracted incorrectly');
+  });
+
+  it('returns an empty string as a origin if the URL is not valid', () => {
+    const urlTest = 'www.example.com/test/path';
+    const extractedOrigin = ParsedURL.extractOrigin(urlTest);
+    assert.equal(extractedOrigin, '', 'did not return an empty path');
+  });
+
+  it('extracts the extension from a valid URL with a hash', () => {
+    const urlTest = 'http://www.example.com/test/testFile.html#testHash';
+    const extractedExt = ParsedURL.extractExtension(urlTest);
+    assert.equal(extractedExt, 'html', 'extension extracted incorrectly');
+  });
+
+  it('extracts the extension from a valid URL with a question mark', () => {
+    const urlTest = 'http://www.example.com/test/testFile.html?testParam=t';
+    const extractedExt = ParsedURL.extractExtension(urlTest);
+    assert.equal(extractedExt, 'html', 'extension extracted incorrectly');
+  });
+
+  it('extracts the extension from a valid URL that does not have slashes', () => {
+    const urlTest = 'testFile.html';
+    const extractedExt = ParsedURL.extractExtension(urlTest);
+    assert.equal(extractedExt, 'html', 'extension extracted incorrectly');
+  });
+
+  it('extracts the extension from a valid URL that has a percent sign', () => {
+    const urlTest = 'http://www.example.com/test/path.html%20';
+    const extractedExt = ParsedURL.extractExtension(urlTest);
+    assert.equal(extractedExt, 'html', 'extension extracted incorrectly');
+  });
+
+  it('returns an empty string when trying to extract extension from an invalid URL', () => {
+    const urlTest = 'http://html';
+    const extractedExt = ParsedURL.extractExtension(urlTest);
+    assert.equal(extractedExt, '', 'extension extracted incorrectly');
+  });
+
+  it('is able to extract name from a valid URL', () => {
+    const urlTest = 'http://www.example.com/test/path.html';
+    const extractedName = ParsedURL.extractName(urlTest);
+    assert.equal(extractedName, 'path.html', 'name extracted incorrectly');
+  });
+
+  it('is able to extract name from a string without a slash', () => {
+    const urlTest = 'path.html';
+    const extractedName = ParsedURL.extractName(urlTest);
+    assert.equal(extractedName, 'path.html', 'name extracted incorrectly');
+  });
+
+  it('is able to extract name from a valid URL with a query', () => {
+    const urlTest = 'http://www.example.com/test/path.html?testParam=t';
+    const extractedName = ParsedURL.extractName(urlTest);
+    assert.equal(extractedName, 'path.html', 'name extracted incorrectly');
+  });
+
+  it('is able to extract name from a string without a slash and with a query', () => {
+    const urlTest = 'path.html?testParam=t';
+    const extractedName = ParsedURL.extractName(urlTest);
+    assert.equal(extractedName, 'path.html', 'name extracted incorrectly');
+  });
+
+  it('uses the completeURL function to return a data URL as it is', () => {
+    const hrefTest = 'data:http://www.example.com';
+    const baseUrlTest = 'www.example.com';
+    const completeUrl = ParsedURL.completeURL(baseUrlTest, hrefTest);
+    assert.equal(completeUrl, hrefTest, 'complete URL is not returned correctly');
+  });
+
+  it('uses the completeURL function to return a blob URL as it is', () => {
+    const hrefTest = 'blob:http://www.example.com';
+    const baseUrlTest = 'www.example.com';
+    const completeUrl = ParsedURL.completeURL(baseUrlTest, hrefTest);
+    assert.equal(completeUrl, hrefTest, 'complete URL is not returned correctly');
+  });
+
+  it('uses the completeURL function to return a javascript URL as it is', () => {
+    const hrefTest = 'javascript:http://www.example.com';
+    const baseUrlTest = 'www.example.com';
+    const completeUrl = ParsedURL.completeURL(baseUrlTest, hrefTest);
+    assert.equal(completeUrl, hrefTest, 'complete URL is not returned correctly');
+  });
+
+  it('uses the completeURL function to return a mailto URL as it is', () => {
+    const hrefTest = 'mailto:http://www.example.com';
+    const baseUrlTest = 'www.example.com';
+    const completeUrl = ParsedURL.completeURL(baseUrlTest, hrefTest);
+    assert.equal(completeUrl, hrefTest, 'complete URL is not returned correctly');
+  });
+
+  it('uses the completeURL function to return absolute URLs as-is', () => {
+    const hrefTest = 'http://www.example.com';
+    const baseUrlTest = 'www.example.com';
+    const completeUrl = ParsedURL.completeURL(baseUrlTest, hrefTest);
+    assert.equal(completeUrl, hrefTest, 'complete URL is not returned correctly');
+  });
+
+  it('uses the completeURL function to return null for invalid href and invalid base URL', () => {
+    const hrefTest = 'www.example.com';
+    const baseUrlTest = 'www.example.com';
+    const completeUrl = ParsedURL.completeURL(baseUrlTest, hrefTest);
+    assert.equal(completeUrl, null, 'complete URL is not returned correctly');
+  });
+
+  it('uses the completeURL function to return the href if the base URL is a data URL', () => {
+    const hrefTest = 'www.example.com';
+    const baseUrlTest = 'data://www.example.com';
+    const completeUrl = ParsedURL.completeURL(baseUrlTest, hrefTest);
+    assert.equal(completeUrl, hrefTest, 'complete URL is not returned correctly');
+  });
+
+  it('uses the completeURL function to return the href with scheme if the base URL was valid and the href scheme was dropped',
+     () => {
+       const hrefTest = '//www.example.com';
+       const baseUrlTest = 'http://www.example.com/';
+       const completeUrl = ParsedURL.completeURL(baseUrlTest, hrefTest);
+       assert.equal(completeUrl, 'http:' + hrefTest, 'complete URL is not returned correctly');
+     });
+
+  it('uses the completeURL function to resolve an empty href to a base URL without fragment', () => {
+    const hrefTest = '';
+    const baseUrlTest = 'http://www.example.com/?testParam=t';
+    const completeUrl = ParsedURL.completeURL(baseUrlTest, hrefTest);
+    assert.equal(completeUrl, baseUrlTest, 'complete URL is not returned correctly');
+  });
+
+  it('uses the completeURL function to resolve a fragment href to a base URL with fragment', () => {
+    const hrefTest = '#testFragment';
+    const baseUrlTest = 'http://www.example.com/?testParam=t';
+    const completeUrl = ParsedURL.completeURL(baseUrlTest, hrefTest);
+    assert.equal(completeUrl, baseUrlTest + hrefTest, 'complete URL is not returned correctly');
+  });
+
+  it('uses the completeURL function to resolve a parameters href to a base URL with the parameters from the href while the base URL has parameters',
+     () => {
+       const hrefTest = '?hrefParams=t';
+       const baseUrlTest = 'http://www.example.com/?testParam=t';
+       const completeUrl = ParsedURL.completeURL(baseUrlTest, hrefTest);
+       assert.equal(completeUrl, 'http://www.example.com/' + hrefTest, 'complete URL is not returned correctly');
+     });
+
+  it('uses the completeURL function to resolve a parameters href to a base URL with the parameters from the href while the base URL does not have parameters',
+     () => {
+       const hrefTest = '?hrefParams=t';
+       const baseUrlTest = 'http://www.example.com/';
+       const completeUrl = ParsedURL.completeURL(baseUrlTest, hrefTest);
+       assert.equal(completeUrl, baseUrlTest + hrefTest, 'complete URL is not returned correctly');
+     });
+
+  it('uses the splitLineAndColumn function to return undefined line and column numbers if the URL does not contain any',
+     () => {
+       const stringTest = 'http://www.example.com';
+       const splitResult = ParsedURL.splitLineAndColumn(stringTest);
+       assert.equal(splitResult.url, 'http://www.example.com', 'URL is not correct');
+       assert.isUndefined(splitResult.lineNumber, 'line number is not undefined');
+       assert.isUndefined(splitResult.columnNumber, 'column number is not undefined');
+     });
+
+  it('uses the splitLineAndColumn function to return the line and column numbers if the URL contains them', () => {
+    const stringTest = 'http://www.example.com:15:20';
+    const splitResult = ParsedURL.splitLineAndColumn(stringTest);
+    assert.equal(splitResult.url, 'http://www.example.com', 'URL is not correct');
+    assert.equal(splitResult.lineNumber, 14, 'line number is incorrect');
+    assert.equal(splitResult.columnNumber, 19, 'column number is incorrect');
+  });
+
+  it('uses the splitLineAndColumn function to return the line and column numbers if the URL contains them and has a port number',
+     () => {
+       const stringTest = 'http://www.example.com:8080:15:20';
+       const splitResult = ParsedURL.splitLineAndColumn(stringTest);
+       assert.equal(splitResult.url, 'http://www.example.com:8080', 'URL is not correct');
+       assert.equal(splitResult.lineNumber, 14, 'line number is incorrect');
+       assert.equal(splitResult.columnNumber, 19, 'column number is incorrect');
+     });
+
+  it('uses the isRelativeURL function to return true if the URL is relative', () => {
+    const urlTest = '/test/path';
+    const isRelativeResult = ParsedURL.isRelativeURL(urlTest);
+    assert.isTrue(isRelativeResult);
+  });
+
+  it('uses the isRelativeURL function to return false if the URL is not relative', () => {
+    const urlTest = 'http://www.example.com/test/path';
+    const isRelativeResult = ParsedURL.isRelativeURL(urlTest);
+    assert.isFalse(isRelativeResult);
+  });
+
+  it('uses the displayName function to return the name if it exists for a URL', () => {
+    const parsedUrl = new ParsedURL('http://www.example.com');
+    assert.equal(parsedUrl.displayName, 'www.example.com/', 'name returned is incorrect');
+  });
+
+  it('uses the displayName function to return the name for a data URL', () => {
+    const parsedUrl = new ParsedURL('data:www.example.com');
+    assert.equal(parsedUrl.displayName, 'data:www.example.com', 'name returned is incorrect');
+  });
+
+  it('uses the displayName function to return the name for a blob URL', () => {
+    const parsedUrl = new ParsedURL('blob:www.example.com');
+    assert.equal(parsedUrl.displayName, 'blob:www.example.com', 'name returned is incorrect');
+  });
+
+  it('uses the displayName function to return the name for an about:blank URL', () => {
+    const parsedUrl = new ParsedURL('about:blank');
+    assert.equal(parsedUrl.displayName, 'about:blank', 'name returned is incorrect');
+  });
+
+  it('uses the displayName function to return the name for a URL with a last path component', () => {
+    const parsedUrl = new ParsedURL('http://www.example.com/test');
+    assert.equal(parsedUrl.displayName, 'test', 'name returned is incorrect');
+  });
+
+  it('uses the displayName function to return the name for a a slash', () => {
+    const parsedUrl = new ParsedURL('/');
+    assert.equal(parsedUrl.displayName, '/', 'name returned is incorrect');
+  });
+
+  it('uses the displayName function to return the name for a URL that already has a display name set', () => {
+    const parsedUrl = new ParsedURL('http://www.example.com');
+    assert.equal(parsedUrl.displayName, 'www.example.com/', 'name returned is incorrect');
+    assert.equal(parsedUrl.displayName, 'www.example.com/', 'name returned is incorrect');
+  });
+
+  it('uses the dataURLDisplayName function to return data URL display name if it is not already set', () => {
+    const parsedUrl = new ParsedURL('http://www.example.com');
+    assert.equal(parsedUrl.dataURLDisplayName(), '', 'data URL display name is returned incorrectly');
+  });
+
+  it('uses the dataURLDisplayName function to return data URL display name if it is already set', () => {
+    const parsedUrl = new ParsedURL('data:http://www.example.com');
+    assert.equal(
+        parsedUrl.dataURLDisplayName(), 'data:http://www.exa…', 'data URL display name is returned incorrectly');
+    assert.equal(
+        parsedUrl.dataURLDisplayName(), 'data:http://www.exa…', 'data URL display name is returned incorrectly');
+  });
+
+  it('uses the lastPathComponentWithFragment function to return for a URL without a path', () => {
+    const parsedUrl = new ParsedURL('http://www.example.com');
+    assert.equal(
+        parsedUrl.lastPathComponentWithFragment(), '', 'last path component with fragmen returned is incorrect');
+  });
+
+  it('uses the lastPathComponentWithFragment function to return for a URL with a path', () => {
+    const parsedUrl = new ParsedURL('http://www.example.com/test/path');
+    assert.equal(
+        parsedUrl.lastPathComponentWithFragment(), 'path', 'last path component with fragmen returned is incorrect');
+  });
+
+  it('uses the lastPathComponentWithFragment function to return for a URL with a path and a fragment', () => {
+    const parsedUrl = new ParsedURL('http://www.example.com/test/path#testFragment');
+    assert.equal(
+        parsedUrl.lastPathComponentWithFragment(), 'path#testFragment',
+        'last path component with fragmen returned is incorrect');
+  });
+
+  it('returns the domain for a data URL', () => {
+    const parsedUrl = new ParsedURL('data:http://www.example.com');
+    assert.equal(parsedUrl.domain(), 'data:', 'domain returned was incorrect');
+  });
+
+  it('returns the domain for an http URL without a port', () => {
+    const parsedUrl = new ParsedURL('http://www.example.com');
+    assert.equal(parsedUrl.domain(), 'www.example.com', 'domain returned was incorrect');
+  });
+
+  it('returns the domain for an http URL with a port', () => {
+    const parsedUrl = new ParsedURL('http://www.example.com:8080');
+    assert.equal(parsedUrl.domain(), 'www.example.com:8080', 'domain returned was incorrect');
+  });
+
+  it('returns the security origin for a data URL', () => {
+    const parsedUrl = new ParsedURL('data:http://www.example.com');
+    assert.equal(parsedUrl.securityOrigin(), 'data:', 'security origin returned was incorrect');
+  });
+
+  it('returns the security origin for a blob URL', () => {
+    const parsedUrl = new ParsedURL('blob:http://www.example.com');
+    assert.equal(parsedUrl.securityOrigin(), 'http://www.example.com', 'security origin returned was incorrect');
+  });
+
+  it('returns the security origin for an http URL', () => {
+    const parsedUrl = new ParsedURL('http://www.example.com');
+    assert.equal(parsedUrl.securityOrigin(), 'http://www.example.com', 'security origin returned was incorrect');
+  });
+
+  it('returns the url without scheme for a URL that has a scheme', () => {
+    const parsedUrl = new ParsedURL('http://www.example.com');
+    assert.equal(parsedUrl.urlWithoutScheme(), 'www.example.com', 'URL without scheme returned was incorrect');
+  });
+
+  it('returns the url without scheme for a URL that does not have a scheme', () => {
+    const parsedUrl = new ParsedURL('www.example.com');
+    assert.equal(parsedUrl.urlWithoutScheme(), 'www.example.com', 'URL without scheme returned was incorrect');
+  });
+});
diff --git a/third_party/blink/renderer/devtools/test/unittests/front_end/common/SegmentedRange.ts b/third_party/blink/renderer/devtools/test/unittests/front_end/common/SegmentedRange.ts
new file mode 100644
index 0000000..4a3f45f
--- /dev/null
+++ b/third_party/blink/renderer/devtools/test/unittests/front_end/common/SegmentedRange.ts
@@ -0,0 +1,180 @@
+// 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 { assert } = chai;
+
+import { default as SegmentedRange, Segment } from '../../../../front_end/common/SegmentedRange.js';
+
+describe('Segment', () => {
+  it('calculates intersections', () => {
+    const segmentA = new Segment(1, 2, 'A');
+    const segmentB = new Segment(1.5, 2.5, 'B');
+    const segmentC = new Segment(3, 5, 'C');
+
+    assert.isTrue(segmentA.intersects(segmentB));
+    assert.isFalse(segmentA.intersects(segmentC));
+  });
+
+  it('throws for invalid segments', () => {
+    assert.throws(() => new Segment(3, 2, 'V'));
+  });
+});
+
+describe('SegmentedRange', () => {
+  let segmentedRange: SegmentedRange;
+
+  function mergeSegments(first, second) {
+    const inOrder = first.end >= second.begin;
+    const matchingData = first.data === second.data;
+    return inOrder && matchingData ? first : null;
+  }
+
+  beforeEach(() => {
+    segmentedRange = new SegmentedRange(mergeSegments);
+  });
+
+  it('handles single ranges', () => {
+    segmentedRange.append(new Segment(0, 1, 'A'));
+
+    assert.deepEqual(segmentedRange.segments(), [{ begin: 0, end: 1, data: 'A' }]);
+  });
+
+  it('handles two adjacent ranges', () => {
+    const segmentA = new Segment(1, 2, 'A');
+    const segmentB = new Segment(2, 3, 'B');
+
+    segmentedRange.append(segmentA);
+    segmentedRange.append(segmentB);
+
+    assert.deepEqual(segmentedRange.segments(), [{ begin: 1, end: 2, data: 'A' }, { begin: 2, end: 3, data: 'B' }]);
+  });
+
+  it('handles two overlapping mergeable ranges', () => {
+    const segmentA = new Segment(1, 2, 'A');
+    const segmentB = new Segment(1.5, 3, 'A');
+
+    segmentedRange.append(segmentA);
+    segmentedRange.append(segmentB);
+
+    assert.deepEqual(segmentedRange.segments(), [{ begin: 1, end: 3, data: 'A' }]);
+  });
+
+  it('handles multiple overlapping mergeable ranges', () => {
+    const segmentA = new Segment(1, 2, 'A');
+    const segmentB = new Segment(3, 5, 'A');
+    const segmentC = new Segment(1.5, 3.5, 'A');
+
+    segmentedRange.append(segmentA);
+    segmentedRange.append(segmentB);
+    segmentedRange.append(segmentC);
+
+    assert.deepEqual(segmentedRange.segments(), [{ begin: 1, end: 5, data: 'A' }]);
+  });
+
+  it('handles multiple overlapping non-mergeable ranges', () => {
+    const segmentA = new Segment(1, 2, 'A');
+    const segmentB = new Segment(3, 5, 'A');
+    const segmentC = new Segment(1.5, 3.5, 'B');
+
+    segmentedRange.append(segmentA);
+    segmentedRange.append(segmentB);
+    segmentedRange.append(segmentC);
+
+    assert.deepEqual(segmentedRange.segments(), [{ begin: 1, end: 1.5, data: 'A' }, { begin: 1.5, end: 3.5, data: 'B' },
+        { begin: 3.5, end: 5, data: 'A' }]);
+  });
+
+  it('handles two overlapping non-mergeable ranges', () => {
+    const segmentA = new Segment(1, 2, 'A');
+    const segmentB = new Segment(1.5, 3, 'B');
+
+    segmentedRange.append(segmentA);
+    segmentedRange.append(segmentB);
+
+    assert.deepEqual(segmentedRange.segments(), [{ begin: 1, end: 1.5, data: 'A' }, { begin: 1.5, end: 3, data: 'B' }]);
+  });
+
+  it('handles nested, mergeable ranges', () => {
+    const segmentA = new Segment(0, 4, 'A');
+    const segmentB = new Segment(2, 3, 'A');
+
+    segmentedRange.append(segmentA);
+    segmentedRange.append(segmentB);
+
+    assert.deepEqual(segmentedRange.segments(), [{ begin: 0, end: 4, data: 'A' }]);
+  });
+
+  it('handles nested, non-mergeable ranges', () => {
+    const segmentA = new Segment(0, 4, 'A');
+    const segmentB = new Segment(2, 3, 'B');
+
+    segmentedRange.append(segmentA);
+    segmentedRange.append(segmentB);
+
+    assert.deepEqual(segmentedRange.segments(), [{ begin: 0, end: 2, data: 'A' }, { begin: 2, end: 3, data: 'B' },
+        { begin: 3, end: 4, data: 'A' }]);
+  });
+
+  it('handles out-of-order, mergeable ranges', () => {
+    const segmentA = new Segment(0, 2, 'A');
+    const segmentB = new Segment(3, 5, 'A');
+    const segmentC = new Segment(2, 3, 'A');
+
+    segmentedRange.append(segmentA);
+    segmentedRange.append(segmentB);
+    segmentedRange.append(segmentC);
+
+    assert.deepEqual(segmentedRange.segments(), [{ begin: 0, end: 5, data: 'A' }]);
+  });
+
+  it('handles out-of-order, non-mergeable ranges', () => {
+    const segmentA = new Segment(0, 2, 'A');
+    const segmentB = new Segment(3, 5, 'A');
+    const segmentC = new Segment(2, 3, 'B');
+
+    segmentedRange.append(segmentA);
+    segmentedRange.append(segmentB);
+    segmentedRange.append(segmentC);
+
+    assert.deepEqual(segmentedRange.segments(), [{ begin: 0, end: 2, data: 'A' }, { begin: 2, end: 3, data: 'B' },
+        { begin: 3, end: 5, data: 'A' }]);
+  });
+
+  it('handles one segment consuming many mergeable ranges', () => {
+    const segmentA = new Segment(0, 1, 'A');
+    const segmentB = new Segment(2, 3, 'A');
+    const segmentC = new Segment(4, 5, 'A');
+    const segmentD = new Segment(6, 7, 'A');
+
+    // E merges A through D.
+    const segmentE = new Segment(2, 6, 'A');
+
+    segmentedRange.append(segmentA);
+    segmentedRange.append(segmentB);
+    segmentedRange.append(segmentC);
+    segmentedRange.append(segmentD);
+    segmentedRange.append(segmentE);
+
+    assert.deepEqual(segmentedRange.segments(), [{ begin: 0, end: 1, data: 'A' }, { begin: 2, end: 7, data: 'A' }]);
+  });
+
+  it('handles one segment consuming many non-mergeable ranges', () => {
+    const segmentA = new Segment(0, 1, 'A');
+    const segmentB = new Segment(2, 3, 'A');
+    const segmentC = new Segment(4, 5, 'A');
+    const segmentD = new Segment(6, 7, 'A');
+
+    // E merges A through D.
+    const segmentE = new Segment(2, 6, 'B');
+
+    segmentedRange.append(segmentA);
+    segmentedRange.append(segmentB);
+    segmentedRange.append(segmentC);
+    segmentedRange.append(segmentD);
+    segmentedRange.append(segmentE);
+
+    assert.deepEqual(segmentedRange.segments(), [{ begin: 0, end: 1, data: 'A' }, { begin: 2, end: 6, data: 'B' },
+        { begin: 6, end: 7, data: 'A' }]);
+  });
+});
diff --git a/third_party/blink/renderer/devtools/test/unittests/front_end/common/TextDictionary.ts b/third_party/blink/renderer/devtools/test/unittests/front_end/common/TextDictionary.ts
new file mode 100644
index 0000000..21ef4165
--- /dev/null
+++ b/third_party/blink/renderer/devtools/test/unittests/front_end/common/TextDictionary.ts
@@ -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.
+
+const {assert} = chai;
+
+import {default as TextDictionary} from '../../../../front_end/common/TextDictionary.js';
+import {default as Trie} from '../../../../front_end/common/Trie.js';
+
+describe('Text Dictionary', () => {
+  it('can be created with its basic attributes', () => {
+    const textDic = new TextDictionary();
+    assert.instanceOf(textDic._words, Map, 'did not create a Map named _words');
+    assert.instanceOf(textDic._index, Trie, 'did not create a Trie named _index');
+  });
+
+  it('can add a word successfully', () => {
+    const textDic = new TextDictionary();
+    textDic.addWord('test');
+    assert.isTrue(textDic.hasWord('test'), 'word was not added successfully');
+  });
+
+  it('can remove a word successfully', () => {
+    const textDic = new TextDictionary();
+    textDic.addWord('test');
+    assert.isTrue(textDic.hasWord('test'), 'word was not added successfully');
+    textDic.removeWord('test');
+    assert.isFalse(textDic.hasWord('test'), 'word was not removed successfully');
+  });
+
+  it('returns nothing when trying to remove a word that does not exist', () => {
+    const textDic = new TextDictionary();
+    assert.isUndefined(
+        textDic.removeWord('test'), 'removeWord function did not return Undefined for a word not in the dictionaty');
+  });
+
+  it('removes a word that was added twice', () => {
+    const textDic = new TextDictionary();
+    textDic.addWord('test');
+    textDic.addWord('test');
+    assert.isTrue(textDic.hasWord('test'), 'words were not added successfully');
+    textDic.removeWord('test');
+    assert.isTrue(textDic.hasWord('test'), 'both words were removed');
+    textDic.removeWord('test');
+    assert.isFalse(textDic.hasWord('test'), 'the second word was not removed successfully');
+  });
+
+  it('retrieve words with a certain prefix', () => {
+    const textDic = new TextDictionary();
+    textDic.addWord('test');
+    textDic.addWord('ten');
+    textDic.addWord('nine');
+    const foundWords = textDic.wordsWithPrefix('te');
+    assert.equal(foundWords[0], 'test', 'first word was not retrieved');
+    assert.equal(foundWords[1], 'ten', 'second word was not retrieved');
+  });
+
+  it('retrieve the word count for a certain word', () => {
+    const textDic = new TextDictionary();
+    textDic.addWord('test');
+    textDic.addWord('test');
+    textDic.addWord('ten');
+    assert.equal(textDic.wordCount('test'), 2, 'word count is incorrect');
+  });
+
+  it('retrieve the word count for a certain word that is not in the dictionary', () => {
+    const textDic = new TextDictionary();
+    textDic.addWord('test');
+    textDic.addWord('test');
+    textDic.addWord('ten');
+    assert.equal(textDic.wordCount('testing'), 0, 'word count is incorrect');
+  });
+
+  it('reset the dictionary after adding words to it', () => {
+    const textDic = new TextDictionary();
+    textDic.addWord('test');
+    textDic.addWord('test');
+    textDic.addWord('ten');
+    textDic.reset();
+    assert.isFalse(textDic.hasWord('test'), 'first word still in the dictionary');
+    assert.isFalse(textDic.hasWord('ten'), 'second word still in the dictionary');
+    assert.equal(textDic.wordCount('test'), 0, 'first word still has a count');
+    assert.equal(textDic.wordCount('ten'), 0, 'second word still has a count');
+  });
+});
diff --git a/third_party/blink/renderer/devtools/test/unittests/front_end/common/Trie.ts b/third_party/blink/renderer/devtools/test/unittests/front_end/common/Trie.ts
new file mode 100644
index 0000000..e0c7c02
--- /dev/null
+++ b/third_party/blink/renderer/devtools/test/unittests/front_end/common/Trie.ts
@@ -0,0 +1,58 @@
+// 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 { assert } = chai;
+
+import { default as Trie } from '../../../../front_end/common/Trie.js';
+
+describe('Trie', () => {
+  let trie: Trie;
+  beforeEach(() => {
+    trie = new Trie();
+  });
+
+  it('stores and retrieves words', () => {
+    trie.add('foo');
+    assert.isTrue(trie.has('foo'));
+    assert.isFalse(trie.has('bar'));
+  });
+
+  it('removes words', () => {
+    trie.add('foo');
+    assert.isTrue(trie.has('foo'));
+    trie.remove('foo');
+    assert.isFalse(trie.has('foo'));
+  });
+
+  it('completes words based on prefixes', () => {
+    trie.add('foo');
+    trie.add('food');
+    trie.add('flora');
+    trie.add('boat');
+    trie.add('focus');
+    trie.add('banana');
+    assert.deepEqual(trie.words('fo'), ['foo', 'food', 'focus']);
+    assert.isEmpty(trie.words('cat'));
+  });
+
+  it('clears words', () => {
+    trie.add('foo');
+    assert.isTrue(trie.has('foo'));
+
+    trie.clear();
+    assert.isFalse(trie.has('foo'));
+    assert.isEmpty(trie.words('foo'));
+  });
+
+  it('provides the longest prefix', () => {
+    trie.add('super');
+    trie.add('supercar');
+
+    // Longest non-word prefix match.
+    assert.equal(trie.longestPrefix('supercalifragilisticexpialidocious', false), 'superca');
+
+    // Longest word prefix match.
+    assert.equal(trie.longestPrefix('supercalifragilisticexpialidocious', true), 'super');
+  });
+});
diff --git a/third_party/blink/renderer/devtools/test/unittests/front_end/platform/dom-extension.ts b/third_party/blink/renderer/devtools/test/unittests/front_end/platform/dom-extension.ts
new file mode 100644
index 0000000..01f1220a
--- /dev/null
+++ b/third_party/blink/renderer/devtools/test/unittests/front_end/platform/dom-extension.ts
@@ -0,0 +1,235 @@
+// 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 { assert } = chai;
+import '../../../../front_end/dom_extension/DOMExtension.js';
+
+declare global {
+    function createElementWithClass(tagName: string, className?: string, content?: string): HTMLElement;
+
+    interface HTMLElement {
+        traverseNextNode(node: HTMLElement): HTMLElement;
+        createChild(tagName: string, className?: string, content?: string): HTMLElement;
+    }
+}
+
+function createSlot(parent, name) {
+    const slot = parent.createChild('slot');
+    if (name)
+        slot.name = name;
+    return slot;
+}
+
+function createChild(parent, tagName, name, text = '') {
+    const child = parent.createChild(tagName, name);
+    if (name)
+        child.slot = name;
+    child.textContent = text;
+    return child;
+}
+
+
+describe('DataGrid', () => {
+    it('Traverse Node with Children', () => {
+        let component1 = createElementWithClass('div', 'component1');
+        createChild(component1, 'div', 'component1-content', 'text 1');
+        createChild(component1, 'div', 'component2-content', 'text 2');
+        createChild(component1, 'span', undefined, 'text 3');
+        createChild(component1, 'span', 'component1-content', 'text 4');
+
+        // Now we have:
+        /*
+        * <div class="component1">
+        *    <div class="component1-content" slot="component1-content">text 1</div>
+        *    <div class="component2-content" slot="component2-content">text 2</div>
+        *    <span>text 3</span><span class="component1-content" slot="component1-content">text 4</span>
+        * </div>
+        */
+
+
+        let node = component1;
+        assert.equal(node.nodeValue, null, 'root node value is incorrect');
+        assert.equal(node.nodeName, 'DIV', 'root node name is incorrect');
+        assert.equal(node.className, 'component1', 'root node class is incorrect');
+
+        node = node.traverseNextNode(component1);
+        assert.equal(node.nodeName, 'DIV', 'first child node name is incorrect');
+        assert.equal(node.className, 'component1-content', 'first child class is incorrect');
+
+        node = node.traverseNextNode(component1);
+        assert.equal(node.nodeValue, "text 1", 'second child node value is incorrect');
+
+        node = node.traverseNextNode(component1);
+        assert.equal(node.nodeName, 'DIV', 'second child node name is incorrect');
+        assert.equal(node.className, 'component2-content', 'second child class is incorrect');
+
+        node = node.traverseNextNode(component1);
+        assert.equal(node.nodeValue, "text 2", 'second child node value is incorrect');
+
+        node = node.traverseNextNode(component1);
+        assert.equal(node.nodeName, 'SPAN', 'third child node name is incorrect');
+        assert.equal(node.className, '', 'third child class is incorrect');
+
+        node = node.traverseNextNode(component1);
+        assert.equal(node.nodeValue, "text 3", 'third child node value is incorrect');
+
+        node = node.traverseNextNode(component1);
+        assert.equal(node.nodeName, 'SPAN', 'forth child node name is incorrect');
+        assert.equal(node.className, 'component1-content', 'forth child class is incorrect');
+
+        node = node.traverseNextNode(component1);
+        assert.equal(node.nodeValue, "text 4", 'forth child node value is incorrect');
+    });
+
+    it('Traverse Node with Shadows',  () => {
+        var component1 = createElementWithClass('div', 'component1');
+        var shadow1 = component1.attachShadow({mode: 'open'});
+        var shadow1Content = createElementWithClass('div', 'shadow-component1');
+        shadow1.appendChild(shadow1Content);
+        var component2 = shadow1Content.createChild('div', 'component2');
+        var shadow2 = component2.attachShadow({mode: 'open'});
+        var shadow2Content = createElementWithClass('div', 'shadow-component1');
+        shadow2.appendChild(shadow2Content);
+        var midDiv = createChild(shadow2Content, 'div', 'mid-div');
+        createChild(midDiv, 'div', undefined, 'component2-text');
+
+        // Now we have:
+        /*
+        * <div class="component1"></div>
+        * <div class="shadow-component1"><div class="component2"></div></div>
+        * <div class="shadow-component1"><div class="mid-div" slot="mid-div"><div>component2-text</div></div></div>
+        */
+
+        let node = component1;
+        assert.equal(node.nodeName, 'DIV', 'root node name is incorrect');
+        assert.equal(node.className, 'component1', 'root node class is incorrect');
+
+        node = node.traverseNextNode(component1);
+        assert.equal(node.nodeName, '#document-fragment', 'first document fragment node name is incorrect');
+
+        node = node.traverseNextNode(component1);
+        assert.equal(node.nodeName, 'DIV', 'first document fragment child node name is incorrect');
+        assert.equal(node.className, 'shadow-component1', 'first document fragment child node name is incorrect');
+
+        node = node.traverseNextNode(component1);
+        assert.equal(node.nodeName, 'DIV');
+        assert.equal(node.className, 'component2');
+
+        node = node.traverseNextNode(component1);
+        assert.equal(node.nodeName, '#document-fragment');
+
+        node = node.traverseNextNode(component1);
+        assert.equal(node.nodeName, 'DIV');
+        assert.equal(node.className, 'shadow-component1');
+
+        node = node.traverseNextNode(component1);
+        assert.equal(node.nodeName, 'DIV');
+        assert.equal(node.className, 'mid-div');
+
+        node = node.traverseNextNode(component1);
+        assert.equal(node.nodeName, 'DIV');
+        assert.equal(node.className, '');
+
+        node = node.traverseNextNode(component1);
+        assert.equal(node.nodeName, '#text');
+        assert.equal(node.nodeValue, 'component2-text');
+    });
+
+    it('Traverse Node with Slots', () => {
+        var component1 = createElementWithClass('div', 'component1');
+        var shadow1 = component1.attachShadow({mode: 'open'});
+        var shadow1Content = createElementWithClass('div', 'shadow-component1');
+        shadow1.appendChild(shadow1Content);
+        createSlot(shadow1Content, 'component1-content');
+        createSlot(shadow1Content, null);
+        var component2 = shadow1Content.createChild('div', 'component2');
+        var shadow2 = component2.attachShadow({mode: 'open'});
+        createSlot(component2, 'component2-content');
+        createChild(
+            component2, 'div', 'component2-content', 'component2 light dom text');
+        var shadow2Content = createElementWithClass('div', 'shadow-component1');
+        shadow2.appendChild(shadow2Content);
+        var midDiv = createChild(shadow2Content, 'div', 'mid-div');
+        createChild(midDiv, 'div', undefined, 'component2-text');
+        createSlot(midDiv, null);
+        createSlot(midDiv, 'component2-content');
+
+        // Now we have:
+        /*
+        * <div class="component1"></div>
+        * <div class="shadow-component1">
+        *    <slot name="component1-content"></slot>
+        *    <slot></slot>
+        *    <div class="component2">
+        *       <slot name="component2-content"></slot>
+        *       <div class="component2-content" slot="component2-content">component2 light dom text</div>
+        *    </div>
+        * </div>
+        * <div class="shadow-component1">
+        *    <div class="mid-div" slot="mid-div">
+        *       <div>component2-text</div>
+        *       <slot></slot>
+        *       <slot name="component2-content"></slot>
+        *    </div>
+        * </div>
+        */
+
+        let node = component1;
+        assert.equal(node.nodeName, 'DIV', 'root node name is incorrect');
+        assert.equal(node.className, 'component1', 'root node class is incorrect');
+
+        node = node.traverseNextNode(component1);
+        assert.equal(node.nodeName, '#document-fragment', 'first document fragment node name is incorrect');
+
+        node = node.traverseNextNode(component1);
+        assert.equal(node.nodeName, 'DIV', 'first document fragment child node name is incorrect');
+        assert.equal(node.className, 'shadow-component1', 'first document fragment child node name is incorrect');
+
+        node = node.traverseNextNode(component1);
+        assert.equal(node.nodeName, 'SLOT', 'first slot node name is incorrect');
+
+        node = node.traverseNextNode(component1);
+        assert.equal(node.nodeName, 'SLOT', 'second slot node name is incorrect');
+
+        node = node.traverseNextNode(component1);
+        assert.equal(node.nodeName, 'DIV');
+        assert.equal(node.className, 'component2');
+
+        node = node.traverseNextNode(component1);
+        assert.equal(node.nodeName, '#document-fragment');
+
+        node = node.traverseNextNode(component1);
+        assert.equal(node.nodeName, 'DIV');
+        assert.equal(node.className, 'shadow-component1');
+
+        node = node.traverseNextNode(component1);
+        assert.equal(node.nodeName, 'DIV');
+        assert.equal(node.className, 'mid-div');
+
+        node = node.traverseNextNode(component1);
+        assert.equal(node.nodeName, 'DIV');
+        assert.equal(node.className, '');
+
+        node = node.traverseNextNode(component1);
+        assert.equal(node.nodeValue, 'component2-text');
+        assert.equal(node.nodeName, '#text');
+
+        node = node.traverseNextNode(component1);
+        assert.equal(node.nodeName, 'SLOT');
+
+        node = node.traverseNextNode(component1);
+        assert.equal(node.nodeName, 'SLOT');
+
+        node = node.traverseNextNode(component1);
+        assert.equal(node.nodeName, 'SLOT');
+
+        node = node.traverseNextNode(component1);
+        assert.equal(node.nodeName, 'DIV');
+        assert.equal(node.className, 'component2-content');
+
+        node = node.traverseNextNode(component1);
+        assert.equal(node.nodeValue, 'component2 light dom text');
+        assert.equal(node.nodeName, '#text');
+    });
+});
diff --git a/third_party/blink/renderer/devtools/test/unittests/front_end/platform/utilities.ts b/third_party/blink/renderer/devtools/test/unittests/front_end/platform/utilities.ts
new file mode 100644
index 0000000..8b68fc1
--- /dev/null
+++ b/third_party/blink/renderer/devtools/test/unittests/front_end/platform/utilities.ts
@@ -0,0 +1,282 @@
+// 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 { assert } = chai;
+
+// FIXME: Convert to pure functions as these utilities have side effects.
+import '../../../../front_end/platform/utilities.js';
+
+declare global {
+  interface Array<T> {
+    remove(value: T, firstOnly: boolean): boolean;
+    mergeOrdered(array: T[], comparator: (a: T, b: T) => number): T[];
+    intersectOrdered(array: T[], comparator: (a: T, b: T) => number): T[];
+    upperBound(value: T, comparator?: (a: T, b: T) => number): number;
+    lowerBound(value: T, comparator?: (a: T, b: T) => number): number;
+    binaryIndexOf(value: T, comparator: (a: T, b: T) => number): number;
+    sortRange(comparator: (a: T, b: T) => number, leftBound: number, rightBound: number, sortWindowLeft: number, sortWindowRight: number): T[];
+  }
+
+  interface String {
+    trimURL(base: string): string;
+    toBase64(): string;
+    trimMiddle(maxLength: number): string;
+    repeat(length: number): string;
+  }
+
+  interface StringConstructor {
+    hashCode(value: string): number;
+    naturalOrderComparator(a: string, b: string): number;
+  }
+}
+
+describe('Utilities', () => {
+  it('removes values', () => {
+    const testArrays = [
+      [], [], [], [1], [1], [1], [1, 2, 3, 4, 5, 4, 3, 2, 1], [1, 3, 4, 5, 4, 3, 2, 1], [1, 3, 4, 5, 4, 3, 1],
+      [2, 2, 2, 2, 2], [2, 2, 2, 2], [], [2, 2, 2, 1, 2, 2, 3, 2], [2, 2, 1, 2, 2, 3, 2], [1, 3]
+    ];
+
+    for (let i = 0; i < testArrays.length; i += 3) {
+      let actual = testArrays[i].slice(0);
+      let expected = testArrays[i + 1];
+      actual.remove(2, true);
+      assert.deepStrictEqual(expected, actual, 'Removing firstOnly (true) failed');
+
+      actual = testArrays[i].slice(0);
+      expected = testArrays[i + 2];
+      actual.remove(2, false);
+      assert.deepStrictEqual(expected, actual, 'Removing firstOnly (false) failed');
+    }
+  });
+
+  it('orders merge intersect', () => {
+    function comparator(a: number, b: number) {
+      return a - b;
+    }
+
+    function count(a: number[], x: number) {
+      return a.upperBound(x) - a.lowerBound(x);
+    }
+
+    function testAll(a: number[], b: number[]) {
+      testOperation(a, b, a.mergeOrdered(b, comparator), Math.max, 'U');
+      testOperation(a, b, a.intersectOrdered(b, comparator), Math.min, 'x');
+    }
+
+    function testOperation(a: number[], b: number[], actual: number[], checkOperation: (...values: number[]) => number, opName: string) {
+      const allValues = a.concat(b).concat(actual);
+      let expectedCount: number;
+      let actualCount: number;
+
+      for (let i = 0; i < allValues.length; ++i) {
+        let value = allValues[i];
+        expectedCount = checkOperation(count(a, value), count(b, value));
+        actualCount = count(actual, value);
+        assert.equal(expectedCount, actualCount,
+            'Incorrect result for value: ' + value + ' at [' + a + '] ' + opName + ' [' + b + '] -> [' + actual +
+                ']');
+      }
+
+      // FIXME: This appears to be a no-op given the fact that sort works in-place.
+      assert.deepStrictEqual(actual.sort(), actual, 'Result array is ordered');
+    }
+
+    const testArrays = [
+      [], [], [1], [], [1, 2, 2, 2, 3], [], [4, 5, 5, 8, 8], [1, 1, 1, 2, 6], [1, 2, 2, 2, 2, 3, 3, 4],
+      [2, 2, 2, 3, 3, 3, 3], [1, 2, 3, 4, 5], [1, 2, 3]
+    ];
+
+    for (let i = 0; i < testArrays.length; i += 2) {
+      testAll(testArrays[i], testArrays[i + 1]);
+      testAll(testArrays[i + 1], testArrays[i]);
+    }
+  });
+
+  it('calculates the binary index', () => {
+    const testArrays = [
+      [], [1], [1, 10], [1, 10, 11, 12, 13, 14, 100], [-100, -50, 0, 50, 100], [-100, -14, -13, -12, -11, -10, -1]
+    ];
+
+    function testArray(array: number[]) {
+      function comparator(a: number, b: number) {
+        return a < b ? -1 : (a > b ? 1 : 0);
+      }
+
+      for (let i = -100; i <= 100; ++i) {
+        let reference = array.indexOf(i);
+        let actual = array.binaryIndexOf(i, comparator);
+        assert.deepStrictEqual(reference, actual);
+      }
+      return true;
+    }
+
+    for (let i = 0, l = testArrays.length; i < l; ++i) {
+      testArray(testArrays[i]);
+    }
+  });
+
+  it('calculates the lower bound', () => {
+    const testArrays = [[], [1], [-1, -1, 0, 0, 0, 0, 2, 3, 4, 4, 4, 7, 9, 9, 9]];
+
+    function testArray(array: number[], useComparator: boolean) {
+      function comparator(a: number, b: number) {
+        return a < b ? -1 : (a > b ? 1 : 0);
+      }
+
+      for (let value = -2; value <= 12; ++value) {
+        let index = useComparator ? array.lowerBound(value, comparator) : array.lowerBound(value);
+        assert.isTrue(0 <= index && index <= array.length, 'index is not within bounds');
+        assert.isTrue(index === 0 || array[index - 1] < value, 'array[index - 1] >= value');
+        assert.isTrue(index === array.length || array[index] >= value, 'array[index] < value');
+      }
+    }
+
+    for (let i = 0, l = testArrays.length; i < l; ++i) {
+      testArray(testArrays[i], false);
+      testArray(testArrays[i], true);
+    }
+  });
+
+  it('calculates the upper bound', () => {
+    const testArrays = [[], [1], [-1, -1, 0, 0, 0, 0, 2, 3, 4, 4, 4, 7, 9, 9, 9]];
+
+    function testArray(array: number[], useComparator: boolean) {
+      function comparator(a: number, b: number) {
+        return a < b ? -1 : (a > b ? 1 : 0);
+      }
+
+      for (let value = -2; value <= 12; ++value) {
+        let index = useComparator ? array.upperBound(value, comparator) : array.upperBound(value);
+        assert.isTrue(0 <= index && index <= array.length, 'index is out of bounds');
+        assert.isTrue(index === 0 || array[index - 1] <= value, 'array[index - 1] > value');
+        assert.isTrue(index === array.length || array[index] > value, 'array[index] <= value');
+      }
+    }
+
+    for (let i = 0, l = testArrays.length; i < l; ++i) {
+      testArray(testArrays[i], false);
+      testArray(testArrays[i], true);
+    }
+  });
+
+  it('sorts ranges', () => {
+    const testArrays = [[], [1], [2, 1], [6, 4, 2, 7, 10, 15, 1], [10, 44, 3, 6, 56, 66, 10, 55, 32, 56, 2, 5]];
+
+    function testArray(array: number[]) {
+      function comparator(a: number, b: number) {
+        return a < b ? -1 : (a > b ? 1 : 0);
+      }
+
+      for (let left = 0, l = array.length - 1; left < l; ++left) {
+        for (let right = left, r = array.length; right < r; ++right) {
+          for (let first = left; first <= right; ++first) {
+            for (let count = 1, k = right - first + 1; count <= k; ++count) {
+              let actual = array.slice(0);
+              actual.sortRange(comparator, left, right, first, first + count - 1);
+              assert.deepStrictEqual(array.slice(0, left), actual.slice(0, left), 'left ' + left + ' ' + right + ' ' + count);
+              assert.deepStrictEqual(
+                  array.slice(right + 1), actual.slice(right + 1), 'right ' + left + ' ' + right + ' ' + count);
+
+              let middle = array.slice(left, right + 1);
+              middle.sort(comparator);
+              assert.deepStrictEqual(
+                  middle.slice(first - left, first - left + count), actual.slice(first, first + count),
+                  'sorted ' + left + ' ' + right + ' ' + first + ' ' + count);
+
+              const actualRest = actual.slice(first + count, right + 1);
+              actualRest.sort(comparator);
+              assert.deepStrictEqual(
+                  middle.slice(first - left + count), actualRest,
+                  'unsorted ' + left + ' ' + right + ' ' + first + ' ' + count);
+            }
+          }
+        }
+      }
+    }
+
+    for (let i = 0, len = testArrays.length; i < len; ++i) {
+      testArray(testArrays[i]);
+    }
+  });
+
+  it('sorts natural order', () => {
+    const testArray = [
+      'dup', 'a1',   'a4222',  'a91',       'a07',      'dup', 'a7',        'a007',      'abc00',     'abc0',
+      'abc', 'abcd', 'abc000', 'x10y20z30', 'x9y19z29', 'dup', 'x09y19z29', 'x10y22z23', 'x10y19z43', '1',
+      '10',  '11',   'dup',    '2',         '2',        '2',   '555555',    '5',         '5555',      'dup',
+    ];
+
+    for (let i = 0, n = testArray.length; i < n; ++i) {
+      assert.equal(0, String.naturalOrderComparator(testArray[i], testArray[i]), 'comparing equal strings');
+    }
+
+    testArray.sort(String.naturalOrderComparator);
+
+    // Check comparator's transitivity.
+    for (let i = 0, n = testArray.length; i < n; ++i) {
+      for (let j = 0; j < n; ++j) {
+        const a = testArray[i];
+        const b = testArray[j];
+        const diff = String.naturalOrderComparator(a, b);
+        if (diff === 0)
+          assert.equal(a, b, 'zero diff');
+        else if (diff < 0)
+          assert.isTrue(i < j);
+        else
+          assert.isTrue(i > j);
+      }
+    }
+  });
+
+  it('hashes strings', () => {
+    const stringA = ' '.repeat(10000);
+    const stringB = stringA + ' ';
+    const hashA = String.hashCode(stringA);
+    assert.isTrue(hashA !== String.hashCode(stringB));
+    assert.isTrue(isFinite(hashA));
+    assert.isTrue(hashA + 1 !== hashA);
+  });
+
+  it('trims URLs', () => {
+    const baseURLDomain = 'www.chromium.org';
+    const testArray = [
+      'http://www.chromium.org/foo/bar',
+      '/foo/bar',
+      'https://www.CHromium.ORG/BAZ/zoo',
+      '/BAZ/zoo',
+      'https://example.com/foo[]',
+      'example.com/foo[]',
+    ];
+    for (let i = 0; i < testArray.length; i += 2) {
+      const url = testArray[i];
+      const expected = testArray[i + 1];
+      assert.equal(expected, url.trimURL(baseURLDomain), url);
+    }
+  });
+
+  it('converts to base64', () => {
+    const testArray = [
+      '', '', 'a', 'YQ==', 'bc', 'YmM=', 'def', 'ZGVm', 'ghij', 'Z2hpag==', 'klmno', 'a2xtbm8=', 'pqrstu', 'cHFyc3R1',
+      String.fromCharCode(0x444, 0x5555, 0x66666, 0x777777), '0YTllZXmmabnnbc='
+    ];
+    for (let i = 0; i < testArray.length; i += 2) {
+      const string = testArray[i];
+      const encodedString = testArray[i + 1];
+      assert.equal(encodedString, string.toBase64());
+    }
+  });
+
+  it('trims the middle of strings', () => {
+    const testArray = [
+      '', '!', '\uD83D\uDE48A\uD83D\uDE48L\uD83D\uDE48I\uD83D\uDE48N\uD83D\uDE48A\uD83D\uDE48\uD83D\uDE48', 'test'
+    ];
+    for (let string of testArray) {
+      for (let maxLength = string.length + 1; maxLength > 0; --maxLength) {
+        const trimmed = string.trimMiddle(maxLength);
+        assert.isTrue(trimmed.length <= maxLength);
+      }
+    }
+  });
+});
diff --git a/third_party/blink/renderer/devtools/tests/front_end/common/Color.ts b/third_party/blink/renderer/devtools/tests/front_end/common/Color.ts
deleted file mode 100644
index 341d126e..0000000
--- a/third_party/blink/renderer/devtools/tests/front_end/common/Color.ts
+++ /dev/null
@@ -1,62 +0,0 @@
-// 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 { assert } = chai;
-
-import { default as Color } from '../../../front_end/common/Color.js';
-
-describe('Color', () => {
-  describe('parse', () => {
-    it('parses hex values', () => {
-      assert.deepEqual(Color.parse('#FF00FF').rgba(), [1, 0, 1, 1]);
-      assert.deepEqual(Color.parse('#F0F').rgba(), [1, 0, 1, 1]);
-      assert.deepEqual(Color.parse('#F0F0').rgba(), [1, 0, 1, 0]);
-      assert.deepEqual(Color.parse('#FF00FF00').rgba(), [1, 0, 1, 0]);
-    });
-
-    it('parses nickname values', () => {
-      assert.deepEqual(Color.parse('red').rgba(), [1, 0, 0, 1]);
-    });
-
-    it('parses rgb(a) values', () => {
-      const colorOne = Color.parse('rgb(255, 255, 0)');
-      assert.deepEqual(colorOne.rgba(), [1, 1, 0, 1]);
-
-      const colorTwo = Color.parse('rgba(0, 255, 255, 0.5)');
-      assert.deepEqual(colorTwo.rgba(), [0, 1, 1, 0.5]);
-
-      const colorThree = Color.parse('rgb(255 255 255)');
-      assert.deepEqual(colorThree.rgba(), [1, 1, 1, 1]);
-
-      const colorFour = Color.parse('rgb(10% 10% 10%)');
-      assert.deepEqual(colorFour.rgba(), [0.1, 0.1, 0.1, 1]);
-
-      const colorFive = Color.parse('rgb(10% 10% 10% / 0.4)');
-      assert.deepEqual(colorFive.rgba(), [0.1, 0.1, 0.1, 0.4]);
-    });
-
-    it('parses hsl(a) values', () => {
-      const colorOne = Color.parse('hsl(0, 100%, 50%)');
-      assert.deepEqual(colorOne.rgba(), [1, 0, 0, 1]);
-
-      const colorTwo = Color.parse('hsla(0, 100%, 50%, 0.5)');
-      assert.deepEqual(colorTwo.rgba(), [1, 0, 0, 0.5]);
-
-      const colorThree = Color.parse('hsla(50deg 100% 100% / 50%)');
-      assert.deepEqual(colorThree.rgba(), [1, 1, 1, 0.5]);
-    });
-
-    it('handles invalid values', () => {
-      assert.isNull(Color.parse('#FAFAFA       Trailing'));
-      assert.isNull(Color.parse('#FAFAFG'));
-      assert.isNull(Color.parse('gooseberry'));
-      assert.isNull(Color.parse('rgb(10% 10% 10% /)'));
-      assert.isNull(Color.parse('rgb(10% 10% 10% 0.4 40)'));
-      assert.isNull(Color.parse('hsl(0, carrot, 30%)'));
-      assert.isNull(Color.parse('hsl(0)'));
-      assert.isNull(Color.parse('rgb(255)'));
-      assert.isNull(Color.parse('rgba(1 golf 30)'));
-    });
-  });
-});
diff --git a/third_party/blink/renderer/devtools/tests/front_end/common/Console.ts b/third_party/blink/renderer/devtools/tests/front_end/common/Console.ts
deleted file mode 100644
index a3e3ab4..0000000
--- a/third_party/blink/renderer/devtools/tests/front_end/common/Console.ts
+++ /dev/null
@@ -1,60 +0,0 @@
-// 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 { assert } = chai;
-
-import { default as Console, Events, MessageLevel } from '../../../front_end/common/Console.js';
-
-describe('Console', () => {
-  let consoleImpl: Console;
-  beforeEach(() => {
-    consoleImpl = new Console();
-  });
-
-  it('adds messages', () => {
-    consoleImpl.addMessage('Foo', MessageLevel.Info, true);
-    const messages = consoleImpl.messages();
-    assert.equal(messages.length, 1);
-    assert.equal(messages[0].text, 'Foo');
-  });
-
-  it('adds handles messages of all types', () => {
-    const messageTypes = new Map<string, string>([
-      ['Info', 'log'],
-      ['Warning', 'warn'],
-      ['Error', 'error']
-    ]);
-
-    for (const [type, method] of messageTypes) {
-      consoleImpl = new Console();
-
-      // Dispatch the message of the appropriate type.
-      consoleImpl[method](type);
-
-      // Now read the message back and check it.
-      const messages = consoleImpl.messages();
-      assert.equal(messages.length, 1);
-      assert.equal(messages[0].text, type);
-      assert.equal(messages[0].level, MessageLevel[type]);
-    }
-  });
-
-  it('stores messages', () => {
-    consoleImpl.addMessage('Foo', MessageLevel.Info, true);
-    consoleImpl.addMessage('Baz', MessageLevel.Warning, true);
-    consoleImpl.addMessage('Bar', MessageLevel.Error, true);
-    consoleImpl.addMessage('Donkey', MessageLevel.Info, true);
-    const messages = consoleImpl.messages();
-    assert.equal(messages.length, 4);
-  });
-
-  it('dispatches events to listeners', (done) => {
-    consoleImpl.addEventListener(Events.MessageAdded, ({ data }) => {
-      assert.equal(data.text, 'Foo');
-      done();
-    });
-
-    consoleImpl.addMessage('Foo', MessageLevel.Info, true);
-  });
-});
diff --git a/third_party/blink/renderer/devtools/tests/front_end/common/Object.ts b/third_party/blink/renderer/devtools/tests/front_end/common/Object.ts
deleted file mode 100644
index ddb64c0..0000000
--- a/third_party/blink/renderer/devtools/tests/front_end/common/Object.ts
+++ /dev/null
@@ -1,78 +0,0 @@
-// 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 { assert } = chai;
-
-import { default as ObjectWrapper } from '../../../front_end/common/Object.js';
-
-describe('ObjectWrapper', () => {
-  let obj: ObjectWrapper;
-  beforeEach(() => {
-    obj = new ObjectWrapper();
-  });
-
-  describe('event listeners', () => {
-    it('adds event listeners', (done) => {
-      obj.addEventListener('foo', () => {
-        done();
-      });
-
-      obj.dispatchEventToListeners('foo');
-    });
-
-    it('reports event listeners correctly', () => {
-      const callback = () => {};
-
-      obj.addEventListener('foo', callback);
-      assert.isTrue(obj.hasEventListeners('foo'));
-
-      obj.removeEventListener('foo', callback);
-      assert.isFalse(obj.hasEventListeners('foo'));
-    });
-
-    it('fires event listeners once', async () => {
-      const fireOnce = obj.once('foo');
-      obj.dispatchEventToListeners('foo');
-      await fireOnce;
-
-      assert.isFalse(obj.hasEventListeners('foo'));
-    });
-
-    it('fires event listeners multiple times', () => {
-      let count = 0;
-      const callback = () => {
-        count++;
-      };
-
-      obj.addEventListener('foo', callback);
-      obj.dispatchEventToListeners('foo');
-      obj.dispatchEventToListeners('foo');
-      assert.equal(count, 2);
-    });
-
-    it('fires event listeners with data', (done) => {
-      let count = 0;
-      const callback = (evt: { data: { bar: string } } ) => {
-        assert.equal(evt.data.bar, 'baz');
-        done();
-      };
-
-      obj.addEventListener('foo', callback);
-      obj.dispatchEventToListeners('foo', { bar: 'baz' });
-      assert.equal(count, 2);
-    });
-
-    it('handles removal of non-existent listener', () => {
-      assert.doesNotThrow(() => {
-        obj.removeEventListener('foo', () => {});
-      });
-    });
-
-    it('handles dispatch of events with zero listeners', () => {
-      assert.doesNotThrow(() => {
-        obj.dispatchEventToListeners('foo');
-      });
-    });
-  });
-});
diff --git a/third_party/blink/renderer/devtools/tests/front_end/common/ParsedURL.ts b/third_party/blink/renderer/devtools/tests/front_end/common/ParsedURL.ts
deleted file mode 100644
index 130db27..0000000
--- a/third_party/blink/renderer/devtools/tests/front_end/common/ParsedURL.ts
+++ /dev/null
@@ -1,421 +0,0 @@
-// 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 {assert} = chai;
-
-import {default as ParsedURL} from '../../../front_end/common/ParsedURL.js';
-
-describe('Parsed URL', () => {
-  it('recognizes valid URLs', () => {
-    const parsedUrl = new ParsedURL('http://www.example.com/');
-    assert.isTrue(parsedUrl.isValid, 'the URL should be valid');
-  });
-
-  it('recognizes the URL elements', () => {
-    const parsedUrl = new ParsedURL('http://username@www.example.com:8080/testing/test?isTest=true#testFragment');
-    assert.isTrue(parsedUrl.isValid, 'the URL should be valid');
-    assert.equal(
-        parsedUrl.url, 'http://username@www.example.com:8080/testing/test?isTest=true#testFragment',
-        'URL value is incorrect');
-    assert.equal(parsedUrl.scheme, 'http', 'URL scheme is incorrect');
-    assert.equal(parsedUrl.user, 'username', 'URL user is incorrect');
-    assert.equal(parsedUrl.host, 'www.example.com', 'URL host is incorrect');
-    assert.equal(parsedUrl.port, '8080', 'URL port is incorrect');
-    assert.equal(parsedUrl.path, '/testing/test', 'URL path is incorrect');
-    assert.equal(parsedUrl.queryParams, 'isTest=true', 'URL query params are incorrect');
-    assert.equal(parsedUrl.fragment, 'testFragment', 'URL fragment is incorrect');
-    assert.equal(parsedUrl.folderPathComponents, '/testing', 'URL folder path components are incorrect');
-    assert.equal(parsedUrl.lastPathComponent, 'test', 'URL last path component is incorrect');
-  });
-
-  it('recognizes a valid blob URL', () => {
-    const parsedUrl = new ParsedURL('blob:http://www.example.com/');
-    assert.isTrue(parsedUrl.isValid, 'the URL should be valid');
-    assert.equal(parsedUrl.scheme, 'blob', 'the URL scheme is not blob');
-    assert.equal(parsedUrl._blobInnerScheme, 'http', 'the URL inner scheme is not http');
-  });
-
-  it('parses a URL with no path', () => {
-    const parsedUrl = new ParsedURL('http://www.example.com');
-    assert.isTrue(parsedUrl.isValid, 'the URL should be valid');
-    assert.equal(parsedUrl.path, '/', 'path is not a single slash ("/")');
-  });
-
-  it('parses a data URL', () => {
-    const parsedUrl = new ParsedURL('data:test');
-    assert.isFalse(parsedUrl.isValid, 'the URL should not be valid');
-    assert.equal(parsedUrl.scheme, 'data', 'the URL scheme is not data');
-  });
-
-  it('recognizes an invalid blob URL', () => {
-    const parsedUrl = new ParsedURL('blob:test');
-    assert.isFalse(parsedUrl.isValid, 'the URL should not be valid');
-    assert.equal(parsedUrl.scheme, 'blob', 'the URL scheme is not blob');
-  });
-
-  it('recognizes an invalid blank URL', () => {
-    const parsedUrl = new ParsedURL('about:blank');
-    assert.isFalse(parsedUrl.isValid, 'the URL should not be valid');
-    assert.equal(parsedUrl.scheme, 'about', 'the URL scheme is not blob');
-  });
-
-  it('recognizes an invalid URL', () => {
-    const parsedUrl = new ParsedURL('abc');
-    assert.isFalse(parsedUrl.isValid, 'the URL should not be valid');
-    assert.equal(parsedUrl.url, 'abc', 'URL value is incorrect');
-  });
-
-  it('converts platform path to a URL that does not start with "file://"', () => {
-    const platformPathTest = 'usr/lib';
-    const convertedUrl = ParsedURL.platformPathToURL(platformPathTest);
-    assert.equal(convertedUrl, 'file:///usr/lib', 'URL was not converted correctly');
-  });
-
-  it('converts platform path to a URL that does not start with "file://" but starts with a slash ("/")', () => {
-    const platformPathTest = '/usr/lib';
-    const convertedUrl = ParsedURL.platformPathToURL(platformPathTest);
-    assert.equal(convertedUrl, 'file:///usr/lib', 'URL was not converted correctly');
-  });
-
-  it('converts platform path to a URL that starts with "file://"', () => {
-    const platformPathTest = 'file://usr/lib';
-    const convertedUrl = ParsedURL.platformPathToURL(platformPathTest);
-    assert.equal(convertedUrl, 'file://usr/lib', 'URL was not converted correctly');
-  });
-
-  it('converts URL to a platform path that starts with "file://"', () => {
-    const urlTest = 'file://usr/lib';
-    const convertedUrl = ParsedURL.urlToPlatformPath(urlTest);
-    assert.equal(convertedUrl, 'usr/lib', 'URL was not converted successfully');
-  });
-
-  it('converts URL to a platform path that starts with "file:///" on Windows', () => {
-    const urlTest = 'file:///usr/lib';
-    const convertedUrl = ParsedURL.urlToPlatformPath(urlTest, true);
-    assert.equal(convertedUrl, 'usr\\lib', 'URL was not converted successfully');
-  });
-
-  it('converts URL with a hash to a URL without a hash', () => {
-    const urlTest = 'http://www.example.com#test';
-    const convertedUrl = ParsedURL.urlWithoutHash(urlTest);
-    assert.equal(convertedUrl, 'http://www.example.com', 'URL was not converted successfully');
-  });
-
-  it('returns URL without a hash as it is', () => {
-    const urlTest = 'http://www.example.com';
-    const convertedUrl = ParsedURL.urlWithoutHash(urlTest);
-    assert.equal(convertedUrl, urlTest, 'URL was changed');
-  });
-
-  it('extracts the path from a valid URL', () => {
-    const urlTest = 'http://www.example.com/test/path';
-    const extractedPath = ParsedURL.extractPath(urlTest);
-    assert.equal(extractedPath, '/test/path', 'path extracted incorrectly');
-  });
-
-  it('returns an empty string as a path if the URL is not valid', () => {
-    const urlTest = 'www.example.com/test/path';
-    const extractedPath = ParsedURL.extractPath(urlTest);
-    assert.equal(extractedPath, '', 'did not return an empty path');
-  });
-
-  it('extracts the origin from a valid URL', () => {
-    const urlTest = 'http://www.example.com/test/path';
-    const extractedOrigin = ParsedURL.extractOrigin(urlTest);
-    assert.equal(extractedOrigin, 'http://www.example.com', 'origin extracted incorrectly');
-  });
-
-  it('returns an empty string as a origin if the URL is not valid', () => {
-    const urlTest = 'www.example.com/test/path';
-    const extractedOrigin = ParsedURL.extractOrigin(urlTest);
-    assert.equal(extractedOrigin, '', 'did not return an empty path');
-  });
-
-  it('extracts the extension from a valid URL with a hash', () => {
-    const urlTest = 'http://www.example.com/test/testFile.html#testHash';
-    const extractedExt = ParsedURL.extractExtension(urlTest);
-    assert.equal(extractedExt, 'html', 'extension extracted incorrectly');
-  });
-
-  it('extracts the extension from a valid URL with a question mark', () => {
-    const urlTest = 'http://www.example.com/test/testFile.html?testParam=t';
-    const extractedExt = ParsedURL.extractExtension(urlTest);
-    assert.equal(extractedExt, 'html', 'extension extracted incorrectly');
-  });
-
-  it('extracts the extension from a valid URL that does not have slashes', () => {
-    const urlTest = 'testFile.html';
-    const extractedExt = ParsedURL.extractExtension(urlTest);
-    assert.equal(extractedExt, 'html', 'extension extracted incorrectly');
-  });
-
-  it('extracts the extension from a valid URL that has a percent sign', () => {
-    const urlTest = 'http://www.example.com/test/path.html%20';
-    const extractedExt = ParsedURL.extractExtension(urlTest);
-    assert.equal(extractedExt, 'html', 'extension extracted incorrectly');
-  });
-
-  it('returns an empty string when trying to extract extension from an invalid URL', () => {
-    const urlTest = 'http://html';
-    const extractedExt = ParsedURL.extractExtension(urlTest);
-    assert.equal(extractedExt, '', 'extension extracted incorrectly');
-  });
-
-  it('is able to extract name from a valid URL', () => {
-    const urlTest = 'http://www.example.com/test/path.html';
-    const extractedName = ParsedURL.extractName(urlTest);
-    assert.equal(extractedName, 'path.html', 'name extracted incorrectly');
-  });
-
-  it('is able to extract name from a string without a slash', () => {
-    const urlTest = 'path.html';
-    const extractedName = ParsedURL.extractName(urlTest);
-    assert.equal(extractedName, 'path.html', 'name extracted incorrectly');
-  });
-
-  it('is able to extract name from a valid URL with a query', () => {
-    const urlTest = 'http://www.example.com/test/path.html?testParam=t';
-    const extractedName = ParsedURL.extractName(urlTest);
-    assert.equal(extractedName, 'path.html', 'name extracted incorrectly');
-  });
-
-  it('is able to extract name from a string without a slash and with a query', () => {
-    const urlTest = 'path.html?testParam=t';
-    const extractedName = ParsedURL.extractName(urlTest);
-    assert.equal(extractedName, 'path.html', 'name extracted incorrectly');
-  });
-
-  it('uses the completeURL function to return a data URL as it is', () => {
-    const hrefTest = 'data:http://www.example.com';
-    const baseUrlTest = 'www.example.com';
-    const completeUrl = ParsedURL.completeURL(baseUrlTest, hrefTest);
-    assert.equal(completeUrl, hrefTest, 'complete URL is not returned correctly');
-  });
-
-  it('uses the completeURL function to return a blob URL as it is', () => {
-    const hrefTest = 'blob:http://www.example.com';
-    const baseUrlTest = 'www.example.com';
-    const completeUrl = ParsedURL.completeURL(baseUrlTest, hrefTest);
-    assert.equal(completeUrl, hrefTest, 'complete URL is not returned correctly');
-  });
-
-  it('uses the completeURL function to return a javascript URL as it is', () => {
-    const hrefTest = 'javascript:http://www.example.com';
-    const baseUrlTest = 'www.example.com';
-    const completeUrl = ParsedURL.completeURL(baseUrlTest, hrefTest);
-    assert.equal(completeUrl, hrefTest, 'complete URL is not returned correctly');
-  });
-
-  it('uses the completeURL function to return a mailto URL as it is', () => {
-    const hrefTest = 'mailto:http://www.example.com';
-    const baseUrlTest = 'www.example.com';
-    const completeUrl = ParsedURL.completeURL(baseUrlTest, hrefTest);
-    assert.equal(completeUrl, hrefTest, 'complete URL is not returned correctly');
-  });
-
-  it('uses the completeURL function to return absolute URLs as-is', () => {
-    const hrefTest = 'http://www.example.com';
-    const baseUrlTest = 'www.example.com';
-    const completeUrl = ParsedURL.completeURL(baseUrlTest, hrefTest);
-    assert.equal(completeUrl, hrefTest, 'complete URL is not returned correctly');
-  });
-
-  it('uses the completeURL function to return null for invalid href and invalid base URL', () => {
-    const hrefTest = 'www.example.com';
-    const baseUrlTest = 'www.example.com';
-    const completeUrl = ParsedURL.completeURL(baseUrlTest, hrefTest);
-    assert.equal(completeUrl, null, 'complete URL is not returned correctly');
-  });
-
-  it('uses the completeURL function to return the href if the base URL is a data URL', () => {
-    const hrefTest = 'www.example.com';
-    const baseUrlTest = 'data://www.example.com';
-    const completeUrl = ParsedURL.completeURL(baseUrlTest, hrefTest);
-    assert.equal(completeUrl, hrefTest, 'complete URL is not returned correctly');
-  });
-
-  it('uses the completeURL function to return the href with scheme if the base URL was valid and the href scheme was dropped',
-     () => {
-       const hrefTest = '//www.example.com';
-       const baseUrlTest = 'http://www.example.com/';
-       const completeUrl = ParsedURL.completeURL(baseUrlTest, hrefTest);
-       assert.equal(completeUrl, 'http:' + hrefTest, 'complete URL is not returned correctly');
-     });
-
-  it('uses the completeURL function to resolve an empty href to a base URL without fragment', () => {
-    const hrefTest = '';
-    const baseUrlTest = 'http://www.example.com/?testParam=t';
-    const completeUrl = ParsedURL.completeURL(baseUrlTest, hrefTest);
-    assert.equal(completeUrl, baseUrlTest, 'complete URL is not returned correctly');
-  });
-
-  it('uses the completeURL function to resolve a fragment href to a base URL with fragment', () => {
-    const hrefTest = '#testFragment';
-    const baseUrlTest = 'http://www.example.com/?testParam=t';
-    const completeUrl = ParsedURL.completeURL(baseUrlTest, hrefTest);
-    assert.equal(completeUrl, baseUrlTest + hrefTest, 'complete URL is not returned correctly');
-  });
-
-  it('uses the completeURL function to resolve a parameters href to a base URL with the parameters from the href while the base URL has parameters',
-     () => {
-       const hrefTest = '?hrefParams=t';
-       const baseUrlTest = 'http://www.example.com/?testParam=t';
-       const completeUrl = ParsedURL.completeURL(baseUrlTest, hrefTest);
-       assert.equal(completeUrl, 'http://www.example.com/' + hrefTest, 'complete URL is not returned correctly');
-     });
-
-  it('uses the completeURL function to resolve a parameters href to a base URL with the parameters from the href while the base URL does not have parameters',
-     () => {
-       const hrefTest = '?hrefParams=t';
-       const baseUrlTest = 'http://www.example.com/';
-       const completeUrl = ParsedURL.completeURL(baseUrlTest, hrefTest);
-       assert.equal(completeUrl, baseUrlTest + hrefTest, 'complete URL is not returned correctly');
-     });
-
-  it('uses the splitLineAndColumn function to return undefined line and column numbers if the URL does not contain any',
-     () => {
-       const stringTest = 'http://www.example.com';
-       const splitResult = ParsedURL.splitLineAndColumn(stringTest);
-       assert.equal(splitResult.url, 'http://www.example.com', 'URL is not correct');
-       assert.isUndefined(splitResult.lineNumber, 'line number is not undefined');
-       assert.isUndefined(splitResult.columnNumber, 'column number is not undefined');
-     });
-
-  it('uses the splitLineAndColumn function to return the line and column numbers if the URL contains them', () => {
-    const stringTest = 'http://www.example.com:15:20';
-    const splitResult = ParsedURL.splitLineAndColumn(stringTest);
-    assert.equal(splitResult.url, 'http://www.example.com', 'URL is not correct');
-    assert.equal(splitResult.lineNumber, 14, 'line number is incorrect');
-    assert.equal(splitResult.columnNumber, 19, 'column number is incorrect');
-  });
-
-  it('uses the splitLineAndColumn function to return the line and column numbers if the URL contains them and has a port number',
-     () => {
-       const stringTest = 'http://www.example.com:8080:15:20';
-       const splitResult = ParsedURL.splitLineAndColumn(stringTest);
-       assert.equal(splitResult.url, 'http://www.example.com:8080', 'URL is not correct');
-       assert.equal(splitResult.lineNumber, 14, 'line number is incorrect');
-       assert.equal(splitResult.columnNumber, 19, 'column number is incorrect');
-     });
-
-  it('uses the isRelativeURL function to return true if the URL is relative', () => {
-    const urlTest = '/test/path';
-    const isRelativeResult = ParsedURL.isRelativeURL(urlTest);
-    assert.isTrue(isRelativeResult);
-  });
-
-  it('uses the isRelativeURL function to return false if the URL is not relative', () => {
-    const urlTest = 'http://www.example.com/test/path';
-    const isRelativeResult = ParsedURL.isRelativeURL(urlTest);
-    assert.isFalse(isRelativeResult);
-  });
-
-  it('uses the displayName function to return the name if it exists for a URL', () => {
-    const parsedUrl = new ParsedURL('http://www.example.com');
-    assert.equal(parsedUrl.displayName, 'www.example.com/', 'name returned is incorrect');
-  });
-
-  it('uses the displayName function to return the name for a data URL', () => {
-    const parsedUrl = new ParsedURL('data:www.example.com');
-    assert.equal(parsedUrl.displayName, 'data:www.example.com', 'name returned is incorrect');
-  });
-
-  it('uses the displayName function to return the name for a blob URL', () => {
-    const parsedUrl = new ParsedURL('blob:www.example.com');
-    assert.equal(parsedUrl.displayName, 'blob:www.example.com', 'name returned is incorrect');
-  });
-
-  it('uses the displayName function to return the name for an about:blank URL', () => {
-    const parsedUrl = new ParsedURL('about:blank');
-    assert.equal(parsedUrl.displayName, 'about:blank', 'name returned is incorrect');
-  });
-
-  it('uses the displayName function to return the name for a URL with a last path component', () => {
-    const parsedUrl = new ParsedURL('http://www.example.com/test');
-    assert.equal(parsedUrl.displayName, 'test', 'name returned is incorrect');
-  });
-
-  it('uses the displayName function to return the name for a a slash', () => {
-    const parsedUrl = new ParsedURL('/');
-    assert.equal(parsedUrl.displayName, '/', 'name returned is incorrect');
-  });
-
-  it('uses the displayName function to return the name for a URL that already has a display name set', () => {
-    const parsedUrl = new ParsedURL('http://www.example.com');
-    assert.equal(parsedUrl.displayName, 'www.example.com/', 'name returned is incorrect');
-    assert.equal(parsedUrl.displayName, 'www.example.com/', 'name returned is incorrect');
-  });
-
-  it('uses the dataURLDisplayName function to return data URL display name if it is not already set', () => {
-    const parsedUrl = new ParsedURL('http://www.example.com');
-    assert.equal(parsedUrl.dataURLDisplayName(), '', 'data URL display name is returned incorrectly');
-  });
-
-  it('uses the dataURLDisplayName function to return data URL display name if it is already set', () => {
-    const parsedUrl = new ParsedURL('data:http://www.example.com');
-    assert.equal(
-        parsedUrl.dataURLDisplayName(), 'data:http://www.exa…', 'data URL display name is returned incorrectly');
-    assert.equal(
-        parsedUrl.dataURLDisplayName(), 'data:http://www.exa…', 'data URL display name is returned incorrectly');
-  });
-
-  it('uses the lastPathComponentWithFragment function to return for a URL without a path', () => {
-    const parsedUrl = new ParsedURL('http://www.example.com');
-    assert.equal(
-        parsedUrl.lastPathComponentWithFragment(), '', 'last path component with fragmen returned is incorrect');
-  });
-
-  it('uses the lastPathComponentWithFragment function to return for a URL with a path', () => {
-    const parsedUrl = new ParsedURL('http://www.example.com/test/path');
-    assert.equal(
-        parsedUrl.lastPathComponentWithFragment(), 'path', 'last path component with fragmen returned is incorrect');
-  });
-
-  it('uses the lastPathComponentWithFragment function to return for a URL with a path and a fragment', () => {
-    const parsedUrl = new ParsedURL('http://www.example.com/test/path#testFragment');
-    assert.equal(
-        parsedUrl.lastPathComponentWithFragment(), 'path#testFragment',
-        'last path component with fragmen returned is incorrect');
-  });
-
-  it('returns the domain for a data URL', () => {
-    const parsedUrl = new ParsedURL('data:http://www.example.com');
-    assert.equal(parsedUrl.domain(), 'data:', 'domain returned was incorrect');
-  });
-
-  it('returns the domain for an http URL without a port', () => {
-    const parsedUrl = new ParsedURL('http://www.example.com');
-    assert.equal(parsedUrl.domain(), 'www.example.com', 'domain returned was incorrect');
-  });
-
-  it('returns the domain for an http URL with a port', () => {
-    const parsedUrl = new ParsedURL('http://www.example.com:8080');
-    assert.equal(parsedUrl.domain(), 'www.example.com:8080', 'domain returned was incorrect');
-  });
-
-  it('returns the security origin for a data URL', () => {
-    const parsedUrl = new ParsedURL('data:http://www.example.com');
-    assert.equal(parsedUrl.securityOrigin(), 'data:', 'security origin returned was incorrect');
-  });
-
-  it('returns the security origin for a blob URL', () => {
-    const parsedUrl = new ParsedURL('blob:http://www.example.com');
-    assert.equal(parsedUrl.securityOrigin(), 'http://www.example.com', 'security origin returned was incorrect');
-  });
-
-  it('returns the security origin for an http URL', () => {
-    const parsedUrl = new ParsedURL('http://www.example.com');
-    assert.equal(parsedUrl.securityOrigin(), 'http://www.example.com', 'security origin returned was incorrect');
-  });
-
-  it('returns the url without scheme for a URL that has a scheme', () => {
-    const parsedUrl = new ParsedURL('http://www.example.com');
-    assert.equal(parsedUrl.urlWithoutScheme(), 'www.example.com', 'URL without scheme returned was incorrect');
-  });
-
-  it('returns the url without scheme for a URL that does not have a scheme', () => {
-    const parsedUrl = new ParsedURL('www.example.com');
-    assert.equal(parsedUrl.urlWithoutScheme(), 'www.example.com', 'URL without scheme returned was incorrect');
-  });
-});
diff --git a/third_party/blink/renderer/devtools/tests/front_end/common/SegmentedRange.ts b/third_party/blink/renderer/devtools/tests/front_end/common/SegmentedRange.ts
deleted file mode 100644
index ce0f789f7..0000000
--- a/third_party/blink/renderer/devtools/tests/front_end/common/SegmentedRange.ts
+++ /dev/null
@@ -1,180 +0,0 @@
-// 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 { assert } = chai;
-
-import { default as SegmentedRange, Segment } from '../../../front_end/common/SegmentedRange.js';
-
-describe('Segment', () => {
-  it('calculates intersections', () => {
-    const segmentA = new Segment(1, 2, 'A');
-    const segmentB = new Segment(1.5, 2.5, 'B');
-    const segmentC = new Segment(3, 5, 'C');
-
-    assert.isTrue(segmentA.intersects(segmentB));
-    assert.isFalse(segmentA.intersects(segmentC));
-  });
-
-  it('throws for invalid segments', () => {
-    assert.throws(() => new Segment(3, 2, 'V'));
-  });
-});
-
-describe('SegmentedRange', () => {
-  let segmentedRange: SegmentedRange;
-
-  function mergeSegments(first, second) {
-    const inOrder = first.end >= second.begin;
-    const matchingData = first.data === second.data;
-    return inOrder && matchingData ? first : null;
-  }
-
-  beforeEach(() => {
-    segmentedRange = new SegmentedRange(mergeSegments);
-  });
-
-  it('handles single ranges', () => {
-    segmentedRange.append(new Segment(0, 1, 'A'));
-
-    assert.deepEqual(segmentedRange.segments(), [{ begin: 0, end: 1, data: 'A' }]);
-  });
-
-  it('handles two adjacent ranges', () => {
-    const segmentA = new Segment(1, 2, 'A');
-    const segmentB = new Segment(2, 3, 'B');
-
-    segmentedRange.append(segmentA);
-    segmentedRange.append(segmentB);
-
-    assert.deepEqual(segmentedRange.segments(), [{ begin: 1, end: 2, data: 'A' }, { begin: 2, end: 3, data: 'B' }]);
-  });
-
-  it('handles two overlapping mergeable ranges', () => {
-    const segmentA = new Segment(1, 2, 'A');
-    const segmentB = new Segment(1.5, 3, 'A');
-
-    segmentedRange.append(segmentA);
-    segmentedRange.append(segmentB);
-
-    assert.deepEqual(segmentedRange.segments(), [{ begin: 1, end: 3, data: 'A' }]);
-  });
-
-  it('handles multiple overlapping mergeable ranges', () => {
-    const segmentA = new Segment(1, 2, 'A');
-    const segmentB = new Segment(3, 5, 'A');
-    const segmentC = new Segment(1.5, 3.5, 'A');
-
-    segmentedRange.append(segmentA);
-    segmentedRange.append(segmentB);
-    segmentedRange.append(segmentC);
-
-    assert.deepEqual(segmentedRange.segments(), [{ begin: 1, end: 5, data: 'A' }]);
-  });
-
-  it('handles multiple overlapping non-mergeable ranges', () => {
-    const segmentA = new Segment(1, 2, 'A');
-    const segmentB = new Segment(3, 5, 'A');
-    const segmentC = new Segment(1.5, 3.5, 'B');
-
-    segmentedRange.append(segmentA);
-    segmentedRange.append(segmentB);
-    segmentedRange.append(segmentC);
-
-    assert.deepEqual(segmentedRange.segments(), [{ begin: 1, end: 1.5, data: 'A' }, { begin: 1.5, end: 3.5, data: 'B' },
-        { begin: 3.5, end: 5, data: 'A' }]);
-  });
-
-  it('handles two overlapping non-mergeable ranges', () => {
-    const segmentA = new Segment(1, 2, 'A');
-    const segmentB = new Segment(1.5, 3, 'B');
-
-    segmentedRange.append(segmentA);
-    segmentedRange.append(segmentB);
-
-    assert.deepEqual(segmentedRange.segments(), [{ begin: 1, end: 1.5, data: 'A' }, { begin: 1.5, end: 3, data: 'B' }]);
-  });
-
-  it('handles nested, mergeable ranges', () => {
-    const segmentA = new Segment(0, 4, 'A');
-    const segmentB = new Segment(2, 3, 'A');
-
-    segmentedRange.append(segmentA);
-    segmentedRange.append(segmentB);
-
-    assert.deepEqual(segmentedRange.segments(), [{ begin: 0, end: 4, data: 'A' }]);
-  });
-
-  it('handles nested, non-mergeable ranges', () => {
-    const segmentA = new Segment(0, 4, 'A');
-    const segmentB = new Segment(2, 3, 'B');
-
-    segmentedRange.append(segmentA);
-    segmentedRange.append(segmentB);
-
-    assert.deepEqual(segmentedRange.segments(), [{ begin: 0, end: 2, data: 'A' }, { begin: 2, end: 3, data: 'B' },
-        { begin: 3, end: 4, data: 'A' }]);
-  });
-
-  it('handles out-of-order, mergeable ranges', () => {
-    const segmentA = new Segment(0, 2, 'A');
-    const segmentB = new Segment(3, 5, 'A');
-    const segmentC = new Segment(2, 3, 'A');
-
-    segmentedRange.append(segmentA);
-    segmentedRange.append(segmentB);
-    segmentedRange.append(segmentC);
-
-    assert.deepEqual(segmentedRange.segments(), [{ begin: 0, end: 5, data: 'A' }]);
-  });
-
-  it('handles out-of-order, non-mergeable ranges', () => {
-    const segmentA = new Segment(0, 2, 'A');
-    const segmentB = new Segment(3, 5, 'A');
-    const segmentC = new Segment(2, 3, 'B');
-
-    segmentedRange.append(segmentA);
-    segmentedRange.append(segmentB);
-    segmentedRange.append(segmentC);
-
-    assert.deepEqual(segmentedRange.segments(), [{ begin: 0, end: 2, data: 'A' }, { begin: 2, end: 3, data: 'B' },
-        { begin: 3, end: 5, data: 'A' }]);
-  });
-
-  it('handles one segment consuming many mergeable ranges', () => {
-    const segmentA = new Segment(0, 1, 'A');
-    const segmentB = new Segment(2, 3, 'A');
-    const segmentC = new Segment(4, 5, 'A');
-    const segmentD = new Segment(6, 7, 'A');
-
-    // E merges A through D.
-    const segmentE = new Segment(2, 6, 'A');
-
-    segmentedRange.append(segmentA);
-    segmentedRange.append(segmentB);
-    segmentedRange.append(segmentC);
-    segmentedRange.append(segmentD);
-    segmentedRange.append(segmentE);
-
-    assert.deepEqual(segmentedRange.segments(), [{ begin: 0, end: 1, data: 'A' }, { begin: 2, end: 7, data: 'A' }]);
-  });
-
-  it('handles one segment consuming many non-mergeable ranges', () => {
-    const segmentA = new Segment(0, 1, 'A');
-    const segmentB = new Segment(2, 3, 'A');
-    const segmentC = new Segment(4, 5, 'A');
-    const segmentD = new Segment(6, 7, 'A');
-
-    // E merges A through D.
-    const segmentE = new Segment(2, 6, 'B');
-
-    segmentedRange.append(segmentA);
-    segmentedRange.append(segmentB);
-    segmentedRange.append(segmentC);
-    segmentedRange.append(segmentD);
-    segmentedRange.append(segmentE);
-
-    assert.deepEqual(segmentedRange.segments(), [{ begin: 0, end: 1, data: 'A' }, { begin: 2, end: 6, data: 'B' },
-        { begin: 6, end: 7, data: 'A' }]);
-  });
-});
diff --git a/third_party/blink/renderer/devtools/tests/front_end/common/TextDictionary.ts b/third_party/blink/renderer/devtools/tests/front_end/common/TextDictionary.ts
deleted file mode 100644
index 23320ac..0000000
--- a/third_party/blink/renderer/devtools/tests/front_end/common/TextDictionary.ts
+++ /dev/null
@@ -1,85 +0,0 @@
-// 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 {assert} = chai;
-
-import {default as TextDictionary} from '../../../front_end/common/TextDictionary.js';
-import {default as Trie} from '../../../front_end/common/Trie.js';
-
-describe('Text Dictionary', () => {
-  it('can be created with its basic attributes', () => {
-    const textDic = new TextDictionary();
-    assert.instanceOf(textDic._words, Map, 'did not create a Map named _words');
-    assert.instanceOf(textDic._index, Trie, 'did not create a Trie named _index');
-  });
-
-  it('can add a word successfully', () => {
-    const textDic = new TextDictionary();
-    textDic.addWord('test');
-    assert.isTrue(textDic.hasWord('test'), 'word was not added successfully');
-  });
-
-  it('can remove a word successfully', () => {
-    const textDic = new TextDictionary();
-    textDic.addWord('test');
-    assert.isTrue(textDic.hasWord('test'), 'word was not added successfully');
-    textDic.removeWord('test');
-    assert.isFalse(textDic.hasWord('test'), 'word was not removed successfully');
-  });
-
-  it('returns nothing when trying to remove a word that does not exist', () => {
-    const textDic = new TextDictionary();
-    assert.isUndefined(
-        textDic.removeWord('test'), 'removeWord function did not return Undefined for a word not in the dictionaty');
-  });
-
-  it('removes a word that was added twice', () => {
-    const textDic = new TextDictionary();
-    textDic.addWord('test');
-    textDic.addWord('test');
-    assert.isTrue(textDic.hasWord('test'), 'words were not added successfully');
-    textDic.removeWord('test');
-    assert.isTrue(textDic.hasWord('test'), 'both words were removed');
-    textDic.removeWord('test');
-    assert.isFalse(textDic.hasWord('test'), 'the second word was not removed successfully');
-  });
-
-  it('retrieve words with a certain prefix', () => {
-    const textDic = new TextDictionary();
-    textDic.addWord('test');
-    textDic.addWord('ten');
-    textDic.addWord('nine');
-    const foundWords = textDic.wordsWithPrefix('te');
-    assert.equal(foundWords[0], 'test', 'first word was not retrieved');
-    assert.equal(foundWords[1], 'ten', 'second word was not retrieved');
-  });
-
-  it('retrieve the word count for a certain word', () => {
-    const textDic = new TextDictionary();
-    textDic.addWord('test');
-    textDic.addWord('test');
-    textDic.addWord('ten');
-    assert.equal(textDic.wordCount('test'), 2, 'word count is incorrect');
-  });
-
-  it('retrieve the word count for a certain word that is not in the dictionary', () => {
-    const textDic = new TextDictionary();
-    textDic.addWord('test');
-    textDic.addWord('test');
-    textDic.addWord('ten');
-    assert.equal(textDic.wordCount('testing'), 0, 'word count is incorrect');
-  });
-
-  it('reset the dictionary after adding words to it', () => {
-    const textDic = new TextDictionary();
-    textDic.addWord('test');
-    textDic.addWord('test');
-    textDic.addWord('ten');
-    textDic.reset();
-    assert.isFalse(textDic.hasWord('test'), 'first word still in the dictionary');
-    assert.isFalse(textDic.hasWord('ten'), 'second word still in the dictionary');
-    assert.equal(textDic.wordCount('test'), 0, 'first word still has a count');
-    assert.equal(textDic.wordCount('ten'), 0, 'second word still has a count');
-  });
-});
diff --git a/third_party/blink/renderer/devtools/tests/front_end/common/Trie.ts b/third_party/blink/renderer/devtools/tests/front_end/common/Trie.ts
deleted file mode 100644
index 15298958..0000000
--- a/third_party/blink/renderer/devtools/tests/front_end/common/Trie.ts
+++ /dev/null
@@ -1,58 +0,0 @@
-// 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 { assert } = chai;
-
-import { default as Trie } from '../../../front_end/common/Trie.js';
-
-describe('Trie', () => {
-  let trie: Trie;
-  beforeEach(() => {
-    trie = new Trie();
-  });
-
-  it('stores and retrieves words', () => {
-    trie.add('foo');
-    assert.isTrue(trie.has('foo'));
-    assert.isFalse(trie.has('bar'));
-  });
-
-  it('removes words', () => {
-    trie.add('foo');
-    assert.isTrue(trie.has('foo'));
-    trie.remove('foo');
-    assert.isFalse(trie.has('foo'));
-  });
-
-  it('completes words based on prefixes', () => {
-    trie.add('foo');
-    trie.add('food');
-    trie.add('flora');
-    trie.add('boat');
-    trie.add('focus');
-    trie.add('banana');
-    assert.deepEqual(trie.words('fo'), ['foo', 'food', 'focus']);
-    assert.isEmpty(trie.words('cat'));
-  });
-
-  it('clears words', () => {
-    trie.add('foo');
-    assert.isTrue(trie.has('foo'));
-
-    trie.clear();
-    assert.isFalse(trie.has('foo'));
-    assert.isEmpty(trie.words('foo'));
-  });
-
-  it('provides the longest prefix', () => {
-    trie.add('super');
-    trie.add('supercar');
-
-    // Longest non-word prefix match.
-    assert.equal(trie.longestPrefix('supercalifragilisticexpialidocious', false), 'superca');
-
-    // Longest word prefix match.
-    assert.equal(trie.longestPrefix('supercalifragilisticexpialidocious', true), 'super');
-  });
-});
diff --git a/third_party/blink/renderer/devtools/tests/front_end/platform/dom-extension.ts b/third_party/blink/renderer/devtools/tests/front_end/platform/dom-extension.ts
deleted file mode 100644
index cf2a59a..0000000
--- a/third_party/blink/renderer/devtools/tests/front_end/platform/dom-extension.ts
+++ /dev/null
@@ -1,235 +0,0 @@
-// 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 { assert } = chai;
-import '../../../front_end/dom_extension/DOMExtension.js';
-
-declare global {
-    function createElementWithClass(tagName: string, className?: string, content?: string): HTMLElement;
-
-    interface HTMLElement {
-        traverseNextNode(node: HTMLElement): HTMLElement;
-        createChild(tagName: string, className?: string, content?: string): HTMLElement;
-    }
-}
-
-function createSlot(parent, name) {
-    const slot = parent.createChild('slot');
-    if (name)
-        slot.name = name;
-    return slot;
-}
-
-function createChild(parent, tagName, name, text = '') {
-    const child = parent.createChild(tagName, name);
-    if (name)
-        child.slot = name;
-    child.textContent = text;
-    return child;
-}
-
-
-describe('DataGrid', () => {
-    it('Traverse Node with Children', () => {
-        let component1 = createElementWithClass('div', 'component1');
-        createChild(component1, 'div', 'component1-content', 'text 1');
-        createChild(component1, 'div', 'component2-content', 'text 2');
-        createChild(component1, 'span', undefined, 'text 3');
-        createChild(component1, 'span', 'component1-content', 'text 4');
-
-        // Now we have:
-        /*
-        * <div class="component1">
-        *    <div class="component1-content" slot="component1-content">text 1</div>
-        *    <div class="component2-content" slot="component2-content">text 2</div>
-        *    <span>text 3</span><span class="component1-content" slot="component1-content">text 4</span>
-        * </div>
-        */
-
-
-        let node = component1;
-        assert.equal(node.nodeValue, null, 'root node value is incorrect');
-        assert.equal(node.nodeName, 'DIV', 'root node name is incorrect');
-        assert.equal(node.className, 'component1', 'root node class is incorrect');
-
-        node = node.traverseNextNode(component1);
-        assert.equal(node.nodeName, 'DIV', 'first child node name is incorrect');
-        assert.equal(node.className, 'component1-content', 'first child class is incorrect');
-
-        node = node.traverseNextNode(component1);
-        assert.equal(node.nodeValue, "text 1", 'second child node value is incorrect');
-
-        node = node.traverseNextNode(component1);
-        assert.equal(node.nodeName, 'DIV', 'second child node name is incorrect');
-        assert.equal(node.className, 'component2-content', 'second child class is incorrect');
-
-        node = node.traverseNextNode(component1);
-        assert.equal(node.nodeValue, "text 2", 'second child node value is incorrect');
-
-        node = node.traverseNextNode(component1);
-        assert.equal(node.nodeName, 'SPAN', 'third child node name is incorrect');
-        assert.equal(node.className, '', 'third child class is incorrect');
-
-        node = node.traverseNextNode(component1);
-        assert.equal(node.nodeValue, "text 3", 'third child node value is incorrect');
-
-        node = node.traverseNextNode(component1);
-        assert.equal(node.nodeName, 'SPAN', 'forth child node name is incorrect');
-        assert.equal(node.className, 'component1-content', 'forth child class is incorrect');
-
-        node = node.traverseNextNode(component1);
-        assert.equal(node.nodeValue, "text 4", 'forth child node value is incorrect');
-    });
-
-    it('Traverse Node with Shadows',  () => {
-        var component1 = createElementWithClass('div', 'component1');
-        var shadow1 = component1.attachShadow({mode: 'open'});
-        var shadow1Content = createElementWithClass('div', 'shadow-component1');
-        shadow1.appendChild(shadow1Content);
-        var component2 = shadow1Content.createChild('div', 'component2');
-        var shadow2 = component2.attachShadow({mode: 'open'});
-        var shadow2Content = createElementWithClass('div', 'shadow-component1');
-        shadow2.appendChild(shadow2Content);
-        var midDiv = createChild(shadow2Content, 'div', 'mid-div');
-        createChild(midDiv, 'div', undefined, 'component2-text');
-
-        // Now we have:
-        /*
-        * <div class="component1"></div>
-        * <div class="shadow-component1"><div class="component2"></div></div>
-        * <div class="shadow-component1"><div class="mid-div" slot="mid-div"><div>component2-text</div></div></div>
-        */
-
-        let node = component1;
-        assert.equal(node.nodeName, 'DIV', 'root node name is incorrect');
-        assert.equal(node.className, 'component1', 'root node class is incorrect');
-
-        node = node.traverseNextNode(component1);
-        assert.equal(node.nodeName, '#document-fragment', 'first document fragment node name is incorrect');
-
-        node = node.traverseNextNode(component1);
-        assert.equal(node.nodeName, 'DIV', 'first document fragment child node name is incorrect');
-        assert.equal(node.className, 'shadow-component1', 'first document fragment child node name is incorrect');
-
-        node = node.traverseNextNode(component1);
-        assert.equal(node.nodeName, 'DIV');
-        assert.equal(node.className, 'component2');
-
-        node = node.traverseNextNode(component1);
-        assert.equal(node.nodeName, '#document-fragment');
-
-        node = node.traverseNextNode(component1);
-        assert.equal(node.nodeName, 'DIV');
-        assert.equal(node.className, 'shadow-component1');
-
-        node = node.traverseNextNode(component1);
-        assert.equal(node.nodeName, 'DIV');
-        assert.equal(node.className, 'mid-div');
-
-        node = node.traverseNextNode(component1);
-        assert.equal(node.nodeName, 'DIV');
-        assert.equal(node.className, '');
-
-        node = node.traverseNextNode(component1);
-        assert.equal(node.nodeName, '#text');
-        assert.equal(node.nodeValue, 'component2-text');
-    });
-
-    it('Traverse Node with Slots', () => {
-        var component1 = createElementWithClass('div', 'component1');
-        var shadow1 = component1.attachShadow({mode: 'open'});
-        var shadow1Content = createElementWithClass('div', 'shadow-component1');
-        shadow1.appendChild(shadow1Content);
-        createSlot(shadow1Content, 'component1-content');
-        createSlot(shadow1Content, null);
-        var component2 = shadow1Content.createChild('div', 'component2');
-        var shadow2 = component2.attachShadow({mode: 'open'});
-        createSlot(component2, 'component2-content');
-        createChild(
-            component2, 'div', 'component2-content', 'component2 light dom text');
-        var shadow2Content = createElementWithClass('div', 'shadow-component1');
-        shadow2.appendChild(shadow2Content);
-        var midDiv = createChild(shadow2Content, 'div', 'mid-div');
-        createChild(midDiv, 'div', undefined, 'component2-text');
-        createSlot(midDiv, null);
-        createSlot(midDiv, 'component2-content');
-
-        // Now we have:
-        /*
-        * <div class="component1"></div>
-        * <div class="shadow-component1">
-        *    <slot name="component1-content"></slot>
-        *    <slot></slot>
-        *    <div class="component2">
-        *       <slot name="component2-content"></slot>
-        *       <div class="component2-content" slot="component2-content">component2 light dom text</div>
-        *    </div>
-        * </div>
-        * <div class="shadow-component1">
-        *    <div class="mid-div" slot="mid-div">
-        *       <div>component2-text</div>
-        *       <slot></slot>
-        *       <slot name="component2-content"></slot>
-        *    </div>
-        * </div>
-        */
-
-        let node = component1;
-        assert.equal(node.nodeName, 'DIV', 'root node name is incorrect');
-        assert.equal(node.className, 'component1', 'root node class is incorrect');
-
-        node = node.traverseNextNode(component1);
-        assert.equal(node.nodeName, '#document-fragment', 'first document fragment node name is incorrect');
-
-        node = node.traverseNextNode(component1);
-        assert.equal(node.nodeName, 'DIV', 'first document fragment child node name is incorrect');
-        assert.equal(node.className, 'shadow-component1', 'first document fragment child node name is incorrect');
-
-        node = node.traverseNextNode(component1);
-        assert.equal(node.nodeName, 'SLOT', 'first slot node name is incorrect');
-
-        node = node.traverseNextNode(component1);
-        assert.equal(node.nodeName, 'SLOT', 'second slot node name is incorrect');
-
-        node = node.traverseNextNode(component1);
-        assert.equal(node.nodeName, 'DIV');
-        assert.equal(node.className, 'component2');
-
-        node = node.traverseNextNode(component1);
-        assert.equal(node.nodeName, '#document-fragment');
-
-        node = node.traverseNextNode(component1);
-        assert.equal(node.nodeName, 'DIV');
-        assert.equal(node.className, 'shadow-component1');
-
-        node = node.traverseNextNode(component1);
-        assert.equal(node.nodeName, 'DIV');
-        assert.equal(node.className, 'mid-div');
-
-        node = node.traverseNextNode(component1);
-        assert.equal(node.nodeName, 'DIV');
-        assert.equal(node.className, '');
-
-        node = node.traverseNextNode(component1);
-        assert.equal(node.nodeValue, 'component2-text');
-        assert.equal(node.nodeName, '#text');
-
-        node = node.traverseNextNode(component1);
-        assert.equal(node.nodeName, 'SLOT');
-
-        node = node.traverseNextNode(component1);
-        assert.equal(node.nodeName, 'SLOT');
-
-        node = node.traverseNextNode(component1);
-        assert.equal(node.nodeName, 'SLOT');
-
-        node = node.traverseNextNode(component1);
-        assert.equal(node.nodeName, 'DIV');
-        assert.equal(node.className, 'component2-content');
-
-        node = node.traverseNextNode(component1);
-        assert.equal(node.nodeValue, 'component2 light dom text');
-        assert.equal(node.nodeName, '#text');
-    });
-});
diff --git a/third_party/blink/renderer/devtools/tests/front_end/platform/utilities.ts b/third_party/blink/renderer/devtools/tests/front_end/platform/utilities.ts
deleted file mode 100644
index 5f4e307b..0000000
--- a/third_party/blink/renderer/devtools/tests/front_end/platform/utilities.ts
+++ /dev/null
@@ -1,282 +0,0 @@
-// 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 { assert } = chai;
-
-// FIXME: Convert to pure functions as these utilities have side effects.
-import '../../../front_end/platform/utilities.js';
-
-declare global {
-  interface Array<T> {
-    remove(value: T, firstOnly: boolean): boolean;
-    mergeOrdered(array: T[], comparator: (a: T, b: T) => number): T[];
-    intersectOrdered(array: T[], comparator: (a: T, b: T) => number): T[];
-    upperBound(value: T, comparator?: (a: T, b: T) => number): number;
-    lowerBound(value: T, comparator?: (a: T, b: T) => number): number;
-    binaryIndexOf(value: T, comparator: (a: T, b: T) => number): number;
-    sortRange(comparator: (a: T, b: T) => number, leftBound: number, rightBound: number, sortWindowLeft: number, sortWindowRight: number): T[];
-  }
-
-  interface String {
-    trimURL(base: string): string;
-    toBase64(): string;
-    trimMiddle(maxLength: number): string;
-    repeat(length: number): string;
-  }
-
-  interface StringConstructor {
-    hashCode(value: string): number;
-    naturalOrderComparator(a: string, b: string): number;
-  }
-}
-
-describe('Utilities', () => {
-  it('removes values', () => {
-    const testArrays = [
-      [], [], [], [1], [1], [1], [1, 2, 3, 4, 5, 4, 3, 2, 1], [1, 3, 4, 5, 4, 3, 2, 1], [1, 3, 4, 5, 4, 3, 1],
-      [2, 2, 2, 2, 2], [2, 2, 2, 2], [], [2, 2, 2, 1, 2, 2, 3, 2], [2, 2, 1, 2, 2, 3, 2], [1, 3]
-    ];
-
-    for (let i = 0; i < testArrays.length; i += 3) {
-      let actual = testArrays[i].slice(0);
-      let expected = testArrays[i + 1];
-      actual.remove(2, true);
-      assert.deepStrictEqual(expected, actual, 'Removing firstOnly (true) failed');
-
-      actual = testArrays[i].slice(0);
-      expected = testArrays[i + 2];
-      actual.remove(2, false);
-      assert.deepStrictEqual(expected, actual, 'Removing firstOnly (false) failed');
-    }
-  });
-
-  it('orders merge intersect', () => {
-    function comparator(a: number, b: number) {
-      return a - b;
-    }
-
-    function count(a: number[], x: number) {
-      return a.upperBound(x) - a.lowerBound(x);
-    }
-
-    function testAll(a: number[], b: number[]) {
-      testOperation(a, b, a.mergeOrdered(b, comparator), Math.max, 'U');
-      testOperation(a, b, a.intersectOrdered(b, comparator), Math.min, 'x');
-    }
-
-    function testOperation(a: number[], b: number[], actual: number[], checkOperation: (...values: number[]) => number, opName: string) {
-      const allValues = a.concat(b).concat(actual);
-      let expectedCount: number;
-      let actualCount: number;
-
-      for (let i = 0; i < allValues.length; ++i) {
-        let value = allValues[i];
-        expectedCount = checkOperation(count(a, value), count(b, value));
-        actualCount = count(actual, value);
-        assert.equal(expectedCount, actualCount,
-            'Incorrect result for value: ' + value + ' at [' + a + '] ' + opName + ' [' + b + '] -> [' + actual +
-                ']');
-      }
-
-      // FIXME: This appears to be a no-op given the fact that sort works in-place.
-      assert.deepStrictEqual(actual.sort(), actual, 'Result array is ordered');
-    }
-
-    const testArrays = [
-      [], [], [1], [], [1, 2, 2, 2, 3], [], [4, 5, 5, 8, 8], [1, 1, 1, 2, 6], [1, 2, 2, 2, 2, 3, 3, 4],
-      [2, 2, 2, 3, 3, 3, 3], [1, 2, 3, 4, 5], [1, 2, 3]
-    ];
-
-    for (let i = 0; i < testArrays.length; i += 2) {
-      testAll(testArrays[i], testArrays[i + 1]);
-      testAll(testArrays[i + 1], testArrays[i]);
-    }
-  });
-
-  it('calculates the binary index', () => {
-    const testArrays = [
-      [], [1], [1, 10], [1, 10, 11, 12, 13, 14, 100], [-100, -50, 0, 50, 100], [-100, -14, -13, -12, -11, -10, -1]
-    ];
-
-    function testArray(array: number[]) {
-      function comparator(a: number, b: number) {
-        return a < b ? -1 : (a > b ? 1 : 0);
-      }
-
-      for (let i = -100; i <= 100; ++i) {
-        let reference = array.indexOf(i);
-        let actual = array.binaryIndexOf(i, comparator);
-        assert.deepStrictEqual(reference, actual);
-      }
-      return true;
-    }
-
-    for (let i = 0, l = testArrays.length; i < l; ++i) {
-      testArray(testArrays[i]);
-    }
-  });
-
-  it('calculates the lower bound', () => {
-    const testArrays = [[], [1], [-1, -1, 0, 0, 0, 0, 2, 3, 4, 4, 4, 7, 9, 9, 9]];
-
-    function testArray(array: number[], useComparator: boolean) {
-      function comparator(a: number, b: number) {
-        return a < b ? -1 : (a > b ? 1 : 0);
-      }
-
-      for (let value = -2; value <= 12; ++value) {
-        let index = useComparator ? array.lowerBound(value, comparator) : array.lowerBound(value);
-        assert.isTrue(0 <= index && index <= array.length, 'index is not within bounds');
-        assert.isTrue(index === 0 || array[index - 1] < value, 'array[index - 1] >= value');
-        assert.isTrue(index === array.length || array[index] >= value, 'array[index] < value');
-      }
-    }
-
-    for (let i = 0, l = testArrays.length; i < l; ++i) {
-      testArray(testArrays[i], false);
-      testArray(testArrays[i], true);
-    }
-  });
-
-  it('calculates the upper bound', () => {
-    const testArrays = [[], [1], [-1, -1, 0, 0, 0, 0, 2, 3, 4, 4, 4, 7, 9, 9, 9]];
-
-    function testArray(array: number[], useComparator: boolean) {
-      function comparator(a: number, b: number) {
-        return a < b ? -1 : (a > b ? 1 : 0);
-      }
-
-      for (let value = -2; value <= 12; ++value) {
-        let index = useComparator ? array.upperBound(value, comparator) : array.upperBound(value);
-        assert.isTrue(0 <= index && index <= array.length, 'index is out of bounds');
-        assert.isTrue(index === 0 || array[index - 1] <= value, 'array[index - 1] > value');
-        assert.isTrue(index === array.length || array[index] > value, 'array[index] <= value');
-      }
-    }
-
-    for (let i = 0, l = testArrays.length; i < l; ++i) {
-      testArray(testArrays[i], false);
-      testArray(testArrays[i], true);
-    }
-  });
-
-  it('sorts ranges', () => {
-    const testArrays = [[], [1], [2, 1], [6, 4, 2, 7, 10, 15, 1], [10, 44, 3, 6, 56, 66, 10, 55, 32, 56, 2, 5]];
-
-    function testArray(array: number[]) {
-      function comparator(a: number, b: number) {
-        return a < b ? -1 : (a > b ? 1 : 0);
-      }
-
-      for (let left = 0, l = array.length - 1; left < l; ++left) {
-        for (let right = left, r = array.length; right < r; ++right) {
-          for (let first = left; first <= right; ++first) {
-            for (let count = 1, k = right - first + 1; count <= k; ++count) {
-              let actual = array.slice(0);
-              actual.sortRange(comparator, left, right, first, first + count - 1);
-              assert.deepStrictEqual(array.slice(0, left), actual.slice(0, left), 'left ' + left + ' ' + right + ' ' + count);
-              assert.deepStrictEqual(
-                  array.slice(right + 1), actual.slice(right + 1), 'right ' + left + ' ' + right + ' ' + count);
-
-              let middle = array.slice(left, right + 1);
-              middle.sort(comparator);
-              assert.deepStrictEqual(
-                  middle.slice(first - left, first - left + count), actual.slice(first, first + count),
-                  'sorted ' + left + ' ' + right + ' ' + first + ' ' + count);
-
-              const actualRest = actual.slice(first + count, right + 1);
-              actualRest.sort(comparator);
-              assert.deepStrictEqual(
-                  middle.slice(first - left + count), actualRest,
-                  'unsorted ' + left + ' ' + right + ' ' + first + ' ' + count);
-            }
-          }
-        }
-      }
-    }
-
-    for (let i = 0, len = testArrays.length; i < len; ++i) {
-      testArray(testArrays[i]);
-    }
-  });
-
-  it('sorts natural order', () => {
-    const testArray = [
-      'dup', 'a1',   'a4222',  'a91',       'a07',      'dup', 'a7',        'a007',      'abc00',     'abc0',
-      'abc', 'abcd', 'abc000', 'x10y20z30', 'x9y19z29', 'dup', 'x09y19z29', 'x10y22z23', 'x10y19z43', '1',
-      '10',  '11',   'dup',    '2',         '2',        '2',   '555555',    '5',         '5555',      'dup',
-    ];
-
-    for (let i = 0, n = testArray.length; i < n; ++i) {
-      assert.equal(0, String.naturalOrderComparator(testArray[i], testArray[i]), 'comparing equal strings');
-    }
-
-    testArray.sort(String.naturalOrderComparator);
-
-    // Check comparator's transitivity.
-    for (let i = 0, n = testArray.length; i < n; ++i) {
-      for (let j = 0; j < n; ++j) {
-        const a = testArray[i];
-        const b = testArray[j];
-        const diff = String.naturalOrderComparator(a, b);
-        if (diff === 0)
-          assert.equal(a, b, 'zero diff');
-        else if (diff < 0)
-          assert.isTrue(i < j);
-        else
-          assert.isTrue(i > j);
-      }
-    }
-  });
-
-  it('hashes strings', () => {
-    const stringA = ' '.repeat(10000);
-    const stringB = stringA + ' ';
-    const hashA = String.hashCode(stringA);
-    assert.isTrue(hashA !== String.hashCode(stringB));
-    assert.isTrue(isFinite(hashA));
-    assert.isTrue(hashA + 1 !== hashA);
-  });
-
-  it('trims URLs', () => {
-    const baseURLDomain = 'www.chromium.org';
-    const testArray = [
-      'http://www.chromium.org/foo/bar',
-      '/foo/bar',
-      'https://www.CHromium.ORG/BAZ/zoo',
-      '/BAZ/zoo',
-      'https://example.com/foo[]',
-      'example.com/foo[]',
-    ];
-    for (let i = 0; i < testArray.length; i += 2) {
-      const url = testArray[i];
-      const expected = testArray[i + 1];
-      assert.equal(expected, url.trimURL(baseURLDomain), url);
-    }
-  });
-
-  it('converts to base64', () => {
-    const testArray = [
-      '', '', 'a', 'YQ==', 'bc', 'YmM=', 'def', 'ZGVm', 'ghij', 'Z2hpag==', 'klmno', 'a2xtbm8=', 'pqrstu', 'cHFyc3R1',
-      String.fromCharCode(0x444, 0x5555, 0x66666, 0x777777), '0YTllZXmmabnnbc='
-    ];
-    for (let i = 0; i < testArray.length; i += 2) {
-      const string = testArray[i];
-      const encodedString = testArray[i + 1];
-      assert.equal(encodedString, string.toBase64());
-    }
-  });
-
-  it('trims the middle of strings', () => {
-    const testArray = [
-      '', '!', '\uD83D\uDE48A\uD83D\uDE48L\uD83D\uDE48I\uD83D\uDE48N\uD83D\uDE48A\uD83D\uDE48\uD83D\uDE48', 'test'
-    ];
-    for (let string of testArray) {
-      for (let maxLength = string.length + 1; maxLength > 0; --maxLength) {
-        const trimmed = string.trimMiddle(maxLength);
-        assert.isTrue(trimmed.length <= maxLength);
-      }
-    }
-  });
-});
diff --git a/third_party/blink/renderer/modules/BUILD.gn b/third_party/blink/renderer/modules/BUILD.gn
index 86b30b59..a52ad1f 100644
--- a/third_party/blink/renderer/modules/BUILD.gn
+++ b/third_party/blink/renderer/modules/BUILD.gn
@@ -408,6 +408,9 @@
     "push_messaging/push_subscription_test.cc",
     "remoteplayback/remote_playback_test.cc",
     "screen_orientation/screen_orientation_controller_impl_test.cc",
+    "sensor/ambient_light_sensor_test.cc",
+    "sensor/sensor_test_utils.cc",
+    "sensor/sensor_test_utils.h",
     "service_worker/service_worker_container_test.cc",
     "service_worker/service_worker_installed_scripts_manager_test.cc",
     "service_worker/service_worker_timeout_timer_test.cc",
diff --git a/third_party/blink/renderer/modules/accessibility/inspector_accessibility_agent.cc b/third_party/blink/renderer/modules/accessibility/inspector_accessibility_agent.cc
index 3b0aa34..5c50e64f 100644
--- a/third_party/blink/renderer/modules/accessibility/inspector_accessibility_agent.cc
+++ b/third_party/blink/renderer/modules/accessibility/inspector_accessibility_agent.cc
@@ -566,9 +566,15 @@
     std::unique_ptr<protocol::Array<AXNode>>& nodes,
     AXObjectCacheImpl& cache) const {
   AXObject* ancestor = &first_ancestor;
+  AXObject* child = inspected_ax_object;
   while (ancestor) {
-    nodes->emplace_back(BuildProtocolAXObject(*ancestor, inspected_ax_object,
-                                              true, nodes, cache));
+    std::unique_ptr<AXNode> parent_node_object = BuildProtocolAXObject(
+        *ancestor, inspected_ax_object, true, nodes, cache);
+    auto child_ids = std::make_unique<protocol::Array<AXNodeId>>();
+    child_ids->emplace_back(String::Number(child->AXObjectID()));
+    parent_node_object->setChildIds(std::move(child_ids));
+    nodes->emplace_back(std::move(parent_node_object));
+    child = ancestor;
     ancestor = ancestor->ParentObjectUnignored();
   }
 }
diff --git a/third_party/blink/renderer/modules/exported/web_embedded_worker_impl.cc b/third_party/blink/renderer/modules/exported/web_embedded_worker_impl.cc
index db78584..e529735 100644
--- a/third_party/blink/renderer/modules/exported/web_embedded_worker_impl.cc
+++ b/third_party/blink/renderer/modules/exported/web_embedded_worker_impl.cc
@@ -37,6 +37,7 @@
 #include "services/network/public/mojom/referrer_policy.mojom-blink.h"
 #include "services/service_manager/public/mojom/interface_provider.mojom-blink.h"
 #include "third_party/blink/public/mojom/browser_interface_broker.mojom-blink.h"
+#include "third_party/blink/public/mojom/cache_storage/cache_storage.mojom-blink.h"
 #include "third_party/blink/public/mojom/service_worker/service_worker_installed_scripts_manager.mojom-blink.h"
 #include "third_party/blink/public/platform/modules/service_worker/web_service_worker_network_provider.h"
 #include "third_party/blink/public/platform/modules/service_worker/web_service_worker_provider.h"
diff --git a/third_party/blink/renderer/modules/manifest/manifest_manager.cc b/third_party/blink/renderer/modules/manifest/manifest_manager.cc
index 8faab6a7..2eb33b3 100644
--- a/third_party/blink/renderer/modules/manifest/manifest_manager.cc
+++ b/third_party/blink/renderer/modules/manifest/manifest_manager.cc
@@ -255,10 +255,6 @@
 }
 
 void ManifestManager::ContextDestroyed(ExecutionContext*) {
-  Dispose();
-}
-
-void ManifestManager::Dispose() {
   if (fetcher_)
     fetcher_->Cancel();
 
@@ -270,6 +266,10 @@
   receivers_.Clear();
 }
 
+void ManifestManager::Prefinalize() {
+  receivers_.Clear();
+}
+
 void ManifestManager::Trace(blink::Visitor* visitor) {
   visitor->Trace(fetcher_);
   visitor->Trace(manifest_change_notifier_);
diff --git a/third_party/blink/renderer/modules/manifest/manifest_manager.h b/third_party/blink/renderer/modules/manifest/manifest_manager.h
index 0b35b078..9f40633 100644
--- a/third_party/blink/renderer/modules/manifest/manifest_manager.h
+++ b/third_party/blink/renderer/modules/manifest/manifest_manager.h
@@ -35,6 +35,7 @@
                                        public mojom::blink::ManifestManager,
                                        public ContextLifecycleObserver {
   USING_GARBAGE_COLLECTED_MIXIN(ManifestManager);
+  USING_PRE_FINALIZER(ManifestManager, Prefinalize);
 
  public:
   static const char kSupplementName[];
@@ -84,7 +85,7 @@
   void BindReceiver(
       mojo::PendingReceiver<mojom::blink::ManifestManager> receiver);
 
-  void Dispose();
+  void Prefinalize();
 
   friend class ManifestManagerTest;
 
diff --git a/third_party/blink/renderer/modules/modules_initializer.cc b/third_party/blink/renderer/modules/modules_initializer.cc
index 039c2f5..30b024c 100644
--- a/third_party/blink/renderer/modules/modules_initializer.cc
+++ b/third_party/blink/renderer/modules/modules_initializer.cc
@@ -7,6 +7,7 @@
 #include <memory>
 
 #include "base/memory/ptr_util.h"
+#include "third_party/blink/public/mojom/dom_storage/session_storage_namespace.mojom-blink.h"
 #include "third_party/blink/public/platform/interface_registry.h"
 #include "third_party/blink/public/platform/web_security_origin.h"
 #include "third_party/blink/public/platform/web_string.h"
@@ -82,21 +83,21 @@
 #include "third_party/blink/renderer/modules/webdatabase/inspector_database_agent.h"
 #include "third_party/blink/renderer/modules/webdatabase/web_database_host.h"
 #include "third_party/blink/renderer/modules/webdatabase/web_database_impl.h"
-#include "third_party/blink/renderer/modules/worklet/animation_and_paint_worklet_thread.h"
-#include "third_party/blink/renderer/modules/xr/navigator_xr.h"
-#if defined(SUPPORT_WEBGL2_COMPUTE_CONTEXT)
-#include "third_party/blink/renderer/modules/webgl/webgl2_compute_rendering_context.h"
-#endif
-#include "third_party/blink/renderer/modules/accessibility/inspector_accessibility_agent.h"
 #include "third_party/blink/renderer/modules/webgl/webgl2_rendering_context.h"
 #include "third_party/blink/renderer/modules/webgl/webgl_rendering_context.h"
 #include "third_party/blink/renderer/modules/webgpu/gpu_canvas_context.h"
+#include "third_party/blink/renderer/modules/worklet/animation_and_paint_worklet_thread.h"
+#include "third_party/blink/renderer/modules/xr/navigator_xr.h"
 #include "third_party/blink/renderer/platform/mojo/mojo_helper.h"
 #include "third_party/blink/renderer/platform/runtime_enabled_features.h"
 #include "third_party/blink/renderer/platform/wtf/cross_thread_functional.h"
 #include "third_party/blink/renderer/platform/wtf/functional.h"
 #include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"
 
+#if defined(SUPPORT_WEBGL2_COMPUTE_CONTEXT)
+#include "third_party/blink/renderer/modules/webgl/webgl2_compute_rendering_context.h"
+#endif
+
 namespace blink {
 
 void ModulesInitializer::Initialize() {
diff --git a/third_party/blink/renderer/modules/nfc/ndef_record.cc b/third_party/blink/renderer/modules/nfc/ndef_record.cc
index 17b2a60..eb8e936e 100644
--- a/third_party/blink/renderer/modules/nfc/ndef_record.cc
+++ b/third_party/blink/renderer/modules/nfc/ndef_record.cc
@@ -13,6 +13,8 @@
 #include "third_party/blink/renderer/platform/bindings/script_state.h"
 #include "third_party/blink/renderer/platform/network/http_parsers.h"
 #include "third_party/blink/renderer/platform/weborigin/kurl.h"
+#include "third_party/blink/renderer/platform/weborigin/security_origin.h"
+#include "third_party/blink/renderer/platform/wtf/text/ascii_ctype.h"
 #include "third_party/blink/renderer/platform/wtf/text/string_utf8_adaptor.h"
 
 namespace blink {
@@ -26,6 +28,45 @@
   return data;
 }
 
+// https://w3c.github.io/web-nfc/#the-ndefrecordtype-string
+// Derives a formatted custom type for the external type record from |input|.
+// Returns a null string for an invalid |input|.
+//
+// TODO(https://crbug.com/520391): Refine the validation algorithm here
+// accordingly once there is a conclusion on some case-sensitive things at
+// https://github.com/w3c/web-nfc/issues/331.
+String ValidateCustomRecordType(const String& input) {
+  static const String kOtherCharsForCustomType("()+,-:=@;$_!*'.");
+
+  if (input.IsEmpty())
+    return String();
+
+  // Finds the separator ':'.
+  wtf_size_t colon_index = input.find(':');
+  if (colon_index == kNotFound)
+    return String();
+
+  // Derives the domain (FQDN) from the part before ':'.
+  String left = input.Left(colon_index);
+  bool success = false;
+  String domain = SecurityOrigin::CanonicalizeHost(left, &success);
+  if (!success || domain.IsEmpty())
+    return String();
+
+  // Validates the part after ':'.
+  String right = input.Substring(colon_index + 1);
+  if (right.length() == 0)
+    return String();
+  for (wtf_size_t i = 0; i < right.length(); i++) {
+    if (!IsASCIIAlphanumeric(right[i]) &&
+        !kOtherCharsForCustomType.Contains(right[i])) {
+      return String();
+    }
+  }
+
+  return domain + ':' + right;
+}
+
 static NDEFRecord* CreateTextRecord(const String& media_type,
                                     const ScriptValue& data,
                                     ExceptionState& exception_state) {
@@ -141,6 +182,25 @@
                                           std::move(bytes));
 }
 
+static NDEFRecord* CreateExternalRecord(const String& custom_type,
+                                        const ScriptValue& data,
+                                        ExceptionState& exception_state) {
+  // https://w3c.github.io/web-nfc/#dfn-map-external-data-to-ndef
+  if (data.IsEmpty() || !data.V8Value()->IsArrayBuffer()) {
+    exception_state.ThrowTypeError(
+        "The data for external type NDEFRecord must be an ArrayBuffer.");
+    return nullptr;
+  }
+
+  DOMArrayBuffer* array_buffer =
+      V8ArrayBuffer::ToImpl(data.V8Value().As<v8::Object>());
+  WTF::Vector<uint8_t> bytes;
+  bytes.Append(static_cast<uint8_t*>(array_buffer->Data()),
+               array_buffer->ByteLength());
+  return MakeGarbageCollected<NDEFRecord>(
+      custom_type, "application/octet-stream", std::move(bytes));
+}
+
 }  // namespace
 
 // static
@@ -178,12 +238,18 @@
     return CreateJsonRecord(init->mediaType(), init->data(), exception_state);
   } else if (record_type == "opaque") {
     return CreateOpaqueRecord(init->mediaType(), init->data(), exception_state);
+  } else if (record_type == "smart-poster") {
+    // TODO(https://crbug.com/520391): Support creating smart-poster records.
+    exception_state.ThrowTypeError("smart-poster type is not supported yet");
+    return nullptr;
   } else {
-    // TODO(https://crbug.com/520391): Support creating smart-poster and
-    // external type records.
+    String formated_type = ValidateCustomRecordType(record_type);
+    if (!formated_type.IsNull())
+      return CreateExternalRecord(formated_type, init->data(), exception_state);
+  }
+
     exception_state.ThrowTypeError("Unknown NDEFRecord type.");
     return nullptr;
-  }
 }
 
 NDEFRecord::NDEFRecord(const String& record_type,
@@ -217,7 +283,7 @@
   return media_type_;
 }
 
-String NDEFRecord::toText() const {
+String NDEFRecord::text() const {
   if (record_type_ == "empty")
     return String();
 
@@ -227,19 +293,25 @@
   return String::FromUTF8WithLatin1Fallback(data_.data(), data_.size());
 }
 
-DOMArrayBuffer* NDEFRecord::toArrayBuffer() const {
-  if (record_type_ != "json" && record_type_ != "opaque") {
+DOMArrayBuffer* NDEFRecord::arrayBuffer() const {
+  if (record_type_ == "empty" || record_type_ == "text" ||
+      record_type_ == "url") {
     return nullptr;
   }
+  DCHECK(record_type_ == "json" || record_type_ == "opaque" ||
+         !ValidateCustomRecordType(record_type_).IsNull());
 
   return DOMArrayBuffer::Create(data_.data(), data_.size());
 }
 
-ScriptValue NDEFRecord::toJSON(ScriptState* script_state,
-                               ExceptionState& exception_state) const {
-  if (record_type_ != "json" && record_type_ != "opaque") {
+ScriptValue NDEFRecord::json(ScriptState* script_state,
+                             ExceptionState& exception_state) const {
+  if (record_type_ == "empty" || record_type_ == "text" ||
+      record_type_ == "url") {
     return ScriptValue::CreateNull(script_state->GetIsolate());
   }
+  DCHECK(record_type_ == "json" || record_type_ == "opaque" ||
+         !ValidateCustomRecordType(record_type_).IsNull());
 
   ScriptState::Scope scope(script_state);
   v8::Local<v8::Value> json_object = FromJSONString(
diff --git a/third_party/blink/renderer/modules/nfc/ndef_record.h b/third_party/blink/renderer/modules/nfc/ndef_record.h
index 79c93bc..a77a382 100644
--- a/third_party/blink/renderer/modules/nfc/ndef_record.h
+++ b/third_party/blink/renderer/modules/nfc/ndef_record.h
@@ -37,9 +37,9 @@
 
   const String& recordType() const;
   const String& mediaType() const;
-  String toText() const;
-  DOMArrayBuffer* toArrayBuffer() const;
-  ScriptValue toJSON(ScriptState*, ExceptionState&) const;
+  String text() const;
+  DOMArrayBuffer* arrayBuffer() const;
+  ScriptValue json(ScriptState*, ExceptionState&) const;
 
   const WTF::Vector<uint8_t>& data() const;
 
diff --git a/third_party/blink/renderer/modules/nfc/ndef_record.idl b/third_party/blink/renderer/modules/nfc/ndef_record.idl
index 8a7a333..e751a681 100644
--- a/third_party/blink/renderer/modules/nfc/ndef_record.idl
+++ b/third_party/blink/renderer/modules/nfc/ndef_record.idl
@@ -13,7 +13,7 @@
 ] interface NDEFRecord {
     readonly attribute NDEFRecordType recordType;
     readonly attribute USVString mediaType;
-    USVString? toText();
-    [NewObject] ArrayBuffer? toArrayBuffer();
-    [CallWith=ScriptState, RaisesException] object? toJSON();
+    USVString? text();
+    [NewObject] ArrayBuffer? arrayBuffer();
+    [CallWith=ScriptState, RaisesException] object? json();
 };
diff --git a/third_party/blink/renderer/modules/sensor/DEPS b/third_party/blink/renderer/modules/sensor/DEPS
index a91f7e91..ceb8fb2 100644
--- a/third_party/blink/renderer/modules/sensor/DEPS
+++ b/third_party/blink/renderer/modules/sensor/DEPS
@@ -2,6 +2,7 @@
     "+mojo/public/cpp/bindings",
     "+services/device/public/cpp/generic_sensor",
     "+services/device/public/mojom/sensor.mojom-blink.h",
+    "+services/device/public/mojom/sensor.mojom-blink-forward.h",
     "+services/device/public/mojom/sensor_provider.mojom-blink.h",
     "-third_party/blink/renderer/modules",
     "+third_party/blink/renderer/modules/event_modules.h",
@@ -9,3 +10,10 @@
     "+third_party/blink/renderer/modules/modules_export.h",
     "+third_party/blink/renderer/modules/sensor",
 ]
+
+specific_include_rules = {
+  "sensor_test_utils\.(cc|h)|.+test\.cc": [
+    "+base/run_loop.h",
+    "+services/device/public/cpp/test/fake_sensor_and_provider.h",
+  ],
+}
diff --git a/third_party/blink/renderer/modules/sensor/ambient_light_sensor.cc b/third_party/blink/renderer/modules/sensor/ambient_light_sensor.cc
index 1e7b043..a35c7f3 100644
--- a/third_party/blink/renderer/modules/sensor/ambient_light_sensor.cc
+++ b/third_party/blink/renderer/modules/sensor/ambient_light_sensor.cc
@@ -12,6 +12,26 @@
 
 namespace blink {
 
+namespace {
+
+// Even though the underlying value has changed, for ALS we provide readouts to
+// JS to the nearest 50 Lux.
+constexpr int kAlsRoundingThreshold = 50;
+
+// Decrease precision of ALS readouts.
+// Round off to the nearest kAlsRoundingThreshold.
+double RoundIlluminance(double value) {
+  return kAlsRoundingThreshold * std::round(value / kAlsRoundingThreshold);
+}
+
+// Value will have to vary by at least half the rounding threshold before it has
+// an effect on the output.
+bool IsSignificantlyDifferent(double als_old, double als_new) {
+  return std::fabs(als_old - als_new) >= kAlsRoundingThreshold / 2;
+}
+
+}  // namespace
+
 // static
 AmbientLightSensor* AmbientLightSensor::Create(
     ExecutionContext* execution_context,
@@ -39,7 +59,22 @@
 
 double AmbientLightSensor::illuminance(bool& is_null) const {
   INIT_IS_NULL_AND_RETURN(is_null, 0.0);
-  return GetReading().als.value;
+  DCHECK(latest_reading_.has_value());
+  return RoundIlluminance(*latest_reading_);
+}
+
+// When the reading we get does not differ significantly from our current
+// value, we discard this reading and do not emit any events. This is a privacy
+// measure to avoid giving readings that are too specific.
+void AmbientLightSensor::OnSensorReadingChanged() {
+  const double new_reading = GetReading().als.value;
+  if (latest_reading_.has_value() &&
+      !IsSignificantlyDifferent(*latest_reading_, new_reading)) {
+    return;
+  }
+
+  latest_reading_ = new_reading;
+  Sensor::OnSensorReadingChanged();
 }
 
 }  // namespace blink
diff --git a/third_party/blink/renderer/modules/sensor/ambient_light_sensor.h b/third_party/blink/renderer/modules/sensor/ambient_light_sensor.h
index 45c7757c..5d69f2fb 100644
--- a/third_party/blink/renderer/modules/sensor/ambient_light_sensor.h
+++ b/third_party/blink/renderer/modules/sensor/ambient_light_sensor.h
@@ -5,11 +5,14 @@
 #ifndef THIRD_PARTY_BLINK_RENDERER_MODULES_SENSOR_AMBIENT_LIGHT_SENSOR_H_
 #define THIRD_PARTY_BLINK_RENDERER_MODULES_SENSOR_AMBIENT_LIGHT_SENSOR_H_
 
+#include "base/gtest_prod_util.h"
+#include "base/optional.h"
+#include "third_party/blink/renderer/modules/modules_export.h"
 #include "third_party/blink/renderer/modules/sensor/sensor.h"
 
 namespace blink {
 
-class AmbientLightSensor final : public Sensor {
+class MODULES_EXPORT AmbientLightSensor final : public Sensor {
   DEFINE_WRAPPERTYPEINFO();
 
  public:
@@ -21,6 +24,13 @@
   AmbientLightSensor(ExecutionContext*, const SensorOptions*, ExceptionState&);
 
   double illuminance(bool& is_null) const;
+
+  void OnSensorReadingChanged() override;
+
+ private:
+  base::Optional<double> latest_reading_;
+
+  FRIEND_TEST_ALL_PREFIXES(AmbientLightSensorTest, IlluminanceRounding);
 };
 
 }  // namespace blink
diff --git a/third_party/blink/renderer/modules/sensor/ambient_light_sensor_test.cc b/third_party/blink/renderer/modules/sensor/ambient_light_sensor_test.cc
new file mode 100644
index 0000000..dff6922
--- /dev/null
+++ b/third_party/blink/renderer/modules/sensor/ambient_light_sensor_test.cc
@@ -0,0 +1,152 @@
+// 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/sensor/ambient_light_sensor.h"
+
+#include "base/optional.h"
+#include "base/run_loop.h"
+#include "testing/gtest/include/gtest/gtest.h"
+#include "third_party/blink/renderer/core/dom/dom_exception.h"
+#include "third_party/blink/renderer/core/event_type_names.h"
+#include "third_party/blink/renderer/modules/sensor/sensor_provider_proxy.h"
+#include "third_party/blink/renderer/modules/sensor/sensor_test_utils.h"
+
+namespace blink {
+
+namespace {
+
+class MockSensorProxyObserver
+    : public GarbageCollected<MockSensorProxyObserver>,
+      public SensorProxy::Observer {
+  USING_GARBAGE_COLLECTED_MIXIN(MockSensorProxyObserver);
+
+ public:
+  virtual ~MockSensorProxyObserver() = default;
+
+  // Synchronously waits for OnSensorReadingChanged() to be called.
+  void WaitForOnSensorReadingChanged() {
+    run_loop_.emplace();
+    run_loop_->Run();
+  }
+
+  void OnSensorReadingChanged() override {
+    DCHECK(run_loop_.has_value() && run_loop_->running());
+    run_loop_->Quit();
+  }
+
+ private:
+  base::Optional<base::RunLoop> run_loop_;
+};
+
+}  // namespace
+
+TEST(AmbientLightSensorTest, IlluminanceInStoppedSensor) {
+  SensorTestContext context;
+  NonThrowableExceptionState exception_state;
+
+  auto* sensor = AmbientLightSensor::Create(context.GetExecutionContext(),
+                                            exception_state);
+
+  bool illuminance_is_null;
+  sensor->illuminance(illuminance_is_null);
+  EXPECT_TRUE(illuminance_is_null);
+  EXPECT_FALSE(sensor->hasReading());
+}
+
+TEST(AmbientLightSensorTest, IlluminanceInSensorWithoutReading) {
+  SensorTestContext context;
+  NonThrowableExceptionState exception_state;
+
+  auto* sensor = AmbientLightSensor::Create(context.GetExecutionContext(),
+                                            exception_state);
+  sensor->start();
+  SensorTestUtils::WaitForEvent(sensor, event_type_names::kActivate);
+
+  bool illuminance_is_null;
+  sensor->illuminance(illuminance_is_null);
+  EXPECT_TRUE(illuminance_is_null);
+  EXPECT_FALSE(sensor->hasReading());
+}
+
+TEST(AmbientLightSensorTest, IlluminanceRounding) {
+  SensorTestContext context;
+  NonThrowableExceptionState exception_state;
+
+  auto* sensor = AmbientLightSensor::Create(context.GetExecutionContext(),
+                                            exception_state);
+  sensor->start();
+  SensorTestUtils::WaitForEvent(sensor, event_type_names::kActivate);
+  EXPECT_FALSE(sensor->hasReading());
+
+  // At this point, we have received an 'activate' event, so the sensor is
+  // initialized and it is connected to a SensorProxy that we can retrieve
+  // here. We then attach a new SensorProxy::Observer that we use to
+  // synchronously wait for OnSensorReadingChanged() to be called. Even though
+  // the order that each observer is notified is arbitrary, we know that by the
+  // time we get to the next call here all observers will have been called.
+  auto* sensor_proxy =
+      SensorProviderProxy::From(To<Document>(context.GetExecutionContext()))
+          ->GetSensorProxy(device::mojom::blink::SensorType::AMBIENT_LIGHT);
+  ASSERT_NE(sensor_proxy, nullptr);
+  auto* mock_observer = MakeGarbageCollected<MockSensorProxyObserver>();
+  sensor_proxy->AddObserver(mock_observer);
+
+  bool illuminance_is_null;
+
+  auto* event_counter = MakeGarbageCollected<SensorTestUtils::EventCounter>();
+  sensor->addEventListener(event_type_names::kReading, event_counter);
+
+  // Go from no reading to 24. This will cause a new "reading" event to be
+  // emitted, and the rounding will cause illuminance() to return 0.
+  context.sensor_provider()->UpdateAmbientLightSensorData(24);
+  mock_observer->WaitForOnSensorReadingChanged();
+  SensorTestUtils::WaitForEvent(sensor, event_type_names::kReading);
+  EXPECT_EQ(24, sensor->latest_reading_);
+  EXPECT_EQ(0, sensor->illuminance(illuminance_is_null));
+  EXPECT_FALSE(illuminance_is_null);
+
+  // Go from 24 to 35. The difference is not significant enough, so we will not
+  // emit any "reading" event or store the new raw reading, as if the new
+  // reading had never existed.
+  context.sensor_provider()->UpdateAmbientLightSensorData(35);
+  mock_observer->WaitForOnSensorReadingChanged();
+  EXPECT_EQ(24, sensor->latest_reading_);
+  EXPECT_EQ(0, sensor->illuminance(illuminance_is_null));
+  EXPECT_FALSE(illuminance_is_null);
+
+  // Go from 24 to 49. The difference is significant enough, so we will emit a
+  // new "reading" event, update our raw reading and return a rounded value of
+  // 50 in illuminance().
+  context.sensor_provider()->UpdateAmbientLightSensorData(49);
+  mock_observer->WaitForOnSensorReadingChanged();
+  SensorTestUtils::WaitForEvent(sensor, event_type_names::kReading);
+  EXPECT_EQ(49, sensor->latest_reading_);
+  EXPECT_EQ(50, sensor->illuminance(illuminance_is_null));
+  EXPECT_FALSE(illuminance_is_null);
+
+  // Go from 49 to 35. The difference is not significant enough, so we will not
+  // emit any "reading" event or store the new raw reading, as if the new
+  // reading had never existed.
+  context.sensor_provider()->UpdateAmbientLightSensorData(35);
+  mock_observer->WaitForOnSensorReadingChanged();
+  EXPECT_EQ(49, sensor->latest_reading_);
+  EXPECT_EQ(50, sensor->illuminance(illuminance_is_null));
+  EXPECT_FALSE(illuminance_is_null);
+
+  // Go from 49 to 24. The difference is significant enough, so we will emit a
+  // new "reading" event, update our raw reading and return a rounded value of
+  // 0 in illuminance().
+  context.sensor_provider()->UpdateAmbientLightSensorData(24);
+  mock_observer->WaitForOnSensorReadingChanged();
+  SensorTestUtils::WaitForEvent(sensor, event_type_names::kReading);
+  EXPECT_EQ(24, sensor->latest_reading_);
+  EXPECT_EQ(0, sensor->illuminance(illuminance_is_null));
+  EXPECT_FALSE(illuminance_is_null);
+
+  // Make sure there were no stray "reading" events besides those we expected
+  // above.
+  EXPECT_EQ(3U, event_counter->event_count());
+}
+
+}  // namespace blink
diff --git a/third_party/blink/renderer/modules/sensor/sensor.cc b/third_party/blink/renderer/modules/sensor/sensor.cc
index 57e0e57..a233936 100644
--- a/third_party/blink/renderer/modules/sensor/sensor.cc
+++ b/third_party/blink/renderer/modules/sensor/sensor.cc
@@ -352,12 +352,13 @@
   state_ = SensorState::kActivated;
 
   if (hasReading()) {
-    // If reading has already arrived, send initial 'reading' notification
-    // right away.
+    // If reading has already arrived, process the reading values (a subclass
+    // may do some filtering, for example) and then send an initial "reading"
+    // event right away.
     DCHECK(!pending_reading_notification_.IsActive());
     pending_reading_notification_ = PostCancellableTask(
         *GetExecutionContext()->GetTaskRunner(TaskType::kSensor), FROM_HERE,
-        WTF::Bind(&Sensor::NotifyReading, WrapWeakPersistent(this)));
+        WTF::Bind(&Sensor::OnSensorReadingChanged, WrapWeakPersistent(this)));
   }
 
   DispatchEvent(*Event::Create(event_type_names::kActivate));
diff --git a/third_party/blink/renderer/modules/sensor/sensor.h b/third_party/blink/renderer/modules/sensor/sensor.h
index bc43314d..14fc0de 100644
--- a/third_party/blink/renderer/modules/sensor/sensor.h
+++ b/third_party/blink/renderer/modules/sensor/sensor.h
@@ -12,6 +12,7 @@
 #include "third_party/blink/renderer/core/execution_context/context_lifecycle_observer.h"
 #include "third_party/blink/renderer/core/frame/platform_event_controller.h"
 #include "third_party/blink/renderer/modules/event_target_modules.h"
+#include "third_party/blink/renderer/modules/modules_export.h"
 #include "third_party/blink/renderer/modules/sensor/sensor_options.h"
 #include "third_party/blink/renderer/modules/sensor/sensor_proxy.h"
 #include "third_party/blink/renderer/modules/sensor/spatial_sensor_options.h"
@@ -26,10 +27,10 @@
 class ExceptionState;
 class ExecutionContext;
 
-class Sensor : public EventTargetWithInlineData,
-               public ActiveScriptWrappable<Sensor>,
-               public ContextLifecycleObserver,
-               public SensorProxy::Observer {
+class MODULES_EXPORT Sensor : public EventTargetWithInlineData,
+                              public ActiveScriptWrappable<Sensor>,
+                              public ContextLifecycleObserver,
+                              public SensorProxy::Observer {
   USING_GARBAGE_COLLECTED_MIXIN(Sensor);
   DEFINE_WRAPPERTYPEINFO();
 
diff --git a/third_party/blink/renderer/modules/sensor/sensor_provider_proxy.h b/third_party/blink/renderer/modules/sensor/sensor_provider_proxy.h
index 23d40f5..458e1337 100644
--- a/third_party/blink/renderer/modules/sensor/sensor_provider_proxy.h
+++ b/third_party/blink/renderer/modules/sensor/sensor_provider_proxy.h
@@ -7,9 +7,10 @@
 
 #include "base/macros.h"
 #include "mojo/public/cpp/bindings/remote.h"
-#include "services/device/public/mojom/sensor.mojom-blink.h"
+#include "services/device/public/mojom/sensor.mojom-blink-forward.h"
 #include "services/device/public/mojom/sensor_provider.mojom-blink.h"
 #include "third_party/blink/renderer/core/dom/document.h"
+#include "third_party/blink/renderer/modules/modules_export.h"
 #include "third_party/blink/renderer/platform/heap/handle.h"
 #include "third_party/blink/renderer/platform/supplementable.h"
 
@@ -19,8 +20,9 @@
 
 // This class wraps 'SensorProvider' mojo interface and it manages
 // 'SensorProxy' instances.
-class SensorProviderProxy final : public GarbageCollected<SensorProviderProxy>,
-                                  public Supplement<Document> {
+class MODULES_EXPORT SensorProviderProxy final
+    : public GarbageCollected<SensorProviderProxy>,
+      public Supplement<Document> {
   USING_GARBAGE_COLLECTED_MIXIN(SensorProviderProxy);
 
  public:
diff --git a/third_party/blink/renderer/modules/sensor/sensor_proxy.h b/third_party/blink/renderer/modules/sensor/sensor_proxy.h
index 613e425..f25fc82 100644
--- a/third_party/blink/renderer/modules/sensor/sensor_proxy.h
+++ b/third_party/blink/renderer/modules/sensor/sensor_proxy.h
@@ -8,10 +8,11 @@
 #include "base/macros.h"
 #include "services/device/public/cpp/generic_sensor/sensor_reading.h"
 #include "services/device/public/cpp/generic_sensor/sensor_reading_shared_buffer_reader.h"
-#include "services/device/public/mojom/sensor.mojom-blink.h"
+#include "services/device/public/mojom/sensor.mojom-blink-forward.h"
 #include "services/device/public/mojom/sensor_provider.mojom-blink.h"
 #include "third_party/blink/renderer/core/page/focus_changed_observer.h"
 #include "third_party/blink/renderer/core/page/page_visibility_observer.h"
+#include "third_party/blink/renderer/modules/modules_export.h"
 #include "third_party/blink/renderer/platform/bindings/exception_code.h"
 #include "third_party/blink/renderer/platform/heap/handle.h"
 
@@ -21,9 +22,9 @@
 
 // This class wraps 'Sensor' mojo interface and used by multiple
 // JS sensor instances of the same type (within a single frame).
-class SensorProxy : public GarbageCollected<SensorProxy>,
-                    public PageVisibilityObserver,
-                    public FocusChangedObserver {
+class MODULES_EXPORT SensorProxy : public GarbageCollected<SensorProxy>,
+                                   public PageVisibilityObserver,
+                                   public FocusChangedObserver {
   USING_GARBAGE_COLLECTED_MIXIN(SensorProxy);
 
  public:
diff --git a/third_party/blink/renderer/modules/sensor/sensor_reading_remapper.h b/third_party/blink/renderer/modules/sensor/sensor_reading_remapper.h
index b912c58..8bcc8dd 100644
--- a/third_party/blink/renderer/modules/sensor/sensor_reading_remapper.h
+++ b/third_party/blink/renderer/modules/sensor/sensor_reading_remapper.h
@@ -6,7 +6,7 @@
 #define THIRD_PARTY_BLINK_RENDERER_MODULES_SENSOR_SENSOR_READING_REMAPPER_H_
 
 #include "services/device/public/cpp/generic_sensor/sensor_reading.h"
-#include "services/device/public/mojom/sensor.mojom-blink.h"
+#include "services/device/public/mojom/sensor.mojom-blink-forward.h"
 #include "third_party/blink/renderer/platform/wtf/allocator/allocator.h"
 
 namespace blink {
diff --git a/third_party/blink/renderer/modules/sensor/sensor_test_utils.cc b/third_party/blink/renderer/modules/sensor/sensor_test_utils.cc
new file mode 100644
index 0000000..76b03b6
--- /dev/null
+++ b/third_party/blink/renderer/modules/sensor/sensor_test_utils.cc
@@ -0,0 +1,83 @@
+// 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 <utility>
+
+#include "base/callback.h"
+#include "base/run_loop.h"
+#include "third_party/blink/public/common/browser_interface_broker_proxy.h"
+#include "third_party/blink/renderer/core/dom/document.h"
+#include "third_party/blink/renderer/core/dom/events/event_target.h"
+#include "third_party/blink/renderer/core/dom/events/native_event_listener.h"
+#include "third_party/blink/renderer/core/page/focus_controller.h"
+#include "third_party/blink/renderer/core/page/page.h"
+#include "third_party/blink/renderer/modules/sensor/sensor_test_utils.h"
+#include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"
+
+namespace blink {
+
+namespace {
+
+// An event listener that invokes |invocation_callback| when it is called.
+class SyncEventListener final : public NativeEventListener {
+ public:
+  SyncEventListener(base::OnceClosure invocation_callback)
+      : invocation_callback_(std::move(invocation_callback)) {}
+
+  void Invoke(ExecutionContext*, Event*) override {
+    DCHECK(invocation_callback_);
+    std::move(invocation_callback_).Run();
+  }
+
+ private:
+  base::OnceClosure invocation_callback_;
+};
+
+}  // namespace
+
+// SensorTestContext
+
+SensorTestContext::SensorTestContext() {
+  // Sensor's constructor has a check for this that could be removed in the
+  // future.
+  testing_scope_.GetDocument().SetSecureContextStateForTesting(
+      SecureContextState::kSecure);
+  // Necessary for SensorProxy::ShouldSuspendUpdates() to work correctly.
+  testing_scope_.GetPage().GetFocusController().SetFocused(true);
+
+  testing_scope_.GetDocument().GetBrowserInterfaceBroker().SetBinderForTesting(
+      device::mojom::blink::SensorProvider::Name_,
+      WTF::BindRepeating(&SensorTestContext::BindSensorProviderRequest,
+                         WTF::Unretained(this)));
+}
+
+SensorTestContext::~SensorTestContext() {
+  testing_scope_.GetDocument().GetBrowserInterfaceBroker().SetBinderForTesting(
+      device::mojom::blink::SensorProvider::Name_, {});
+}
+
+ExecutionContext* SensorTestContext::GetExecutionContext() const {
+  return testing_scope_.GetExecutionContext();
+}
+
+void SensorTestContext::BindSensorProviderRequest(
+    mojo::ScopedMessagePipeHandle handle) {
+  sensor_provider_.Bind(
+      device::mojom::SensorProviderRequest(std::move(handle)));
+}
+
+// SensorTestUtils
+
+// static
+void SensorTestUtils::WaitForEvent(EventTarget* event_target,
+                                   const WTF::AtomicString& event_type) {
+  base::RunLoop run_loop;
+  auto* event_listener =
+      MakeGarbageCollected<SyncEventListener>(run_loop.QuitClosure());
+  event_target->addEventListener(event_type, event_listener);
+  run_loop.Run();
+  event_target->removeEventListener(event_type, event_listener);
+}
+
+}  // namespace blink
diff --git a/third_party/blink/renderer/modules/sensor/sensor_test_utils.h b/third_party/blink/renderer/modules/sensor/sensor_test_utils.h
new file mode 100644
index 0000000..1f43d08
--- /dev/null
+++ b/third_party/blink/renderer/modules/sensor/sensor_test_utils.h
@@ -0,0 +1,67 @@
+// 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_SENSOR_SENSOR_TEST_UTILS_H_
+#define THIRD_PARTY_BLINK_RENDERER_MODULES_SENSOR_SENSOR_TEST_UTILS_H_
+
+#include "services/device/public/cpp/test/fake_sensor_and_provider.h"
+#include "services/device/public/mojom/sensor_provider.mojom-blink.h"
+#include "third_party/blink/renderer/bindings/core/v8/v8_binding_for_testing.h"
+#include "third_party/blink/renderer/core/dom/events/native_event_listener.h"
+#include "third_party/blink/renderer/platform/wtf/allocator/allocator.h"
+#include "third_party/blink/renderer/platform/wtf/forward.h"
+
+namespace blink {
+
+class EventTarget;
+class ExecutionContext;
+
+class SensorTestContext final {
+  STACK_ALLOCATED();
+
+ public:
+  SensorTestContext();
+
+  ~SensorTestContext();
+
+  ExecutionContext* GetExecutionContext() const;
+
+  device::FakeSensorProvider* sensor_provider() { return &sensor_provider_; }
+
+ private:
+  void BindSensorProviderRequest(mojo::ScopedMessagePipeHandle handle);
+
+  device::FakeSensorProvider sensor_provider_;
+  V8TestingScope testing_scope_;
+};
+
+class SensorTestUtils final {
+ public:
+  // An event listener that can be used to count the number of times a
+  // particular event has been fired.
+  //
+  // Usage:
+  // auto* event_counter =
+  //     MakeGarbageCollected<SensorTestUtils::EventCounter>();
+  // my_event_target->addEventListener(..., event_counter);
+  // [...]
+  // EXPECT_EQ(42U, event_counter->event_count());
+  class EventCounter : public NativeEventListener {
+   public:
+    void Invoke(ExecutionContext*, Event*) override { event_count_++; }
+
+    size_t event_count() const { return event_count_; }
+
+   private:
+    size_t event_count_ = 0;
+  };
+
+  // Synchronously waits for |event_type| to be delivered to |event_target|.
+  static void WaitForEvent(EventTarget* event_target,
+                           const WTF::AtomicString& event_type);
+};
+
+}  // namespace blink
+
+#endif  // THIRD_PARTY_BLINK_RENDERER_MODULES_SENSOR_SENSOR_TEST_UTILS_H_
diff --git a/third_party/blink/renderer/modules/serial/serial_port.h b/third_party/blink/renderer/modules/serial/serial_port.h
index 7ead0877..c2a8626 100644
--- a/third_party/blink/renderer/modules/serial/serial_port.h
+++ b/third_party/blink/renderer/modules/serial/serial_port.h
@@ -8,7 +8,7 @@
 #include "mojo/public/cpp/bindings/pending_receiver.h"
 #include "mojo/public/cpp/bindings/receiver.h"
 #include "mojo/public/cpp/bindings/remote.h"
-#include "services/device/public/mojom/serial.mojom-blink.h"
+#include "services/device/public/mojom/serial.mojom-blink-forward.h"
 #include "third_party/blink/public/mojom/serial/serial.mojom-blink.h"
 #include "third_party/blink/renderer/bindings/core/v8/script_promise.h"
 #include "third_party/blink/renderer/platform/bindings/script_wrappable.h"
diff --git a/third_party/blink/renderer/modules/service_worker/fetch_respond_with_observer.h b/third_party/blink/renderer/modules/service_worker/fetch_respond_with_observer.h
index abd45b5..e18cf9d 100644
--- a/third_party/blink/renderer/modules/service_worker/fetch_respond_with_observer.h
+++ b/third_party/blink/renderer/modules/service_worker/fetch_respond_with_observer.h
@@ -5,7 +5,7 @@
 #ifndef THIRD_PARTY_BLINK_RENDERER_MODULES_SERVICE_WORKER_FETCH_RESPOND_WITH_OBSERVER_H_
 #define THIRD_PARTY_BLINK_RENDERER_MODULES_SERVICE_WORKER_FETCH_RESPOND_WITH_OBSERVER_H_
 
-#include "services/network/public/mojom/fetch_api.mojom-blink.h"
+#include "services/network/public/mojom/fetch_api.mojom-blink-forward.h"
 #include "third_party/blink/public/platform/web_url_request.h"
 #include "third_party/blink/renderer/modules/modules_export.h"
 #include "third_party/blink/renderer/modules/service_worker/respond_with_observer.h"
diff --git a/third_party/blink/renderer/modules/service_worker/respond_with_observer.cc b/third_party/blink/renderer/modules/service_worker/respond_with_observer.cc
index 6bf52b2..9732b7eb 100644
--- a/third_party/blink/renderer/modules/service_worker/respond_with_observer.cc
+++ b/third_party/blink/renderer/modules/service_worker/respond_with_observer.cc
@@ -4,6 +4,7 @@
 
 #include "third_party/blink/renderer/modules/service_worker/respond_with_observer.h"
 
+#include "third_party/blink/public/mojom/service_worker/service_worker_error_type.mojom-blink.h"
 #include "third_party/blink/renderer/bindings/core/v8/script_function.h"
 #include "third_party/blink/renderer/bindings/core/v8/script_promise.h"
 #include "third_party/blink/renderer/bindings/core/v8/script_value.h"
diff --git a/third_party/blink/renderer/modules/service_worker/respond_with_observer.h b/third_party/blink/renderer/modules/service_worker/respond_with_observer.h
index d0cec6c..63e8cee5 100644
--- a/third_party/blink/renderer/modules/service_worker/respond_with_observer.h
+++ b/third_party/blink/renderer/modules/service_worker/respond_with_observer.h
@@ -5,7 +5,7 @@
 #ifndef THIRD_PARTY_BLINK_RENDERER_MODULES_SERVICE_WORKER_RESPOND_WITH_OBSERVER_H_
 #define THIRD_PARTY_BLINK_RENDERER_MODULES_SERVICE_WORKER_RESPOND_WITH_OBSERVER_H_
 
-#include "third_party/blink/public/mojom/service_worker/service_worker_error_type.mojom-blink.h"
+#include "third_party/blink/public/mojom/service_worker/service_worker_error_type.mojom-blink-forward.h"
 #include "third_party/blink/renderer/core/dom/events/event_target.h"
 #include "third_party/blink/renderer/core/execution_context/context_lifecycle_observer.h"
 #include "third_party/blink/renderer/modules/modules_export.h"
diff --git a/third_party/blink/renderer/modules/service_worker/service_worker_container.h b/third_party/blink/renderer/modules/service_worker/service_worker_container.h
index 168f1dd..f2ff5ac9 100644
--- a/third_party/blink/renderer/modules/service_worker/service_worker_container.h
+++ b/third_party/blink/renderer/modules/service_worker/service_worker_container.h
@@ -33,7 +33,7 @@
 
 #include <memory>
 
-#include "third_party/blink/public/mojom/service_worker/service_worker_registration.mojom-blink.h"
+#include "third_party/blink/public/mojom/service_worker/service_worker_registration.mojom-blink-forward.h"
 #include "third_party/blink/public/platform/modules/service_worker/web_service_worker_provider.h"
 #include "third_party/blink/public/platform/modules/service_worker/web_service_worker_provider_client.h"
 #include "third_party/blink/renderer/bindings/core/v8/script_promise.h"
diff --git a/third_party/blink/renderer/modules/service_worker/service_worker_error.h b/third_party/blink/renderer/modules/service_worker/service_worker_error.h
index 27f011d..60d2bc1 100644
--- a/third_party/blink/renderer/modules/service_worker/service_worker_error.h
+++ b/third_party/blink/renderer/modules/service_worker/service_worker_error.h
@@ -31,7 +31,7 @@
 #ifndef THIRD_PARTY_BLINK_RENDERER_MODULES_SERVICE_WORKER_SERVICE_WORKER_ERROR_H_
 #define THIRD_PARTY_BLINK_RENDERER_MODULES_SERVICE_WORKER_SERVICE_WORKER_ERROR_H_
 
-#include "third_party/blink/public/mojom/service_worker/service_worker_error_type.mojom-blink.h"
+#include "third_party/blink/public/mojom/service_worker/service_worker_error_type.mojom-blink-forward.h"
 #include "third_party/blink/public/platform/modules/service_worker/web_service_worker_error.h"
 #include "third_party/blink/renderer/platform/heap/handle.h"
 #include "v8/include/v8.h"
diff --git a/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.h b/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.h
index d337037..3a3b110 100644
--- a/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.h
+++ b/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.h
@@ -38,7 +38,7 @@
 #include "mojo/public/cpp/bindings/receiver.h"
 #include "mojo/public/cpp/bindings/receiver_set.h"
 #include "mojo/public/cpp/bindings/remote.h"
-#include "third_party/blink/public/mojom/cache_storage/cache_storage.mojom-blink.h"
+#include "third_party/blink/public/mojom/cache_storage/cache_storage.mojom-blink-forward.h"
 #include "third_party/blink/public/mojom/service_worker/controller_service_worker.mojom-blink.h"
 #include "third_party/blink/public/mojom/service_worker/service_worker.mojom-blink.h"
 #include "third_party/blink/renderer/bindings/core/v8/request_or_usv_string.h"
diff --git a/third_party/blink/renderer/modules/service_worker/service_worker_thread.h b/third_party/blink/renderer/modules/service_worker/service_worker_thread.h
index f6af8f55..9c5919c6 100644
--- a/third_party/blink/renderer/modules/service_worker/service_worker_thread.h
+++ b/third_party/blink/renderer/modules/service_worker/service_worker_thread.h
@@ -32,7 +32,7 @@
 
 #include <memory>
 #include "mojo/public/cpp/bindings/pending_remote.h"
-#include "third_party/blink/public/mojom/cache_storage/cache_storage.mojom-blink.h"
+#include "third_party/blink/public/mojom/cache_storage/cache_storage.mojom-blink-forward.h"
 #include "third_party/blink/renderer/core/workers/worker_thread.h"
 #include "third_party/blink/renderer/modules/modules_export.h"
 
diff --git a/third_party/blink/renderer/modules/service_worker/service_worker_timeout_timer.cc b/third_party/blink/renderer/modules/service_worker/service_worker_timeout_timer.cc
index cd504d0..fb16027 100644
--- a/third_party/blink/renderer/modules/service_worker/service_worker_timeout_timer.cc
+++ b/third_party/blink/renderer/modules/service_worker/service_worker_timeout_timer.cc
@@ -9,6 +9,7 @@
 #include "base/stl_util.h"
 #include "base/time/default_tick_clock.h"
 #include "base/time/time.h"
+#include "third_party/blink/public/mojom/service_worker/service_worker_event_status.mojom-blink.h"
 #include "third_party/blink/renderer/platform/wtf/functional.h"
 
 namespace blink {
diff --git a/third_party/blink/renderer/modules/service_worker/service_worker_timeout_timer.h b/third_party/blink/renderer/modules/service_worker/service_worker_timeout_timer.h
index 257a1df5..3cad5e70 100644
--- a/third_party/blink/renderer/modules/service_worker/service_worker_timeout_timer.h
+++ b/third_party/blink/renderer/modules/service_worker/service_worker_timeout_timer.h
@@ -11,7 +11,7 @@
 #include "base/memory/weak_ptr.h"
 #include "base/time/time.h"
 #include "base/timer/timer.h"
-#include "third_party/blink/public/mojom/service_worker/service_worker_event_status.mojom-blink.h"
+#include "third_party/blink/public/mojom/service_worker/service_worker_event_status.mojom-blink-forward.h"
 #include "third_party/blink/renderer/modules/modules_export.h"
 #include "third_party/blink/renderer/platform/wtf/deque.h"
 #include "third_party/blink/renderer/platform/wtf/hash_map.h"
diff --git a/third_party/blink/renderer/modules/shapedetection/DEPS b/third_party/blink/renderer/modules/shapedetection/DEPS
index c1b5ad3..7b205447 100644
--- a/third_party/blink/renderer/modules/shapedetection/DEPS
+++ b/third_party/blink/renderer/modules/shapedetection/DEPS
@@ -2,6 +2,7 @@
     "+services/shape_detection/public/mojom",
     "+services/service_manager/public/cpp",
     "+skia/public/mojom/bitmap.mojom-blink.h",
+    "+skia/public/mojom/bitmap.mojom-blink-forward.h",
     "-third_party/blink/renderer/modules",
     "+third_party/blink/renderer/modules/canvas/canvas2d",
     "+third_party/blink/renderer/modules/imagecapture/point_2d.h",
diff --git a/third_party/blink/renderer/modules/shapedetection/shape_detection_type_converter.h b/third_party/blink/renderer/modules/shapedetection/shape_detection_type_converter.h
index 9fa3508..91fc95f 100644
--- a/third_party/blink/renderer/modules/shapedetection/shape_detection_type_converter.h
+++ b/third_party/blink/renderer/modules/shapedetection/shape_detection_type_converter.h
@@ -6,7 +6,7 @@
 #define THIRD_PARTY_BLINK_RENDERER_MODULES_SHAPEDETECTION_SHAPE_DETECTION_TYPE_CONVERTER_H_
 
 #include "mojo/public/cpp/bindings/type_converter.h"
-#include "services/shape_detection/public/mojom/facedetection.mojom-blink.h"
+#include "services/shape_detection/public/mojom/facedetection.mojom-blink-forward.h"
 #include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"
 
 namespace mojo {
diff --git a/third_party/blink/renderer/modules/shapedetection/shape_detector.h b/third_party/blink/renderer/modules/shapedetection/shape_detector.h
index bb7e075..f1ed766 100644
--- a/third_party/blink/renderer/modules/shapedetection/shape_detector.h
+++ b/third_party/blink/renderer/modules/shapedetection/shape_detector.h
@@ -5,7 +5,7 @@
 #ifndef THIRD_PARTY_BLINK_RENDERER_MODULES_SHAPEDETECTION_SHAPE_DETECTOR_H_
 #define THIRD_PARTY_BLINK_RENDERER_MODULES_SHAPEDETECTION_SHAPE_DETECTOR_H_
 
-#include "skia/public/mojom/bitmap.mojom-blink.h"
+#include "skia/public/mojom/bitmap.mojom-blink-forward.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/core/frame/window_or_worker_global_scope.h"
diff --git a/third_party/blink/renderer/modules/speech/speech_recognition_error_event.cc b/third_party/blink/renderer/modules/speech/speech_recognition_error_event.cc
index b6af5b3..923f679cb 100644
--- a/third_party/blink/renderer/modules/speech/speech_recognition_error_event.cc
+++ b/third_party/blink/renderer/modules/speech/speech_recognition_error_event.cc
@@ -25,6 +25,7 @@
 
 #include "third_party/blink/renderer/modules/speech/speech_recognition_error_event.h"
 
+#include "third_party/blink/public/mojom/speech/speech_recognition_error_code.mojom-blink.h"
 #include "third_party/blink/renderer/core/event_type_names.h"
 #include "third_party/blink/renderer/platform/wtf/assertions.h"
 
diff --git a/third_party/blink/renderer/modules/speech/speech_recognition_error_event.h b/third_party/blink/renderer/modules/speech/speech_recognition_error_event.h
index b2a4bfc..a8f68f9 100644
--- a/third_party/blink/renderer/modules/speech/speech_recognition_error_event.h
+++ b/third_party/blink/renderer/modules/speech/speech_recognition_error_event.h
@@ -26,7 +26,7 @@
 #ifndef THIRD_PARTY_BLINK_RENDERER_MODULES_SPEECH_SPEECH_RECOGNITION_ERROR_EVENT_H_
 #define THIRD_PARTY_BLINK_RENDERER_MODULES_SPEECH_SPEECH_RECOGNITION_ERROR_EVENT_H_
 
-#include "third_party/blink/public/mojom/speech/speech_recognition_error_code.mojom-blink.h"
+#include "third_party/blink/public/mojom/speech/speech_recognition_error_code.mojom-blink-forward.h"
 #include "third_party/blink/renderer/modules/event_modules.h"
 #include "third_party/blink/renderer/modules/modules_export.h"
 #include "third_party/blink/renderer/modules/speech/speech_recognition_error_event_init.h"
diff --git a/third_party/blink/renderer/modules/speech/speech_synthesis.h b/third_party/blink/renderer/modules/speech/speech_synthesis.h
index 881c001..576818b 100644
--- a/third_party/blink/renderer/modules/speech/speech_synthesis.h
+++ b/third_party/blink/renderer/modules/speech/speech_synthesis.h
@@ -28,7 +28,7 @@
 
 #include "mojo/public/cpp/bindings/receiver.h"
 #include "mojo/public/cpp/bindings/remote.h"
-#include "third_party/blink/public/mojom/speech/speech_synthesis.mojom-blink.h"
+#include "third_party/blink/public/mojom/speech/speech_synthesis.mojom-blink-forward.h"
 #include "third_party/blink/renderer/core/execution_context/context_lifecycle_observer.h"
 #include "third_party/blink/renderer/modules/event_target_modules.h"
 #include "third_party/blink/renderer/modules/modules_export.h"
diff --git a/third_party/blink/renderer/modules/speech/speech_synthesis_utterance.h b/third_party/blink/renderer/modules/speech/speech_synthesis_utterance.h
index 095a4375..7635458 100644
--- a/third_party/blink/renderer/modules/speech/speech_synthesis_utterance.h
+++ b/third_party/blink/renderer/modules/speech/speech_synthesis_utterance.h
@@ -27,7 +27,7 @@
 #define THIRD_PARTY_BLINK_RENDERER_MODULES_SPEECH_SPEECH_SYNTHESIS_UTTERANCE_H_
 
 #include "mojo/public/cpp/bindings/receiver.h"
-#include "third_party/blink/public/mojom/speech/speech_synthesis.mojom-blink.h"
+#include "third_party/blink/public/mojom/speech/speech_synthesis.mojom-blink-forward.h"
 #include "third_party/blink/renderer/core/execution_context/context_lifecycle_observer.h"
 #include "third_party/blink/renderer/modules/event_target_modules.h"
 #include "third_party/blink/renderer/modules/speech/speech_synthesis_voice.h"
diff --git a/third_party/blink/renderer/modules/storage/storage_namespace.h b/third_party/blink/renderer/modules/storage/storage_namespace.h
index 2330d0f..3e04a01 100644
--- a/third_party/blink/renderer/modules/storage/storage_namespace.h
+++ b/third_party/blink/renderer/modules/storage/storage_namespace.h
@@ -31,7 +31,7 @@
 #include "mojo/public/cpp/bindings/pending_receiver.h"
 #include "mojo/public/cpp/bindings/remote.h"
 #include "third_party/blink/public/mojom/dom_storage/session_storage_namespace.mojom-blink.h"
-#include "third_party/blink/public/mojom/dom_storage/storage_partition_service.mojom-blink.h"
+#include "third_party/blink/public/mojom/dom_storage/storage_partition_service.mojom-blink-forward.h"
 #include "third_party/blink/renderer/core/page/page.h"
 #include "third_party/blink/renderer/modules/modules_export.h"
 #include "third_party/blink/renderer/modules/storage/cached_storage_area.h"
diff --git a/third_party/blink/renderer/modules/vr/DEPS b/third_party/blink/renderer/modules/vr/DEPS
index fb7ece35..4ba629d 100644
--- a/third_party/blink/renderer/modules/vr/DEPS
+++ b/third_party/blink/renderer/modules/vr/DEPS
@@ -1,6 +1,7 @@
 include_rules = [
     "+mojo/public/cpp/bindings/binding.h",
     "+device/vr/public/mojom/vr_service.mojom-blink.h",
+    "+device/vr/public/mojom/vr_service.mojom-blink-forward.h",
     "+gpu/command_buffer/client/gles2_interface.h",
     "+ui/gfx/geometry",
     "+services/metrics/public/cpp/ukm_builders.h"
diff --git a/third_party/blink/renderer/modules/vr/vr_controller.h b/third_party/blink/renderer/modules/vr/vr_controller.h
index 0ac1037..1140346 100644
--- a/third_party/blink/renderer/modules/vr/vr_controller.h
+++ b/third_party/blink/renderer/modules/vr/vr_controller.h
@@ -8,7 +8,7 @@
 #include <memory>
 
 #include "base/macros.h"
-#include "device/vr/public/mojom/vr_service.mojom-blink.h"
+#include "device/vr/public/mojom/vr_service.mojom-blink-forward.h"
 #include "mojo/public/cpp/bindings/receiver.h"
 #include "mojo/public/cpp/bindings/remote.h"
 #include "third_party/blink/renderer/core/dom/document.h"
diff --git a/third_party/blink/renderer/modules/vr/vr_display.h b/third_party/blink/renderer/modules/vr/vr_display.h
index 714977a..c438fc4 100644
--- a/third_party/blink/renderer/modules/vr/vr_display.h
+++ b/third_party/blink/renderer/modules/vr/vr_display.h
@@ -8,7 +8,7 @@
 #include <memory>
 #include <utility>
 
-#include "device/vr/public/mojom/vr_service.mojom-blink.h"
+#include "device/vr/public/mojom/vr_service.mojom-blink-forward.h"
 #include "mojo/public/cpp/bindings/receiver.h"
 #include "mojo/public/cpp/bindings/remote.h"
 #include "third_party/blink/public/platform/web_graphics_context_3d_provider.h"
diff --git a/third_party/blink/renderer/modules/vr/vr_eye_parameters.cc b/third_party/blink/renderer/modules/vr/vr_eye_parameters.cc
index 729055b..e0de250 100644
--- a/third_party/blink/renderer/modules/vr/vr_eye_parameters.cc
+++ b/third_party/blink/renderer/modules/vr/vr_eye_parameters.cc
@@ -4,6 +4,7 @@
 
 #include "third_party/blink/renderer/modules/vr/vr_eye_parameters.h"
 
+#include "device/vr/public/mojom/vr_service.mojom-blink.h"
 #include "third_party/blink/renderer/platform/transforms/transformation_matrix.h"
 
 namespace blink {
diff --git a/third_party/blink/renderer/modules/vr/vr_eye_parameters.h b/third_party/blink/renderer/modules/vr/vr_eye_parameters.h
index cde8e8b..11068fa6 100644
--- a/third_party/blink/renderer/modules/vr/vr_eye_parameters.h
+++ b/third_party/blink/renderer/modules/vr/vr_eye_parameters.h
@@ -5,7 +5,7 @@
 #ifndef THIRD_PARTY_BLINK_RENDERER_MODULES_VR_VR_EYE_PARAMETERS_H_
 #define THIRD_PARTY_BLINK_RENDERER_MODULES_VR_VR_EYE_PARAMETERS_H_
 
-#include "device/vr/public/mojom/vr_service.mojom-blink.h"
+#include "device/vr/public/mojom/vr_service.mojom-blink-forward.h"
 #include "third_party/blink/renderer/core/typed_arrays/dom_typed_array.h"
 #include "third_party/blink/renderer/modules/vr/vr_field_of_view.h"
 #include "third_party/blink/renderer/platform/bindings/script_wrappable.h"
diff --git a/third_party/blink/renderer/modules/vr/vr_frame_data.h b/third_party/blink/renderer/modules/vr/vr_frame_data.h
index b028cbd..b25514a 100644
--- a/third_party/blink/renderer/modules/vr/vr_frame_data.h
+++ b/third_party/blink/renderer/modules/vr/vr_frame_data.h
@@ -5,7 +5,7 @@
 #ifndef THIRD_PARTY_BLINK_RENDERER_MODULES_VR_VR_FRAME_DATA_H_
 #define THIRD_PARTY_BLINK_RENDERER_MODULES_VR_VR_FRAME_DATA_H_
 
-#include "device/vr/public/mojom/vr_service.mojom-blink.h"
+#include "device/vr/public/mojom/vr_service.mojom-blink-forward.h"
 #include "third_party/blink/renderer/core/typed_arrays/dom_typed_array.h"
 #include "third_party/blink/renderer/platform/bindings/script_wrappable.h"
 #include "third_party/blink/renderer/platform/heap/handle.h"
diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc
index 00632e2..03338285 100644
--- a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc
+++ b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc
@@ -5735,7 +5735,7 @@
 
   SkPixmap pixmap;
   uint8_t* pixel_data_ptr = nullptr;
-  scoped_refptr<Uint8Array> pixel_data;
+  Vector<uint8_t> pixel_data;
   // In the case where an ImageBitmap is not texture backed, peekPixels() always
   // succeed.  However, when it is texture backed and !canUseTexImageByGPU, we
   // do a GPU read back.
@@ -5745,7 +5745,7 @@
   } else {
     pixel_data = bitmap->CopyBitmapData(
         bitmap->IsPremultiplied() ? kPremultiplyAlpha : kUnpremultiplyAlpha);
-    pixel_data_ptr = pixel_data->Data();
+    pixel_data_ptr = pixel_data.data();
   }
   Vector<uint8_t> data;
   bool need_conversion = true;
diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/renderer/platform/BUILD.gn
index 7b626c23..a3f1ea1 100644
--- a/third_party/blink/renderer/platform/BUILD.gn
+++ b/third_party/blink/renderer/platform/BUILD.gn
@@ -1008,7 +1008,6 @@
     "graphics/interpolation_space.cc",
     "graphics/interpolation_space.h",
     "graphics/lab_color_space.h",
-    "graphics/link_highlight.h",
     "graphics/logging_canvas.cc",
     "graphics/logging_canvas.h",
     "graphics/mailbox_texture_holder.cc",
diff --git a/third_party/blink/renderer/platform/graphics/graphics_layer.cc b/third_party/blink/renderer/platform/graphics/graphics_layer.cc
index 7c861b2..211e3db 100644
--- a/third_party/blink/renderer/platform/graphics/graphics_layer.cc
+++ b/third_party/blink/renderer/platform/graphics/graphics_layer.cc
@@ -49,7 +49,6 @@
 #include "third_party/blink/renderer/platform/graphics/compositor_filter_operations.h"
 #include "third_party/blink/renderer/platform/graphics/graphics_context.h"
 #include "third_party/blink/renderer/platform/graphics/image.h"
-#include "third_party/blink/renderer/platform/graphics/link_highlight.h"
 #include "third_party/blink/renderer/platform/graphics/logging_canvas.h"
 #include "third_party/blink/renderer/platform/graphics/paint/drawing_recorder.h"
 #include "third_party/blink/renderer/platform/graphics/paint/paint_controller.h"
@@ -98,9 +97,6 @@
   CcLayer()->ClearClient();
   CcLayer()->SetLayerClient(nullptr);
   SetContentsLayer(nullptr);
-  for (size_t i = 0; i < link_highlights_.size(); ++i)
-    link_highlights_[i]->ClearCurrentGraphicsLayer();
-  link_highlights_.clear();
 
 #if DCHECK_IS_ON()
   client_.VerifyNotPainting();
@@ -374,11 +370,8 @@
   if (cc::Layer* contents_layer = ContentsLayerIfRegistered())
     contents_layer->SetIsDrawable(contents_visible_);
 
-  if (draws_content_) {
+  if (draws_content_)
     CcLayer()->SetNeedsDisplay();
-    for (size_t i = 0; i < link_highlights_.size(); ++i)
-      link_highlights_[i]->Invalidate();
-  }
 }
 
 void GraphicsLayer::UpdateContentsRect() {
@@ -547,13 +540,6 @@
   if (layer->id() == contents_layer_id_)
     return "ContentsLayer for " + client_.DebugName(this);
 
-  for (size_t i = 0; i < link_highlights_.size(); ++i) {
-    if (layer == link_highlights_[i]->Layer()) {
-      return "LinkHighlight[" + String::Number(i) + "] for " +
-             client_.DebugName(this);
-    }
-  }
-
   if (layer == layer_.get())
     return client_.DebugName(this);
 
@@ -671,8 +657,6 @@
     return;
 
   CcLayer()->SetNeedsDisplay();
-  for (size_t i = 0; i < link_highlights_.size(); ++i)
-    link_highlights_[i]->Invalidate();
 
   // Invalidate the paint controller if it exists, but don't bother creating one
   // if not.
@@ -695,10 +679,7 @@
 
 void GraphicsLayer::SetNeedsDisplayInRect(const IntRect& rect) {
   DCHECK(PaintsContentOrHitTest());
-
   CcLayer()->SetNeedsDisplayRect(rect);
-  for (auto* link_highlight : link_highlights_)
-    link_highlight->Invalidate();
 }
 
 void GraphicsLayer::SetContentsRect(const IntRect& rect) {
@@ -778,18 +759,6 @@
   SetNeedsDisplay();
 }
 
-void GraphicsLayer::AddLinkHighlight(LinkHighlight* link_highlight) {
-  DCHECK(link_highlight && !link_highlights_.Contains(link_highlight));
-  link_highlights_.push_back(link_highlight);
-  link_highlight->Layer()->SetLayerClient(weak_ptr_factory_.GetWeakPtr());
-  UpdateChildList();
-}
-
-void GraphicsLayer::RemoveLinkHighlight(LinkHighlight* link_highlight) {
-  link_highlights_.EraseAt(link_highlights_.Find(link_highlight));
-  UpdateChildList();
-}
-
 std::unique_ptr<base::trace_event::TracedValue> GraphicsLayer::TakeDebugInfo(
     const cc::Layer* layer) {
   auto traced_value = std::make_unique<base::trace_event::TracedValue>();
diff --git a/third_party/blink/renderer/platform/graphics/graphics_layer.h b/third_party/blink/renderer/platform/graphics/graphics_layer.h
index 64b5b2f..c4868211 100644
--- a/third_party/blink/renderer/platform/graphics/graphics_layer.h
+++ b/third_party/blink/renderer/platform/graphics/graphics_layer.h
@@ -65,7 +65,6 @@
 namespace blink {
 
 class Image;
-class LinkHighlight;
 class PaintController;
 class RasterInvalidationTracking;
 class RasterInvalidator;
@@ -213,12 +212,6 @@
                                const IntRect&,
                                PaintInvalidationReason);
 
-  void AddLinkHighlight(LinkHighlight*);
-  void RemoveLinkHighlight(LinkHighlight*);
-  const Vector<LinkHighlight*>& GetLinkHighlights() const {
-    return link_highlights_;
-  }
-
   static void RegisterContentsLayer(cc::Layer*);
   static void UnregisterContentsLayer(cc::Layer*);
 
@@ -355,8 +348,6 @@
   // point on.
   int contents_layer_id_;
 
-  Vector<LinkHighlight*> link_highlights_;
-
   SquashingDisallowedReasons squashing_disallowed_reasons_ =
       SquashingDisallowedReason::kNone;
 
diff --git a/third_party/blink/renderer/platform/graphics/link_highlight.h b/third_party/blink/renderer/platform/graphics/link_highlight.h
deleted file mode 100644
index 74d4ac1..0000000
--- a/third_party/blink/renderer/platform/graphics/link_highlight.h
+++ /dev/null
@@ -1,43 +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 THIRD_PARTY_BLINK_RENDERER_PLATFORM_GRAPHICS_LINK_HIGHLIGHT_H_
-#define THIRD_PARTY_BLINK_RENDERER_PLATFORM_GRAPHICS_LINK_HIGHLIGHT_H_
-
-#include "third_party/blink/renderer/platform/graphics/paint/display_item_client.h"
-#include "third_party/blink/renderer/platform/platform_export.h"
-
-namespace cc {
-class Layer;
-}
-
-namespace blink {
-
-class EffectPaintPropertyNode;
-class FloatPoint;
-
-class PLATFORM_EXPORT LinkHighlight : public DisplayItemClient {
- public:
-  ~LinkHighlight() override {}
-
-  virtual void Invalidate() = 0;
-  virtual void ClearCurrentGraphicsLayer() = 0;
-  virtual cc::Layer* Layer() = 0;
-
-  virtual const EffectPaintPropertyNode& Effect() const = 0;
-
-  // This returns the link highlight offset from its parent transform node,
-  // including both the link location and the layer location.
-  virtual FloatPoint GetOffsetFromTransformNode() const = 0;
-
-  // DisplayItemClient methods
-  // TODO(wangxianzhu): This class doesn't need to be a DisplayItemClient in
-  // CompositeAfterPaint.
-  String DebugName() const final { return "LinkHighlight"; }
-  IntRect VisualRect() const final { return IntRect(); }
-};
-
-}  // namespace blink
-
-#endif  // THIRD_PARTY_BLINK_RENDERER_PLATFORM_GRAPHICS_LINK_HIGHLIGHT_H_
diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc b/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc
index b602faf..76e69c2 100644
--- a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc
+++ b/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc
@@ -353,7 +353,9 @@
       destination_value = "empty";
 
     // We'll handle adding these headers to navigations outside of Blink.
-    if (strncmp(destination_value, "document", 8) != 0 &&
+    if ((strncmp(destination_value, "document", 8) != 0 ||
+         strncmp(destination_value, "iframe", 6) != 0 ||
+         strncmp(destination_value, "frame", 5) != 0) &&
         request.GetRequestContext() != mojom::RequestContextType::INTERNAL) {
       if (blink::RuntimeEnabledFeatures::FetchMetadataDestinationEnabled()) {
         request.SetHttpHeaderField("Sec-Fetch-Dest", destination_value);
diff --git a/third_party/blink/web_tests/FlagExpectations/disable-blink-features=LayoutNG b/third_party/blink/web_tests/FlagExpectations/disable-blink-features=LayoutNG
index b45a2ab..ebe92bc 100644
--- a/third_party/blink/web_tests/FlagExpectations/disable-blink-features=LayoutNG
+++ b/third_party/blink/web_tests/FlagExpectations/disable-blink-features=LayoutNG
@@ -373,7 +373,10 @@
 # 10/02/2019 Mark tests as failing. Mostly shapes, slight image differences
 Bug(none) external/wpt/css/CSS2/text/white-space-bidirectionality-001.xht [ Failure ]
 Bug(none) external/wpt/css/css-shapes/spec-examples/shape-outside-018.html [ Failure ]
+Bug(none) external/wpt/css/css-text/shaping/shaping-024.html [ Failure ]
+Bug(none) external/wpt/css/css-text/shaping/shaping-025.html [ Failure ]
 Bug(none) external/wpt/css/css-text/white-space/seg-break-transformation-018.html [ Failure ]
+Bug(none) external/wpt/css/css-text/white-space/white-space-intrinsic-size-001.html [ Failure ]
 Bug(none) external/wpt/css/css-writing-modes/available-size-007.html [ Failure ]
 Bug(none) external/wpt/css/css-writing-modes/sizing-orthog-htb-in-vrl-001.xht [ Failure ]
 Bug(none) external/wpt/css/css-writing-modes/sizing-orthog-htb-in-vrl-004.xht [ Failure ]
@@ -388,6 +391,9 @@
 Bug(none) fast/text/international/shape-across-elements-simple.html [ Failure ]
 Bug(none) paint/invalidation/overflow/float-overflow-right.html [ Failure ]
 Bug(none) paint/invalidation/overflow/float-overflow.html [ Failure ]
+Bug(none) scrollingcoordinator/non-fast-scrollable-transform-changed.html [ Crash ]
 Bug(none) svg/zoom/text/zoom-svg-float-border-padding.xml [ Failure ]
+Bug(none) virtual/composite-after-paint/scrollingcoordinator/non-fast-scrollable-transform-changed.html [ Crash ]
 Bug(none) virtual/forced-colors/fast/css/forced-colors-mode/forced-colors-mode-15.html [ Failure ]
 Bug(none) virtual/forced-colors/fast/css/forced-colors-mode/backplate/forced-colors-mode-backplate-07.html [ Failure ]
+
diff --git a/third_party/blink/web_tests/FlagExpectations/enable-blink-features=CompositeAfterPaint b/third_party/blink/web_tests/FlagExpectations/enable-blink-features=CompositeAfterPaint
index aba94a8..a7b1b4b 100644
--- a/third_party/blink/web_tests/FlagExpectations/enable-blink-features=CompositeAfterPaint
+++ b/third_party/blink/web_tests/FlagExpectations/enable-blink-features=CompositeAfterPaint
@@ -118,6 +118,7 @@
 Bug(none) fullscreen/compositor-touch-hit-rects-fullscreen-video-controls.html [ Failure ]
 Bug(none) http/tests/devtools/layers/layers-3d-view-after-update.js [ Failure ]
 Bug(none) http/tests/input/discard-events-to-unstable-iframe.html [ Failure ]
+Bug(none) http/tests/misc/destroy-middle-click-locked-target-crash.html [ Timeout ]
 Bug(none) http/tests/misc/synthetic-gesture-initiated-in-cross-origin-frame.html [ Failure ]
 Bug(none) paint/pagination/pagination-change-clip-crash.html [ Failure ]
 Bug(none) printing/fixed-positioned-headers-and-footers-absolute-covering-some-pages.html [ Failure ]
@@ -130,6 +131,7 @@
 Bug(none) virtual/scalefactor200/external/wpt/largest-contentful-paint/invisible-images.html [ Failure ]
 Bug(none) virtual/scalefactor200withoutzoom/external/wpt/largest-contentful-paint/invisible-images.html [ Failure ]
 Bug(none) virtual/threaded/fast/scrolling/middle-click-autoscroll-latching-clicked-node.html [ Failure ]
+Bug(none) virtual/threaded/fast/scrolling/scrollbar-mousedown-move-mouseup.html [ Failure ]
 Bug(none) wpt_internal/display-lock/rendersubtree/paint/locked-iframe-doesnt-paint-contents.html [ Failure ]
 
 # Loading an image in a subframe.
diff --git a/third_party/blink/web_tests/FlagExpectations/use-gl=any b/third_party/blink/web_tests/FlagExpectations/use-gl=any
index 2802988e..bd26794 100644
--- a/third_party/blink/web_tests/FlagExpectations/use-gl=any
+++ b/third_party/blink/web_tests/FlagExpectations/use-gl=any
@@ -14,3 +14,20 @@
 crbug.com/993384 media/video-layer-crash.html [ Skip ]
 crbug.com/993384 transforms/transformed-document-element.html [ Skip ]
 crbug.com/993384 transforms/3d/point-mapping/3d-point-mapping-deep.html [ Skip ]
+
+# Untriaged Windows Failures
+crbug.com/1011512 [ Win ] compositing/geometry/clipping-foreground.html [ Skip ]
+crbug.com/1011512 [ Win ] compositing/iframes/composited-iframe-alignment.html [ Skip ]
+crbug.com/1011512 [ Win ] compositing/masks/mask-with-added-filters.html [ Skip ]
+crbug.com/1011512 [ Win ] css2.1/t090501-c414-flt-02-d-g.html [ Skip ]
+crbug.com/1011512 [ Win ] css2.1/t090501-c414-flt-03-b-g.html [ Skip ]
+crbug.com/1011512 [ Win ] css2.1/t100304-c43-rpl-bbx-01-d-g.html [ Skip ]
+crbug.com/1011512 [ Win ] css3/blending/background-blend-mode-default-value.html [ Skip ]
+crbug.com/1011512 [ Win ] css3/blending/background-blend-mode-gradient-gradient.html [ Skip ]
+crbug.com/1011512 [ Win ] images/color-profile-image-filter-all.html [ Skip ]
+crbug.com/1011512 [ Win ] images/color-profile-svg-fill-text.html [ Skip ]
+crbug.com/1011512 [ Win ] media/autoplay-muted-conditions.html [ Skip ]
+crbug.com/1011512 [ Win ] media/encrypted-media/encrypted-media-playback-setmediakeys-before-src.html [ Skip ]
+crbug.com/1011512 [ Win ] media/video-currentTime-delay.html [ Skip ]
+crbug.com/1011512 [ Win ] media/video-pause-immediately.html [ Skip ]
+crbug.com/1011512 [ Win ] transforms/svg-vs-css.xhtml [ Skip ]
diff --git a/third_party/blink/web_tests/NeverFixTests b/third_party/blink/web_tests/NeverFixTests
index 2a320041..e457cdc 100644
--- a/third_party/blink/web_tests/NeverFixTests
+++ b/third_party/blink/web_tests/NeverFixTests
@@ -1343,6 +1343,11 @@
 crbug.com/457718 external/wpt/css/css-pseudo/marker-color.html [ WontFix ]
 crbug.com/457718 external/wpt/css/css-pseudo/marker-font-properties.html [ WontFix ]
 
+# 'writing-mode: sideways-lr' and 'sideways-rl' are not implemented.
+# Note other tests for these properties are skipped in W3CImportExpectations.
+external/wpt/css/css-writing-modes/slr-alongside-vlr-floats.html [ WontFix ]
+external/wpt/css/css-writing-modes/srl-alongside-vrl-floats.html [ WontFix ]
+
 # Requires --use-fake-ui-for-media-stream to run.
 external/wpt/mediacapture-streams/MediaStream-default-feature-policy.https.html [ WontFix ]
 virtual/audio-service/external/wpt/mediacapture-streams/MediaStream-default-feature-policy.https.html [ WontFix ]
@@ -2086,3 +2091,9 @@
 crbug.com/870173 virtual/omt-worker-fetch/external/wpt/resource-timing/cors-preflight.any.html [ WontFix ]
 crbug.com/870173 virtual/omt-worker-fetch/external/wpt/resource-timing/cors-preflight.any.worker.html [ WontFix ]
 crbug.com/870173 virtual/omt-worker-fetch/http/tests/workers/worker-redirect.html [ WontFix ]
+
+# Blink implements additional privacy measures that cause the regular test in
+# WPT to time out.
+# There is a version in wpt_internal that performs the same checks but works
+# as expected.
+external/wpt/ambient-light/AmbientLightSensor.https.html [ WontFix ]
diff --git a/third_party/blink/web_tests/TestExpectations b/third_party/blink/web_tests/TestExpectations
index b8c61b9..f777448 100644
--- a/third_party/blink/web_tests/TestExpectations
+++ b/third_party/blink/web_tests/TestExpectations
@@ -215,6 +215,8 @@
 crbug.com/730267 virtual/gpu-rasterization-disable-yuv/images/yuv-decode-eligible/color-profile-layer.html [ Pass Timeout Failure ]
 crbug.com/730267 virtual/gpu-rasterization-disable-yuv/images/yuv-decode-eligible/color-profile-layer-filter.html [ Pass Timeout Failure ]
 
+crbug.com/1013736 external/wpt/svg/animations/slider-switch.html [ Pass Failure ]
+
 # Flaky virtual/threaded/fast/scrolling tests
 crbug.com/841567 virtual/threaded/fast/scrolling/absolute-position-behind-scrollbar.html [ Failure Pass ]
 crbug.com/841567 virtual/threaded/fast/scrolling/fixed-position-behind-scrollbar.html [ Failure Pass ]
@@ -837,14 +839,8 @@
 crbug.com/591099 [ Mac ] fast/replaced/input-radio-height-inside-auto-container.html [ Failure ]
 crbug.com/591099 [ Mac ] images/feature-policy-oversized-images-resize.html [ Failure ]
 crbug.com/974717 [ Linux ] images/feature-policy-oversized-images-resize.html [ Failure Pass ]
-# crbug.com/591099 [ Mac10.11 ] media/track/track-cue-rendering-position-auto-rtl.html [ Failure ]
 crbug.com/591099 [ Mac10.11 ] virtual/audio-service/media/track/track-cue-rendering-position-auto-rtl.html [ Failure ]
-crbug.com/591099 [ Mac10.11 ] virtual/scalefactor200/fast/hidpi/static/popup-menu-appearance.html [ Failure ]
 crbug.com/591099 [ Mac10.13 ] fast/dynamic/outerHTML-doc.html [ Failure ]
-#crbug.com/591099 [ Mac ] fast/events/before-unload-return-value-from-listener.html [ Crash Timeout ]
-crbug.com/591099 [ Mac10.13 ] virtual/audio-service/media/video-empty-source.html [ Failure ]
-
-#crbug.com/974725 [ Win7 ] fast/events/before-unload-return-value-from-listener.html [ Pass Crash ]
 
 # A few other lines for this test are commented out above to avoid conflicting expectations.
 # If they are not also fixed, reinstate them when removing these lines.
@@ -1167,13 +1163,11 @@
 crbug.com/591099 virtual/layout_ng_experimental/fast/multicol/nested-auto-height.html [ Failure ]
 crbug.com/591099 virtual/layout_ng_experimental/fast/multicol/nested-auto-height-short-first-row.html [ Failure ]
 crbug.com/829028 virtual/layout_ng_experimental/fast/multicol/nested-balanced-inner-column-count-1-with-forced-break.html [ Failure ]
-crbug.com/829028 virtual/layout_ng_experimental/fast/multicol/nested-balanced-inner-column-count-1-with-forced-break-2.html [ Failure ]
 crbug.com/591099 virtual/layout_ng_experimental/fast/multicol/nested-balanced-inner-with-many-breaks-2.html [ Failure ]
 crbug.com/591099 virtual/layout_ng_experimental/fast/multicol/nested-balanced-inner-with-many-breaks.html [ Failure ]
 crbug.com/591099 virtual/layout_ng_experimental/fast/multicol/nested-balanced-with-strut-before-first-line.html [ Failure ]
 crbug.com/591099 virtual/layout_ng_experimental/fast/multicol/nested-columns.html [ Failure ]
 crbug.com/591099 virtual/layout_ng_experimental/fast/multicol/nested-fixed-height-with-struts.html [ Failure ]
-crbug.com/591099 virtual/layout_ng_experimental/fast/multicol/nested-one-line-in-inner.html [ Failure ]
 crbug.com/591099 virtual/layout_ng_experimental/fast/multicol/nested-outer-fixed-height.html [ Failure ]
 crbug.com/591099 virtual/layout_ng_experimental/fast/multicol/nested-short-first-row-extra-tall-line.html [ Failure ]
 crbug.com/591099 virtual/layout_ng_experimental/fast/multicol/nested-short-first-row-unsplittable-block.html [ Failure ]
@@ -1809,8 +1803,6 @@
 
 crbug.com/889952 fast/selectors/selection-window-inactive.html [ Pass Failure ]
 
-crbug.com/487281 [ Mac ] fast/forms/select/menulist-narrow-width.html [ Failure ]
-
 crbug.com/731731 inspector-protocol/layers/paint-profiler-load-empty.js [ Failure Pass ]
 
 # Will be re-enabled and rebaselined once we remove the '--enable-file-cookies' flag.
@@ -2412,7 +2404,6 @@
 crbug.com/453002 [ Win ] fast/text/justify-ideograph-vertical.html [ Failure Pass ]
 crbug.com/453002 [ Win ] fast/text/orientation-sideways.html [ Failure Pass ]
 
-crbug.com/611658 [ Win7 ] fast/forms/text/text-font-height-mismatch.html [ Failure ]
 crbug.com/611658 [ Win ] fast/text/emphasis-combined-text.html [ Failure ]
 
 crbug.com/611658 [ Win7 ] fast/writing-mode/english-lr-text.html [ Failure ]
@@ -2709,6 +2700,8 @@
 crbug.com/1012627 [ Win7 ] external/wpt/css/css-text/line-breaking/line-breaking-021.html [ Failure ]
 
 # ====== New tests from wpt-importer added here ======
+crbug.com/626703 [ Win10 ] virtual/omt-worker-fetch/external/wpt/service-workers/service-worker/update-bytecheck.https.html [ Timeout ]
+crbug.com/626703 [ Mac ] external/wpt/html/rendering/non-replaced-elements/form-controls/select-sizing-001.html [ Failure ]
 crbug.com/626703 [ Linux ] external/wpt/css/css-align/baseline-rules/grid-item-input-type-number.html [ Failure ]
 crbug.com/626703 [ Mac ] external/wpt/css/css-align/baseline-rules/grid-item-input-type-number.html [ Failure ]
 crbug.com/626703 [ Win ] external/wpt/css/css-align/baseline-rules/grid-item-input-type-number.html [ Failure ]
@@ -2898,11 +2891,6 @@
 crbug.com/626703 [ Mac10.13 ] external/wpt/preload/download-resources.html [ Failure Timeout ]
 crbug.com/626703 [ Retina ] external/wpt/preload/download-resources.html [ Failure Timeout ]
 crbug.com/626703 [ Mac10.10 ] external/wpt/preload/download-resources.html [ Failure Timeout ]
-crbug.com/626703 [ Mac10.10 ] external/wpt/preload/onerror-event.html [ Failure Timeout ]
-crbug.com/626703 [ Win ] external/wpt/preload/onerror-event.html [ Failure Timeout ]
-crbug.com/626703 [ Mac10.12 ] external/wpt/preload/onerror-event.html [ Failure Timeout ]
-crbug.com/626703 [ Mac10.13 ] external/wpt/preload/onerror-event.html [ Failure Timeout ]
-crbug.com/626703 [ Retina ] external/wpt/preload/onerror-event.html [ Timeout ]
 crbug.com/626703 external/wpt/css/css-writing-modes/text-combine-upright-digits-001-manual.html [ Skip ]
 crbug.com/626703 external/wpt/web-animations/timing-model/timelines/update-and-send-events-replacement.html [ Timeout ]
 crbug.com/626703 external/wpt/webrtc/RTCRtpTransceiver.https.html [ Crash Timeout ]
@@ -3842,8 +3830,8 @@
 crbug.com/917554 external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/fetch/same-http-downgrade.no-redirect.https.html [ Crash ]
 crbug.com/917554 external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/fetch/cross-http-downgrade.no-redirect.https.html [ Crash ]
 crbug.com/917554 external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/fetch/same-http-downgrade.no-redirect.https.html [ Crash ]
-crbug.com/917554 external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/cross-http-downgrade.no-redirect.https.html [ Crash ]
-crbug.com/917554 external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/same-http-downgrade.no-redirect.https.html [ Crash ]
+crbug.com/917554 external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/cross-http-downgrade.no-redirect.https.html [ Crash Timeout ]
+crbug.com/917554 external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/same-http-downgrade.no-redirect.https.html [ Crash Timeout ]
 crbug.com/917554 virtual/omt-worker-fetch/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/fetch/cross-http-downgrade.no-redirect.https.html [ Crash ]
 crbug.com/917554 virtual/omt-worker-fetch/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/fetch/same-http-downgrade.no-redirect.https.html [ Crash ]
 crbug.com/917554 virtual/omt-worker-fetch/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/fetch/cross-http-downgrade.no-redirect.https.html [ Crash ]
@@ -3852,8 +3840,8 @@
 crbug.com/917554 virtual/omt-worker-fetch/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/fetch/same-http-downgrade.no-redirect.https.html [ Crash ]
 crbug.com/917554 virtual/omt-worker-fetch/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/fetch/cross-http-downgrade.no-redirect.https.html [ Crash ]
 crbug.com/917554 virtual/omt-worker-fetch/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/fetch/same-http-downgrade.no-redirect.https.html [ Crash ]
-crbug.com/917554 virtual/omt-worker-fetch/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/cross-http-downgrade.no-redirect.https.html [ Crash ]
-crbug.com/917554 virtual/omt-worker-fetch/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/same-http-downgrade.no-redirect.https.html [ Crash ]
+crbug.com/917554 virtual/omt-worker-fetch/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/cross-http-downgrade.no-redirect.https.html [ Crash Timeout ]
+crbug.com/917554 virtual/omt-worker-fetch/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/same-http-downgrade.no-redirect.https.html [ Crash Timeout ]
 
 # iframe tests time out if the request is blocked as mixed content.
 crbug.com/1001374 external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/iframe-tag/cross-http-downgrade.downgrade.https.html [ Timeout ]
@@ -4447,7 +4435,6 @@
 ###crbug.com/849979 media/video-layer-crash.html [ Pass Timeout ]
 
 crbug.com/770232 [ Win10 ] fast/text/hyphenate-character.html [ Failure ]
-crbug.com/770232 [ Win10 ] fast/text/unicode-fallback-font.html [ Failure ]
 
 # Editing commands incorrectly assume no plain text length change after formatting text.
 crbug.com/764489 editing/execCommand/format-block-multiple-paragraphs.html [ Failure ]
@@ -4794,26 +4781,7 @@
 crbug.com/851090 [ Linux ] virtual/mouseevent_fractional/fast/events/middleClickAutoscroll-click-hyperlink.html [ Pass Failure ]
 
 # Sheriff 2018-06-11
-crbug.com/853360 [ Mac ] fast/css/input-search-padding.html [ Failure ]
-crbug.com/853360 [ Mac ] fast/forms/calendar-picker/calendar-picker-appearance-ar.html [ Failure ]
-crbug.com/853360 [ Mac ] fast/forms/calendar-picker/calendar-picker-appearance-minimum-date.html [ Failure ]
-crbug.com/853360 [ Mac ] fast/forms/calendar-picker/calendar-picker-appearance-required-ar.html [ Failure ]
-crbug.com/853360 [ Mac ] fast/forms/calendar-picker/month-picker-appearance-step.html [ Failure ]
-crbug.com/853360 [ Mac ] fast/forms/calendar-picker/week-picker-appearance.html [ Failure ]
 crbug.com/853360 [ Mac ] http/tests/misc/slow-loading-image-in-pattern.html [ Pass Timeout Failure ]
-crbug.com/853360 [ Mac ] tables/mozilla/bugs/bug30692.html [ Failure ]
-crbug.com/853360 [ Mac ] virtual/scalefactor200/fast/hidpi/static/calendar-picker-appearance.html [ Failure ]
-crbug.com/853360 [ Mac ] virtual/scalefactor200/fast/hidpi/static/data-suggestion-picker-appearance.html [ Failure ]
-crbug.com/853360 [ Mac ] fast/forms/calendar-picker/calendar-picker-appearance-ru.html [ Failure ]
-crbug.com/853360 [ Mac ] fast/forms/calendar-picker/calendar-picker-appearance-coarse.html [ Failure ]
-crbug.com/853360 [ Mac ] fast/forms/calendar-picker/calendar-picker-appearance-step.html [ Failure ]
-crbug.com/853360 [ Mac ] fast/forms/calendar-picker/calendar-picker-appearance-zoom200.html [ Failure ]
-crbug.com/853360 [ Mac ] fast/forms/select/listbox-with-display-none-option.html [ Failure ]
-crbug.com/853360 [ Mac ] fast/forms/text/input-table.html [ Failure ]
-crbug.com/853360 [ Mac ] fast/text/drawBidiText.html [ Failure ]
-crbug.com/853360 [ Mac ] fast/forms/calendar-picker/calendar-picker-appearance.html [ Failure ]
-crbug.com/853360 [ Mac ] fast/forms/calendar-picker/month-picker-appearance.html [ Failure ]
-crbug.com/853360 [ Mac ] fast/forms/select/menulist-appearance-rtl.html [ Failure ]
 
 # Origin Policy: Skip tests that rely on --feature-enabled=OriginPolicy, so
 #   they can be run via virtual/origin-policy instead.
@@ -4936,9 +4904,6 @@
 crbug.com/869492 virtual/threaded/external/wpt/feature-policy/experimental-features/lazyload/loading-frame-default-eager-disabled-tentative.sub.html [ Failure ]
 crbug.com/869492 virtual/unified-autoplay/external/wpt/feature-policy/experimental-features/lazyload/loading-frame-default-eager-disabled-tentative.sub.html [ Failure ]
 
-# New rebaselines because LayoutNG is more correct
-crbug.com/902591 [ Linux ] svg/zoom/page/zoom-svg-float-border-padding.xml [ Failure ]
-
 # Sheriff 2018-09-18
 crbug.com/884445 virtual/unified-autoplay/external/wpt/feature-policy/feature-policy-nested-header-policy-disallowed-for-all.https.sub.html [ Pass Timeout ]
 
@@ -5161,10 +5126,6 @@
 
 crbug.com/910979 http/tests/html/validation-bubble-oopif-clip.html [ Failure Pass ]
 
-# Sheriff 2019-01-22
-# Likely needs a rebaseline
-crbug.com/921242 [ Mac ] fast/overflow/clip-rects-fixed-ancestor.html [ Failure ]
-
 # Sheriff 2019-01-24
 crbug.com/924954 http/tests/images/feature-policy-image-policies-with-border-radius.html [ Pass Failure ]
 
@@ -5327,7 +5288,6 @@
 # Sheriff 2019-04-03
 crbug.com/949167 external/wpt/html/semantics/links/links-created-by-a-and-area-elements/target_blank_implicit_noopener.html [ Pass Timeout ]
 crbug.com/949207 external/wpt/html/semantics/links/links-created-by-a-and-area-elements/target_blank_implicit_noopener_base.html [ Pass Timeout ]
-crbug.com/949445 [ Mac ] fast/forms/text/input-text-scroll-left-on-blur.html [ Failure ]
 
 # Sheriff 2019-04-09
 crbug.com/946335 [ Linux Mac ] fast/filesystem/file-writer-abort-depth.html [ Pass Crash ]
diff --git a/third_party/blink/web_tests/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change-2.html b/third_party/blink/web_tests/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change-2.html
index f118241..8006bea0 100644
--- a/third_party/blink/web_tests/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change-2.html
+++ b/third_party/blink/web_tests/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change-2.html
@@ -40,6 +40,5 @@
     }
 }
 </script>
-</script>
 </body>
 </html>
diff --git a/third_party/blink/web_tests/compositing/gestures/gesture-tapHighlight-img-and-text-2-expected.html b/third_party/blink/web_tests/compositing/gestures/gesture-tapHighlight-img-and-text-2-expected.html
index ccfe87fd..bf2ab24d 100644
--- a/third_party/blink/web_tests/compositing/gestures/gesture-tapHighlight-img-and-text-2-expected.html
+++ b/third_party/blink/web_tests/compositing/gestures/gesture-tapHighlight-img-and-text-2-expected.html
@@ -8,14 +8,17 @@
 <body onload="runTest();">
 <div style="transform: translateZ(0); padding: 20px;">
   <a id="targetLink">
-    <font style="vertical-align: bottom" id="beforeTarget">Before Text</font><img id="imgTarget" width="320" height="240" src="resources/dice.png"><font style="vertical-align: bottom" id="afterTarget">After Text!</font>
+    <font id="beforeTarget">Before Text</font><img id="imgTarget" width="320" height="240" src="resources/dice.png"><font id="afterTarget">After Text!</font>
   </a>
 </div>
 <script>
 function runTest() {
-    createSquareCompositedHighlight(document.getElementById('beforeTarget'));
-    createSquareCompositedHighlight(document.getElementById('imgTarget'));
-    createSquareCompositedHighlight(document.getElementById('afterTarget'));
+    createHighlight(imgTarget);
+    // The united rect of beforeTarget and afterTarget also covers the descent
+    // part of the image.
+    var rect = beforeTarget.getBoundingClientRect();
+    rect.width = afterTarget.getBoundingClientRect().right - rect.left;
+    createHighlightRect(rect);
 }
 </script>
 </script>
diff --git a/third_party/blink/web_tests/compositing/gestures/gesture-tapHighlight-img-and-text-expected.html b/third_party/blink/web_tests/compositing/gestures/gesture-tapHighlight-img-and-text-expected.html
index ccfe87fd..bf2ab24d 100644
--- a/third_party/blink/web_tests/compositing/gestures/gesture-tapHighlight-img-and-text-expected.html
+++ b/third_party/blink/web_tests/compositing/gestures/gesture-tapHighlight-img-and-text-expected.html
@@ -8,14 +8,17 @@
 <body onload="runTest();">
 <div style="transform: translateZ(0); padding: 20px;">
   <a id="targetLink">
-    <font style="vertical-align: bottom" id="beforeTarget">Before Text</font><img id="imgTarget" width="320" height="240" src="resources/dice.png"><font style="vertical-align: bottom" id="afterTarget">After Text!</font>
+    <font id="beforeTarget">Before Text</font><img id="imgTarget" width="320" height="240" src="resources/dice.png"><font id="afterTarget">After Text!</font>
   </a>
 </div>
 <script>
 function runTest() {
-    createSquareCompositedHighlight(document.getElementById('beforeTarget'));
-    createSquareCompositedHighlight(document.getElementById('imgTarget'));
-    createSquareCompositedHighlight(document.getElementById('afterTarget'));
+    createHighlight(imgTarget);
+    // The united rect of beforeTarget and afterTarget also covers the descent
+    // part of the image.
+    var rect = beforeTarget.getBoundingClientRect();
+    rect.width = afterTarget.getBoundingClientRect().right - rect.left;
+    createHighlightRect(rect);
 }
 </script>
 </script>
diff --git a/third_party/blink/web_tests/compositing/gestures/gesture-tapHighlight-simple-scaledX-expected.html b/third_party/blink/web_tests/compositing/gestures/gesture-tapHighlight-simple-scaledX-expected.html
deleted file mode 100644
index 82777e3..0000000
--- a/third_party/blink/web_tests/compositing/gestures/gesture-tapHighlight-simple-scaledX-expected.html
+++ /dev/null
@@ -1,31 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<script src="resources/link-highlight-helper.js"></script>
-<link rel="stylesheet" type="text/css" href="resources/link-highlight-style.css">
-</head>
-<body onload="runTest();">
-<div style="transform: scaleX(2); position: absolute; left: 80px; top: 40px;">
-<a href="" id="link1">Link 1</a></br>
-<a href="" id="targetLink" class="activeLink">Target Link.</a><br>
-<a href="" id="link2">Link 2</a>
-</div>
-</div>
-<div style="position: relative; left: 10px; top: 200px; transform: translateZ(0);">
-This test is successful if "Target Link" above is covered in a green rectangle with square corners.
-</div>
-<script>
-function runTest() {
-    var link = document.getElementById('targetLink');
-    var clientRect = link.getBoundingClientRect();
-    var highlight = createCompositedHighlight(link);
-
-    highlight.style.height = clientRect.height + "px";
-    highlight.style.width = clientRect.width + "px";
-    highlight.style.top = clientRect.top + "px";
-    highlight.style.left = clientRect.left + "px";
-}
-</script>
-</script>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/css3/filters/backdrop-filter-plus-mask-large-expected.png b/third_party/blink/web_tests/css3/filters/backdrop-filter-plus-mask-large-expected.png
deleted file mode 100644
index 18abb9d4..0000000
--- a/third_party/blink/web_tests/css3/filters/backdrop-filter-plus-mask-large-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_6.json b/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_6.json
index deabe88..78c2740 100644
--- a/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_6.json
+++ b/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_6.json
@@ -65837,6 +65837,18 @@
      {}
     ]
    ],
+   "css/css-tables/background-clip-001.html": [
+    [
+     "css/css-tables/background-clip-001.html",
+     [
+      [
+       "/css/reference/ref-filled-green-100px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
    "css/css-tables/border-collapse-double-border.html": [
     [
      "css/css-tables/border-collapse-double-border.html",
@@ -97071,6 +97083,30 @@
      {}
     ]
    ],
+   "css/css-writing-modes/slr-alongside-vlr-floats.html": [
+    [
+     "css/css-writing-modes/slr-alongside-vlr-floats.html",
+     [
+      [
+       "/css/css-writing-modes/slr-alongside-vlr-floats-ref.html",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/css-writing-modes/srl-alongside-vrl-floats.html": [
+    [
+     "css/css-writing-modes/srl-alongside-vrl-floats.html",
+     [
+      [
+       "/css/css-writing-modes/srl-alongside-vrl-floats-ref.html",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
    "css/css-writing-modes/svg-aliasing-001.html": [
     [
      "css/css-writing-modes/svg-aliasing-001.html",
@@ -98031,6 +98067,30 @@
      {}
     ]
    ],
+   "css/css-writing-modes/vlr-text-orientation-sideways-alongside-vlr-floats.html": [
+    [
+     "css/css-writing-modes/vlr-text-orientation-sideways-alongside-vlr-floats.html",
+     [
+      [
+       "/css/css-writing-modes/vlr-text-orientation-sideways-alongside-vlr-floats-ref.html",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/css-writing-modes/vrl-text-orientation-sideways-alongside-vrl-floats.html": [
+    [
+     "css/css-writing-modes/vrl-text-orientation-sideways-alongside-vrl-floats.html",
+     [
+      [
+       "/css/css-writing-modes/vrl-text-orientation-sideways-alongside-vrl-floats-ref.html",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
    "css/css-writing-modes/wm-propagation-001.html": [
     [
      "css/css-writing-modes/wm-propagation-001.html",
@@ -98343,6 +98403,30 @@
      {}
     ]
    ],
+   "css/css-writing-modes/wm-propagation-body-dynamic-change-001.html": [
+    [
+     "css/css-writing-modes/wm-propagation-body-dynamic-change-001.html",
+     [
+      [
+       "/css/css-writing-modes/block-flow-direction-025-ref.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/css-writing-modes/wm-propagation-body-dynamic-change-002.html": [
+    [
+     "css/css-writing-modes/wm-propagation-body-dynamic-change-002.html",
+     [
+      [
+       "/css/css-writing-modes/wm-propagation-body-dynamic-change-002-ref.html",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
    "css/css-writing-modes/writing-mode-horizontal-001l.html": [
     [
      "css/css-writing-modes/writing-mode-horizontal-001l.html",
@@ -112803,6 +112887,18 @@
      {}
     ]
    ],
+   "html/rendering/non-replaced-elements/form-controls/select-sizing-001.html": [
+    [
+     "html/rendering/non-replaced-elements/form-controls/select-sizing-001.html",
+     [
+      [
+       "/html/rendering/non-replaced-elements/form-controls/select-sizing-001-ref.html",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
    "html/rendering/non-replaced-elements/form-controls/text-transform.html": [
     [
      "html/rendering/non-replaced-elements/form-controls/text-transform.html",
@@ -133528,6 +133624,12 @@
    "css/css-fonts/parsing/font-family-valid-expected.txt": [
     []
    ],
+   "css/css-fonts/parsing/font-language-override-computed-expected.txt": [
+    []
+   ],
+   "css/css-fonts/parsing/font-language-override-valid-expected.txt": [
+    []
+   ],
    "css/css-fonts/parsing/font-style-computed-expected.txt": [
     []
    ],
@@ -139228,6 +139330,9 @@
    "css/css-logical/parsing/border-inline-width-valid-expected.txt": [
     []
    ],
+   "css/css-logical/parsing/inset-block-inline-shorthand-expected.txt": [
+    []
+   ],
    "css/css-logical/parsing/inset-block-inline-valid-expected.txt": [
     []
    ],
@@ -147337,6 +147442,12 @@
    "css/css-writing-modes/sizing-percentages-replaced-orthogonal-001-ref.html": [
     []
    ],
+   "css/css-writing-modes/slr-alongside-vlr-floats-ref.html": [
+    []
+   ],
+   "css/css-writing-modes/srl-alongside-vrl-floats-ref.html": [
+    []
+   ],
    "css/css-writing-modes/support/100x100-lime.png": [
     []
    ],
@@ -147931,6 +148042,12 @@
    "css/css-writing-modes/vertical-alignment-vrl-026-ref.xht": [
     []
    ],
+   "css/css-writing-modes/vlr-text-orientation-sideways-alongside-vlr-floats-ref.html": [
+    []
+   ],
+   "css/css-writing-modes/vrl-text-orientation-sideways-alongside-vrl-floats-ref.html": [
+    []
+   ],
    "css/css-writing-modes/wm-propagation-001-ref.html": [
     []
    ],
@@ -147958,6 +148075,9 @@
    "css/css-writing-modes/wm-propagation-body-054-ref.html": [
     []
    ],
+   "css/css-writing-modes/wm-propagation-body-dynamic-change-002-ref.html": [
+    []
+   ],
    "css/css-writing-modes/writing-mode-vertical-rl-003-ref.htm": [
     []
    ],
@@ -158881,6 +159001,9 @@
    "html/rendering/non-replaced-elements/form-controls/resets-expected.txt": [
     []
    ],
+   "html/rendering/non-replaced-elements/form-controls/select-sizing-001-ref.html": [
+    []
+   ],
    "html/rendering/non-replaced-elements/form-controls/text-transform-ref.html": [
     []
    ],
@@ -206367,6 +206490,42 @@
      {}
     ]
    ],
+   "css/css-fonts/parsing/font-language-override-computed.html": [
+    [
+     "css/css-fonts/parsing/font-language-override-computed.html",
+     {}
+    ]
+   ],
+   "css/css-fonts/parsing/font-language-override-invalid.html": [
+    [
+     "css/css-fonts/parsing/font-language-override-invalid.html",
+     {}
+    ]
+   ],
+   "css/css-fonts/parsing/font-language-override-valid.html": [
+    [
+     "css/css-fonts/parsing/font-language-override-valid.html",
+     {}
+    ]
+   ],
+   "css/css-fonts/parsing/font-optical-sizing-computed.html": [
+    [
+     "css/css-fonts/parsing/font-optical-sizing-computed.html",
+     {}
+    ]
+   ],
+   "css/css-fonts/parsing/font-optical-sizing-invalid.html": [
+    [
+     "css/css-fonts/parsing/font-optical-sizing-invalid.html",
+     {}
+    ]
+   ],
+   "css/css-fonts/parsing/font-optical-sizing-valid.html": [
+    [
+     "css/css-fonts/parsing/font-optical-sizing-valid.html",
+     {}
+    ]
+   ],
    "css/css-fonts/parsing/font-size-adjust-computed.html": [
     [
      "css/css-fonts/parsing/font-size-adjust-computed.html",
@@ -209557,6 +209716,12 @@
      {}
     ]
    ],
+   "css/css-logical/parsing/inset-block-inline-shorthand.html": [
+    [
+     "css/css-logical/parsing/inset-block-inline-shorthand.html",
+     {}
+    ]
+   ],
    "css/css-logical/parsing/inset-block-inline-valid.html": [
     [
      "css/css-logical/parsing/inset-block-inline-valid.html",
@@ -209599,6 +209764,12 @@
      {}
     ]
    ],
+   "css/css-logical/parsing/margin-block-inline-shorthand.html": [
+    [
+     "css/css-logical/parsing/margin-block-inline-shorthand.html",
+     {}
+    ]
+   ],
    "css/css-logical/parsing/margin-block-inline-valid.html": [
     [
      "css/css-logical/parsing/margin-block-inline-valid.html",
@@ -209689,6 +209860,12 @@
      {}
     ]
    ],
+   "css/css-logical/parsing/padding-block-inline-shorthand.html": [
+    [
+     "css/css-logical/parsing/padding-block-inline-shorthand.html",
+     {}
+    ]
+   ],
    "css/css-logical/parsing/padding-block-inline-valid.html": [
     [
      "css/css-logical/parsing/padding-block-inline-valid.html",
@@ -211333,6 +211510,12 @@
      {}
     ]
    ],
+   "css/css-scroll-snap/parsing/scroll-margin-block-inline-shorthand.html": [
+    [
+     "css/css-scroll-snap/parsing/scroll-margin-block-inline-shorthand.html",
+     {}
+    ]
+   ],
    "css/css-scroll-snap/parsing/scroll-margin-block-inline-valid.html": [
     [
      "css/css-scroll-snap/parsing/scroll-margin-block-inline-valid.html",
@@ -211351,6 +211534,12 @@
      {}
     ]
    ],
+   "css/css-scroll-snap/parsing/scroll-margin-shorthand.html": [
+    [
+     "css/css-scroll-snap/parsing/scroll-margin-shorthand.html",
+     {}
+    ]
+   ],
    "css/css-scroll-snap/parsing/scroll-margin-valid.html": [
     [
      "css/css-scroll-snap/parsing/scroll-margin-valid.html",
@@ -211369,6 +211558,12 @@
      {}
     ]
    ],
+   "css/css-scroll-snap/parsing/scroll-padding-block-inline-shorthand.html": [
+    [
+     "css/css-scroll-snap/parsing/scroll-padding-block-inline-shorthand.html",
+     {}
+    ]
+   ],
    "css/css-scroll-snap/parsing/scroll-padding-block-inline-valid.html": [
     [
      "css/css-scroll-snap/parsing/scroll-padding-block-inline-valid.html",
@@ -211387,6 +211582,12 @@
      {}
     ]
    ],
+   "css/css-scroll-snap/parsing/scroll-padding-shorthand.html": [
+    [
+     "css/css-scroll-snap/parsing/scroll-padding-shorthand.html",
+     {}
+    ]
+   ],
    "css/css-scroll-snap/parsing/scroll-padding-valid.html": [
     [
      "css/css-scroll-snap/parsing/scroll-padding-valid.html",
@@ -214939,6 +215140,12 @@
      {}
     ]
    ],
+   "css/css-text/parsing/text-align-computed.html": [
+    [
+     "css/css-text/parsing/text-align-computed.html",
+     {}
+    ]
+   ],
    "css/css-text/parsing/text-align-invalid.html": [
     [
      "css/css-text/parsing/text-align-invalid.html",
@@ -219349,6 +219556,12 @@
      {}
     ]
    ],
+   "css/cssom-view/client-props-inline-list-item.html": [
+    [
+     "css/cssom-view/client-props-inline-list-item.html",
+     {}
+    ]
+   ],
    "css/cssom-view/cssom-getBoundingClientRect-001.html": [
     [
      "css/cssom-view/cssom-getBoundingClientRect-001.html",
@@ -298430,6 +298643,12 @@
      {}
     ]
    ],
+   "svg/animations/end-attribute-change-end-time.html": [
+    [
+     "svg/animations/end-attribute-change-end-time.html",
+     {}
+    ]
+   ],
    "svg/animations/force-use-shadow-tree-recreation-while-animating.html": [
     [
      "svg/animations/force-use-shadow-tree-recreation-while-animating.html",
@@ -372581,11 +372800,11 @@
    "testharness"
   ],
   "css/css-fonts/inheritance-expected.txt": [
-   "daf682070e898eebc83ea04dfc762df9f235b0e5",
+   "dfb9941ccfda699b1a593f0f63389a995cc0867a",
    "support"
   ],
   "css/css-fonts/inheritance.html": [
-   "6192e50638c0106abe798d2e5b8f004534646ad5",
+   "21939f06cbd6e218ec318738549d0109ca774aa7",
    "testharness"
   ],
   "css/css-fonts/language-specific-01.html": [
@@ -372776,6 +372995,38 @@
    "623f860dd79c452b6403c1aa23ebf3ffa9dbbdac",
    "testharness"
   ],
+  "css/css-fonts/parsing/font-language-override-computed-expected.txt": [
+   "6233d4dd61168d3e5b10e90f01bb8a36511c9b10",
+   "support"
+  ],
+  "css/css-fonts/parsing/font-language-override-computed.html": [
+   "76601b97282bd2330cb65d51eac85faca69c5401",
+   "testharness"
+  ],
+  "css/css-fonts/parsing/font-language-override-invalid.html": [
+   "f69e551658183af1d6b443845d66301009d13042",
+   "testharness"
+  ],
+  "css/css-fonts/parsing/font-language-override-valid-expected.txt": [
+   "2acc510d2d23c28a952753bdb54017eff2af8632",
+   "support"
+  ],
+  "css/css-fonts/parsing/font-language-override-valid.html": [
+   "27246f46ba53feae81bb71605fc27d3c119155fe",
+   "testharness"
+  ],
+  "css/css-fonts/parsing/font-optical-sizing-computed.html": [
+   "9e0719b12c3e5b2bba0df3fa623e48eb367a3800",
+   "testharness"
+  ],
+  "css/css-fonts/parsing/font-optical-sizing-invalid.html": [
+   "efd0f6257c4b08275ce99b1029324f444c54472a",
+   "testharness"
+  ],
+  "css/css-fonts/parsing/font-optical-sizing-valid.html": [
+   "f9545d89204a3b5750a327cd3c155f652e36439e",
+   "testharness"
+  ],
   "css/css-fonts/parsing/font-size-adjust-computed.html": [
    "4abf011d91e07f0d33f85ae98c56b51b0bfd6504",
    "testharness"
@@ -382601,7 +382852,7 @@
    "support"
   ],
   "css/css-grid/subgrid/line-names-001.html": [
-   "9b49e623ad754760f2118474c86dc4f208f3dd84",
+   "69c300d864e9990151a96f6577fe5f09e1e22bb2",
    "reftest"
   ],
   "css/css-grid/subgrid/line-names-002.html": [
@@ -382617,7 +382868,7 @@
    "support"
   ],
   "css/css-grid/subgrid/line-names-004.html": [
-   "0d2a96873dad6e40d379692b5a505a7015a5b1c9",
+   "84f727d2e350d1754cd0511471f95e14525ae00b",
    "reftest"
   ],
   "css/css-grid/subgrid/line-names-005-ref.html": [
@@ -382625,7 +382876,7 @@
    "support"
   ],
   "css/css-grid/subgrid/line-names-005.html": [
-   "43bde0b37ad2f8159c38ea0892cad9d03fe1a05b",
+   "d7bcf7a7e7b0c13e489da82b824b8e5a9b5fe1fb",
    "reftest"
   ],
   "css/css-grid/subgrid/line-names-006-ref.html": [
@@ -382689,7 +382940,7 @@
    "support"
   ],
   "css/css-grid/subgrid/repeat-auto-fill-001.html": [
-   "643cde377e66416dbc4047124d1157b0679eb8f5",
+   "e17fc8274f441835888ff57d12bd985d0ece7623",
    "reftest"
   ],
   "css/css-grid/subgrid/repeat-auto-fill-002.html": [
@@ -382717,7 +382968,7 @@
    "reftest"
   ],
   "css/css-grid/subgrid/repeat-auto-fill-006.html": [
-   "4a16d8e4a9b9c476fce6b8e2bb653dcb59431029",
+   "8d4213c6d87c131f0b03dcba1dad46cc9c9d663c",
    "reftest"
   ],
   "css/css-grid/subgrid/repeat-auto-fill-007-ref.html": [
@@ -384652,6 +384903,14 @@
    "fe073f852ea38910c35ee471f54e52d1b9aca95b",
    "testharness"
   ],
+  "css/css-logical/parsing/inset-block-inline-shorthand-expected.txt": [
+   "b644542606b4cba92acd509bb3b79e3ab2bc9256",
+   "support"
+  ],
+  "css/css-logical/parsing/inset-block-inline-shorthand.html": [
+   "3b2ce6c040bf2bb9a4e7a2b61ff9d76312c07255",
+   "testharness"
+  ],
   "css/css-logical/parsing/inset-block-inline-valid-expected.txt": [
    "f8c247f26c0383da11b9ff439646d518278df816",
    "support"
@@ -384684,6 +384943,10 @@
    "a1e0cbf3885b6518266eba0ef23d40f53a0c5c20",
    "testharness"
   ],
+  "css/css-logical/parsing/margin-block-inline-shorthand.html": [
+   "9cdae57402b971bb0a3dcea97715ca5de6656d9a",
+   "testharness"
+  ],
   "css/css-logical/parsing/margin-block-inline-valid.html": [
    "4a278f90348c9e7c9de983e813c02fa10432d28a",
    "testharness"
@@ -384744,6 +385007,10 @@
    "56c2adb07827ef54b42b6a797e0f700eeec56165",
    "testharness"
   ],
+  "css/css-logical/parsing/padding-block-inline-shorthand.html": [
+   "d0811c27dc801c41426e42fbd740fe7d2b67aeaf",
+   "testharness"
+  ],
   "css/css-logical/parsing/padding-block-inline-valid.html": [
    "1f3be1778413e72742f8fd1bde098ce56bcde368",
    "testharness"
@@ -390804,6 +391071,10 @@
    "b8a70b0d4890ab108de348f2866b79a2c3cea2c3",
    "testharness"
   ],
+  "css/css-scroll-snap/parsing/scroll-margin-block-inline-shorthand.html": [
+   "04e1d428647585fbf6fee0336e7bcea102ff7e3c",
+   "testharness"
+  ],
   "css/css-scroll-snap/parsing/scroll-margin-block-inline-valid.html": [
    "e675eeb427064d51af1b9b0c2e29a812d0ae5fce",
    "testharness"
@@ -390816,6 +391087,10 @@
    "97beb0d295dcda5e18946bc1122a8aedc40ce796",
    "testharness"
   ],
+  "css/css-scroll-snap/parsing/scroll-margin-shorthand.html": [
+   "96a459522649867bf09751c902349182ba232b84",
+   "testharness"
+  ],
   "css/css-scroll-snap/parsing/scroll-margin-valid.html": [
    "be3499869159c5fb29f9859889f4f2354874853c",
    "testharness"
@@ -390828,6 +391103,10 @@
    "da995cfcc07ad43a489aa4e0205fa24d6e435e39",
    "testharness"
   ],
+  "css/css-scroll-snap/parsing/scroll-padding-block-inline-shorthand.html": [
+   "491cfa9e96ec46724e9ff7e17377447899b106a6",
+   "testharness"
+  ],
   "css/css-scroll-snap/parsing/scroll-padding-block-inline-valid.html": [
    "a932bb6393db62a000092276128d9934b269fc25",
    "testharness"
@@ -390840,6 +391119,10 @@
    "c805ee2e55eda1ba713b5ba5432c8120410cdcbd",
    "testharness"
   ],
+  "css/css-scroll-snap/parsing/scroll-padding-shorthand.html": [
+   "2162c7f10d70e3b0dad9bf0cc7bacb730599831b",
+   "testharness"
+  ],
   "css/css-scroll-snap/parsing/scroll-padding-valid.html": [
    "0e7c86b12b5d8aa1e9f06f8f95b596c43e81e938",
    "testharness"
@@ -393488,6 +393771,10 @@
    "dbd35d8af1761428b2d8c8c5db9c1c9e4da0872e",
    "testharness"
   ],
+  "css/css-tables/background-clip-001.html": [
+   "b4caf5f0eb1ed32dbd9b41e9f3993b9711be359f",
+   "reftest"
+  ],
   "css/css-tables/border-collapse-double-border-notref.html": [
    "8f4222211d76fb8f6be9cb61a7b9979a3b7b89a7",
    "support"
@@ -398496,6 +398783,10 @@
    "f65b15afde028fc9c6a34376817b68b449ccd00c",
    "testharness"
   ],
+  "css/css-text/parsing/text-align-computed.html": [
+   "30c231be66f6d297cf6bbf75e59a9b5dd2bded53",
+   "testharness"
+  ],
   "css/css-text/parsing/text-align-invalid.html": [
    "38a56d914cdaa3a5f17b12717b992ab056de4391",
    "testharness"
@@ -417724,6 +418015,22 @@
    "6829920c8026618777ae8774d6ae2b661a6e6811",
    "reftest"
   ],
+  "css/css-writing-modes/slr-alongside-vlr-floats-ref.html": [
+   "71a4c4c284b6d61da2bfd28b61aa3ac6098d7e63",
+   "support"
+  ],
+  "css/css-writing-modes/slr-alongside-vlr-floats.html": [
+   "76fb454f6a17ce6f3fee70e84e86ddf838cd8063",
+   "reftest"
+  ],
+  "css/css-writing-modes/srl-alongside-vrl-floats-ref.html": [
+   "cd6ee5e91866bf386d1e0c5c9693a30fb9599aa4",
+   "support"
+  ],
+  "css/css-writing-modes/srl-alongside-vrl-floats.html": [
+   "7b3ee59207b5408a4b30271e097204eb2583d617",
+   "reftest"
+  ],
   "css/css-writing-modes/support/100x100-lime.png": [
    "1b947700808585e8c224cee096247eb5d30a1ded",
    "support"
@@ -419052,6 +419359,22 @@
    "35560e940b3abdad4e67f92e173798f634b00785",
    "reftest"
   ],
+  "css/css-writing-modes/vlr-text-orientation-sideways-alongside-vlr-floats-ref.html": [
+   "fc4bbee90ad961378436383db1266d5fe697b82d",
+   "support"
+  ],
+  "css/css-writing-modes/vlr-text-orientation-sideways-alongside-vlr-floats.html": [
+   "f605f20aa7e9c773550bb012c5ba60bf1ba37450",
+   "reftest"
+  ],
+  "css/css-writing-modes/vrl-text-orientation-sideways-alongside-vrl-floats-ref.html": [
+   "218d5abdbe73938fbbc514c62a9befb1e3a0be59",
+   "support"
+  ],
+  "css/css-writing-modes/vrl-text-orientation-sideways-alongside-vrl-floats.html": [
+   "710221031a3ee31e06d540a63c80a819e9eff9c8",
+   "reftest"
+  ],
   "css/css-writing-modes/wm-propagation-001-ref.html": [
    "2e8df84f21ef494f99f356b056396c7d6d39d940",
    "support"
@@ -419196,6 +419519,18 @@
    "7741ac7051e7eadb7facffeced71c9bd84ac12eb",
    "testharness"
   ],
+  "css/css-writing-modes/wm-propagation-body-dynamic-change-001.html": [
+   "02af09311f794afcd28096bb057c1ae5c37bd460",
+   "reftest"
+  ],
+  "css/css-writing-modes/wm-propagation-body-dynamic-change-002-ref.html": [
+   "d7ddfd553d60bbb98243eb32090b76f24fe38113",
+   "support"
+  ],
+  "css/css-writing-modes/wm-propagation-body-dynamic-change-002.html": [
+   "1f485f68d864ebd2114a7504c3d3e41400534104",
+   "reftest"
+  ],
   "css/css-writing-modes/wm-propagation-body-scroll-offset-vertical-lr.html": [
    "8c59532b1a50777337007c2b932b1df42067e18f",
    "testharness"
@@ -419432,6 +419767,10 @@
    "2a8d5b5b4928a5782a61174834bb547f094f2553",
    "testharness"
   ],
+  "css/cssom-view/client-props-inline-list-item.html": [
+   "725bb787a5e65b8dc635ffa5e249144ba3ac7ee4",
+   "testharness"
+  ],
   "css/cssom-view/cssom-getBoundingClientRect-001.html": [
    "7d96540adfe95205a770c232473e0c1268e609e2",
    "testharness"
@@ -440017,7 +440356,7 @@
    "support"
   ],
   "generic-sensor/generic-sensor-tests.js": [
-   "1779fd6bb59235ff14f0c5ec3d67a134b74be4a2",
+   "f0d37fb9f24b68c7e155a7613cca6195208dedf4",
    "support"
   ],
   "generic-sensor/idlharness.https.window.js": [
@@ -449252,6 +449591,14 @@
    "052adca4c5b0b70819c5291503fecc1f39715df6",
    "testharness"
   ],
+  "html/rendering/non-replaced-elements/form-controls/select-sizing-001-ref.html": [
+   "c59a6e1d987eefea0e357745ce52d4d0892b07ff",
+   "support"
+  ],
+  "html/rendering/non-replaced-elements/form-controls/select-sizing-001.html": [
+   "e8db3eae1d28acbb2eff0f8906e0cf253f966bdd",
+   "reftest"
+  ],
   "html/rendering/non-replaced-elements/form-controls/text-transform-ref.html": [
    "5dc26a78dbb0133964bf248eef2d698f32ffa329",
    "support"
@@ -455601,7 +455948,7 @@
    "testharness"
   ],
   "html/semantics/interactive-elements/the-dialog-element/abspos-dialog-layout.html": [
-   "e97ebee59f40d7e955b5f6c6b210369e1c457bb8",
+   "bdd28270d677a6f8f70610bde0160982ba56db3b",
    "testharness"
   ],
   "html/semantics/interactive-elements/the-dialog-element/centering-expected.txt": [
@@ -455653,7 +456000,7 @@
    "testharness"
   ],
   "html/semantics/interactive-elements/the-dialog-element/dialog-showModal.html": [
-   "b40d5fb94cf59e1b2044adc7bc73db285a85d8d8",
+   "267c22145ee35ad9956642a0684591a53be7d1c2",
    "testharness"
   ],
   "html/semantics/interactive-elements/the-dialog-element/inert-does-not-match-disabled-selector.html": [
@@ -477545,7 +477892,7 @@
    "testharness"
   ],
   "preload/onerror-event-expected.txt": [
-   "0ef49adc0471fcfc600c2519c9ab49469349353f",
+   "aa88efb3eb7fc97636a54832b4ce6f414d883571",
    "support"
   ],
   "preload/onerror-event.html": [
@@ -491177,7 +491524,7 @@
    "support"
   ],
   "resources/chromium/generic_sensor_mocks.js": [
-   "eb28c48d3a719d1ea0d8cabd29afa90a487e6c2e",
+   "5e902f2523dd6ddb95b19ee55f7e7e6b8cc8877f",
    "support"
   ],
   "resources/chromium/generic_sensor_mocks.js.headers": [
@@ -497844,6 +498191,10 @@
    "4a6b9f9368dcb020120f502e4528860beb5f14c6",
    "testharness"
   ],
+  "svg/animations/end-attribute-change-end-time.html": [
+   "9f05d7d405d364a1eadfa104c1c4bd90a2bf3b8c",
+   "testharness"
+  ],
   "svg/animations/force-use-shadow-tree-recreation-while-animating.html": [
    "7a60e0280baa67ef8731b7bdc737788d326c3c24",
    "testharness"
@@ -504933,7 +505284,7 @@
    "support"
   ],
   "tools/wptrunner/wptrunner/config.py": [
-   "d2a61a87594bc8f7753530ab3bd02795b68e3c37",
+   "e7f9d7b8cc987bfdfecda6548acf82d1be3a28d4",
    "support"
   ],
   "tools/wptrunner/wptrunner/environment.py": [
@@ -505077,7 +505428,7 @@
    "support"
   ],
   "tools/wptrunner/wptrunner/manifestupdate.py": [
-   "a3d5581471a38e39483bd0ca31e55d58a64387b3",
+   "83a4834d7859e529cf88dd886e27b01886bc2259",
    "support"
   ],
   "tools/wptrunner/wptrunner/metadata.py": [
@@ -505161,7 +505512,7 @@
    "support"
   ],
   "tools/wptrunner/wptrunner/wptcommandline.py": [
-   "5ac29b302e65a7e6fd8330e4ad787233de7d5ec6",
+   "3fc0f6d6b537938f76b99c7122229a6a3deb2713",
    "support"
   ],
   "tools/wptrunner/wptrunner/wptlogging.py": [
@@ -510845,7 +511196,7 @@
    "testharness"
   ],
   "web-nfc/NDEFRecord_constructor.https.html": [
-   "aa3de01509c12b9ec1fba7b17d59abb633e932f0",
+   "7a0da33a54370dda699546553c0b18ced937a91c",
    "testharness"
   ],
   "web-nfc/NFCErrorEvent_constructor.https.html": [
@@ -510853,7 +511204,7 @@
    "testharness"
   ],
   "web-nfc/NFCReader_options.https.html": [
-   "8b38f558a0a8fb03afac573bd8f39820f37cc4fa",
+   "5761747f907fad40873023f8ba746bef19fb08e7",
    "testharness"
   ],
   "web-nfc/NFCReader_scan.https.html": [
@@ -510865,7 +511216,7 @@
    "testharness"
   ],
   "web-nfc/NFCWriter_push.https.html": [
-   "50a230344a14c372854df93e3c29815156e855dc",
+   "dda160f159a23223c0910d2393ecbc8c8e38aed1",
    "testharness"
   ],
   "web-nfc/OWNERS": [
diff --git a/third_party/blink/web_tests/external/wpt/css/css-fonts/inheritance-expected.txt b/third_party/blink/web_tests/external/wpt/css/css-fonts/inheritance-expected.txt
index daf68207..dfb9941 100644
--- a/third_party/blink/web_tests/external/wpt/css/css-fonts/inheritance-expected.txt
+++ b/third_party/blink/web_tests/external/wpt/css/css-fonts/inheritance-expected.txt
@@ -4,6 +4,10 @@
 PASS Property font-feature-settings inherits
 PASS Property font-kerning has initial value auto
 PASS Property font-kerning inherits
+FAIL Property font-language-override has initial value normal assert_true: font-language-override doesn't seem to be supported in the computed style expected true got false
+FAIL Property font-language-override inherits assert_true: font-language-override doesn't seem to be supported in the computed style expected true got false
+PASS Property font-optical-sizing has initial value auto
+PASS Property font-optical-sizing inherits
 PASS Property font-size has initial value 16px
 PASS Property font-size inherits
 PASS Property font-size-adjust has initial value none
@@ -16,6 +20,8 @@
 FAIL Property font-synthesis inherits assert_true: font-synthesis doesn't seem to be supported in the computed style expected true got false
 PASS Property font-variant has initial value normal
 PASS Property font-variant inherits
+FAIL Property font-variant-alternates has initial value normal assert_true: font-variant-alternates doesn't seem to be supported in the computed style expected true got false
+FAIL Property font-variant-alternates inherits assert_true: font-variant-alternates doesn't seem to be supported in the computed style expected true got false
 PASS Property font-variant-caps has initial value normal
 PASS Property font-variant-caps inherits
 PASS Property font-variant-east-asian has initial value normal
diff --git a/third_party/blink/web_tests/external/wpt/css/css-fonts/inheritance.html b/third_party/blink/web_tests/external/wpt/css/css-fonts/inheritance.html
index 6192e50..21939f06 100644
--- a/third_party/blink/web_tests/external/wpt/css/css-fonts/inheritance.html
+++ b/third_party/blink/web_tests/external/wpt/css/css-fonts/inheritance.html
@@ -29,12 +29,15 @@
 assert_inherited('font-family', null, '"Not Initial!"');  // Initial value depends on user agent.
 assert_inherited('font-feature-settings', 'normal', '"smcp", "swsh" 2');
 assert_inherited('font-kerning', 'auto', 'none');
+assert_inherited('font-language-override', 'normal' , '"ksw"');
+assert_inherited('font-optical-sizing', 'auto' , 'none');
 assert_inherited('font-size', mediumFontSize /* medium */, '123px');
 assert_inherited('font-size-adjust', 'none', '1.5');
 assert_inherited('font-stretch', '100%' /* normal */, '75%');
 assert_inherited('font-style', 'normal', 'italic');
 assert_inherited('font-synthesis', 'weight style', 'none');
 assert_inherited('font-variant', 'normal', 'none');
+assert_inherited('font-variant-alternates', 'normal', 'historical-forms');
 assert_inherited('font-variant-caps', 'normal', 'small-caps');
 assert_inherited('font-variant-east-asian', 'normal', 'ruby');
 assert_inherited('font-variant-ligatures', 'normal', 'none');
diff --git a/third_party/blink/web_tests/external/wpt/css/css-fonts/parsing/font-language-override-computed-expected.txt b/third_party/blink/web_tests/external/wpt/css/css-fonts/parsing/font-language-override-computed-expected.txt
new file mode 100644
index 0000000..6233d4d
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-fonts/parsing/font-language-override-computed-expected.txt
@@ -0,0 +1,5 @@
+This is a testharness.js-based test.
+FAIL Property font-language-override value 'normal' computes to 'normal' assert_true: font-language-override doesn't seem to be supported in the computed style expected true got false
+FAIL Property font-language-override value '"ksw"' computes to '"ksw"' assert_true: font-language-override doesn't seem to be supported in the computed style expected true got false
+Harness: the test ran to completion.
+
diff --git a/third_party/blink/web_tests/external/wpt/css/css-fonts/parsing/font-language-override-computed.html b/third_party/blink/web_tests/external/wpt/css/css-fonts/parsing/font-language-override-computed.html
new file mode 100644
index 0000000..76601b9
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-fonts/parsing/font-language-override-computed.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Fonts Module Level 4: getComputedStyle().fontLanguageOverride</title>
+<link rel="help" href="https://www.w3.org/TR/css-fonts-4/#propdef-font-language-override">
+<meta name="assert" content="font-language-override computed value is as specified.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/computed-testcommon.js"></script>
+</head>
+<body>
+<div id="target"></div>
+<script>
+test_computed_value('font-language-override', 'normal');
+test_computed_value('font-language-override', '"ksw"');
+</script>
+</body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-fonts/parsing/font-language-override-invalid.html b/third_party/blink/web_tests/external/wpt/css/css-fonts/parsing/font-language-override-invalid.html
new file mode 100644
index 0000000..f69e551
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-fonts/parsing/font-language-override-invalid.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Fonts Module Level 4: parsing font-language-override with invalid values</title>
+<link rel="help" href="https://www.w3.org/TR/css-fonts-4/#propdef-font-language-override">
+<meta name="assert" content="font-language-override supports only the grammar 'normal | <string>'.">
+<meta name="assert" content="font-language-override string has three letters.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+</head>
+<body>
+<script>
+test_invalid_value('font-language-override', 'auto');
+test_invalid_value('font-language-override', 'normal "ksw"');
+
+test_invalid_value('font-language-override', '"tr"');
+test_invalid_value('font-language-override', '"1 %"');
+</script>
+</body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-fonts/parsing/font-language-override-valid-expected.txt b/third_party/blink/web_tests/external/wpt/css/css-fonts/parsing/font-language-override-valid-expected.txt
new file mode 100644
index 0000000..2acc510
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-fonts/parsing/font-language-override-valid-expected.txt
@@ -0,0 +1,5 @@
+This is a testharness.js-based test.
+FAIL e.style['font-language-override'] = "normal" should set the property value assert_not_equals: property should be set got disallowed value ""
+FAIL e.style['font-language-override'] = "\"ksw\"" should set the property value assert_not_equals: property should be set got disallowed value ""
+Harness: the test ran to completion.
+
diff --git a/third_party/blink/web_tests/external/wpt/css/css-fonts/parsing/font-language-override-valid.html b/third_party/blink/web_tests/external/wpt/css/css-fonts/parsing/font-language-override-valid.html
new file mode 100644
index 0000000..27246f4
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-fonts/parsing/font-language-override-valid.html
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Fonts Module Level 4: parsing font-language-override with valid values</title>
+<link rel="help" href="https://www.w3.org/TR/css-fonts-4/#propdef-font-language-override">
+<meta name="assert" content="font-language-override supports the full grammar 'normal | <string>'.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+</head>
+<body>
+<script>
+test_valid_value('font-language-override', 'normal');
+test_valid_value('font-language-override', '"ksw"');
+</script>
+</body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-fonts/parsing/font-optical-sizing-computed.html b/third_party/blink/web_tests/external/wpt/css/css-fonts/parsing/font-optical-sizing-computed.html
new file mode 100644
index 0000000..9e0719b
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-fonts/parsing/font-optical-sizing-computed.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Fonts Module Level 4: getComputedStyle().fontOpticalSizing</title>
+<link rel="help" href="https://www.w3.org/TR/css-fonts-4/#propdef-font-optical-sizing">
+<meta name="assert" content="font-optical-sizing computed value is as specified.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/computed-testcommon.js"></script>
+</head>
+<body>
+<div id="target"></div>
+<script>
+test_computed_value('font-optical-sizing', 'auto');
+test_computed_value('font-optical-sizing', 'none');
+</script>
+</body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-fonts/parsing/font-optical-sizing-invalid.html b/third_party/blink/web_tests/external/wpt/css/css-fonts/parsing/font-optical-sizing-invalid.html
new file mode 100644
index 0000000..efd0f625
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-fonts/parsing/font-optical-sizing-invalid.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Fonts Module Level 4: parsing font-optical-sizing with invalid values</title>
+<link rel="help" href="https://www.w3.org/TR/css-fonts-4/#propdef-font-optical-sizing">
+<meta name="assert" content="font-optical-sizing supports only the grammar 'auto | none'.">
+<meta name="assert" content="font-optical-sizing string has three letters.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+</head>
+<body>
+<script>
+test_invalid_value('font-optical-sizing', 'normal');
+test_invalid_value('font-optical-sizing', 'auto none');
+</script>
+</body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-fonts/parsing/font-optical-sizing-valid.html b/third_party/blink/web_tests/external/wpt/css/css-fonts/parsing/font-optical-sizing-valid.html
new file mode 100644
index 0000000..f9545d8
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-fonts/parsing/font-optical-sizing-valid.html
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Fonts Module Level 4: parsing font-optical-sizing with valid values</title>
+<link rel="help" href="https://www.w3.org/TR/css-fonts-4/#propdef-font-optical-sizing">
+<meta name="assert" content="font-optical-sizing supports the full grammar 'auto | none'.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+</head>
+<body>
+<script>
+test_valid_value('font-optical-sizing', 'auto');
+test_valid_value('font-optical-sizing', 'none');
+</script>
+</body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-grid/subgrid/line-names-001.html b/third_party/blink/web_tests/external/wpt/css/css-grid/subgrid/line-names-001.html
index 9b49e62..69c300d 100644
--- a/third_party/blink/web_tests/external/wpt/css/css-grid/subgrid/line-names-001.html
+++ b/third_party/blink/web_tests/external/wpt/css/css-grid/subgrid/line-names-001.html
@@ -38,5 +38,20 @@
   </div>
 </div>
 
+<script>
+  const expectedResults = [
+    "subgrid [] [] [] []",
+  ];
+  [...document.querySelectorAll('.subgrid')].forEach(function(subgrid, i) {
+    let actual = window.getComputedStyle(subgrid)['grid-template-columns'];
+    let expected = expectedResults[i];
+    if (actual != expected) {
+      let err = "Unexpected getComputedStyle value for subgrid " + i + " with className '" + subgrid.className + "':" +
+      " Actual: \"" + actual + "\", Expected: \"" + expected + "\"";
+      document.body.appendChild(document.createTextNode(err));
+    }
+  });
+</script>
+
 </body>
 </html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-grid/subgrid/line-names-004.html b/third_party/blink/web_tests/external/wpt/css/css-grid/subgrid/line-names-004.html
index 0d2a9687..84f727d2 100644
--- a/third_party/blink/web_tests/external/wpt/css/css-grid/subgrid/line-names-004.html
+++ b/third_party/blink/web_tests/external/wpt/css/css-grid/subgrid/line-names-004.html
@@ -50,5 +50,20 @@
   </div>
 </div>
 
+<script>
+  const expectedResults = [
+    "subgrid [x] [b] [] [] [b]",
+  ];
+  [...document.querySelectorAll('.subgrid')].forEach(function(subgrid, i) {
+    let actual = window.getComputedStyle(subgrid)['grid-template-columns'];
+    let expected = expectedResults[i];
+    if (actual != expected) {
+      let err = "Unexpected getComputedStyle value for subgrid " + i + " with className '" + subgrid.className + "':" +
+      " Actual: \"" + actual + "\", Expected: \"" + expected + "\"";
+      document.body.appendChild(document.createTextNode(err));
+    }
+  });
+</script>
+
 </body>
 </html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-grid/subgrid/line-names-005.html b/third_party/blink/web_tests/external/wpt/css/css-grid/subgrid/line-names-005.html
index 43bde0b..d7bcf7a 100644
--- a/third_party/blink/web_tests/external/wpt/css/css-grid/subgrid/line-names-005.html
+++ b/third_party/blink/web_tests/external/wpt/css/css-grid/subgrid/line-names-005.html
@@ -151,5 +151,32 @@
 </div>
 </div>
 
+<script>
+  const expectedResults = [
+    "subgrid [] [] [] [] [] [] [] [] []",
+    "subgrid [] [] [] [] [] [] [] [] []",
+    "subgrid [] [] [] [] [] [] [] [] []",
+    "subgrid [] [] [] [b] [] [] [] [] [] [] []",
+    "subgrid [] [] [] [b] [] [] [] [] [] [] []",
+    "subgrid [] [] [] [b] [] [] [] [] [] [] []",
+    "subgrid [] [] [] [b] [] [] [] [] [] [] []",
+    "subgrid [] [] [] [b] [] [] [] [] [] [] []",
+    "subgrid [] [] [] [b] [] [] [] [] [] [] []",
+    "subgrid [] [] [] [] [] [] [] [] [] [] []",
+    "subgrid [] [] [] [] [] []",
+    "subgrid [] [] [] [] [] [] [] [] [] [] []",
+    "subgrid [] [] [] [] [] []",
+  ];
+  [...document.querySelectorAll('div > div')].forEach(function(subgrid, i) {
+    let actual = window.getComputedStyle(subgrid)['grid-template-columns'];
+    let expected = expectedResults[i];
+    if (actual != expected) {
+      let err = "Unexpected getComputedStyle value for subgrid " + i + " with className '" + subgrid.className + "':" +
+      " Actual: \"" + actual + "\", Expected: \"" + expected + "\"";
+      document.body.appendChild(document.createTextNode(err));
+    }
+  });
+</script>
+
 </body>
 </html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-grid/subgrid/repeat-auto-fill-001.html b/third_party/blink/web_tests/external/wpt/css/css-grid/subgrid/repeat-auto-fill-001.html
index 643cde3..e17fc82 100644
--- a/third_party/blink/web_tests/external/wpt/css/css-grid/subgrid/repeat-auto-fill-001.html
+++ b/third_party/blink/web_tests/external/wpt/css/css-grid/subgrid/repeat-auto-fill-001.html
@@ -390,5 +390,44 @@
   <div style="grid-column:y -5"></div>
 </div></div>
 
+<script>
+  const expectedResults = [
+    "subgrid [z] [z] [z] [z] [z]",
+    "subgrid [x] [z] [z] [z] [z]",
+    "subgrid [x] [x] [z] [z] [z]",
+    "subgrid [x] [x] [x] [z] [z]",
+    "subgrid [x] [x] [x] [x] [z]",
+    "subgrid [x] [x] [x] [x] [x]",
+    "subgrid [x] [x] [x] [x] [x]",
+    "subgrid [x] [x] [x] [x] [x]",
+    "subgrid [x] [x] [x] [x] [x]",
+    "subgrid [x] [x] [x] [x] [x]",
+    "subgrid [y] [z] [z] [z] [z]",
+    "subgrid [x] [y] [z] [z] [z]",
+    "subgrid [x] [x] [y] [z] [z]",
+    "subgrid [x] [x] [x] [y] [z]",
+    "subgrid [x] [x] [x] [x] [y]",
+    "subgrid [y] [y] [z] [z] [z]",
+    "subgrid [x] [y] [y] [z] [z]",
+    "subgrid [x] [x] [y] [y] [z]",
+    "subgrid [x] [x] [x] [y] [y]",
+    "subgrid [y] [y] [y] [z] [z]",
+    "subgrid [x] [y] [y] [y] [z]",
+    "subgrid [x] [x] [y] [y] [y]",
+    "subgrid [y] [y] [y] [y] [z]",
+    "subgrid [x] [y] [y] [y] [y]",
+    "subgrid [y] [y] [y] [y] [y]",
+  ];
+  [...document.querySelectorAll('.subgrid')].forEach(function(subgrid, i) {
+    let actual = window.getComputedStyle(subgrid)['grid-template-columns'];
+    let expected = expectedResults[i];
+    if (actual != expected) {
+      let err = "Unexpected getComputedStyle value for subgrid " + i + " with className '" + subgrid.className + "':" +
+      " Actual: \"" + actual + "\", Expected: \"" + expected + "\"";
+      document.body.appendChild(document.createTextNode(err));
+    }
+  });
+</script>
+
 </body>
 </html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-grid/subgrid/repeat-auto-fill-006.html b/third_party/blink/web_tests/external/wpt/css/css-grid/subgrid/repeat-auto-fill-006.html
index 4a16d8e..8d4213c 100644
--- a/third_party/blink/web_tests/external/wpt/css/css-grid/subgrid/repeat-auto-fill-006.html
+++ b/third_party/blink/web_tests/external/wpt/css/css-grid/subgrid/repeat-auto-fill-006.html
@@ -165,5 +165,40 @@
   </div>
 </div>
 
+<script>
+  const expectedResults = [
+    "subgrid [] [] [] [] [x]",
+    "subgrid [] [] [] [] [x]",
+    "subgrid [] [] [] [] []",
+    "subgrid [x] [x] [] [] [x]",
+    "subgrid [x] [x] [] [x] []",
+    "subgrid [x] [x] [x] [x] []",
+    "subgrid [] [] [] [] []",
+    "subgrid [] [] [] [x] []",
+    "subgrid [] [] [] [] [x]",
+    "subgrid [] [] [] [] []",
+    "subgrid [] [] [] [] []",
+    "subgrid [] [] [] [] [x]",
+    "subgrid [x] [x] [] [] [x]",
+    "subgrid [x] [x] [x] [] []",
+    "subgrid [] [] [] [] [x]",
+    "subgrid [] [] [] [] [x]",
+    "subgrid [] [] [] [] [x]",
+    "subgrid [] [] [] [] [x]",
+    "subgrid [] [] [] [] [x]",
+    "subgrid [] [] [] [] [x]",
+    "subgrid [] [] [] [] []",
+  ];
+  [...document.querySelectorAll('.subgrid')].forEach(function(subgrid, i) {
+    let actual = window.getComputedStyle(subgrid)['grid-template-rows'];
+    let expected = expectedResults[i];
+    if (actual != expected) {
+      let err = "Unexpected getComputedStyle value for subgrid " + i + " with className '" + subgrid.className + "':" +
+      " Actual: \"" + actual + "\", Expected: \"" + expected + "\"";
+      document.body.appendChild(document.createTextNode(err));
+    }
+  });
+</script>
+
 </body>
 </html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-logical/parsing/inset-block-inline-shorthand-expected.txt b/third_party/blink/web_tests/external/wpt/css/css-logical/parsing/inset-block-inline-shorthand-expected.txt
new file mode 100644
index 0000000..b644542
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-logical/parsing/inset-block-inline-shorthand-expected.txt
@@ -0,0 +1,4 @@
+This is a testharness.js-based test.
+FAIL CSS Logical Properties and Values: inset-block and inset-inline set longhands Uncaught ReferenceError: test_shorthand_value is not defined
+Harness: the test ran to completion.
+
diff --git a/third_party/blink/web_tests/external/wpt/css/css-logical/parsing/inset-block-inline-shorthand.html b/third_party/blink/web_tests/external/wpt/css/css-logical/parsing/inset-block-inline-shorthand.html
new file mode 100644
index 0000000..3b2ce6c
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-logical/parsing/inset-block-inline-shorthand.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Logical Properties and Values: inset-block and inset-inline set longhands</title>
+<link rel="help" href="https://drafts.csswg.org/css-logical/#propdef-inset-block">
+<meta name="assert" content="inset-block, inset-inline support the full grammar '<'top'>{1,2}'.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+</head>
+<body>
+<script>
+test_shorthand_value('inset-block', '10px', {
+  'inset-block-start': '10px',
+  'inset-block-end': '10px'
+});
+
+test_shorthand_value('inset-block', '20% auto', {
+  'inset-block-start': '20%',
+  'inset-block-end': 'auto'
+});
+
+test_shorthand_value('inset-inline', '30%', {
+  'inset-inline-start': '30%',
+  'inset-inline-end': '30%'
+});
+
+test_shorthand_value('inset-inline', 'auto 40px', {
+  'inset-inline-start': 'auto',
+  'inset-inline-end': '40px'
+});
+</script>
+</body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-logical/parsing/margin-block-inline-shorthand.html b/third_party/blink/web_tests/external/wpt/css/css-logical/parsing/margin-block-inline-shorthand.html
new file mode 100644
index 0000000..9cdae5740
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-logical/parsing/margin-block-inline-shorthand.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Logical Properties and Values: margin-block and margin-inline sets longhands</title>
+<link rel="help" href="https://drafts.csswg.org/css-logical/#propdef-margin-block">
+<meta name="assert" content="margin-block, margin-inline support the full grammar '<'margin-top'>{1,2}'.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/shorthand-testcommon.js"></script>
+</head>
+<body>
+<script>
+test_shorthand_value('margin-block', '10px', {
+  'margin-block-start': '10px',
+  'margin-block-end': '10px'
+});
+
+test_shorthand_value('margin-block', '20% auto', {
+  'margin-block-start': '20%',
+  'margin-block-end': 'auto'
+});
+
+test_shorthand_value('margin-inline', '30%', {
+  'margin-inline-start': '30%',
+  'margin-inline-end': '30%'
+});
+
+test_shorthand_value('margin-inline', 'auto 40px', {
+  'margin-inline-start': 'auto',
+  'margin-inline-end': '40px'
+});
+</script>
+</body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-logical/parsing/padding-block-inline-shorthand.html b/third_party/blink/web_tests/external/wpt/css/css-logical/parsing/padding-block-inline-shorthand.html
new file mode 100644
index 0000000..d0811c2
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-logical/parsing/padding-block-inline-shorthand.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Logical Properties and Values: padding-block and padding-inline set longhands</title>
+<link rel="help" href="https://drafts.csswg.org/css-logical/#propdef-padding-block">
+<meta name="assert" content="padding-block, padding-inline support the full grammar '<'padding-top'>{1,2}'.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/shorthand-testcommon.js"></script>
+</head>
+<body>
+<script>
+test_shorthand_value('padding-block', '0% 10px', {
+  'padding-block-start': '0%',
+  'padding-block-end': '10px'
+});
+
+test_shorthand_value('padding-block', '20%', {
+  'padding-block-start': '20%',
+  'padding-block-end': '20%'
+});
+
+test_shorthand_value('padding-inline', '10px 30%', {
+  'padding-inline-start': '10px',
+  'padding-inline-end': '30%'
+});
+
+test_shorthand_value('padding-inline', '0%', {
+  'padding-inline-start': '0%',
+  'padding-inline-end': '0%'
+});
+</script>
+</body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-scroll-snap/parsing/scroll-margin-block-inline-shorthand.html b/third_party/blink/web_tests/external/wpt/css/css-scroll-snap/parsing/scroll-margin-block-inline-shorthand.html
new file mode 100644
index 0000000..04e1d42
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-scroll-snap/parsing/scroll-margin-block-inline-shorthand.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Scroll Snap Test: scroll-margin-block, scroll-margin-inline set longhands</title>
+<link rel="help" href="https://drafts.csswg.org/css-scroll-snap-1/#margin-longhands-logical">
+<meta name="assert" content="scroll-margin-block, scroll-margin-inline support the full grammar '<length>{1,2}'.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/shorthand-testcommon.js"></script>
+</head>
+<body>
+<script>
+test_shorthand_value('scroll-margin-block', '10px 20px', {
+  'scroll-margin-block-start': '10px',
+  'scroll-margin-block-end': '20px'
+});
+
+test_shorthand_value('scroll-margin-block', '30px', {
+  'scroll-margin-block-start': '30px',
+  'scroll-margin-block-end': '30px'
+});
+
+test_shorthand_value('scroll-margin-inline', '50px 60px', {
+  'scroll-margin-inline-start': '50px',
+  'scroll-margin-inline-end': '60px'
+});
+
+test_shorthand_value('scroll-margin-inline', '-40px', {
+  'scroll-margin-inline-start': '-40px',
+  'scroll-margin-inline-end': '-40px'
+});
+</script>
+</body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-scroll-snap/parsing/scroll-margin-shorthand.html b/third_party/blink/web_tests/external/wpt/css/css-scroll-snap/parsing/scroll-margin-shorthand.html
new file mode 100644
index 0000000..96a459522
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-scroll-snap/parsing/scroll-margin-shorthand.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Scroll Snap Test: scroll-margin sets longhands</title>
+<link rel="help" href="https://drafts.csswg.org/css-scroll-snap-1/#propdef-scroll-margin">
+<meta name="assert" content="scroll-margin supports the full grammar '<length>{1,4}'.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/shorthand-testcommon.js"></script>
+</head>
+<body>
+<script>
+test_shorthand_value('scroll-margin', '10px', {
+  'scroll-margin-top': '10px',
+  'scroll-margin-right': '10px',
+  'scroll-margin-bottom': '10px',
+  'scroll-margin-left': '10px'
+});
+
+test_shorthand_value('scroll-margin', '30px 20px', {
+  'scroll-margin-top': '30px',
+  'scroll-margin-right': '20px',
+  'scroll-margin-bottom': '30px',
+  'scroll-margin-left': '20px'
+});
+
+test_shorthand_value('scroll-margin', '1px 2px 3px', {
+  'scroll-margin-top': '1px',
+  'scroll-margin-right': '2px',
+  'scroll-margin-bottom': '3px',
+  'scroll-margin-left': '2px'
+});
+
+test_shorthand_value('scroll-margin', '-1px 2px 3px 0', {
+  'scroll-margin-top': '-1px',
+  'scroll-margin-right': '2px',
+  'scroll-margin-bottom': '3px',
+  'scroll-margin-left': '0px'
+});
+</script>
+</body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-scroll-snap/parsing/scroll-padding-block-inline-shorthand.html b/third_party/blink/web_tests/external/wpt/css/css-scroll-snap/parsing/scroll-padding-block-inline-shorthand.html
new file mode 100644
index 0000000..491cfa9
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-scroll-snap/parsing/scroll-padding-block-inline-shorthand.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Scroll Snap Test: scroll-padding-block, scroll-padding-inline set longhands</title>
+<link rel="help" href="https://drafts.csswg.org/css-scroll-snap-1/#padding-longhands-logical">
+<meta name="assert" content="scroll-padding-block, scroll-padding-inline support the full grammar '[ auto | <length-percentage> ]{1,2}'.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/shorthand-testcommon.js"></script>
+</head>
+<body>
+<script>
+test_shorthand_value('scroll-padding-block', 'auto 10px', {
+  'scroll-padding-block-start': 'auto',
+  'scroll-padding-block-end': '10px'
+});
+
+test_shorthand_value('scroll-padding-block', '20%', {
+  'scroll-padding-block-start': '20%',
+  'scroll-padding-block-end': '20%'
+});
+
+test_shorthand_value('scroll-padding-inline', '10px auto', {
+  'scroll-padding-inline-start': '10px',
+  'scroll-padding-inline-end': 'auto'
+});
+
+test_shorthand_value('scroll-padding-inline', '0%', {
+  'scroll-padding-inline-start': '0%',
+  'scroll-padding-inline-end': '0%'
+});
+</script>
+</body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-scroll-snap/parsing/scroll-padding-shorthand.html b/third_party/blink/web_tests/external/wpt/css/css-scroll-snap/parsing/scroll-padding-shorthand.html
new file mode 100644
index 0000000..2162c7f1
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-scroll-snap/parsing/scroll-padding-shorthand.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Scroll Snap Test: scroll-padding sets longhands</title>
+<link rel="help" href="https://drafts.csswg.org/css-scroll-snap-1/#propdef-scroll-padding">
+<meta name="assert" content="scroll-padding supports the full grammar '[ <length-percentage> | auto ]{1,4}'.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/shorthand-testcommon.js"></script>
+</head>
+<body>
+<script>
+test_shorthand_value('scroll-padding', '10px', {
+  'scroll-padding-top': '10px',
+  'scroll-padding-right': '10px',
+  'scroll-padding-bottom': '10px',
+  'scroll-padding-left': '10px'
+});
+
+test_shorthand_value('scroll-padding', 'auto 20px', {
+  'scroll-padding-top': 'auto',
+  'scroll-padding-right': '20px',
+  'scroll-padding-bottom': 'auto',
+  'scroll-padding-left': '20px'
+});
+
+test_shorthand_value('scroll-padding', '1px 2px 3px', {
+  'scroll-padding-top': '1px',
+  'scroll-padding-right': '2px',
+  'scroll-padding-bottom': '3px',
+  'scroll-padding-left': '2px'
+});
+
+test_shorthand_value('scroll-padding', '1% 2px 3px 0', {
+  'scroll-padding-top': '1%',
+  'scroll-padding-right': '2px',
+  'scroll-padding-bottom': '3px',
+  'scroll-padding-left': '0px'
+});
+</script>
+</body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-tables/background-clip-001.html b/third_party/blink/web_tests/external/wpt/css/css-tables/background-clip-001.html
new file mode 100644
index 0000000..b4caf5f0
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-tables/background-clip-001.html
@@ -0,0 +1,43 @@
+<!doctype html>
+<title>Collapsed borders and background-clip</title>
+<link rel="author" title="David Grogan" href="mailto:dgrogan@chromium.org">
+<link rel="help" href="https://drafts.csswg.org/css-tables-3/#in-collapsed-borders-mode">
+<link rel="help" href="https://drafts.csswg.org/css-backgrounds-3/#the-background-clip">
+<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
+<link rel="bookmark" href="https://crbug.com/1008400" />
+<meta name="flags" content="" />
+<meta name="assert" content="background-clip on a cell with collapsed borders is calculated correctly" />
+
+<style>
+table {
+  border-collapse: collapse;
+  /* The properties after the blank line are not the behavior under test. */
+
+  background: red;
+}
+
+td {
+  background-clip: content-box;
+  border: 30px solid green;
+
+  background-color: green;
+  padding: 0px;
+  line-height: 0px;
+}
+
+.cell-content {
+  display: inline-block;
+
+  height: 40px;
+  width: 40px;
+}
+</style>
+<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+<table>
+  <tr>
+    <td>
+      <span class="cell-content"></span>
+    </td>
+  </tr>
+</table>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text/parsing/text-align-computed.html b/third_party/blink/web_tests/external/wpt/css/css-text/parsing/text-align-computed.html
new file mode 100644
index 0000000..30c231b
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-text/parsing/text-align-computed.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Text Module Test: getComputedStyle().textAlign</title>
+<link rel="help" href="https://www.w3.org/TR/css-text-3/#propdef-text-align">
+<meta name="assert" content="text-align computed value is as specified.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/computed-testcommon.js"></script>
+<style>
+  #container {
+    text-align: center;
+  }
+</style>
+</head>
+<body>
+<div id="container">
+  <div id="target"></div>
+</div>
+<script>
+test_computed_value("text-align", "start");
+test_computed_value("text-align", "end");
+test_computed_value("text-align", "left");
+test_computed_value("text-align", "right");
+test_computed_value("text-align", "center");
+test_computed_value("text-align", "justify");
+test_computed_value("text-align", "match-parent", "center");
+
+// TODO: Test justify-all
+</script>
+</body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-writing-modes/slr-alongside-vlr-floats-ref.html b/third_party/blink/web_tests/external/wpt/css/css-writing-modes/slr-alongside-vlr-floats-ref.html
new file mode 100644
index 0000000..71a4c4c
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-writing-modes/slr-alongside-vlr-floats-ref.html
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<html>
+  <title>CSS Writing Modes Test Reference: positioning of a sideways-lr block alongside vertical-lr floats</title>
+
+  <link rel="author" title="Ting-Yu Lin" href="tlin@mozilla.com">
+  <link rel="author" title="Mozilla" href="https://www.mozilla.org/">
+  <meta content="image" name="flags">
+
+  <style>
+  html {
+    writing-mode: vertical-lr;
+  }
+
+  div {
+    block-size: 100px;
+  }
+
+  div#first-olive-float {
+    background-color: olive;
+    float: left;
+    inline-size: 50%;
+  }
+
+  div#second-blue-float-with-clear {
+    background-color: blue;
+    clear: left;
+    float: left;
+    inline-size: 25%;
+  }
+
+  div#orange-bfc {
+    background-color: orange;
+    inline-size: 75%;
+    display: flow-root; /* Establishes a block formatting context */
+  }
+  </style>
+
+  <body>
+    <p><img src="support/ortho-htb-alongside-vrl-floats-002-exp-res.png" width="300" height="36" alt="Image download support must be enabled"></p>
+    <!--
+         The image says:
+         Test passes if the orange rectangle
+         is below the blue rectangle.
+    -->
+
+    <div id="first-olive-float">&nbsp;</div>
+    <div id="second-blue-float-with-clear">&nbsp;</div>
+    <div id="orange-bfc">&nbsp;</div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-writing-modes/slr-alongside-vlr-floats.html b/third_party/blink/web_tests/external/wpt/css/css-writing-modes/slr-alongside-vlr-floats.html
new file mode 100644
index 0000000..76fb454
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-writing-modes/slr-alongside-vlr-floats.html
@@ -0,0 +1,56 @@
+<!DOCTYPE html>
+<html>
+  <title>CSS Writing Modes Test: positioning of a sideways-lr block alongside vertical-lr floats</title>
+
+  <link rel="author" title="Ting-Yu Lin" href="tlin@mozilla.com">
+  <link rel="author" title="Mozilla" href="https://www.mozilla.org/">
+  <link rel="help" href="https://drafts.csswg.org/css-writing-modes/#block-flow" title="3.2. Block Flow Direction: the writing-mode property">
+  <link rel="match" href="slr-alongside-vlr-floats-ref.html">
+
+  <!-- This test is adapted from Gérard Talbot's "ortho-htb-alongside-vrl-floats-014.xht" -->
+
+  <meta content="image" name="flags">
+  <meta content="This test verifies that the orange block box, which creates a new block formatting context, should flow next to the earliest float that offers sufficient space in the inline-direction." name="assert">
+
+  <style>
+  html {
+    writing-mode: vertical-lr;
+  }
+
+  div {
+    block-size: 100px;
+  }
+
+  div#first-olive-float {
+    background-color: olive;
+    float: left;
+    inline-size: 50%;
+  }
+
+  div#second-blue-float-with-clear {
+    background-color: blue;
+    clear: left;
+    float: left;
+    inline-size: 25%;
+  }
+
+  div#orange-bfc {
+    background-color: orange;
+    inline-size: 75%;
+    writing-mode: sideways-lr; /* Same block direction as <html> */
+  }
+  </style>
+
+  <body>
+    <p><img src="support/ortho-htb-alongside-vrl-floats-002-exp-res.png" width="300" height="36" alt="Image download support must be enabled"></p>
+    <!--
+         The image says:
+         Test passes if the orange rectangle
+         is below the blue rectangle.
+    -->
+
+    <div id="first-olive-float">&nbsp;</div>
+    <div id="second-blue-float-with-clear">&nbsp;</div>
+    <div id="orange-bfc">&nbsp;</div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-writing-modes/srl-alongside-vrl-floats-ref.html b/third_party/blink/web_tests/external/wpt/css/css-writing-modes/srl-alongside-vrl-floats-ref.html
new file mode 100644
index 0000000..cd6ee5e91
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-writing-modes/srl-alongside-vrl-floats-ref.html
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<html>
+  <title>CSS Writing Modes Test Reference: positioning of a sideways-rl block alongside vertical-rl floats</title>
+
+  <link rel="author" title="Ting-Yu Lin" href="tlin@mozilla.com">
+  <link rel="author" title="Mozilla" href="https://www.mozilla.org/">
+  <meta content="image" name="flags">
+
+  <style>
+  html {
+    writing-mode: vertical-rl;
+  }
+
+  div {
+    block-size: 100px;
+  }
+
+  div#first-olive-float {
+    background-color: olive;
+    float: left;
+    inline-size: 50%;
+  }
+
+  div#second-blue-float-with-clear {
+    background-color: blue;
+    clear: left;
+    float: left;
+    inline-size: 25%;
+  }
+
+  div#orange-bfc {
+    background-color: orange;
+    inline-size: 75%;
+    display: flow-root; /* Establishes a block formatting context */
+  }
+  </style>
+
+  <body>
+    <p><img src="support/ortho-htb-alongside-vrl-floats-002-exp-res.png" width="300" height="36" alt="Image download support must be enabled"></p>
+    <!--
+         The image says:
+         Test passes if the orange rectangle
+         is below the blue rectangle.
+    -->
+
+    <div id="first-olive-float">&nbsp;</div>
+    <div id="second-blue-float-with-clear">&nbsp;</div>
+    <div id="orange-bfc">&nbsp;</div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-writing-modes/srl-alongside-vrl-floats.html b/third_party/blink/web_tests/external/wpt/css/css-writing-modes/srl-alongside-vrl-floats.html
new file mode 100644
index 0000000..7b3ee59
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-writing-modes/srl-alongside-vrl-floats.html
@@ -0,0 +1,56 @@
+<!DOCTYPE html>
+<html>
+  <title>CSS Writing Modes Test: positioning of a sideways-rl block alongside vertical-rl floats</title>
+
+  <link rel="author" title="Ting-Yu Lin" href="tlin@mozilla.com">
+  <link rel="author" title="Mozilla" href="https://www.mozilla.org/">
+  <link rel="help" href="https://drafts.csswg.org/css-writing-modes/#block-flow" title="3.2. Block Flow Direction: the writing-mode property">
+  <link rel="match" href="srl-alongside-vrl-floats-ref.html">
+
+  <!-- This test is adapted from Gérard Talbot's "ortho-htb-alongside-vrl-floats-014.xht" -->
+
+  <meta content="image" name="flags">
+  <meta content="This test verifies that the orange block box, which creates a new block formatting context, should flow next to the earliest float that offers sufficient space in the inline-direction." name="assert">
+
+  <style>
+  html {
+    writing-mode: vertical-rl;
+  }
+
+  div {
+    block-size: 100px;
+  }
+
+  div#first-olive-float {
+    background-color: olive;
+    float: left;
+    inline-size: 50%;
+  }
+
+  div#second-blue-float-with-clear {
+    background-color: blue;
+    clear: left;
+    float: left;
+    inline-size: 25%;
+  }
+
+  div#orange-bfc {
+    background-color: orange;
+    inline-size: 75%;
+    writing-mode: sideways-rl; /* Same block direction as <html> */
+  }
+  </style>
+
+  <body>
+    <p><img src="support/ortho-htb-alongside-vrl-floats-002-exp-res.png" width="300" height="36" alt="Image download support must be enabled"></p>
+    <!--
+         The image says:
+         Test passes if the orange rectangle
+         is below the blue rectangle.
+    -->
+
+    <div id="first-olive-float">&nbsp;</div>
+    <div id="second-blue-float-with-clear">&nbsp;</div>
+    <div id="orange-bfc">&nbsp;</div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-writing-modes/vlr-text-orientation-sideways-alongside-vlr-floats-ref.html b/third_party/blink/web_tests/external/wpt/css/css-writing-modes/vlr-text-orientation-sideways-alongside-vlr-floats-ref.html
new file mode 100644
index 0000000..fc4bbee
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-writing-modes/vlr-text-orientation-sideways-alongside-vlr-floats-ref.html
@@ -0,0 +1,42 @@
+<!DOCTYPE html>
+<html>
+  <title>CSS Writing Modes Test Reference: positioning of a text-orientation:sideways block alongside vertical-lr floats</title>
+
+  <link rel="author" title="Ting-Yu Lin" href="tlin@mozilla.com">
+  <link rel="author" title="Mozilla" href="https://www.mozilla.org/">
+
+  <style>
+  html {
+    writing-mode: vertical-lr;
+  }
+
+  div {
+    block-size: 100px;
+  }
+
+  div#first-olive-float {
+    background-color: olive;
+    float: left;
+    inline-size: 50%;
+  }
+
+  div#second-blue-float-with-clear {
+    background-color: blue;
+    clear: left;
+    float: left;
+    inline-size: 25%;
+  }
+
+  div#orange-bfc {
+    background-color: orange;
+    inline-size: 75%;
+    writing-mode: vertical-lr;
+  }
+  </style>
+
+  <body>
+    <div id="first-olive-float">&nbsp;</div>
+    <div id="second-blue-float-with-clear">&nbsp;</div>
+    <div id="orange-bfc">&nbsp;</div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-writing-modes/vlr-text-orientation-sideways-alongside-vlr-floats.html b/third_party/blink/web_tests/external/wpt/css/css-writing-modes/vlr-text-orientation-sideways-alongside-vlr-floats.html
new file mode 100644
index 0000000..f605f20a
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-writing-modes/vlr-text-orientation-sideways-alongside-vlr-floats.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html>
+  <title>CSS Writing Modes Test: positioning of a text-orientation:sideways block alongside vertical-lr floats</title>
+
+  <link rel="author" title="Ting-Yu Lin" href="tlin@mozilla.com">
+  <link rel="author" title="Mozilla" href="https://www.mozilla.org/">
+  <link rel="help" href="https://drafts.csswg.org/css-writing-modes/#block-flow" title="3.2. Block Flow Direction: the writing-mode property">
+  <link rel="match" href="vlr-text-orientation-sideways-alongside-vlr-floats-ref.html">
+
+  <!-- This test is adapted from Gérard Talbot's "ortho-htb-alongside-vrl-floats-014.xht" -->
+
+  <meta content="This test verifies that the orange block box, which should not create a new block formatting context, should flow next to the first float." name="assert">
+
+  <style>
+  html {
+    writing-mode: vertical-lr;
+  }
+
+  div {
+    block-size: 100px;
+  }
+
+  div#first-olive-float {
+    background-color: olive;
+    float: left;
+    inline-size: 50%;
+  }
+
+  div#second-blue-float-with-clear {
+    background-color: blue;
+    clear: left;
+    float: left;
+    inline-size: 25%;
+  }
+
+  div#orange-bfc {
+    background-color: orange;
+    inline-size: 75%;
+    writing-mode: vertical-lr;
+    text-orientation: sideways; /* Should not create block formatting context */
+  }
+  </style>
+
+  <body>
+    <div id="first-olive-float">&nbsp;</div>
+    <div id="second-blue-float-with-clear">&nbsp;</div>
+    <div id="orange-bfc">&nbsp;</div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-writing-modes/vrl-text-orientation-sideways-alongside-vrl-floats-ref.html b/third_party/blink/web_tests/external/wpt/css/css-writing-modes/vrl-text-orientation-sideways-alongside-vrl-floats-ref.html
new file mode 100644
index 0000000..218d5ab
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-writing-modes/vrl-text-orientation-sideways-alongside-vrl-floats-ref.html
@@ -0,0 +1,42 @@
+<!DOCTYPE html>
+<html>
+  <title>CSS Writing Modes Test Reference: positioning of a text-orientation:sideways block alongside vertical-rl floats</title>
+
+  <link rel="author" title="Ting-Yu Lin" href="tlin@mozilla.com">
+  <link rel="author" title="Mozilla" href="https://www.mozilla.org/">
+
+  <style>
+  html {
+    writing-mode: vertical-rl;
+  }
+
+  div {
+    block-size: 100px;
+  }
+
+  div#first-olive-float {
+    background-color: olive;
+    float: left;
+    inline-size: 50%;
+  }
+
+  div#second-blue-float-with-clear {
+    background-color: blue;
+    clear: left;
+    float: left;
+    inline-size: 25%;
+  }
+
+  div#orange-bfc {
+    background-color: orange;
+    inline-size: 75%;
+    writing-mode: vertical-rl;
+  }
+  </style>
+
+  <body>
+    <div id="first-olive-float">&nbsp;</div>
+    <div id="second-blue-float-with-clear">&nbsp;</div>
+    <div id="orange-bfc">&nbsp;</div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-writing-modes/vrl-text-orientation-sideways-alongside-vrl-floats.html b/third_party/blink/web_tests/external/wpt/css/css-writing-modes/vrl-text-orientation-sideways-alongside-vrl-floats.html
new file mode 100644
index 0000000..7102210
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-writing-modes/vrl-text-orientation-sideways-alongside-vrl-floats.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html>
+  <title>CSS Writing Modes Test: positioning of a text-orientation:sideways block alongside vertical-rl floats</title>
+
+  <link rel="author" title="Ting-Yu Lin" href="tlin@mozilla.com">
+  <link rel="author" title="Mozilla" href="https://www.mozilla.org/">
+  <link rel="help" href="https://drafts.csswg.org/css-writing-modes/#block-flow" title="3.2. Block Flow Direction: the writing-mode property">
+  <link rel="match" href="vrl-text-orientation-sideways-alongside-vrl-floats-ref.html">
+
+  <!-- This test is adapted from Gérard Talbot's "ortho-htb-alongside-vrl-floats-014.xht" -->
+
+  <meta content="This test verifies that the orange block box, which should not create a new block formatting context, should flow next to the first float." name="assert">
+
+  <style>
+  html {
+    writing-mode: vertical-rl;
+  }
+
+  div {
+    block-size: 100px;
+  }
+
+  div#first-olive-float {
+    background-color: olive;
+    float: left;
+    inline-size: 50%;
+  }
+
+  div#second-blue-float-with-clear {
+    background-color: blue;
+    clear: left;
+    float: left;
+    inline-size: 25%;
+  }
+
+  div#orange-bfc {
+    background-color: orange;
+    inline-size: 75%;
+    writing-mode: vertical-rl;
+    text-orientation: sideways; /* Should not create block formatting context */
+  }
+  </style>
+
+  <body>
+    <div id="first-olive-float">&nbsp;</div>
+    <div id="second-blue-float-with-clear">&nbsp;</div>
+    <div id="orange-bfc">&nbsp;</div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-writing-modes/wm-propagation-body-dynamic-change-001.html b/third_party/blink/web_tests/external/wpt/css/css-writing-modes/wm-propagation-body-dynamic-change-001.html
new file mode 100644
index 0000000..02af093
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-writing-modes/wm-propagation-body-dynamic-change-001.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<html>
+  <meta charset="utf-8">
+  <title>CSS-Writing Modes Test: propagation of the writing-mode property from body to root</title>
+  <link rel="author" title="Ting-Yu Lin" href="tlin@mozilla.com">
+  <link rel="author" title="Mozilla" href="http://www.mozilla.org/">
+  <link rel=help href="https://drafts.csswg.org/css-writing-modes-3/#principal-flow">
+  <link rel="match" href="block-flow-direction-025-ref.xht">
+  <meta name=assert content="The writing mode of the body must be propagated to the root with the dynamic change.">
+
+  <script>
+  function runTest() {
+    document.body.offsetHeight;
+    document.body.style.writingMode = "vertical-rl";
+  }
+  </script>
+
+  <style>
+  div {
+    background-color: blue;
+    height: 100px;
+    width: 100px;
+  }
+  </style>
+
+  <body onload="runTest();">
+    <div></div>
+
+    <p><img src="support/block-flow-direction-025-exp-res.png" width="359" height="36" alt="Image download support must be enabled"></p>
+    <!--
+         The image says:
+         Test passes if there is a blue square in the
+         <strong>upper-right corner</strong> of the page.
+    -->
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-writing-modes/wm-propagation-body-dynamic-change-002-ref.html b/third_party/blink/web_tests/external/wpt/css/css-writing-modes/wm-propagation-body-dynamic-change-002-ref.html
new file mode 100644
index 0000000..d7ddfd5
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-writing-modes/wm-propagation-body-dynamic-change-002-ref.html
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html>
+  <meta charset="utf-8">
+  <title>CSS-Writing Modes Test: propagation of the writing-mode property from body to root</title>
+  <link rel="author" title="Ting-Yu Lin" href="tlin@mozilla.com">
+  <link rel="author" title="Mozilla" href="http://www.mozilla.org/">
+
+  <style>
+  html {
+    writing-mode: vertical-rl;
+  }
+
+  main {
+    writing-mode: horizontal-tb;
+    inline-size: 100px;
+  }
+
+  div {
+    background-color: blue;
+    height: 100px;
+    width: 100px;
+  }
+  </style>
+
+  <main>
+    <div></div>
+    <p>Test passes if you see a blue square in the upper-right corner of the page</p>
+  </main>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-writing-modes/wm-propagation-body-dynamic-change-002.html b/third_party/blink/web_tests/external/wpt/css/css-writing-modes/wm-propagation-body-dynamic-change-002.html
new file mode 100644
index 0000000..1f485f6
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-writing-modes/wm-propagation-body-dynamic-change-002.html
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<html>
+  <meta charset="utf-8">
+  <title>CSS-Writing Modes Test: propagation of the writing-mode property from body to root</title>
+  <link rel="author" title="Ting-Yu Lin" href="tlin@mozilla.com">
+  <link rel="author" title="Mozilla" href="http://www.mozilla.org/">
+  <link rel=help href="https://drafts.csswg.org/css-writing-modes-3/#principal-flow">
+  <link rel="match" href="wm-propagation-body-dynamic-change-002-ref.html">
+  <meta name=assert content="The writing mode of the newly inserted body must be propagated to the root.">
+
+  <script>
+  function runTest() {
+    document.body.offsetHeight;
+
+    var newBody = document.createElement("body");
+    newBody.id = "new-body";
+    var oldBody = document.getElementById("old-body");
+
+    /* Insert a new <body> before the old one, which should become the primary <body>. */
+    document.documentElement.insertBefore(newBody, oldBody);
+  }
+  </script>
+
+  <style>
+  #new-body {
+    /* This writing-mode should propagate to the root element. */
+    writing-mode: vertical-rl;
+    margin: 0;
+  }
+
+  #old-body {
+    writing-mode: horizontal-tb;
+    inline-size: 100px;
+  }
+
+  div {
+    background-color: blue;
+    height: 100px;
+    width: 100px;
+  }
+  </style>
+
+  <body id="old-body" onload="runTest();">
+    <div></div>
+    <p>Test passes if you see a blue square in the upper-right corner of the page</p>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/css/cssom-view/client-props-inline-list-item.html b/third_party/blink/web_tests/external/wpt/css/cssom-view/client-props-inline-list-item.html
new file mode 100644
index 0000000..725bb78
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/cssom-view/client-props-inline-list-item.html
@@ -0,0 +1,26 @@
+<!doctype html>
+<title>client* returns the same for non-replaced inlines regardless of list-item-ness</title>
+<link rel="help" href="https://drafts.csswg.org/cssom-view/#extension-to-the-element-interface">
+<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1581467">
+<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
+<link rel="author" title="Mozilla" href="https://mozilla.org">
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<style>
+  .li {
+    display: inline list-item;
+  }
+</style>
+<div style="position: absolute"><span>Foo</span></div>
+<div style="position: absolute"><span class="li">Foo</span></div>
+<script>
+test(() => {
+  let first = document.querySelector("span");
+  let second = document.querySelector(".li");
+
+  assert_equals(first.clientWidth, second.clientWidth, "clientWidth should match");
+  assert_equals(first.clientHeight, second.clientHeight, "clientHeight should match");
+  assert_equals(first.clientTop, second.clientTop, "clientTop should match");
+  assert_equals(first.clientLeft, second.clientLeft, "clientLeft should match");
+}, "client* returns the same for non-replaced inlines regardless of list-item-ness");
+</script>
diff --git a/third_party/blink/web_tests/external/wpt/fetch/metadata/embed.tentative.https.sub.html b/third_party/blink/web_tests/external/wpt/fetch/metadata/embed.tentative.https.sub.html
index aae61e0f..77042e8 100644
--- a/third_party/blink/web_tests/external/wpt/fetch/metadata/embed.tentative.https.sub.html
+++ b/third_party/blink/web_tests/external/wpt/fetch/metadata/embed.tentative.https.sub.html
@@ -7,62 +7,52 @@
 <script src=/common/utils.js></script>
 <body>
 <script>
-  let nonce = token();
+  const nonce = token();
 
-  promise_test(t => {
-    return new Promise((resolve, reject) => {
-      let key = "embed-same-origin" + nonce;
+  const origins = {
+    "same-origin": "https://{{host}}:{{ports[https][0]}}",
+    "same-site":   "https://{{hosts[][www]}}:{{ports[https][0]}}",
+    "cross-site":  "https://{{hosts[alt][www]}}:{{ports[https][0]}}",
+  };
 
-      let e = document.createElement('embed');
-      e.src = "https://{{host}}:{{ports[https][0]}}/fetch/metadata/resources/record-header.py?file=" + key;
-      e.onload = e => {
-        let expected = {"site":"same-origin", "user":"", "mode":"no-cors"};
-        fetch("/fetch/metadata/resources/record-header.py?retrieve=true&file=" + key)
-          .then(response => response.text())
-          .then(text => assert_header_equals(text, expected))
-          .then(_ => resolve())
-          .catch(e => reject(e));
-      };
+  for (let site in origins) {
+    promise_test(t => {
+      return new Promise((resolve, reject) => {
+        let key = "embed-" + site + "-" + nonce;
 
-      document.body.appendChild(e);
-    })
-  }, "Same-Origin embed");
+        let el = document.createElement('embed');
+        el.src = origins[site] + "/fetch/metadata/resources/record-header.py?file=" + key;
+        el.onload = _ => {
+          let expected = {"dest": "embed", "site": site, "user": "", "mode":"no-cors"};
+          validate_expectations(key, expected, site + " embed")
+            .then(resolve)
+            .catch(reject);
+        };
 
-  promise_test(t => {
-    return new Promise((resolve, reject) => {
-      let key = "embed-same-site" + nonce;
+        document.body.appendChild(el);
+      })
+    }, "Wrapper: " + site + " embed");
 
-      let e = document.createElement('embed');
-      e.src = "https://{{hosts[][www]}}:{{ports[https][0]}}/fetch/metadata/resources/record-header.py?file=" + key;
-      e.onload = e => {
-        let expected = {"site":"same-site", "user":"", "mode":"no-cors"};
-        fetch("/fetch/metadata/resources/record-header.py?retrieve=true&file=" + key)
-          .then(response => response.text())
-          .then(text => assert_header_equals(text, expected))
-          .then(_ => resolve())
-          .catch(e => reject(e));
-      };
+    promise_test(t => {
+      return new Promise((resolve, reject) => {
+        let key = "post-embed-" + site + "-" + nonce;
 
-      document.body.appendChild(e);
-    })
-  }, "Same-Site embed");
+        let el = document.createElement('embed');
+        el.src = "/common/blank.html";
+        el.addEventListener("load", _ => {
+          el.addEventListener("load", _ => {
+            let expected = {"dest": "embed", "site": site, "user":"", "mode":"no-cors"};
+            validate_expectations(key, expected, "Navigate to " + site + " embed")
+              .then(resolve)
+              .catch(reject);
+          }, { once: true });
 
-  promise_test(t => {
-    return new Promise((resolve, reject) => {
-      let key = "embed-cross-site" + nonce;
+          // Navigate the existing `<embed>`
+          window.frames[window.length - 1].location = origins[site] + "/fetch/metadata/resources/record-header.py?file=" + key;
+        }, { once: true });
 
-      let e = document.createElement('embed');
-      e.src = "https://{{hosts[alt][www]}}:{{ports[https][0]}}/fetch/metadata/resources/record-header.py?file=" + key;
-      e.onload = e => {
-        let expected = {"site":"cross-site", "user":"", "mode":"no-cors"};
-        fetch("/fetch/metadata/resources/record-header.py?retrieve=true&file=" + key)
-          .then(response => response.text())
-          .then(text => assert_header_equals(text, expected))
-          .then(_ => resolve())
-          .catch(e => reject(e));
-      };
-
-      document.body.appendChild(e);
-    })
-  }, "Cross-Site embed");
+        document.body.appendChild(el);
+      })
+    }, "Wrapper: Navigate to " + site + " embed");
+  }
 </script>
diff --git a/third_party/blink/web_tests/external/wpt/fetch/metadata/resources/helper.js b/third_party/blink/web_tests/external/wpt/fetch/metadata/resources/helper.js
index eac176a..d9b00ed 100644
--- a/third_party/blink/web_tests/external/wpt/fetch/metadata/resources/helper.js
+++ b/third_party/blink/web_tests/external/wpt/fetch/metadata/resources/helper.js
@@ -2,6 +2,19 @@
   return tag ? `${tag}: ${text}`: text;
 }
 
+function validate_expectations(key, expected, tag) {
+  return fetch("/fetch/metadata/resources/record-header.py?retrieve=true&file=" + key)
+    .then(response => response.text())
+    .then(text => {
+      assert_not_equals(text, "No header has been recorded");
+      let value = JSON.parse(text);
+      test(t => assert_equals(value.dest, expected.dest), `${tag}: sec-fetch-dest`);
+      test(t => assert_equals(value.mode, expected.mode), `${tag}: sec-fetch-mode`);
+      test(t => assert_equals(value.site, expected.site), `${tag}: sec-fetch-site`);
+      test(t => assert_equals(value.user, expected.user), `${tag}: sec-fetch-user`);
+    });
+};
+
 /**
  * @param {object} value
  * @param {object} expected
diff --git a/third_party/blink/web_tests/external/wpt/fetch/metadata/sec-fetch-dest/frame.tentative.https.sub.html b/third_party/blink/web_tests/external/wpt/fetch/metadata/sec-fetch-dest/frame.tentative.https.sub.html
new file mode 100644
index 0000000..d80b72746
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/fetch/metadata/sec-fetch-dest/frame.tentative.https.sub.html
@@ -0,0 +1,55 @@
+<!DOCTYPE html>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/resources/testdriver.js></script>
+<script src=/resources/testdriver-vendor.js></script>
+<script src=/fetch/metadata/resources/helper.js></script>
+<script src=/common/utils.js></script>
+<body>
+<script>
+  const USER = true;
+  const FORCED = false;
+
+  function create_test(host, user_activated, expectations) {
+    async_test(t => {
+      let i = document.createElement('frame');
+      window.addEventListener('message', t.step_func(e => {
+        if (e.source != i.contentWindow)
+          return;
+
+        assert_header_dest_equals(e.data, expectations);
+        t.done();
+      }));
+
+      let url = `https://${host}/fetch/metadata/resources/post-to-owner.py`;
+      if (user_activated == FORCED) {
+        i.src = url;
+        document.body.appendChild(i);
+      } else if (user_activated == USER) {
+        let uuid = token();
+        i.name = uuid;
+        let a = document.createElement('a');
+        a.href = url;
+        a.target = uuid;
+        a.text = "This is a link!";
+
+        document.body.appendChild(i);
+        document.body.appendChild(a);
+
+        test_driver.click(a);
+      }
+    }, `{{host}} -> ${host} iframe: ${user_activated ? "user-activated" : "forced"}`);
+  }
+
+  create_test("{{host}}:{{ports[https][0]}}", FORCED, "frame");
+
+  create_test("{{hosts[][www]}}:{{ports[https][0]}}", FORCED, "frame");
+
+  create_test("{{hosts[alt][www]}}:{{ports[https][0]}}", FORCED, "frame");
+
+  create_test("{{host}}:{{ports[https][0]}}", USER, "frame");
+
+  create_test("{{hosts[][www]}}:{{ports[https][0]}}", USER, "frame");
+
+  create_test("{{hosts[alt][www]}}:{{ports[https][0]}}", USER, "frame");
+</script>
diff --git a/third_party/blink/web_tests/external/wpt/fetch/metadata/sec-fetch-dest/frame.tentative.sub.html b/third_party/blink/web_tests/external/wpt/fetch/metadata/sec-fetch-dest/frame.tentative.sub.html
new file mode 100644
index 0000000..61b6d1f4
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/fetch/metadata/sec-fetch-dest/frame.tentative.sub.html
@@ -0,0 +1,62 @@
+<!DOCTYPE html>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/fetch/metadata/resources/helper.js></script>
+<body>
+<script>
+  async_test(t => {
+    let i = document.createElement('frame');
+    i.src = "http://{{host}}:{{ports[http][0]}}/fetch/metadata/resources/post-to-owner.py";
+    window.addEventListener('message', t.step_func(e => {
+      if (e.source != i.contentWindow)
+        return;
+
+      assert_header_dest_equals(e.data, "");
+      t.done();
+    }));
+
+    document.body.appendChild(i);
+  }, "Non-secure same-origin iframe => No headers");
+
+  async_test(t => {
+    let i = document.createElement('frame');
+    i.src = "http://{{hosts[][www]}}:{{ports[http][0]}}/fetch/metadata/resources/post-to-owner.py";
+    window.addEventListener('message', t.step_func(e => {
+      if (e.source != i.contentWindow)
+        return;
+
+      assert_header_dest_equals(e.data, "");
+      t.done();
+    }));
+
+    document.body.appendChild(i);
+  }, "Non-secure same-site iframe => No headers");
+
+  async_test(t => {
+    let i = document.createElement('frame');
+    i.src = "http://{{hosts[alt][www]}}:{{ports[http][0]}}/fetch/metadata/resources/post-to-owner.py";
+    window.addEventListener('message', t.step_func(e => {
+      if (e.source != i.contentWindow)
+        return;
+
+      assert_header_dest_equals(e.data, "");
+      t.done();
+    }));
+
+    document.body.appendChild(i);
+  }, "Non-secure cross-site iframe => No headers.");
+
+  async_test(t => {
+    let i = document.createElement('frame');
+    i.src = "https://{{host}}:{{ports[https][0]}}/fetch/metadata/resources/post-to-owner.py";
+    window.addEventListener('message', t.step_func(e => {
+      if (e.source != i.contentWindow)
+        return;
+
+      assert_header_dest_equals(e.data, "frame");
+      t.done();
+    }));
+
+    document.body.appendChild(i);
+  }, "Secure, cross-site (cross-scheme, same-host) frame");
+</script>
diff --git a/third_party/blink/web_tests/external/wpt/fetch/metadata/sec-fetch-dest/iframe.tentative.https.sub.html b/third_party/blink/web_tests/external/wpt/fetch/metadata/sec-fetch-dest/iframe.tentative.https.sub.html
index ed9cfa0..356805d 100644
--- a/third_party/blink/web_tests/external/wpt/fetch/metadata/sec-fetch-dest/iframe.tentative.https.sub.html
+++ b/third_party/blink/web_tests/external/wpt/fetch/metadata/sec-fetch-dest/iframe.tentative.https.sub.html
@@ -41,15 +41,15 @@
     }, `{{host}} -> ${host} iframe: ${user_activated ? "user-activated" : "forced"}`);
   }
 
-  create_test("{{host}}:{{ports[https][0]}}", FORCED, "nested-document");
+  create_test("{{host}}:{{ports[https][0]}}", FORCED, "iframe");
 
-  create_test("{{hosts[][www]}}:{{ports[https][0]}}", FORCED, "nested-document");
+  create_test("{{hosts[][www]}}:{{ports[https][0]}}", FORCED, "iframe");
 
-  create_test("{{hosts[alt][www]}}:{{ports[https][0]}}", FORCED, "nested-document");
+  create_test("{{hosts[alt][www]}}:{{ports[https][0]}}", FORCED, "iframe");
 
-  create_test("{{host}}:{{ports[https][0]}}", USER, "nested-document");
+  create_test("{{host}}:{{ports[https][0]}}", USER, "iframe");
 
-  create_test("{{hosts[][www]}}:{{ports[https][0]}}", USER, "nested-document");
+  create_test("{{hosts[][www]}}:{{ports[https][0]}}", USER, "iframe");
 
-  create_test("{{hosts[alt][www]}}:{{ports[https][0]}}", USER, "nested-document");
+  create_test("{{hosts[alt][www]}}:{{ports[https][0]}}", USER, "iframe");
 </script>
diff --git a/third_party/blink/web_tests/external/wpt/fetch/metadata/sec-fetch-dest/iframe.tentative.sub.html b/third_party/blink/web_tests/external/wpt/fetch/metadata/sec-fetch-dest/iframe.tentative.sub.html
index d90a414..e126e3c 100644
--- a/third_party/blink/web_tests/external/wpt/fetch/metadata/sec-fetch-dest/iframe.tentative.sub.html
+++ b/third_party/blink/web_tests/external/wpt/fetch/metadata/sec-fetch-dest/iframe.tentative.sub.html
@@ -53,7 +53,7 @@
       if (e.source != i.contentWindow)
         return;
 
-      assert_header_dest_equals(e.data, "nested-document");
+      assert_header_dest_equals(e.data, "iframe");
       t.done();
     }));
 
diff --git a/third_party/blink/web_tests/external/wpt/generic-sensor/generic-sensor-tests.js b/third_party/blink/web_tests/external/wpt/generic-sensor/generic-sensor-tests.js
index 1779fd6..f0d37fb 100644
--- a/third_party/blink/web_tests/external/wpt/generic-sensor/generic-sensor-tests.js
+++ b/third_party/blink/web_tests/external/wpt/generic-sensor/generic-sensor-tests.js
@@ -246,12 +246,15 @@
     assert_true(verificationFunction(expected, sensor2, /*isNull=*/true));
   }, `${sensorName}: sensor reading is correct.`);
 
-  sensor_test(async t => {
+  sensor_test(async (t, sensorProvider) => {
     assert_true(sensorName in self);
     const sensor = new sensorType();
     const sensorWatcher = new EventWatcher(t, sensor, ["reading", "error"]);
     sensor.start();
 
+    const mockSensor = await sensorProvider.getCreatedSensor(sensorName);
+    await mockSensor.setSensorReading(readings);
+
     await sensorWatcher.wait_for("reading");
     const cachedTimeStamp1 = sensor.timestamp;
 
@@ -392,6 +395,7 @@
     fastSensor.start();
 
     const mockSensor = await sensorProvider.getCreatedSensor(sensorName);
+    await mockSensor.setSensorReading(readings);
 
     const fastCounter = await new Promise((resolve, reject) => {
       let fastSensorNotifiedCounter = 0;
diff --git a/third_party/blink/web_tests/external/wpt/html/rendering/non-replaced-elements/form-controls/select-sizing-001-ref.html b/third_party/blink/web_tests/external/wpt/html/rendering/non-replaced-elements/form-controls/select-sizing-001-ref.html
new file mode 100644
index 0000000..c59a6e1
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/html/rendering/non-replaced-elements/form-controls/select-sizing-001-ref.html
@@ -0,0 +1,59 @@
+<!DOCTYPE html>
+<html>
+<head>
+  <meta charset="utf-8">
+  <title>Reference for sizing of select elements, with wide vs. empty option selected</title>
+  <link rel="author" title="Daniel Holbert" href="mailto:dholbert@mozilla.com">
+  <style>
+    select {
+      color: transparent;
+      margin: 1px;
+    }
+    div.customBorder > select {
+      /* This class is to let us test select elements *without* native theming
+         (for browsers that have both native and non-native controls): */
+      border: 3px solid black;
+    }
+  </style>
+</head>
+<body>
+  <div>
+    <select>
+      <option>some wide option</option>
+    </select>
+    <br>
+    <select>
+      <option>some wide option</option>
+    </select>
+    <br>
+    <select>
+      <option>some wide option</option>
+    </select>
+    <br>
+    <select>
+      <option>some wide option</option>
+    </select>
+  </div>
+
+  <!-- This is the same as above, but now with a custom border on the
+       select elements: -->
+  <div class="customBorder">
+    <select>
+      <option>some wide option</option>
+    </select>
+    <br>
+    <select>
+      <option>some wide option</option>
+    </select>
+    <br>
+    <select>
+      <option>some wide option</option>
+    </select>
+    <br>
+    <select>
+      <option>some wide option</option>
+    </select>
+  </div>
+
+</body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/html/rendering/non-replaced-elements/form-controls/select-sizing-001.html b/third_party/blink/web_tests/external/wpt/html/rendering/non-replaced-elements/form-controls/select-sizing-001.html
new file mode 100644
index 0000000..e8db3ea
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/html/rendering/non-replaced-elements/form-controls/select-sizing-001.html
@@ -0,0 +1,77 @@
+<!DOCTYPE html>
+<html>
+<head>
+  <meta charset="utf-8">
+  <title>Test for sizing of select elements, with wide vs. empty option selected</title>
+  <link rel="author" title="Daniel Holbert" href="mailto:dholbert@mozilla.com">
+  <link rel="help" href="https://html.spec.whatwg.org/multipage/rendering.html#list-box">
+  <link rel="match" href="select-sizing-001-ref.html">
+  <style>
+    select {
+      color: transparent;
+      margin: 1px;
+    }
+    div.customBorder > select {
+      /* This class is to let us test select elements *without* native theming
+         (for browsers that have both native and non-native controls): */
+      border: 3px solid black;
+    }
+  </style>
+</head>
+<body>
+  <div>
+    <!-- Wide thing is 2nd, and not selected: -->
+    <select>
+      <option></option>
+      <option>some wide option</option>
+    </select>
+    <br>
+    <!-- Wide thing is 2nd, and selected: -->
+    <select>
+      <option></option>
+      <option selected>some wide option</option>
+    </select>
+    <br>
+    <!-- Wide thing is 1st, and selected (implicitly): -->
+    <select>
+      <option>some wide option</option>
+      <option></option>
+    </select>
+    <br>
+    <!-- Wide thing is 1st, and not selected: -->
+    <select>
+      <option>some wide option</option>
+      <option selected></option>
+    </select>
+  </div>
+
+  <!-- This is the same as above, but now with a custom border on the
+       select elements: -->
+  <div class="customBorder">
+    <!-- Wide thing is 2nd, and not selected: -->
+    <select>
+      <option></option>
+      <option>some wide option</option>
+    </select>
+    <br>
+    <!-- Wide thing is 2nd, and selected: -->
+    <select>
+      <option></option>
+      <option selected>some wide option</option>
+    </select>
+    <br>
+    <!-- Wide thing is 1st, and selected (implicitly): -->
+    <select>
+      <option>some wide option</option>
+      <option></option>
+    </select>
+    <br>
+    <!-- Wide thing is 1st, and not selected: -->
+    <select>
+      <option>some wide option</option>
+      <option selected></option>
+    </select>
+  </div>
+
+</body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/html/semantics/interactive-elements/the-dialog-element/abspos-dialog-layout.html b/third_party/blink/web_tests/external/wpt/html/semantics/interactive-elements/the-dialog-element/abspos-dialog-layout.html
index e97ebee5..bdd2827 100644
--- a/third_party/blink/web_tests/external/wpt/html/semantics/interactive-elements/the-dialog-element/abspos-dialog-layout.html
+++ b/third_party/blink/web_tests/external/wpt/html/semantics/interactive-elements/the-dialog-element/abspos-dialog-layout.html
@@ -63,12 +63,15 @@
 reset();
 
 test(function() {
+    this.add_cleanup(reset);
+
     dialog.showModal();
     checkVerticallyCentered(dialog);
-    reset();
 }, "showModal() should center in the viewport");
 
 test(function() {
+    this.add_cleanup(reset);
+
     assert_equals(window.getComputedStyle(dialog).top, 'auto');
     assert_equals(window.getComputedStyle(dialog).bottom, 'auto');
 
@@ -80,19 +83,21 @@
 
     // Set back original value to 'height'.
     dialog.style.height = 'auto';
-    reset();
 }, "The dialog is a positioned element, so the top and bottom should not have style auto.");
 
 test(function() {
+    this.add_cleanup(reset);
+
     dialog.showModal();
     dialog.close();
     window.scroll(0, 2 * window.scrollY);
     dialog.showModal();
     checkVerticallyCentered(dialog);
-    reset();
 }, "Dialog should be recentered if showModal() is called after close()");
 
 test(function() {
+    this.add_cleanup(reset);
+
     dialog.showModal();
     var expectedTop = dialog.getBoundingClientRect().top;
     window.scroll(0, window.scrollY * 2);
@@ -102,30 +107,33 @@
 
     window.scroll(0, window.scrollY / 2);
     assert_equals(dialog.getBoundingClientRect().top, expectedTop);
-    reset();
 }, "Dialog should not recenter on relayout.");
 
 test(function() {
+    this.add_cleanup(reset);
+
     dialog.style.height = '20000px';
     dialog.showModal();
     assert_equals(dialog.getBoundingClientRect().top, 0);
 
     // Set back original value to 'height'.
     dialog.style.height = 'auto';
-    reset();
 }, "A tall dialog should be positioned at the top of the viewport.");
 
 test(function() {
+    this.add_cleanup(reset);
+
     document.body.style.width = '4000px';
     dialog.showModal();
     checkVerticallyCentered(dialog);
 
     // Set back original value to 'width'.
     document.body.style.width = 'auto';
-    reset();
 }, "The dialog should be centered regardless of the presence of a horizontal scrollbar.");
 
 test(function() {
+    this.add_cleanup(reset);
+
     dialog.remove();
     absoluteContainer.appendChild(dialog);
     dialog.showModal();
@@ -136,21 +144,21 @@
     relativeContainer.appendChild(dialog);
     dialog.showModal();
     checkVerticallyCentered(dialog);
-
-    reset();
 }, "Centering should work when dialog is inside positioned containers.");
 
 test(function() {
+    this.add_cleanup(reset);
+
     dialog.showModal();
     var expectedTop = dialog.getBoundingClientRect().top;
     relativeContainer.style.display = 'none';
     relativeContainer.style.display = 'block';
     assert_equals(dialog.getBoundingClientRect().top, expectedTop);
-
-    reset();
 }, "A centered dialog's position should survive becoming display:none temporarily.");
 
 test(function() {
+    this.add_cleanup(reset);
+
     // Remove and reinsert so that the document position isn't changed by the second remove and reinsert
     dialog.remove();
     relativeContainer.appendChild(dialog);
@@ -162,11 +170,11 @@
     relativeContainer.appendChild(dialog);
     assert_equals(dialog.parentNode, relativeContainer);
     assert_equals(dialog.getBoundingClientRect().top, relativeContainer.getBoundingClientRect().top);
-
-    reset();
 }, "Dialog should lose centering when removed from the document.");
 
 test(function() {
+    this.add_cleanup(reset);
+
     dialog.showModal();
     dialog.style.top = '0px';
     var expectedTop = dialog.getBoundingClientRect().top;
@@ -176,21 +184,22 @@
 
     // Set back original value to 'top'.
     dialog.style.top = 'auto';
-    reset();
 }, "Dialog's specified position should survive after close() and showModal().");
 
 test(function() {
+    this.add_cleanup(reset);
+
     dialog.showModal();
     dialog.removeAttribute('open');
     window.scroll(0, window.scrollY * 2);
     checkNotVerticallyCentered(dialog);
     dialog.showModal();
     checkVerticallyCentered(dialog);
-
-    reset();
 }, "Dialog should be recentered if showModal() is called after removing 'open'.");
 
 test(function() {
+    this.add_cleanup(reset);
+
     dialog.remove();
     absoluteContainer.appendChild(dialog);
     absoluteContainer.style.display = 'none';
@@ -198,26 +207,27 @@
     absoluteContainer.style.display = 'block';
     // Since dialog's containing block is the ICB, it's statically positioned after <body>.
     assert_equals(dialog.getBoundingClientRect().top, document.body.getBoundingClientRect().bottom);
-    reset();
 }, "Dialog should not be centered if showModal() was called when an ancestor had display 'none'.");
 
 test(function() {
+    this.add_cleanup(reset);
+
     var offset = 50;
     dialog.style.top = offset + 'px';
     dialog.showModal();
     assert_equals(dialog.getBoundingClientRect().top + window.scrollY, offset);
     // Set back original value to 'top'.
     dialog.style.top = 'auto';
-    reset();
 }, "A dialog with specified 'top' should be positioned as usual");
 
 test(function() {
+    this.add_cleanup(reset);
+
     var offset = 50;
     dialog.style.bottom = offset + 'px';
     dialog.showModal();
     assert_equals(dialog.getBoundingClientRect().bottom + window.scrollY, window.innerHeight - offset);
     // Set back original value to 'bottom'.
     dialog.style.bottom = 'auto';
-    reset();
 }, "A dialog with specified 'bottom' should be positioned as usual");
 </script>
diff --git a/third_party/blink/web_tests/external/wpt/html/semantics/interactive-elements/the-dialog-element/dialog-showModal.html b/third_party/blink/web_tests/external/wpt/html/semantics/interactive-elements/the-dialog-element/dialog-showModal.html
index b40d5fb..267c221 100644
--- a/third_party/blink/web_tests/external/wpt/html/semantics/interactive-elements/the-dialog-element/dialog-showModal.html
+++ b/third_party/blink/web_tests/external/wpt/html/semantics/interactive-elements/the-dialog-element/dialog-showModal.html
@@ -70,9 +70,9 @@
   });
 
   test(function(){
+    this.add_cleanup(function() { d2.close(); });
     assert_throws("INVALID_STATE_ERR", function() {
       d2.showModal();
-      this.add_cleanup(function() { d2.close(); });
     });
   }, "showModal() on a <dialog> that already has an open attribute throws an InvalidStateError exception");
 
@@ -88,9 +88,9 @@
 
   test(function(){
     var d = document.createElement("dialog");
+    this.add_cleanup(function() { d.close(); });
     assert_throws("INVALID_STATE_ERR", function() {
       d.showModal();
-      this.add_cleanup(function() { d.close(); });
     });
   }, "showModal() on a <dialog> not in a Document throws an InvalidStateError exception");
 
diff --git a/third_party/blink/web_tests/external/wpt/interfaces/web-nfc.idl b/third_party/blink/web_tests/external/wpt/interfaces/web-nfc.idl
index c3e53350..4e0dc072 100644
--- a/third_party/blink/web_tests/external/wpt/interfaces/web-nfc.idl
+++ b/third_party/blink/web_tests/external/wpt/interfaces/web-nfc.idl
@@ -21,9 +21,9 @@
   readonly attribute USVString mediaType;
   readonly attribute USVString id;
 
-  USVString? toText();
-  [NewObject] ArrayBuffer? toArrayBuffer();
-  [NewObject] any toJSON();
+  USVString? text();
+  [NewObject] ArrayBuffer? arrayBuffer();
+  [NewObject] any json();
   sequence<NDEFRecord> toRecords();
 };
 
diff --git a/third_party/blink/web_tests/external/wpt/preload/onerror-event-expected.txt b/third_party/blink/web_tests/external/wpt/preload/onerror-event-expected.txt
index 0ef49adc..aa88efb 100644
--- a/third_party/blink/web_tests/external/wpt/preload/onerror-event-expected.txt
+++ b/third_party/blink/web_tests/external/wpt/preload/onerror-event-expected.txt
@@ -1,4 +1,4 @@
 This is a testharness.js-based test.
-FAIL Makes sure that preloaded resources trigger the onerror event assert_true: video triggered error event expected true got false
+FAIL Makes sure that preloaded resources trigger the onerror event Uncaught Error: assert_true: video triggered error event expected true got false
 Harness: the test ran to completion.
 
diff --git a/third_party/blink/web_tests/external/wpt/resources/chromium/generic_sensor_mocks.js b/third_party/blink/web_tests/external/wpt/resources/chromium/generic_sensor_mocks.js
index eb28c48d..5e902f2 100644
--- a/third_party/blink/web_tests/external/wpt/resources/chromium/generic_sensor_mocks.js
+++ b/third_party/blink/web_tests/external/wpt/resources/chromium/generic_sensor_mocks.js
@@ -199,6 +199,19 @@
         this.maxFrequency_ = Math.min(10, this.maxFrequency_);
       }
 
+      // Chromium applies some rounding and other privacy-related measures that
+      // can cause ALS not to report a reading when it has not changed beyond a
+      // certain threshold compared to the previous illuminance value. Make
+      // each reading return a different value that is significantly different
+      // from the previous one when setSensorReading() is not called by client
+      // code (e.g. run_generic_sensor_iframe_tests()).
+      if (type == device.mojom.SensorType.AMBIENT_LIGHT) {
+        this.activeSensors_.get(type).setSensorReading([
+          [window.performance.now() * 100],
+          [(window.performance.now() + 50) * 100]
+        ]);
+      }
+
       const initParams = new device.mojom.SensorInitParams({
         sensor: sensorPtr,
         clientReceiver: mojo.makeRequest(this.activeSensors_.get(type).client_),
diff --git a/third_party/blink/web_tests/external/wpt/svg/animations/end-attribute-change-end-time.html b/third_party/blink/web_tests/external/wpt/svg/animations/end-attribute-change-end-time.html
new file mode 100644
index 0000000..9f05d7d4
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/svg/animations/end-attribute-change-end-time.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<title>Mutation of the 'end' attribute changes current interval end</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<svg>
+  <rect width="100" height="100" fill="green">
+    <set attributeName="fill" to="red"/>
+  </rect>
+</svg>
+<script>
+  async_test(t => {
+    onload = t.step_func(() => {
+      t.step_timeout(() => {
+        let set = document.querySelector('set');
+        set.setAttribute('end', '0s');
+        requestAnimationFrame(t.step_func_done(() => {
+          assert_equals(getComputedStyle(set.targetElement, null).fill, 'rgb(0, 128, 0)');
+        }));
+      });
+    });
+  });
+</script>
diff --git a/third_party/blink/web_tests/external/wpt/tools/wptrunner/wptrunner/config.py b/third_party/blink/web_tests/external/wpt/tools/wptrunner/wptrunner/config.py
index d2a61a8..e7f9d7b 100644
--- a/third_party/blink/web_tests/external/wpt/tools/wptrunner/wptrunner/config.py
+++ b/third_party/blink/web_tests/external/wpt/tools/wptrunner/wptrunner/config.py
@@ -30,7 +30,7 @@
     for section in parser.sections():
         rv[section] = ConfigDict(config_root)
         for key in parser.options(section):
-            rv[section][key] = parser.get(section, key, False, subns)
+            rv[section][key] = parser.get(section, key, raw=False, vars=subns)
 
     return rv
 
diff --git a/third_party/blink/web_tests/external/wpt/tools/wptrunner/wptrunner/manifestupdate.py b/third_party/blink/web_tests/external/wpt/tools/wptrunner/wptrunner/manifestupdate.py
index a3d5581..83a4834 100644
--- a/third_party/blink/web_tests/external/wpt/tools/wptrunner/wptrunner/manifestupdate.py
+++ b/third_party/blink/web_tests/external/wpt/tools/wptrunner/wptrunner/manifestupdate.py
@@ -3,6 +3,7 @@
 from six.moves.urllib.parse import urljoin, urlsplit
 from collections import namedtuple, defaultdict, deque
 from math import ceil
+from six import iterkeys, itervalues, iteritems
 
 from wptmanifest import serialize
 from wptmanifest.node import (DataNode, ConditionalNode, BinaryExpressionNode,
@@ -75,7 +76,7 @@
         return name in self._classes
 
     def __iter__(self):
-        for name in self._classes.iterkeys():
+        for name in iterkeys(self._classes):
             yield getattr(self, name)
 
 
@@ -312,8 +313,8 @@
 
 def build_unconditional_tree(_, run_info_properties, results):
     root = expectedtree.Node(None, None)
-    for run_info, values in results.iteritems():
-        for value, count in values.iteritems():
+    for run_info, values in iteritems(results):
+        for value, count in iteritems(values):
             root.result_values[value] += count
         root.run_info.add(run_info)
     return root
@@ -498,7 +499,7 @@
                           for run_info in node.run_info}
 
         node_by_run_info = {run_info: node
-                            for (run_info, node) in run_info_index.iteritems()
+                            for (run_info, node) in iteritems(run_info_index)
                             if node.result_values}
 
         run_info_by_condition = self.run_info_by_condition(run_info_index,
@@ -511,7 +512,7 @@
             # using the properties we've specified and not matching any run_info
             top_level_props, dependent_props = self.node.root.run_info_properties
             update_properties = set(top_level_props)
-            for item in dependent_props.itervalues():
+            for item in itervalues(dependent_props):
                 update_properties |= set(dependent_props)
             for condition in current_conditions:
                 if ((not condition.variables.issubset(update_properties) and
@@ -694,7 +695,7 @@
             raise ConditionError
 
         counts = {}
-        for status, count in new.iteritems():
+        for status, count in iteritems(new):
             if isinstance(status, tuple):
                 counts[status[0]] = count
                 counts.update({intermittent: 0 for intermittent in status[1:] if intermittent not in counts})
@@ -708,7 +709,7 @@
         # Counts with 0 are considered intermittent.
         statuses = ["OK", "PASS", "FAIL", "ERROR", "TIMEOUT", "CRASH"]
         status_priority = {value: i for i, value in enumerate(statuses)}
-        sorted_new = sorted(counts.iteritems(), key=lambda x:(-1 * x[1],
+        sorted_new = sorted(iteritems(counts), key=lambda x:(-1 * x[1],
                                                            status_priority.get(x[0],
                                                            len(status_priority))))
         expected = []
@@ -821,7 +822,7 @@
         return result
 
     def to_ini_value(self, data):
-        return ["%s:%s" % item for item in sorted(data.iteritems())]
+        return ["%s:%s" % item for item in sorted(iteritems(data))]
 
     def from_ini_value(self, data):
         rv = {}
diff --git a/third_party/blink/web_tests/external/wpt/tools/wptrunner/wptrunner/wptcommandline.py b/third_party/blink/web_tests/external/wpt/tools/wptrunner/wptrunner/wptcommandline.py
index 5ac29b3..3fc0f6d6 100644
--- a/third_party/blink/web_tests/external/wpt/tools/wptrunner/wptrunner/wptcommandline.py
+++ b/third_party/blink/web_tests/external/wpt/tools/wptrunner/wptrunner/wptcommandline.py
@@ -5,6 +5,7 @@
 from collections import OrderedDict
 from distutils.spawn import find_executable
 from datetime import timedelta
+from six import iterkeys, itervalues, iteritems
 
 from . import config
 from . import wpttest
@@ -368,7 +369,7 @@
                     ("host_cert_path", "host_cert_path", True),
                     ("host_key_path", "host_key_path", True)]}
 
-    for section, values in keys.iteritems():
+    for section, values in iteritems(keys):
         for config_value, kw_value, is_path in values:
             if kw_value in kwargs and kwargs[kw_value] is None:
                 if not is_path:
@@ -404,7 +405,7 @@
     # Set up test_paths
     test_paths = OrderedDict()
 
-    for section in config.iterkeys():
+    for section in iterkeys(config):
         if section.startswith("manifest:"):
             manifest_opts = config.get(section)
             url_base = manifest_opts.get("url_base", "/")
@@ -430,7 +431,7 @@
 
 
 def check_paths(kwargs):
-    for test_paths in kwargs["test_paths"].itervalues():
+    for test_paths in itervalues(kwargs["test_paths"]):
         if not ("tests_path" in test_paths and
                 "metadata_path" in test_paths):
             print("Fatal: must specify both a test path and metadata path")
@@ -438,7 +439,7 @@
         if "manifest_path" not in test_paths:
             test_paths["manifest_path"] = os.path.join(test_paths["metadata_path"],
                                                        "MANIFEST.json")
-        for key, path in test_paths.iteritems():
+        for key, path in iteritems(test_paths):
             name = key.split("_", 1)[0]
 
             if name == "manifest":
diff --git a/third_party/blink/web_tests/external/wpt/web-nfc/NDEFMessage_constructor.https.html b/third_party/blink/web_tests/external/wpt/web-nfc/NDEFMessage_constructor.https.html
index 6515a7f..1912211 100644
--- a/third_party/blink/web_tests/external/wpt/web-nfc/NDEFMessage_constructor.https.html
+++ b/third_party/blink/web_tests/external/wpt/web-nfc/NDEFMessage_constructor.https.html
@@ -23,13 +23,13 @@
     assert_equals(message.records.length, 1, 'one text record');
     assert_equals(message.records[0].recordType, 'text', 'messageType');
     assert_equals(message.records[0].mediaType, 'text/plain', 'mediaType');
-    assert_true(typeof message.records[0].toText() === 'string');
-    assert_equals(message.records[0].toText(), test_text_data,
-        'toText() contains the same text content');
-    assert_equals(message.records[0].toArrayBuffer(), null,
-        'toArrayBuffer() returns null');
-    assert_equals(message.records[0].toJSON(), null,
-        'toJSON() returns null');
+    assert_true(typeof message.records[0].text() === 'string');
+    assert_equals(message.records[0].text(), test_text_data,
+        'text() contains the same text content');
+    assert_equals(message.records[0].arrayBuffer(), null,
+        'arrayBuffer() returns null');
+    assert_equals(message.records[0].json(), null,
+        'json() returns null');
   }, 'NDEFMessage constructor with a text record');
 
 </script>
diff --git a/third_party/blink/web_tests/external/wpt/web-nfc/NDEFRecord_constructor.https.html b/third_party/blink/web_tests/external/wpt/web-nfc/NDEFRecord_constructor.https.html
index aa3de01..849a6ae33 100644
--- a/third_party/blink/web_tests/external/wpt/web-nfc/NDEFRecord_constructor.https.html
+++ b/third_party/blink/web_tests/external/wpt/web-nfc/NDEFRecord_constructor.https.html
@@ -20,16 +20,16 @@
     const record = new NDEFRecord(createTextRecord(test_text_data));
     assert_equals(record.recordType, 'text', 'recordType');
     assert_equals(record.mediaType, 'text/plain', 'mediaType');
-    assert_equals(record.toText(), test_text_data,
-        'toText() has the same content with the original dictionary');
+    assert_equals(record.text(), test_text_data,
+        'text() has the same content with the original dictionary');
   }, 'NDEFRecord constructor with text record type');
 
   test(() => {
     const record = new NDEFRecord(createUrlRecord(test_url_data));
     assert_equals(record.recordType, 'url', 'recordType');
     assert_equals(record.mediaType, 'text/plain', 'mediaType');
-    assert_equals(record.toText(), test_url_data,
-        'toText() has the same content with the original dictionary');
+    assert_equals(record.text(), test_url_data,
+        'text() has the same content with the original dictionary');
   }, 'NDEFRecord constructor with url record type');
 
   test(() => {
@@ -41,48 +41,81 @@
     assert_equals(record.recordType, 'opaque', 'recordType');
     assert_equals(record.mediaType, 'application/octet-stream', 'mediaType');
 
-    const data_1 = record.toArrayBuffer();
+    const data_1 = record.arrayBuffer();
     assert_true(data_1 instanceof ArrayBuffer);
-    assert_not_equals(data_1, buffer, 'toArrayBuffer() returns a new object');
+    assert_not_equals(data_1, buffer, 'arrayBuffer() returns a new object');
     assert_array_equals(new Uint8Array(data_1), original_data,
-        'toArrayBuffer() has the same content with the original buffer');
+        'arrayBuffer() has the same content with the original buffer');
 
-    const data_2 = record.toArrayBuffer();
+    const data_2 = record.arrayBuffer();
     assert_true(data_2 instanceof ArrayBuffer);
     assert_not_equals(data_2, data_1,
-        'toArrayBuffer() again returns another new object');
+        'arrayBuffer() again returns another new object');
     assert_array_equals(new Uint8Array(data_2), original_data,
-        'toArrayBuffer() has the same content with the original buffer');
+        'arrayBuffer() has the same content with the original buffer');
 
     buffer_view.set([4, 3, 2, 1]);
-    const data_3 = record.toArrayBuffer();
+    const data_3 = record.arrayBuffer();
     assert_true(data_3 instanceof ArrayBuffer);
     assert_array_equals(new Uint8Array(data_1), original_data,
-        'Modifying the original buffer does not affect toArrayBuffer() content');
+        'Modifying the original buffer does not affect arrayBuffer() content');
     assert_array_equals(new Uint8Array(data_2), original_data,
-        'Modifying the original buffer does not affect toArrayBuffer() content');
+        'Modifying the original buffer does not affect arrayBuffer() content');
     assert_array_equals(new Uint8Array(data_3), original_data,
-        'Modifying the original buffer does not affect toArrayBuffer() content');
-  }, 'NDEFRecord constructor with opaque data');
+        'Modifying the original buffer does not affect arrayBuffer() content');
+  }, 'NDEFRecord constructor with opaque record type');
 
   test(() => {
     const record = new NDEFRecord(createJsonRecord(test_json_data));
     assert_equals(record.recordType, 'json', 'recordType');
     assert_equals(record.mediaType, 'application/json', 'mediaType');
 
-    const data_1 = record.toJSON();
+    const data_1 = record.json();
     assert_true(typeof data_1 === 'object');
-    assert_not_equals(data_1, test_json_data, 'toJSON() returns a new object');
+    assert_not_equals(data_1, test_json_data, 'json() returns a new object');
     assert_object_equals(data_1, test_json_data,
-        'toJSON() has the same content with the original dictionary');
+        'json() has the same content with the original dictionary');
 
-    const data_2 = record.toJSON();
+    const data_2 = record.json();
     assert_true(typeof data_2 === 'object');
     assert_not_equals(data_2, data_1,
-        'toJSON() again returns another new object');
+        'json() again returns another new object');
     assert_object_equals(data_2, test_json_data,
-        'toJSON() has the same content with the original dictionary');
-  }, 'NDEFRecord constructor with json data');
+        'json() has the same content with the original dictionary');
+  }, 'NDEFRecord constructor with JSON record type');
+
+  test(() => {
+    let buffer = new ArrayBuffer(4);
+    let buffer_view = new Uint8Array(buffer);
+    let original_data = new Uint8Array([1, 2, 3, 4]);
+    buffer_view.set(original_data);
+    const record = new NDEFRecord(createRecord('foo.eXamPle.coM:bAr*-', undefined, buffer));
+    assert_equals(record.recordType, 'foo.example.com:bAr*-', 'recordType');
+    assert_equals(record.mediaType, 'application/octet-stream', 'mediaType');
+
+    const data_1 = record.arrayBuffer();
+    assert_true(data_1 instanceof ArrayBuffer);
+    assert_not_equals(data_1, buffer, 'arrayBuffer() returns a new object');
+    assert_array_equals(new Uint8Array(data_1), original_data,
+        'arrayBuffer() has the same content with the original buffer');
+
+    const data_2 = record.arrayBuffer();
+    assert_true(data_2 instanceof ArrayBuffer);
+    assert_not_equals(data_2, data_1,
+        'arrayBuffer() again returns another new object');
+    assert_array_equals(new Uint8Array(data_2), original_data,
+        'arrayBuffer() has the same content with the original buffer');
+
+    buffer_view.set([4, 3, 2, 1]);
+    const data_3 = record.arrayBuffer();
+    assert_true(data_3 instanceof ArrayBuffer);
+    assert_array_equals(new Uint8Array(data_1), original_data,
+        'Modifying the original buffer does not affect arrayBuffer() content');
+    assert_array_equals(new Uint8Array(data_2), original_data,
+        'Modifying the original buffer does not affect arrayBuffer() content');
+    assert_array_equals(new Uint8Array(data_3), original_data,
+        'Modifying the original buffer does not affect arrayBuffer() content');
+  }, 'NDEFRecord constructor with external record type');
 
   test(() => {
     assert_throws(new TypeError, () => new NDEFRecord(createRecord('EMptY')),
@@ -99,4 +132,17 @@
         'Unknown record type.');
   }, 'NDEFRecord constructor with record type string being treated as case sensitive');
 
+  test(() => {
+    assert_throws(new TypeError, () => new NDEFRecord(createRecord(
+        ':xyz', '', test_buffer_data)), 'The domain should not be empty.');
+    assert_throws(new TypeError, () => new NDEFRecord(createRecord(
+        '[:xyz', '', test_buffer_data)), '"[" is not a valid FQDN.');
+    assert_throws(new TypeError, () => new NDEFRecord(createRecord(
+        'example.com:', '', test_buffer_data)), 'The type should not be empty.');
+    assert_throws(new TypeError, () => new NDEFRecord(createRecord(
+        'example.com:xyz~', '', test_buffer_data)), 'The type should not contain \'~\'.');
+    assert_throws(new TypeError, () => new NDEFRecord(createRecord(
+        'example.com:xyz/', '', test_buffer_data)), 'The type should not contain \'/\'.');
+  }, 'NDEFRecord constructor with invalid external record type');
+
 </script>
diff --git a/third_party/blink/web_tests/external/wpt/web-nfc/NFCReader_options.https.html b/third_party/blink/web_tests/external/wpt/web-nfc/NFCReader_options.https.html
index 8b38f55..5761747 100644
--- a/third_party/blink/web_tests/external/wpt/web-nfc/NFCReader_options.https.html
+++ b/third_party/blink/web_tests/external/wpt/web-nfc/NFCReader_options.https.html
@@ -48,6 +48,14 @@
       message: createMessage([createUrlRecord(test_url_data)])
     },
     {
+      desc: "Test that reading data succeed when NFCScanOptions'" +
+            " recordType is set to a custom type for external type records.",
+      scanOptions: {recordType: "w3.org:xyz"},
+      unmatchedScanOptions: {recordType: "opaque"},
+      message: createMessage([createRecord('w3.org:xyz', 'application/octet-stream',
+            test_buffer_data)])
+    },
+    {
       desc: "Test that the url of NFCScanOptions filters relevant data" +
             " sources correctly.",
       scanOptions: {url: `${location.origin}/custom/path`},
@@ -102,6 +110,14 @@
       unmatchedMessage: createMessage([createTextRecord(test_text_data)])
     },
     {
+      desc: "Test that filtering external record from different messages" +
+            " correctly with NFCScanOptions' recordType is set to the custom type.",
+      scanOptions: {recordType: "w3.org:xyz"},
+      message: createMessage([createRecord('w3.org:xyz', 'application/octet-stream',
+            test_buffer_data)]),
+      unmatchedMessage: createMessage([createTextRecord(test_text_data)])
+    },
+    {
       desc: "Test that filtering 'text' record from different messages" +
             " correctly with NFCScanOptions' url set.",
       scanOptions: {url: `${location.origin}/custom/path`},
diff --git a/third_party/blink/web_tests/external/wpt/web-nfc/NFCWriter_push.https.html b/third_party/blink/web_tests/external/wpt/web-nfc/NFCWriter_push.https.html
index 50a23034..dda160f1 100644
--- a/third_party/blink/web_tests/external/wpt/web-nfc/NFCWriter_push.https.html
+++ b/third_party/blink/web_tests/external/wpt/web-nfc/NFCWriter_push.https.html
@@ -48,7 +48,21 @@
       // NDEFRecord.data for 'opaque' record must be ArrayBuffer.
       createMessage([createOpaqueRecord(test_text_data)]),
       createMessage([createOpaqueRecord(test_number_data)]),
-      createMessage([createOpaqueRecord(test_json_data)])
+      createMessage([createOpaqueRecord(test_json_data)]),
+
+      // https://w3c.github.io/web-nfc/#dfn-map-external-data-to-ndef
+      // NDEFRecord must have data.
+      createMessage([createRecord('w3.org:xyz', '', undefined)]),
+
+      // NDEFRecord.data for external record must be ArrayBuffer.
+      createMessage([createRecord('w3.org:xyz', '', test_text_data)]),
+      createMessage([createRecord('w3.org:xyz', '', test_number_data)]),
+      createMessage([createRecord('w3.org:xyz', '', test_json_data)]),
+
+      // https://w3c.github.io/web-nfc/#the-ndefrecordtype-string
+      // The record type is neither a known type ('text', 'json' etc.) nor a
+      // valid custom type for an external type record.
+      createMessage([createRecord('unmatched_type', '', test_buffer_data)])
     ];
 
 const invalid_syntax_messages =
@@ -266,11 +280,12 @@
                                createJsonRecord(test_json_data),
                                createJsonRecord(test_number_data),
                                createOpaqueRecord(test_buffer_data),
-                               createUrlRecord(test_url_data)],
+                               createUrlRecord(test_url_data),
+                               createRecord('w3.org:xyz', '', test_buffer_data)],
                                test_message_origin);
   await writer.push(message);
   assertNDEFMessagesEqual(message, mockNFC.pushedMessage());
-}, "NFCWriter.push NDEFMessage containing text, json, opaque and url records \
+}, "NFCWriter.push NDEFMessage containing text, json, opaque, url and external records \
 with default NFCPushOptions.");
 
 nfc_test(async (t, mockNFC) => {
diff --git a/third_party/blink/web_tests/external/wpt/web-nfc/idlharness.https.window-expected.txt b/third_party/blink/web_tests/external/wpt/web-nfc/idlharness.https.window-expected.txt
index 46bc91e..7a3c06b 100644
--- a/third_party/blink/web_tests/external/wpt/web-nfc/idlharness.https.window-expected.txt
+++ b/third_party/blink/web_tests/external/wpt/web-nfc/idlharness.https.window-expected.txt
@@ -1,5 +1,5 @@
 This is a testharness.js-based test.
-Found 83 tests; 78 PASS, 5 FAIL, 0 TIMEOUT, 0 NOTRUN.
+Found 82 tests; 78 PASS, 4 FAIL, 0 TIMEOUT, 0 NOTRUN.
 PASS idl_test setup
 PASS idl_test validation
 PASS NDEFMessage interface: existence and properties of interface object
@@ -21,19 +21,18 @@
 PASS NDEFRecord interface: attribute recordType
 PASS NDEFRecord interface: attribute mediaType
 FAIL NDEFRecord interface: attribute id assert_true: The prototype object must have a property "id" expected true got false
-PASS NDEFRecord interface: operation toText()
-PASS NDEFRecord interface: operation toArrayBuffer()
-PASS NDEFRecord interface: operation toJSON()
+PASS NDEFRecord interface: operation text()
+PASS NDEFRecord interface: operation arrayBuffer()
+PASS NDEFRecord interface: operation json()
 FAIL NDEFRecord interface: operation toRecords() assert_own_property: interface prototype object missing non-static operation expected property "toRecords" missing
 PASS NDEFRecord must be primary interface of new NDEFRecord({"recordType":"text","mediaType":"text/plain","data":"Hello World","id":"/custom/path"});
 PASS Stringification of new NDEFRecord({"recordType":"text","mediaType":"text/plain","data":"Hello World","id":"/custom/path"});
 PASS NDEFRecord interface: new NDEFRecord({"recordType":"text","mediaType":"text/plain","data":"Hello World","id":"/custom/path"}); must inherit property "recordType" with the proper type
 PASS NDEFRecord interface: new NDEFRecord({"recordType":"text","mediaType":"text/plain","data":"Hello World","id":"/custom/path"}); must inherit property "mediaType" with the proper type
 FAIL NDEFRecord interface: new NDEFRecord({"recordType":"text","mediaType":"text/plain","data":"Hello World","id":"/custom/path"}); must inherit property "id" with the proper type assert_inherits: property "id" not found in prototype chain
-PASS NDEFRecord interface: new NDEFRecord({"recordType":"text","mediaType":"text/plain","data":"Hello World","id":"/custom/path"}); must inherit property "toText()" with the proper type
-PASS NDEFRecord interface: new NDEFRecord({"recordType":"text","mediaType":"text/plain","data":"Hello World","id":"/custom/path"}); must inherit property "toArrayBuffer()" with the proper type
-PASS NDEFRecord interface: new NDEFRecord({"recordType":"text","mediaType":"text/plain","data":"Hello World","id":"/custom/path"}); must inherit property "toJSON()" with the proper type
-FAIL NDEFRecord interface: toJSON operation on new NDEFRecord({"recordType":"text","mediaType":"text/plain","data":"Hello World","id":"/custom/path"}); assert_true: {"type":"return-type","extAttrs":[],"generic":"","nullable":false,"union":false,"idlType":"any"} is not an appropriate return value for the toJSON operation of NDEFRecord expected true got false
+PASS NDEFRecord interface: new NDEFRecord({"recordType":"text","mediaType":"text/plain","data":"Hello World","id":"/custom/path"}); must inherit property "text()" with the proper type
+PASS NDEFRecord interface: new NDEFRecord({"recordType":"text","mediaType":"text/plain","data":"Hello World","id":"/custom/path"}); must inherit property "arrayBuffer()" with the proper type
+PASS NDEFRecord interface: new NDEFRecord({"recordType":"text","mediaType":"text/plain","data":"Hello World","id":"/custom/path"}); must inherit property "json()" with the proper type
 FAIL NDEFRecord interface: new NDEFRecord({"recordType":"text","mediaType":"text/plain","data":"Hello World","id":"/custom/path"}); must inherit property "toRecords()" with the proper type assert_inherits: property "toRecords" not found in prototype chain
 PASS NFCWriter interface: existence and properties of interface object
 PASS NFCWriter interface object length
diff --git a/third_party/blink/web_tests/external/wpt/web-nfc/resources/nfc-helpers.js b/third_party/blink/web_tests/external/wpt/web-nfc/resources/nfc-helpers.js
index bace1b37..ed5cc9c 100644
--- a/third_party/blink/web_tests/external/wpt/web-nfc/resources/nfc-helpers.js
+++ b/third_party/blink/web_tests/external/wpt/web-nfc/resources/nfc-helpers.js
@@ -152,17 +152,17 @@
     assert_equals(record.mediaType, expectedRecord.mediaType);
 
     // Compares record data
-    assert_equals(record.toText(), expectedRecord.toText());
-    assert_array_equals(new Uint8Array(record.toArrayBuffer()),
-          new Uint8Array(expectedRecord.toArrayBuffer()));
+    assert_equals(record.text(), expectedRecord.text());
+    assert_array_equals(new Uint8Array(record.arrayBuffer()),
+          new Uint8Array(expectedRecord.arrayBuffer()));
     let json;
     try {
-      json = record.toJSON();
+      json = record.json();
     } catch (e) {
     }
     let expectedJson;
     try {
-      expectedJson = expectedRecord.toJSON();
+      expectedJson = expectedRecord.json();
     } catch (e) {
     }
     if (json === undefined || json === null)
diff --git a/third_party/blink/web_tests/fast/css/css2-system-color-expected.html b/third_party/blink/web_tests/fast/css/css2-system-color-expected.html
new file mode 100644
index 0000000..9182282
--- /dev/null
+++ b/third_party/blink/web_tests/fast/css/css2-system-color-expected.html
@@ -0,0 +1,57 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>Color Test</title>
+<style>
+  html {
+    font-size: 12px;
+    width: 750px;
+  }
+  .box:after {
+    content: " ";
+    clear: both;
+    display: block;
+  }
+  .inner {
+    border-top: solid 1px;
+    float: right;
+    width: 620px;
+  }
+  .text {
+    float: left;
+  }
+</style>
+</head>
+<body>
+  <div class="box"><div class="text">ActiveBorder</div><div class="inner" style="background-color: rgb(255, 255, 255)">&nbsp;</div></div>
+  <div class="box"><div class="text">ActiveCaption</div><div class="inner" style="background-color: rgb(204, 204, 204)">&nbsp;</div></div>
+  <div class="box"><div class="text">AppWorkspace</div><div class="inner" style="background-color: rgb(255, 255, 255)">&nbsp;</div></div>
+  <div class="box"><div class="text">Background</div><div class="inner" style="background-color: rgb(99, 99, 206)">&nbsp;</div></div>
+  <div class="box"><div class="text">ButtonFace</div><div class="inner" style="background-color: rgb(221, 221, 221)">&nbsp;</div></div>
+  <div class="box"><div class="text">ButtonHighlight</div><div class="inner" style="background-color: rgb(221, 221, 221)">&nbsp;</div></div>
+  <div class="box"><div class="text">ButtonShadow</div><div class="inner" style="background-color: rgb(136, 136, 136)">&nbsp;</div></div>
+  <div class="box"><div class="text">ButtonText</div><div class="inner" style="background-color: rgb(0, 0, 0)">&nbsp;</div></div>
+  <div class="box"><div class="text">CaptionText</div><div class="inner" style="background-color: rgb(0, 0, 0)">&nbsp;</div></div>
+  <div class="box"><div class="text">GrayText</div><div class="inner" style="background-color: rgb(128, 128, 128)">&nbsp;</div></div>
+  <div class="box"><div class="text">Highlight</div><div class="inner" style="background-color: rgb(181, 213, 255)">&nbsp;</div></div>
+  <div class="box"><div class="text">HighlightText</div><div class="inner" style="background-color: rgb(0, 0, 0)">&nbsp;</div></div>
+  <div class="box"><div class="text">InactiveBorder</div><div class="inner" style="background-color: rgb(255, 255, 255)">&nbsp;</div></div>
+  <div class="box"><div class="text">InactiveCaption</div><div class="inner" style="background-color: rgb(255, 255, 255)">&nbsp;</div></div>
+  <div class="box"><div class="text">InactiveCaptionText</div><div class="inner" style="background-color: rgb(127, 127, 127)">&nbsp;</div></div>
+  <div class="box"><div class="text">InfoBackground</div><div class="inner" style="background-color: rgb(251, 252, 197)">&nbsp;</div></div>
+  <div class="box"><div class="text">InfoText</div><div class="inner" style="background-color: rgb(0, 0, 0)">&nbsp;</div></div>
+  <div class="box"><div class="text">LinkText</div><div class="inner" style="background-color: rgb(0, 0, 238)">&nbsp;</div></div>
+  <div class="box"><div class="text">Menu</div><div class="inner" style="background-color: rgb(247, 247, 247)">&nbsp;</div></div>
+  <div class="box"><div class="text">MenuText</div><div class="inner" style="background-color: rgb(0, 0, 0)">&nbsp;</div></div>
+  <div class="box"><div class="text">Scrollbar</div><div class="inner" style="background-color: rgb(255, 255, 255)">&nbsp;</div></div>
+  <div class="box"><div class="text">ThreeDDarkShadow</div><div class="inner" style="background-color: rgb(102, 102, 102)">&nbsp;</div></div>
+  <div class="box"><div class="text">ThreeDFace</div><div class="inner" style="background-color: rgb(192, 192, 192)">&nbsp;</div></div>
+  <div class="box"><div class="text">ThreeDHighlight</div><div class="inner" style="background-color: rgb(221, 221, 221)">&nbsp;</div></div>
+  <div class="box"><div class="text">ThreeDLightShadow</div><div class="inner" style="background-color: rgb(192, 192, 192)">&nbsp;</div></div>
+  <div class="box"><div class="text">ThreeDShadow</div><div class="inner" style="background-color: rgb(136, 136, 136)">&nbsp;</div></div>
+  <div class="box"><div class="text">VisitedText</div><div class="inner" style="background-color: rgb(85, 26, 139)">&nbsp;</div></div>
+  <div class="box"><div class="text">Window</div><div class="inner" style="background-color: rgb(255, 255, 255)">&nbsp;</div></div>
+  <div class="box"><div class="text">WindowFrame</div><div class="inner" style="background-color: rgb(204, 204, 204)">&nbsp;</div></div>
+  <div class="box"><div class="text">WindowText</div><div class="inner" style="background-color: rgb(0, 0, 0)">&nbsp;</div></div>
+</body>
+</html>
diff --git a/third_party/blink/web_tests/fast/events/click-checkbox-blur-refocus-window.html b/third_party/blink/web_tests/fast/events/click-checkbox-blur-refocus-window.html
index f1096a956..9b25bde 100644
--- a/third_party/blink/web_tests/fast/events/click-checkbox-blur-refocus-window.html
+++ b/third_party/blink/web_tests/fast/events/click-checkbox-blur-refocus-window.html
@@ -35,6 +35,9 @@
         eventSender.mouseMoveTo(checkbox.offsetLeft + 2, checkbox.offsetTop + 2);
         eventSender.mouseDown();
         eventSender.mouseUp();
+        // Move mouse out of the element to avoid hover state which is not
+        // expected by the -expected.html.
+        eventSender.mouseMoveTo(checkbox.offsetLeft - 10, checkbox.offsetTop - 10);
         // Shift focus to other input element.
         eventSender.keyDown('\t');
         internals.setFocused(false);
diff --git a/third_party/blink/web_tests/fast/forms/color/input-appearance-color.html b/third_party/blink/web_tests/fast/forms/color/input-appearance-color.html
index 0bb617129..6c451a2 100644
--- a/third_party/blink/web_tests/fast/forms/color/input-appearance-color.html
+++ b/third_party/blink/web_tests/fast/forms/color/input-appearance-color.html
@@ -1,7 +1,3 @@
-<script>
-if (window.testRunner)
-    testRunner.setUseMockTheme(false);
-</script>
 <h3>Default Appearance</h3>
 List color controls have different appearance.<br>
 <input type="color"><input type="color" list>
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui-high-contrast/color-picker-expected.png b/third_party/blink/web_tests/fast/forms/controls-new-ui-high-contrast/color-picker-expected.png
deleted file mode 100644
index 6a3b490..0000000
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui-high-contrast/color-picker-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui-high-contrast/color-suggestion-picker-appearance-empty-list.html b/third_party/blink/web_tests/fast/forms/controls-new-ui-high-contrast/color-suggestion-picker-appearance-empty-list.html
index 5354bb0..7fe8ad3 100644
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui-high-contrast/color-suggestion-picker-appearance-empty-list.html
+++ b/third_party/blink/web_tests/fast/forms/controls-new-ui-high-contrast/color-suggestion-picker-appearance-empty-list.html
@@ -2,7 +2,6 @@
 <html>
 <head>
 <script>
-testRunner.setUseMockTheme(false);
 testRunner.waitUntilDone();
 </script>
 <script src='../resources/picker-common.js'></script>
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui-high-contrast/color-suggestion-picker-appearance-value-attribute.html b/third_party/blink/web_tests/fast/forms/controls-new-ui-high-contrast/color-suggestion-picker-appearance-value-attribute.html
index 1a9c1df..785efda 100644
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui-high-contrast/color-suggestion-picker-appearance-value-attribute.html
+++ b/third_party/blink/web_tests/fast/forms/controls-new-ui-high-contrast/color-suggestion-picker-appearance-value-attribute.html
@@ -2,7 +2,6 @@
 <html>
 <head>
 <script>
-testRunner.setUseMockTheme(false);
 testRunner.waitUntilDone();
 </script>
 <script src='../resources/picker-common.js'></script>
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui-high-contrast/color-suggestion-picker-appearance.html b/third_party/blink/web_tests/fast/forms/controls-new-ui-high-contrast/color-suggestion-picker-appearance.html
index b8f5cd5f..a955952 100644
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui-high-contrast/color-suggestion-picker-appearance.html
+++ b/third_party/blink/web_tests/fast/forms/controls-new-ui-high-contrast/color-suggestion-picker-appearance.html
@@ -2,7 +2,6 @@
 <html>
 <head>
 <script>
-testRunner.setUseMockTheme(false);
 testRunner.waitUntilDone();
 </script>
 <script src='../resources/picker-common.js'></script>
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui-high-contrast/date-picker-appearance.html b/third_party/blink/web_tests/fast/forms/controls-new-ui-high-contrast/date-picker-appearance.html
index 6bd1d47..e54353511 100644
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui-high-contrast/date-picker-appearance.html
+++ b/third_party/blink/web_tests/fast/forms/controls-new-ui-high-contrast/date-picker-appearance.html
@@ -1,6 +1,5 @@
 <!DOCTYPE html>
 <script>
-testRunner.setUseMockTheme(false);
 testRunner.waitUntilDone();
 </script>
 <script src="../../forms/resources/picker-common.js"></script>
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui-high-contrast/date-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/fast/forms/controls-new-ui-high-contrast/date-suggestion-picker-appearance-expected.png
deleted file mode 100644
index cfcbb9d..0000000
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui-high-contrast/date-suggestion-picker-appearance-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui-high-contrast/month-picker-appearance.html b/third_party/blink/web_tests/fast/forms/controls-new-ui-high-contrast/month-picker-appearance.html
index 2b026f9..73712530 100644
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui-high-contrast/month-picker-appearance.html
+++ b/third_party/blink/web_tests/fast/forms/controls-new-ui-high-contrast/month-picker-appearance.html
@@ -1,6 +1,5 @@
 <!DOCTYPE html>
 <script>
-testRunner.setUseMockTheme(false);
 testRunner.waitUntilDone();
 </script>
 <script src="../../forms/resources/picker-common.js"></script>
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui-high-contrast/radio_checkbox.html b/third_party/blink/web_tests/fast/forms/controls-new-ui-high-contrast/radio_checkbox.html
index 32fdc75..4f6e7fab 100644
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui-high-contrast/radio_checkbox.html
+++ b/third_party/blink/web_tests/fast/forms/controls-new-ui-high-contrast/radio_checkbox.html
@@ -9,8 +9,6 @@
 <input type=checkbox id="indeterminateCheckbox">
 <input type=checkbox id="indeterminateDisabledCheckbox" disabled>
 <script>
-    if (window.testRunner)
-        testRunner.setUseMockTheme(false);
     indeterminateCheckbox.indeterminate = true;
     indeterminateDisabledCheckbox.indeterminate = true;
-</script>
\ No newline at end of file
+</script>
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui-high-contrast/range_meter_progress.html b/third_party/blink/web_tests/fast/forms/controls-new-ui-high-contrast/range_meter_progress.html
index dd612a1..98865c5 100644
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui-high-contrast/range_meter_progress.html
+++ b/third_party/blink/web_tests/fast/forms/controls-new-ui-high-contrast/range_meter_progress.html
@@ -4,7 +4,3 @@
 <meter min="0" max="100" low="30" high="60" optimum="100" value="80"></meter><br><br>
 <meter min="0" max="100" low="30" high="60" optimum="100" value="45"></meter><br><br>
 <meter min="0" max="100" low="30" high="60" optimum="100" value="25"></meter><br><br>
-<script>
-  if (window.testRunner)
-    testRunner.setUseMockTheme(false);
-</script>
\ No newline at end of file
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui-high-contrast/select.html b/third_party/blink/web_tests/fast/forms/controls-new-ui-high-contrast/select.html
index 17ab9ee..34259c9 100644
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui-high-contrast/select.html
+++ b/third_party/blink/web_tests/fast/forms/controls-new-ui-high-contrast/select.html
@@ -1,6 +1,5 @@
 <!DOCTYPE html>
 <script>
-  testRunner.setUseMockTheme(false);
   testRunner.waitUntilDone();
 </script>
 <script src="../../forms/resources/picker-common.js"></script>
@@ -31,4 +30,4 @@
 </select> <br><br>
 <script>
   openPicker(document.getElementById('myselect'), () => testRunner.notifyDone(), () => testRunner.notifyDone());
-</script>
\ No newline at end of file
+</script>
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui-high-contrast/text_number_password_button_submit.html b/third_party/blink/web_tests/fast/forms/controls-new-ui-high-contrast/text_number_password_button_submit.html
index 0b2fabc..dccee7b9c 100644
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui-high-contrast/text_number_password_button_submit.html
+++ b/third_party/blink/web_tests/fast/forms/controls-new-ui-high-contrast/text_number_password_button_submit.html
@@ -11,8 +11,6 @@
 <input type=submit>
 <input type=submit disabled>
 <script>
-  if (window.testRunner)
-    testRunner.setUseMockTheme(false);
   document.getElementById("passwd").focus();
   eventSender.keyDown('a');
-</script>
\ No newline at end of file
+</script>
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui/button/button-appearance-basic.html b/third_party/blink/web_tests/fast/forms/controls-new-ui/button/button-appearance-basic.html
index c51da2a..39b98944 100644
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui/button/button-appearance-basic.html
+++ b/third_party/blink/web_tests/fast/forms/controls-new-ui/button/button-appearance-basic.html
@@ -39,9 +39,4 @@
 <!-- webkit-appearance -->
 <div style="-webkit-appearance: button; width: 50px; height: 30px;">button</div>
 
-<script>
-if (window.testRunner)
-  testRunner.setUseMockTheme(false);
-
-</script>
 </body>
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-coarse-expected.png b/third_party/blink/web_tests/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-coarse-expected.png
deleted file mode 100644
index d285d1e..0000000
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-coarse-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-disabled-previous-month-expected.png b/third_party/blink/web_tests/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-disabled-previous-month-expected.png
deleted file mode 100644
index 4a632e3..0000000
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-disabled-previous-month-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-rtl-expected.png b/third_party/blink/web_tests/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-rtl-expected.png
deleted file mode 100644
index 9fe4c243..0000000
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-rtl-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-step-expected.png b/third_party/blink/web_tests/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-step-expected.png
deleted file mode 100644
index c458837..0000000
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-step-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-zoom150-expected.png b/third_party/blink/web_tests/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-zoom150-expected.png
deleted file mode 100644
index 353f7de..0000000
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-zoom150-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance.html b/third_party/blink/web_tests/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance.html
index 2a24a302..79cc1f4 100644
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance.html
+++ b/third_party/blink/web_tests/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance.html
@@ -1,6 +1,5 @@
 <!DOCTYPE html>
 <script>
-testRunner.setUseMockTheme(false);
 testRunner.waitUntilDone();
 </script>
 <script src="../../../forms/resources/picker-common.js"></script>
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui/calendar-picker/date-picker-disabled-values-expected.png b/third_party/blink/web_tests/fast/forms/controls-new-ui/calendar-picker/date-picker-disabled-values-expected.png
deleted file mode 100644
index 5dd0787c..0000000
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui/calendar-picker/date-picker-disabled-values-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui/calendar-picker/date-picker-month-appearance-expected.png b/third_party/blink/web_tests/fast/forms/controls-new-ui/calendar-picker/date-picker-month-appearance-expected.png
deleted file mode 100644
index 58fd6f5..0000000
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui/calendar-picker/date-picker-month-appearance-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui/checkbox/checkbox-appearance-basic.html b/third_party/blink/web_tests/fast/forms/controls-new-ui/checkbox/checkbox-appearance-basic.html
index bcb9c9c..f105fe2 100644
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui/checkbox/checkbox-appearance-basic.html
+++ b/third_party/blink/web_tests/fast/forms/controls-new-ui/checkbox/checkbox-appearance-basic.html
@@ -65,9 +65,6 @@
 
 <script>
 
-if (window.testRunner)
-  testRunner.setUseMockTheme(false);
-
 runAfterLayoutAndPaint(function() {
   indeterminateCheckbox.indeterminate = true;
   indeterminateDisabledCheckbox.indeterminate = true;
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui/color/color-picker-appearance-disabled.html b/third_party/blink/web_tests/fast/forms/controls-new-ui/color/color-picker-appearance-disabled.html
index bf9aae7..ccf0a94 100644
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui/color/color-picker-appearance-disabled.html
+++ b/third_party/blink/web_tests/fast/forms/controls-new-ui/color/color-picker-appearance-disabled.html
@@ -2,7 +2,6 @@
 <html>
 <head>
 <script>
-testRunner.setUseMockTheme(false);
 testRunner.waitUntilDone();
 </script>
 <script src='../../../forms/resources/picker-common.js'></script>
@@ -17,4 +16,4 @@
 openPicker(document.getElementById('color'), () => testRunner.notifyDone(), () => testRunner.notifyDone());
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui/color/color-picker-appearance.html b/third_party/blink/web_tests/fast/forms/controls-new-ui/color/color-picker-appearance.html
index 57deb34..a336130 100644
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui/color/color-picker-appearance.html
+++ b/third_party/blink/web_tests/fast/forms/controls-new-ui/color/color-picker-appearance.html
@@ -2,7 +2,6 @@
 <html>
 <head>
 <script>
-testRunner.setUseMockTheme(false);
 testRunner.waitUntilDone();
 </script>
 <script src='../../../forms/resources/picker-common.js'></script>
@@ -17,4 +16,4 @@
 openPicker(document.getElementById('color'), () => testRunner.notifyDone(), () => testRunner.notifyDone());
 </script>
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-empty-list-expected.png b/third_party/blink/web_tests/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-empty-list-expected.png
deleted file mode 100644
index 01b022d..0000000
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-empty-list-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-one-row-expected.png b/third_party/blink/web_tests/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-one-row-expected.png
deleted file mode 100644
index cafb36c..0000000
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-one-row-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-two-rows-expected.png b/third_party/blink/web_tests/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-two-rows-expected.png
deleted file mode 100644
index c267a62..0000000
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-two-rows-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-value-attribute-expected.png b/third_party/blink/web_tests/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-value-attribute-expected.png
deleted file mode 100644
index 114f87f..0000000
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-value-attribute-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-with-scrollbar-expected.png b/third_party/blink/web_tests/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-with-scrollbar-expected.png
deleted file mode 100644
index 9ab3bc9..0000000
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-with-scrollbar-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom125-expected.png b/third_party/blink/web_tests/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom125-expected.png
deleted file mode 100644
index ecbf42ff..0000000
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom125-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom200-expected.png b/third_party/blink/web_tests/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom200-expected.png
deleted file mode 100644
index fcb4d107..0000000
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom200-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance.html b/third_party/blink/web_tests/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance.html
index 9a51ab5..646bcee8 100644
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance.html
+++ b/third_party/blink/web_tests/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance.html
@@ -2,7 +2,6 @@
 <html>
 <head>
 <script>
-testRunner.setUseMockTheme(false);
 testRunner.waitUntilDone();
 </script>
 <script src='../../../forms/resources/picker-common.js'></script>
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui/date/date-appearance-basic.html b/third_party/blink/web_tests/fast/forms/controls-new-ui/date/date-appearance-basic.html
index bd73c66..8bbf85b 100644
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui/date/date-appearance-basic.html
+++ b/third_party/blink/web_tests/fast/forms/controls-new-ui/date/date-appearance-basic.html
@@ -42,9 +42,6 @@
 
 <script>
 
-if (window.testRunner)
-  testRunner.setUseMockTheme(false);
-
 runAfterLayoutAndPaint(function() {
   var target = document.getElementById('hoverTarget');
   hoverOverElement(target);
@@ -52,4 +49,4 @@
 
 </script>
 
-</body>
\ No newline at end of file
+</body>
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui/datetimelocal/datetimelocal-appearance-basic.html b/third_party/blink/web_tests/fast/forms/controls-new-ui/datetimelocal/datetimelocal-appearance-basic.html
index 7f8aae7..2f83a59 100644
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui/datetimelocal/datetimelocal-appearance-basic.html
+++ b/third_party/blink/web_tests/fast/forms/controls-new-ui/datetimelocal/datetimelocal-appearance-basic.html
@@ -42,9 +42,6 @@
 
 <script>
 
-if (window.testRunner)
-  testRunner.setUseMockTheme(false);
-
 runAfterLayoutAndPaint(function() {
   var target = document.getElementById('hoverTarget');
   hoverOverElement(target);
@@ -52,4 +49,4 @@
 
 </script>
 
-</body>
\ No newline at end of file
+</body>
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui/file/file-appearance-basic.html b/third_party/blink/web_tests/fast/forms/controls-new-ui/file/file-appearance-basic.html
index 14aecbd..4fade84d 100644
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui/file/file-appearance-basic.html
+++ b/third_party/blink/web_tests/fast/forms/controls-new-ui/file/file-appearance-basic.html
@@ -18,11 +18,4 @@
   <li>File zoom: 4: <input type="file" style="zoom: 4;"/></li>
 </ul>
 
-<script>
-
-if (window.testRunner)
-  testRunner.setUseMockTheme(false);
-
-</script>
-
-</body>
\ No newline at end of file
+</body>
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-today-expected.png b/third_party/blink/web_tests/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-today-expected.png
deleted file mode 100644
index 24705f1..0000000
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-today-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-values-expected.png b/third_party/blink/web_tests/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-values-expected.png
deleted file mode 100644
index c9b97d0..0000000
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-values-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui/month-picker/month-picker-appearance-highlight-expected.png b/third_party/blink/web_tests/fast/forms/controls-new-ui/month-picker/month-picker-appearance-highlight-expected.png
deleted file mode 100644
index c9b97d0..0000000
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui/month-picker/month-picker-appearance-highlight-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui/month-picker/month-picker-appearance-rtl-expected.png b/third_party/blink/web_tests/fast/forms/controls-new-ui/month-picker/month-picker-appearance-rtl-expected.png
deleted file mode 100644
index 975902a7..0000000
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui/month-picker/month-picker-appearance-rtl-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui/month-picker/month-picker-appearance-value-not-in-interval-expected.png b/third_party/blink/web_tests/fast/forms/controls-new-ui/month-picker/month-picker-appearance-value-not-in-interval-expected.png
deleted file mode 100644
index 2d035bf7..0000000
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui/month-picker/month-picker-appearance-value-not-in-interval-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui/month-picker/month-picker-appearance-zoom150-expected.png b/third_party/blink/web_tests/fast/forms/controls-new-ui/month-picker/month-picker-appearance-zoom150-expected.png
deleted file mode 100644
index 163da87..0000000
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui/month-picker/month-picker-appearance-zoom150-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui/month-picker/month-picker-appearance.html b/third_party/blink/web_tests/fast/forms/controls-new-ui/month-picker/month-picker-appearance.html
index e5b4baab..2cc5f26 100644
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui/month-picker/month-picker-appearance.html
+++ b/third_party/blink/web_tests/fast/forms/controls-new-ui/month-picker/month-picker-appearance.html
@@ -1,6 +1,5 @@
 <!DOCTYPE html>
 <script>
-testRunner.setUseMockTheme(false);
 testRunner.waitUntilDone();
 </script>
 <script src="../../../forms/resources/picker-common.js"></script>
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui/month/month-appearance-basic.html b/third_party/blink/web_tests/fast/forms/controls-new-ui/month/month-appearance-basic.html
index e92c586d..7a826d47 100644
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui/month/month-appearance-basic.html
+++ b/third_party/blink/web_tests/fast/forms/controls-new-ui/month/month-appearance-basic.html
@@ -42,9 +42,6 @@
 
 <script>
 
-if (window.testRunner)
-  testRunner.setUseMockTheme(false);
-
 runAfterLayoutAndPaint(function() {
   var target = document.getElementById('hoverTarget');
   hoverOverElement(target);
@@ -52,4 +49,4 @@
 
 </script>
 
-</body>
\ No newline at end of file
+</body>
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui/password/password-alt-f8-expected.png b/third_party/blink/web_tests/fast/forms/controls-new-ui/password/password-alt-f8-expected.png
deleted file mode 100644
index 5e166cf..0000000
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui/password/password-alt-f8-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui/password/password-alt-f8-twice-expected.png b/third_party/blink/web_tests/fast/forms/controls-new-ui/password/password-alt-f8-twice-expected.png
deleted file mode 100644
index 5e166cf..0000000
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui/password/password-alt-f8-twice-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui/password/password-eye-icon-font-size-48px-expected.png b/third_party/blink/web_tests/fast/forms/controls-new-ui/password/password-eye-icon-font-size-48px-expected.png
deleted file mode 100644
index e7c9d6b..0000000
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui/password/password-eye-icon-font-size-48px-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui/password/password-eye-icon-font-size-4px-expected.png b/third_party/blink/web_tests/fast/forms/controls-new-ui/password/password-eye-icon-font-size-4px-expected.png
deleted file mode 100644
index 2399ca6..0000000
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui/password/password-eye-icon-font-size-4px-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui/password/password-eye-icon-zoom-0.5x-expected.png b/third_party/blink/web_tests/fast/forms/controls-new-ui/password/password-eye-icon-zoom-0.5x-expected.png
deleted file mode 100644
index e2dc95d..0000000
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui/password/password-eye-icon-zoom-0.5x-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui/password/password-eye-icon-zoom-4x-expected.png b/third_party/blink/web_tests/fast/forms/controls-new-ui/password/password-eye-icon-zoom-4x-expected.png
deleted file mode 100644
index 67bcee9..0000000
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui/password/password-eye-icon-zoom-4x-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui/password/password-mismatched_glyph-expected.png b/third_party/blink/web_tests/fast/forms/controls-new-ui/password/password-mismatched_glyph-expected.png
deleted file mode 100644
index 5e166cf..0000000
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui/password/password-mismatched_glyph-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui/password/password-small-size-alt-f8-expected.png b/third_party/blink/web_tests/fast/forms/controls-new-ui/password/password-small-size-alt-f8-expected.png
deleted file mode 100644
index a999c83..0000000
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui/password/password-small-size-alt-f8-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui/password/password-with-reveal-button-expected.png b/third_party/blink/web_tests/fast/forms/controls-new-ui/password/password-with-reveal-button-expected.png
deleted file mode 100644
index 5e166cf..0000000
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui/password/password-with-reveal-button-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui/progress/progress-appearance-basic.html b/third_party/blink/web_tests/fast/forms/controls-new-ui/progress/progress-appearance-basic.html
index cc52e28..a5e0404 100644
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui/progress/progress-appearance-basic.html
+++ b/third_party/blink/web_tests/fast/forms/controls-new-ui/progress/progress-appearance-basic.html
@@ -6,8 +6,4 @@
 <progress max="100" value="99"></progress><br><br>
 <progress max="100" value="100"></progress><br><br>
 <progress max="100" value="50" style="height:30px"></progress><br><br>
-<script>
-if (window.testRunner)
-  testRunner.setUseMockTheme(false);
-</script>
-</body>
\ No newline at end of file
+</body>
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui/radio/radio-appearance-basic.html b/third_party/blink/web_tests/fast/forms/controls-new-ui/radio/radio-appearance-basic.html
index 13b2a38..67944ee 100644
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui/radio/radio-appearance-basic.html
+++ b/third_party/blink/web_tests/fast/forms/controls-new-ui/radio/radio-appearance-basic.html
@@ -43,13 +43,10 @@
 
 <script>
 
-if (window.testRunner)
-  testRunner.setUseMockTheme(false);
-
 runAfterLayoutAndPaint(function() {
   var target = document.getElementById('hoverTarget');
   hoverOverElement(target);
 }, true);
 
 </script>
-</body>
\ No newline at end of file
+</body>
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui/range/range-appearance-basic.html b/third_party/blink/web_tests/fast/forms/controls-new-ui/range/range-appearance-basic.html
index 4cfe643..3120b399 100644
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui/range/range-appearance-basic.html
+++ b/third_party/blink/web_tests/fast/forms/controls-new-ui/range/range-appearance-basic.html
@@ -62,9 +62,6 @@
 
 <script>
 
-if (window.testRunner)
-  testRunner.setUseMockTheme(false);
-
 runAfterLayoutAndPaint(function() {
   var target = document.getElementById('hoverTarget');
   hoverOverElement(target);
@@ -72,4 +69,4 @@
 
 </script>
 
-</body>
\ No newline at end of file
+</body>
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui/select/select-inpage-appearance-basic.html b/third_party/blink/web_tests/fast/forms/controls-new-ui/select/select-inpage-appearance-basic.html
index ff8c3ee..c535f92c4 100644
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui/select/select-inpage-appearance-basic.html
+++ b/third_party/blink/web_tests/fast/forms/controls-new-ui/select/select-inpage-appearance-basic.html
@@ -46,8 +46,6 @@
 <select style="zoom: 3;"><option>zoom: 3</option></select> <br>
 
 <script>
-if (window.testRunner)
-  testRunner.setUseMockTheme(false);
 
 runAfterLayoutAndPaint(function() {
   let focusTarget = document.getElementById('focusTarget');
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui/select/select-multiple-appearance-basic-expected.png b/third_party/blink/web_tests/fast/forms/controls-new-ui/select/select-multiple-appearance-basic-expected.png
deleted file mode 100644
index cee2bda..0000000
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui/select/select-multiple-appearance-basic-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui/select/select-multiple-appearance-basic.html b/third_party/blink/web_tests/fast/forms/controls-new-ui/select/select-multiple-appearance-basic.html
index 9609d53..45700a5 100644
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui/select/select-multiple-appearance-basic.html
+++ b/third_party/blink/web_tests/fast/forms/controls-new-ui/select/select-multiple-appearance-basic.html
@@ -127,9 +127,4 @@
   </optgroup>
 </select><br>
 
-<script>
-if (window.testRunner)
-  testRunner.setUseMockTheme(false);
-
-</script>
-</body>
\ No newline at end of file
+</body>
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui/suggestion-picker/date-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/fast/forms/controls-new-ui/suggestion-picker/date-suggestion-picker-appearance-expected.png
deleted file mode 100644
index cfcbb9d..0000000
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui/suggestion-picker/date-suggestion-picker-appearance-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/fast/forms/controls-new-ui/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
deleted file mode 100644
index 14d77fd..0000000
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui/suggestion-picker/month-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/fast/forms/controls-new-ui/suggestion-picker/month-suggestion-picker-appearance-expected.png
deleted file mode 100644
index c5d1297..0000000
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui/suggestion-picker/month-suggestion-picker-appearance-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui/suggestion-picker/time-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/fast/forms/controls-new-ui/suggestion-picker/time-suggestion-picker-appearance-expected.png
deleted file mode 100644
index 9c37084..0000000
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui/suggestion-picker/time-suggestion-picker-appearance-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui/suggestion-picker/week-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/fast/forms/controls-new-ui/suggestion-picker/week-suggestion-picker-appearance-expected.png
deleted file mode 100644
index c3ea896..0000000
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui/suggestion-picker/week-suggestion-picker-appearance-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui/text/input-basic-box-appearance-basic.html b/third_party/blink/web_tests/fast/forms/controls-new-ui/text/input-basic-box-appearance-basic.html
index a62822d0..8c31048 100644
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui/text/input-basic-box-appearance-basic.html
+++ b/third_party/blink/web_tests/fast/forms/controls-new-ui/text/input-basic-box-appearance-basic.html
@@ -49,9 +49,6 @@
 
 <script>
 
-if (window.testRunner)
-  testRunner.setUseMockTheme(false);
-
 runAfterLayoutAndPaint(function() {
   var target = document.getElementById('hoverTarget');
   hoverOverElement(target);
@@ -59,4 +56,4 @@
 
 </script>
 
-</body>
\ No newline at end of file
+</body>
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-AM-expected.png b/third_party/blink/web_tests/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-AM-expected.png
deleted file mode 100644
index 642885369..0000000
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-AM-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-PM-expected.png b/third_party/blink/web_tests/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-PM-expected.png
deleted file mode 100644
index 6e7f5e4..0000000
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-PM-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui/time-picker/time-picker-appearance-24-hour-expected.png b/third_party/blink/web_tests/fast/forms/controls-new-ui/time-picker/time-picker-appearance-24-hour-expected.png
deleted file mode 100644
index bdc61b8..0000000
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui/time-picker/time-picker-appearance-24-hour-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowdown-expected.png b/third_party/blink/web_tests/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowdown-expected.png
deleted file mode 100644
index 56d31c3..0000000
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowdown-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowup-expected.png b/third_party/blink/web_tests/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowup-expected.png
deleted file mode 100644
index 56d31c3..0000000
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowup-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui/time-picker/time-picker-appearance-expected.png b/third_party/blink/web_tests/fast/forms/controls-new-ui/time-picker/time-picker-appearance-expected.png
deleted file mode 100644
index 56d31c3..0000000
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui/time-picker/time-picker-appearance-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui/time-picker/time-picker-appearance-ko-expected.png b/third_party/blink/web_tests/fast/forms/controls-new-ui/time-picker/time-picker-appearance-ko-expected.png
deleted file mode 100644
index 2579f791..0000000
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui/time-picker/time-picker-appearance-ko-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui/time-picker/time-picker-appearance-milliseconds-expected.png b/third_party/blink/web_tests/fast/forms/controls-new-ui/time-picker/time-picker-appearance-milliseconds-expected.png
deleted file mode 100644
index a3812937..0000000
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui/time-picker/time-picker-appearance-milliseconds-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui/time-picker/time-picker-appearance-seconds-pm-expected.png b/third_party/blink/web_tests/fast/forms/controls-new-ui/time-picker/time-picker-appearance-seconds-pm-expected.png
deleted file mode 100644
index e5bb4c4..0000000
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui/time-picker/time-picker-appearance-seconds-pm-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui/time/time-appearance-basic.html b/third_party/blink/web_tests/fast/forms/controls-new-ui/time/time-appearance-basic.html
index 6c2a166..d07f653 100644
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui/time/time-appearance-basic.html
+++ b/third_party/blink/web_tests/fast/forms/controls-new-ui/time/time-appearance-basic.html
@@ -42,9 +42,6 @@
 
 <script>
 
-if (window.testRunner)
-  testRunner.setUseMockTheme(false);
-
 runAfterLayoutAndPaint(function() {
   var target = document.getElementById('hoverTarget');
   hoverOverElement(target);
@@ -52,4 +49,4 @@
 
 </script>
 
-</body>
\ No newline at end of file
+</body>
diff --git a/third_party/blink/web_tests/fast/forms/controls-new-ui/week/week-appearance-basic.html b/third_party/blink/web_tests/fast/forms/controls-new-ui/week/week-appearance-basic.html
index 6d475cf..8fb1cc1 100644
--- a/third_party/blink/web_tests/fast/forms/controls-new-ui/week/week-appearance-basic.html
+++ b/third_party/blink/web_tests/fast/forms/controls-new-ui/week/week-appearance-basic.html
@@ -42,9 +42,6 @@
 
 <script>
 
-if (window.testRunner)
-  testRunner.setUseMockTheme(false);
-
 runAfterLayoutAndPaint(function() {
   var target = document.getElementById('hoverTarget');
   hoverOverElement(target);
@@ -52,4 +49,4 @@
 
 </script>
 
-</body>
\ No newline at end of file
+</body>
diff --git a/third_party/blink/web_tests/fast/forms/number/number-appearance-spinbutton-disabled-readonly.html b/third_party/blink/web_tests/fast/forms/number/number-appearance-spinbutton-disabled-readonly.html
index 9b59b66c..b05518f 100644
--- a/third_party/blink/web_tests/fast/forms/number/number-appearance-spinbutton-disabled-readonly.html
+++ b/third_party/blink/web_tests/fast/forms/number/number-appearance-spinbutton-disabled-readonly.html
@@ -8,10 +8,6 @@
 </style>
 </head>
 <body>
-<script>
-if (window.testRunner)
-    testRunner.setUseMockTheme(false);
-</script>
 <p>Test appearances of spin buttons. Disabled state and read-only state should have appearances different from the normal state.</p>
 <div><label><input type=number value=0> Normal state</label></div>
 <div><label><input type=number value=0 disabled> Disabled state</label></div>
diff --git a/third_party/blink/web_tests/fast/forms/select/basic-selects.html b/third_party/blink/web_tests/fast/forms/select/basic-selects.html
index f9e6f43..e513ee6ad 100644
--- a/third_party/blink/web_tests/fast/forms/select/basic-selects.html
+++ b/third_party/blink/web_tests/fast/forms/select/basic-selects.html
@@ -14,11 +14,6 @@
 </head>
 
 <body>
-<script>
-if (window.testRunner)
-    testRunner.setUseMockTheme(false);
-</script>
-
 <div>
 
 Whitespace in option text:<select><option>f o  o</option></select>a<select><option DISABLED>f o  o</option></select>b<br><br>
diff --git a/third_party/blink/web_tests/fast/forms/select/listbox-appearance-basic.html b/third_party/blink/web_tests/fast/forms/select/listbox-appearance-basic.html
index 9df4a44..940dcb6 100644
--- a/third_party/blink/web_tests/fast/forms/select/listbox-appearance-basic.html
+++ b/third_party/blink/web_tests/fast/forms/select/listbox-appearance-basic.html
@@ -5,10 +5,6 @@
     margin: 4px;
 }
 </style>
-<script>
-if (window.testRunner)
-    testRunner.setUseMockTheme(false);
-</script>
 
 <select multiple><option>foo</option></select>
 <select multiple><option selected>foo</option><option>bar</option><option selected disabled>Disabled</option></select>
diff --git a/third_party/blink/web_tests/fast/forms/select/listbox-appearance-separator.html b/third_party/blink/web_tests/fast/forms/select/listbox-appearance-separator.html
index ec24fda..47ef407 100644
--- a/third_party/blink/web_tests/fast/forms/select/listbox-appearance-separator.html
+++ b/third_party/blink/web_tests/fast/forms/select/listbox-appearance-separator.html
@@ -6,11 +6,6 @@
 <script src="../../../resources/js-test.js"></script>
 </head>
 <body>
-<script>
-if (window.testRunner)
-    testRunner.setUseMockTheme(false);
-</script>
-
 <p>There should be a separator between two selected options.</p>
 
 <select multiple id="listbox"></select>
diff --git a/third_party/blink/web_tests/fast/forms/select/menulist-appearance-basic.html b/third_party/blink/web_tests/fast/forms/select/menulist-appearance-basic.html
index 621cd0c..9b1863f 100644
--- a/third_party/blink/web_tests/fast/forms/select/menulist-appearance-basic.html
+++ b/third_party/blink/web_tests/fast/forms/select/menulist-appearance-basic.html
@@ -14,10 +14,6 @@
     border: transparent;
 }
 </style>
-<script>
-if (window.testRunner)
-    testRunner.setUseMockTheme(false);
-</script>
 
 <!-- no style for reference -->
 <select><option>foo</option></select> <br>
diff --git a/third_party/blink/web_tests/fast/forms/select/select-autofilled.html b/third_party/blink/web_tests/fast/forms/select/select-autofilled.html
index 58a5fa8..a760783c 100644
--- a/third_party/blink/web_tests/fast/forms/select/select-autofilled.html
+++ b/third_party/blink/web_tests/fast/forms/select/select-autofilled.html
@@ -9,10 +9,6 @@
         background: transparent;
     }
 </style>
-<script>
-if (window.testRunner)
-    testRunner.setUseMockTheme(false);
-</script>
 <p>The background should be blue.</p>
     <select id = "select">
         <option>CA</option>
diff --git a/third_party/blink/web_tests/fast/forms/textarea/textarea-appearance-basic.html b/third_party/blink/web_tests/fast/forms/textarea/textarea-appearance-basic.html
index 55490326..59213cf2 100644
--- a/third_party/blink/web_tests/fast/forms/textarea/textarea-appearance-basic.html
+++ b/third_party/blink/web_tests/fast/forms/textarea/textarea-appearance-basic.html
@@ -5,10 +5,6 @@
     margin: 4px;
 }
 </style>
-<script>
-if (window.testRunner)
-    testRunner.setUseMockTheme(false);
-</script>
 
 <!-- no style for reference -->
 <textarea>foo</textarea> <br>
diff --git a/third_party/blink/web_tests/fast/overflow/clip-rects-fixed-ancestor-expected.png b/third_party/blink/web_tests/fast/overflow/clip-rects-fixed-ancestor-expected.png
deleted file mode 100644
index 9592dfb..0000000
--- a/third_party/blink/web_tests/fast/overflow/clip-rects-fixed-ancestor-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/compositing/gestures/gesture-tapHighlight-with-squashing-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/compositing/gestures/gesture-tapHighlight-with-squashing-expected.png
new file mode 100644
index 0000000..a6dbec0a
--- /dev/null
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/compositing/gestures/gesture-tapHighlight-with-squashing-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/compositing/squashing/selection-repaint-with-gaps-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/compositing/squashing/selection-repaint-with-gaps-expected.png
index a56b709..dd509a30 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/compositing/squashing/selection-repaint-with-gaps-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/compositing/squashing/selection-repaint-with-gaps-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/css1/box_properties/acid_test-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/css1/box_properties/acid_test-expected.png
index 9bc8487..3723ff0 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/css1/box_properties/acid_test-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/css1/box_properties/acid_test-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/css1/box_properties/float_elements_in_series-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/css1/box_properties/float_elements_in_series-expected.png
index e84b1759..0299d17 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/css1/box_properties/float_elements_in_series-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/css1/box_properties/float_elements_in_series-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/css1/box_properties/float_on_text_elements-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/css1/box_properties/float_on_text_elements-expected.png
index f5c4c2d..e0357b84 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/css1/box_properties/float_on_text_elements-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/css1/box_properties/float_on_text_elements-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/css1/classification/display-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/css1/classification/display-expected.png
index 24b9ad0b..c993cd9 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/css1/classification/display-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/css1/classification/display-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/css1/formatting_model/height_of_lines-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/css1/formatting_model/height_of_lines-expected.png
index 6217520..89f5203 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/css1/formatting_model/height_of_lines-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/css1/formatting_model/height_of_lines-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/css1/formatting_model/inline_elements-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/css1/formatting_model/inline_elements-expected.png
index 8e461861..5ebc489 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/css1/formatting_model/inline_elements-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/css1/formatting_model/inline_elements-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/css1/pseudo/anchor-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/css1/pseudo/anchor-expected.png
index f823756..e6ea3d59 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/css1/pseudo/anchor-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/css1/pseudo/anchor-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/css1/text_properties/text_transform-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/css1/text_properties/text_transform-expected.png
index 5f0b0a7..de11f048 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/css1/text_properties/text_transform-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/css1/text_properties/text_transform-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/css2.1/t09-c5526c-display-00-e-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/css2.1/t09-c5526c-display-00-e-expected.png
index 560313df..6fff40dc 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/css2.1/t09-c5526c-display-00-e-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/css2.1/t09-c5526c-display-00-e-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/css2.1/t0905-c5525-fltwidth-00-c-g-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/css2.1/t0905-c5525-fltwidth-00-c-g-expected.png
index 5a323eae..586a8fed 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/css2.1/t0905-c5525-fltwidth-00-c-g-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/css2.1/t0905-c5525-fltwidth-00-c-g-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/css2.1/t140201-c535-bg-fixd-00-b-g-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/css2.1/t140201-c535-bg-fixd-00-b-g-expected.png
index c7b14427..9c4a834 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/css2.1/t140201-c535-bg-fixd-00-b-g-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/css2.1/t140201-c535-bg-fixd-00-b-g-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/css2.1/t140201-c537-bgfxps-00-c-ag-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/css2.1/t140201-c537-bgfxps-00-c-ag-expected.png
index e54cf2f..b2a457f 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/css2.1/t140201-c537-bgfxps-00-c-ag-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/css2.1/t140201-c537-bgfxps-00-c-ag-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/css3/flexbox/flexbox-baseline-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/css3/flexbox/flexbox-baseline-expected.png
index 1877957..112e814 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/css3/flexbox/flexbox-baseline-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/css3/flexbox/flexbox-baseline-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/execCommand/findString-2-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/execCommand/findString-2-expected.png
index 2bfa92e..248db4f 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/execCommand/findString-2-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/execCommand/findString-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/input/linux_rtl_composition_underline-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/input/linux_rtl_composition_underline-expected.png
index ad93b28..72d45a7 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/input/linux_rtl_composition_underline-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/input/linux_rtl_composition_underline-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/4402375-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/4402375-expected.png
index 05255e8..30a7b54 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/4402375-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/4402375-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/display-table-text-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/display-table-text-expected.png
index f020fc8f..cf169f6 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/display-table-text-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/display-table-text-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/dont-select-text-overflow-ellipsis-when-wrapping-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/dont-select-text-overflow-ellipsis-when-wrapping-expected.png
index 209ec80..acbb8af 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/dont-select-text-overflow-ellipsis-when-wrapping-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/dont-select-text-overflow-ellipsis-when-wrapping-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/dont-select-text-overflow-ellipsis-when-wrapping-ltr-mixed-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/dont-select-text-overflow-ellipsis-when-wrapping-ltr-mixed-expected.png
index 3f570f6..65fdce83 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/dont-select-text-overflow-ellipsis-when-wrapping-ltr-mixed-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/dont-select-text-overflow-ellipsis-when-wrapping-ltr-mixed-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/dont-select-text-overflow-ellipsis-when-wrapping-rtl-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/dont-select-text-overflow-ellipsis-when-wrapping-rtl-expected.png
index 3cc87e0..be5a227 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/dont-select-text-overflow-ellipsis-when-wrapping-rtl-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/dont-select-text-overflow-ellipsis-when-wrapping-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/dont-select-text-overflow-ellipsis-when-wrapping-rtl-mixed-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/dont-select-text-overflow-ellipsis-when-wrapping-rtl-mixed-expected.png
index f5d61516..125f419f 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/dont-select-text-overflow-ellipsis-when-wrapping-rtl-mixed-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/dont-select-text-overflow-ellipsis-when-wrapping-rtl-mixed-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/inline-closest-leaf-child-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/inline-closest-leaf-child-expected.png
index 6066b60b9..88c5cc6 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/inline-closest-leaf-child-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/inline-closest-leaf-child-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/japanese-lr-selection-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/japanese-lr-selection-expected.png
index 5e42adbd6..4a8e2235 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/japanese-lr-selection-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/japanese-lr-selection-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/japanese-rl-selection-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/japanese-rl-selection-expected.png
index 9490ba5..29dd92d 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/japanese-rl-selection-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/japanese-rl-selection-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/line-wrap-1-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/line-wrap-1-expected.png
index 128f8b1..623eacf 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/line-wrap-1-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/line-wrap-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/line-wrap-2-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/line-wrap-2-expected.png
index e942d4b..2755493 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/line-wrap-2-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/line-wrap-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/linux_selection_color-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/linux_selection_color-expected.png
index be4c159b..4110ca40 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/linux_selection_color-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/linux_selection_color-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/range-between-block-and-inline-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/range-between-block-and-inline-expected.png
index d5da289..1e308cd 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/range-between-block-and-inline-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/range-between-block-and-inline-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/select-text-overflow-ellipsis-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/select-text-overflow-ellipsis-expected.png
index a974a9b7..bd49ca9 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/select-text-overflow-ellipsis-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/select-text-overflow-ellipsis-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/select-text-overflow-ellipsis-mixed-in-ltr-2-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/select-text-overflow-ellipsis-mixed-in-ltr-2-expected.png
index cebec406..5352f45 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/select-text-overflow-ellipsis-mixed-in-ltr-2-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/select-text-overflow-ellipsis-mixed-in-ltr-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/select-text-overflow-ellipsis-mixed-in-ltr-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/select-text-overflow-ellipsis-mixed-in-ltr-expected.png
index c59d0e1f..1a318da 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/select-text-overflow-ellipsis-mixed-in-ltr-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/select-text-overflow-ellipsis-mixed-in-ltr-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/select-text-overflow-ellipsis-mixed-in-rtl-2-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/select-text-overflow-ellipsis-mixed-in-rtl-2-expected.png
index aae7d4a..9b4c0d0 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/select-text-overflow-ellipsis-mixed-in-rtl-2-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/select-text-overflow-ellipsis-mixed-in-rtl-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/select-text-overflow-ellipsis-mixed-in-rtl-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/select-text-overflow-ellipsis-mixed-in-rtl-expected.png
index 189102ba..2d1f1f38 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/select-text-overflow-ellipsis-mixed-in-rtl-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/select-text-overflow-ellipsis-mixed-in-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/selection-background-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/selection-background-expected.png
index 89db1987..af7f74a 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/selection-background-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/selection-background-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/selection-button-text-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/selection-button-text-expected.png
index 0f6b61a..955001079 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/selection-button-text-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/selection-button-text-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/transformed-selection-rects-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/transformed-selection-rects-expected.png
index 5d9d71c8..08e44c4 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/transformed-selection-rects-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/transformed-selection-rects-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/vertical-lr-replaced-selection-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/vertical-lr-replaced-selection-expected.png
index 9ee8d4d9..c12e7e1 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/vertical-lr-replaced-selection-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/vertical-lr-replaced-selection-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/vertical-rl-replaced-selection-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/vertical-rl-replaced-selection-expected.png
index 300266f..ba0d2a80 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/vertical-rl-replaced-selection-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/editing/selection/vertical-rl-replaced-selection-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/backgrounds/background-inherit-color-bug-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/backgrounds/background-inherit-color-bug-expected.png
index 386ca50..21300b4 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/backgrounds/background-inherit-color-bug-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/backgrounds/background-inherit-color-bug-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/backgrounds/background-leakage-transforms-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/backgrounds/background-leakage-transforms-expected.png
index bb23833..f68c339c 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/backgrounds/background-leakage-transforms-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/backgrounds/background-leakage-transforms-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/block/basic/011-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/block/basic/011-expected.png
index 9bc8487..3723ff0 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/block/basic/011-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/block/basic/011-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/block/basic/016-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/block/basic/016-expected.png
index b4453b39..dc4cb987 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/block/basic/016-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/block/basic/016-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/block/float/centered-float-avoidance-complexity-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/block/float/centered-float-avoidance-complexity-expected.png
index d464e27..95f28d52 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/block/float/centered-float-avoidance-complexity-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/block/float/centered-float-avoidance-complexity-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/borders/inline-mask-overlay-image-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/borders/inline-mask-overlay-image-expected.png
index 73bca9c..26f5c6c 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/borders/inline-mask-overlay-image-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/borders/inline-mask-overlay-image-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/borders/rtl-border-02-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/borders/rtl-border-02-expected.png
index b2635b2..9e3e23875 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/borders/rtl-border-02-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/borders/rtl-border-02-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/css/first-child-pseudo-class-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/css/first-child-pseudo-class-expected.png
index 05df590..04f4de3 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/css/first-child-pseudo-class-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/css/first-child-pseudo-class-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/css/first-of-type-pseudo-class-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/css/first-of-type-pseudo-class-expected.png
index cae4478..ceccda5d 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/css/first-of-type-pseudo-class-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/css/first-of-type-pseudo-class-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/css/last-child-pseudo-class-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/css/last-child-pseudo-class-expected.png
index fa125cc..6e765fe 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/css/last-child-pseudo-class-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/css/last-child-pseudo-class-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/css/last-of-type-pseudo-class-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/css/last-of-type-pseudo-class-expected.png
index 27cfcbcb..dac1fc2 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/css/last-of-type-pseudo-class-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/css/last-of-type-pseudo-class-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/css/only-child-pseudo-class-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/css/only-child-pseudo-class-expected.png
index 68f69b2..312f9a5 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/css/only-child-pseudo-class-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/css/only-child-pseudo-class-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/css/only-of-type-pseudo-class-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/css/only-of-type-pseudo-class-expected.png
index 9b9ead25..f466582d 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/css/only-of-type-pseudo-class-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/css/only-of-type-pseudo-class-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/css/text-overflow-ellipsis-text-align-center-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/css/text-overflow-ellipsis-text-align-center-expected.png
index 218e71c..e8d93b4 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/css/text-overflow-ellipsis-text-align-center-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/css/text-overflow-ellipsis-text-align-center-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/css/text-overflow-ellipsis-text-align-justify-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/css/text-overflow-ellipsis-text-align-justify-expected.png
index c5bbafa4d..3ccb8704 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/css/text-overflow-ellipsis-text-align-justify-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/css/text-overflow-ellipsis-text-align-justify-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/css/text-overflow-ellipsis-text-align-left-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/css/text-overflow-ellipsis-text-align-left-expected.png
index 0ca2385..8b996dd 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/css/text-overflow-ellipsis-text-align-left-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/css/text-overflow-ellipsis-text-align-left-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/css/text-overflow-ellipsis-text-align-right-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/css/text-overflow-ellipsis-text-align-right-expected.png
index 0c0622e..e7caaac0 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/css/text-overflow-ellipsis-text-align-right-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/css/text-overflow-ellipsis-text-align-right-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.png
index e9b21df..574c130 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/css/vertical-text-overflow-ellipsis-text-align-right-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/css/vertical-text-overflow-ellipsis-text-align-right-expected.png
index a0ec461b..af781bb 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/css/vertical-text-overflow-ellipsis-text-align-right-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/css/vertical-text-overflow-ellipsis-text-align-right-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/dynamic/selection-highlight-adjust-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/dynamic/selection-highlight-adjust-expected.png
index 1d1546c..eae47a7 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/dynamic/selection-highlight-adjust-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/dynamic/selection-highlight-adjust-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/events/updateLayoutForHitTest-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/events/updateLayoutForHitTest-expected.png
index b1a8ae0..4c8a773 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/events/updateLayoutForHitTest-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/events/updateLayoutForHitTest-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/001-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/001-expected.png
index 38c6b5f..201b971 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/001-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/001-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/controls-new-ui/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/controls-new-ui/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
index 9f87477..02e8f11 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/controls-new-ui/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/controls-new-ui/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/controls-new-ui/suggestion-picker/time-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/controls-new-ui/suggestion-picker/time-suggestion-picker-appearance-expected.png
index 46c67287..21df8ae 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/controls-new-ui/suggestion-picker/time-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/controls-new-ui/suggestion-picker/time-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/date/date-appearance-basic-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/date/date-appearance-basic-expected.png
index fb34312..ff5ad094 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/date/date-appearance-basic-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/date/date-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/datetimelocal/datetimelocal-appearance-basic-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/datetimelocal/datetimelocal-appearance-basic-expected.png
index c0ba4ea..6cb83bd 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/datetimelocal/datetimelocal-appearance-basic-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/datetimelocal/datetimelocal-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/form-element-geometry-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/form-element-geometry-expected.png
index 494322d..5c60b2f9 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/form-element-geometry-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/form-element-geometry-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/month/month-appearance-basic-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/month/month-appearance-basic-expected.png
index c083bb2b..7bf0fa8f 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/month/month-appearance-basic-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/month/month-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/plaintext-mode-2-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/plaintext-mode-2-expected.png
index b4b0998b..0fd5279b 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/plaintext-mode-2-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/plaintext-mode-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/select-popup/popup-menu-appearance-zoom-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/select-popup/popup-menu-appearance-zoom-expected.png
index 0e4ad5f..1670983 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/select-popup/popup-menu-appearance-zoom-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/select-popup/popup-menu-appearance-zoom-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/select/menulist-update-text-popup-expected.txt b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/select/menulist-update-text-popup-expected.txt
new file mode 100644
index 0000000..daa3d62
--- /dev/null
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/select/menulist-update-text-popup-expected.txt
@@ -0,0 +1,14 @@
+Tests <select> text update when popup is visible and selectionIndex changes.
+Needs run-layout-test.
+
+A
+B
+C
+layer at (0,0) size 31x20
+  LayoutBlockFlow (positioned) {DIV} at (8,50) size 31x20
+    LayoutMenuList {SELECT} at (0,0) size 31x20 [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
+      LayoutBlockFlow (anonymous) at (1,1) size 29x18
+        LayoutText (anonymous) at (4,1) size 9x16
+          text run at (4,1) width 9: "C"
+    LayoutText {#text} at (0,0) size 0x0
+
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/select/select-multiple-rtl-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/select/select-multiple-rtl-expected.png
index 9bd7bbe..02fe528 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/select/select-multiple-rtl-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/select/select-multiple-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/select/select-style-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/select/select-style-expected.png
index b8dfaa1..26381dc 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/select/select-style-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/select/select-style-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/select/select-writing-direction-natural-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/select/select-writing-direction-natural-expected.png
index bfb6b5a..800f365 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/select/select-writing-direction-natural-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/select/select-writing-direction-natural-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
index d7a9b07..9c6be8b 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-rtl-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-rtl-expected.png
index 95706a1..305c1ea5 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-rtl-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-with-scroll-bar-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-with-scroll-bar-expected.png
index 1b376a8d7..331306f 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-with-scroll-bar-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-with-scroll-bar-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/suggestion-picker/time-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/suggestion-picker/time-suggestion-picker-appearance-expected.png
index 0575201..b9e8326 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/suggestion-picker/time-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/suggestion-picker/time-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/suggestion-picker/time-suggestion-picker-appearance-rtl-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/suggestion-picker/time-suggestion-picker-appearance-rtl-expected.png
index 691d14b8..8af9a71c 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/suggestion-picker/time-suggestion-picker-appearance-rtl-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/suggestion-picker/time-suggestion-picker-appearance-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/suggestion-picker/time-suggestion-picker-appearance-with-scroll-bar-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/suggestion-picker/time-suggestion-picker-appearance-with-scroll-bar-expected.png
index 0b384839..ebdd77b9 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/suggestion-picker/time-suggestion-picker-appearance-with-scroll-bar-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/suggestion-picker/time-suggestion-picker-appearance-with-scroll-bar-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/textarea/basic-textareas-quirks-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/textarea/basic-textareas-quirks-expected.png
index b24fa2ad..9106950 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/textarea/basic-textareas-quirks-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/textarea/basic-textareas-quirks-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/time/time-appearance-basic-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/time/time-appearance-basic-expected.png
index 4cc0e91..c576c4ed 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/time/time-appearance-basic-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/time/time-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/validation-bubble-appearance-rtl-ui-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/validation-bubble-appearance-rtl-ui-expected.png
index 8a3c8f9e..0735c3ef 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/validation-bubble-appearance-rtl-ui-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/validation-bubble-appearance-rtl-ui-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/week/week-appearance-basic-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/week/week-appearance-basic-expected.png
index 98c38ea..b2ef42e5 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/week/week-appearance-basic-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/forms/week/week-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/inline/inline-borders-with-bidi-override-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/inline/inline-borders-with-bidi-override-expected.png
index 82d23b5..e78607e 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/inline/inline-borders-with-bidi-override-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/inline/inline-borders-with-bidi-override-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/layers/scroll-rect-to-visible-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/layers/scroll-rect-to-visible-expected.png
index 63dd5f2..2a355eb 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/layers/scroll-rect-to-visible-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/layers/scroll-rect-to-visible-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/lists/markers-in-selection-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/lists/markers-in-selection-expected.png
index fb580ad7..8a22285 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/lists/markers-in-selection-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/lists/markers-in-selection-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/overflow/003-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/overflow/003-expected.png
index 397a330..aea2ceb 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/overflow/003-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/overflow/003-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/overflow/image-selection-highlight-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/overflow/image-selection-highlight-expected.png
index f271390..9d72fc57 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/overflow/image-selection-highlight-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/overflow/image-selection-highlight-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/overflow/overflow-rtl-vertical-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/overflow/overflow-rtl-vertical-expected.png
index b75f5f9..bb10637 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/overflow/overflow-rtl-vertical-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/overflow/overflow-rtl-vertical-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/overflow/overflow-x-y-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/overflow/overflow-x-y-expected.png
index f138ae8..d9cc632 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/overflow/overflow-x-y-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/overflow/overflow-x-y-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/reflections/inline-crash-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/reflections/inline-crash-expected.png
index 01da2169..6a12f11f 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/reflections/inline-crash-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/reflections/inline-crash-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/replaced/border-radius-clip-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/replaced/border-radius-clip-expected.png
index 6fdbebf..ae8ff3a 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/replaced/border-radius-clip-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/replaced/border-radius-clip-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/selectors/166-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/selectors/166-expected.png
index a3467639..309f31330 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/selectors/166-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/selectors/166-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/selectors/177a-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/selectors/177a-expected.png
index 0ca1165..b9920e8f 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/selectors/177a-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/selectors/177a-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/040-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/040-expected.png
index 34e8a73..8278fbbf 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/040-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/040-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/040-vertical-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/040-vertical-expected.png
index 3ef43a2..b712b9c 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/040-vertical-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/040-vertical-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_border-table-cell-collapsed-border-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_border-table-cell-collapsed-border-expected.png
index 4b494e6..9d3f911 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_border-table-cell-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_border-table-cell-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_border-table-cell-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_border-table-cell-expected.png
index 29f0bf3..9e8bd7d8 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_border-table-cell-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_border-table-cell-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_border-table-column-collapsed-border-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_border-table-column-collapsed-border-expected.png
index 52d963c..0798a6a 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_border-table-column-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_border-table-column-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_border-table-column-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_border-table-column-expected.png
index aebc011..487aa57d 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_border-table-column-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_border-table-column-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_border-table-column-group-collapsed-border-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_border-table-column-group-collapsed-border-expected.png
index a0a1911d..ab492e1 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_border-table-column-group-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_border-table-column-group-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_border-table-column-group-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_border-table-column-group-expected.png
index c52eb55..b07dad9 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_border-table-column-group-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_border-table-column-group-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_border-table-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_border-table-expected.png
index c2271d1..ed71f6329 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_border-table-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_border-table-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_border-table-quirks-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_border-table-quirks-expected.png
index 0d655db..d85547b 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_border-table-quirks-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_border-table-quirks-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_border-table-row-collapsed-border-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_border-table-row-collapsed-border-expected.png
index 0edea66..19a7203 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_border-table-row-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_border-table-row-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_border-table-row-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_border-table-row-expected.png
index 0909a74b..48399cb7 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_border-table-row-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_border-table-row-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_border-table-row-group-collapsed-border-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_border-table-row-group-collapsed-border-expected.png
index 7289278..b24e90e 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_border-table-row-group-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_border-table-row-group-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_border-table-row-group-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_border-table-row-group-expected.png
index 7a823c6..7ec1f45 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_border-table-row-group-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_border-table-row-group-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_layers-hide-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_layers-hide-expected.png
index 6ad95106..192a8ea 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_layers-hide-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_layers-hide-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_layers-show-collapsed-border-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_layers-show-collapsed-border-expected.png
index 9a2f30e..2c6036a 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_layers-show-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_layers-show-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_layers-show-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_layers-show-expected.png
index 5ab9979..45c09a41 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_layers-show-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_layers-show-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_position-table-cell-collapsed-border-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_position-table-cell-collapsed-border-expected.png
index 7b6f7dea..e2a4126 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_position-table-cell-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_position-table-cell-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_position-table-cell-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_position-table-cell-expected.png
index badb54c..8133891 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_position-table-cell-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_position-table-cell-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_position-table-column-collapsed-border-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_position-table-column-collapsed-border-expected.png
index 7717118..0ce1cc6 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_position-table-column-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_position-table-column-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_position-table-column-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_position-table-column-expected.png
index ded9ed3..6a7f5d3f 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_position-table-column-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_position-table-column-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_position-table-column-group-collapsed-border-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_position-table-column-group-collapsed-border-expected.png
index ce790155..5d263105 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_position-table-column-group-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_position-table-column-group-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_position-table-column-group-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_position-table-column-group-expected.png
index b2f1dff..1bef413 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_position-table-column-group-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_position-table-column-group-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_position-table-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_position-table-expected.png
index 1c7b4a70..a35307dd 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_position-table-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_position-table-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_position-table-row-collapsed-border-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_position-table-row-collapsed-border-expected.png
index 08f24ac2..ee26941 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_position-table-row-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_position-table-row-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_position-table-row-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_position-table-row-expected.png
index 86f84663..fc2d248 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_position-table-row-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_position-table-row-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_position-table-row-group-collapsed-border-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_position-table-row-group-collapsed-border-expected.png
index c620b84..a288354d05 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_position-table-row-group-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_position-table-row-group-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_position-table-row-group-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_position-table-row-group-expected.png
index ff03e75..5171740 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_position-table-row-group-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_position-table-row-group-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_simple-table-cell-collapsed-border-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_simple-table-cell-collapsed-border-expected.png
index dae51df..b5f3bc8 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_simple-table-cell-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_simple-table-cell-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_simple-table-cell-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_simple-table-cell-expected.png
index 1cbb9c10..4e17657 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_simple-table-cell-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_simple-table-cell-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_simple-table-collapsed-border-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_simple-table-collapsed-border-expected.png
index a531507f..41bb9ad 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_simple-table-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_simple-table-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_simple-table-column-collapsed-border-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_simple-table-column-collapsed-border-expected.png
index af92a81..e752717 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_simple-table-column-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_simple-table-column-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_simple-table-column-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_simple-table-column-expected.png
index bce2a10..c65a794 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_simple-table-column-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_simple-table-column-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_simple-table-column-group-collapsed-border-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_simple-table-column-group-collapsed-border-expected.png
index d1882ba..0c65799 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_simple-table-column-group-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_simple-table-column-group-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_simple-table-column-group-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_simple-table-column-group-expected.png
index b46fb476..612d66e 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_simple-table-column-group-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_simple-table-column-group-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_simple-table-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_simple-table-expected.png
index aa807e0..7fead35 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_simple-table-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_simple-table-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_simple-table-row-collapsed-border-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_simple-table-row-collapsed-border-expected.png
index b45dcaa..9bb788c 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_simple-table-row-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_simple-table-row-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_simple-table-row-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_simple-table-row-expected.png
index b590494..659f38d 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_simple-table-row-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_simple-table-row-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_simple-table-row-group-collapsed-border-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_simple-table-row-group-collapsed-border-expected.png
index bcb021f..3fe55fd 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_simple-table-row-group-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_simple-table-row-group-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_simple-table-row-group-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_simple-table-row-group-expected.png
index 4cf5bbae1..d653eaf 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_simple-table-row-group-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/backgr_simple-table-row-group-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/border-collapsing/004-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/border-collapsing/004-expected.png
index 678d2c4..a2d22b5 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/border-collapsing/004-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/table/border-collapsing/004-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/capitalize-boundaries-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/capitalize-boundaries-expected.png
index f621ea9..f70c26e2 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/capitalize-boundaries-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/capitalize-boundaries-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/font-stretch-variant-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/font-stretch-variant-expected.png
index ad3cd3a..9423f20 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/font-stretch-variant-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/font-stretch-variant-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/international/bidi-listbox-atsui-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/international/bidi-listbox-atsui-expected.png
index 1a83774..33739c24 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/international/bidi-listbox-atsui-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/international/bidi-listbox-atsui-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/selection/atsui-kerning-and-ligatures-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/selection/atsui-kerning-and-ligatures-expected.png
index 76358b4..14b1fdb 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/selection/atsui-kerning-and-ligatures-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/selection/atsui-kerning-and-ligatures-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/selection/atsui-rtl-override-selection-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/selection/atsui-rtl-override-selection-expected.png
index 162686a..6295980d 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/selection/atsui-rtl-override-selection-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/selection/atsui-rtl-override-selection-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/selection/complex-text-rtl-selection-repaint-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/selection/complex-text-rtl-selection-repaint-expected.png
index 018a580..289f4e8 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/selection/complex-text-rtl-selection-repaint-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/selection/complex-text-rtl-selection-repaint-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/selection/emphasis-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/selection/emphasis-expected.png
index a80fef06..e0c37b5 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/selection/emphasis-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/selection/emphasis-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/selection/flexbox-selection-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/selection/flexbox-selection-expected.png
index d98f4031..670891f 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/selection/flexbox-selection-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/selection/flexbox-selection-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/selection/flexbox-selection-nested-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/selection/flexbox-selection-nested-expected.png
index c3d9c34..9e5a2a1 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/selection/flexbox-selection-nested-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/selection/flexbox-selection-nested-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/selection/khmer-selection-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/selection/khmer-selection-expected.png
index 22edc5c9..64cb742c5 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/selection/khmer-selection-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/selection/khmer-selection-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/selection/selection-hard-linebreak-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/selection/selection-hard-linebreak-expected.png
index 649a6b2c2..d291a7b 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/selection/selection-hard-linebreak-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/selection/selection-hard-linebreak-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/selection/selection-painting-hidpi-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/selection/selection-painting-hidpi-expected.png
index cd1c626..4a39d90 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/selection/selection-painting-hidpi-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/selection/selection-painting-hidpi-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/selection/selection-with-inline-padding-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/selection/selection-with-inline-padding-expected.png
index f8f78964..763927911 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/selection/selection-with-inline-padding-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/selection/selection-with-inline-padding-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/selection/shaping-selection-rect-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/selection/shaping-selection-rect-expected.png
index 8206947..34471ec 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/selection/shaping-selection-rect-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/selection/shaping-selection-rect-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/selection/should-use-atsui-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/selection/should-use-atsui-expected.png
index a222513..e332715 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/selection/should-use-atsui-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/selection/should-use-atsui-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/unicode-fallback-font-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/unicode-fallback-font-expected.png
index 96a67b0..e39fcf9 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/unicode-fallback-font-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/text/unicode-fallback-font-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/writing-mode/border-radius-clipping-vertical-lr-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/writing-mode/border-radius-clipping-vertical-lr-expected.png
index c8bcd7af..e9be21e 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/writing-mode/border-radius-clipping-vertical-lr-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/writing-mode/border-radius-clipping-vertical-lr-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/writing-mode/fieldsets-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/writing-mode/fieldsets-expected.png
index 92a91be5..c08b64f 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/writing-mode/fieldsets-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fast/writing-mode/fieldsets-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fonts/monospace-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fonts/monospace-expected.png
index 903c0ea..09f4bde 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fonts/monospace-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fonts/monospace-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fonts/sans-serif-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fonts/sans-serif-expected.png
index 15ce881..8ff8a838 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fonts/sans-serif-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fonts/sans-serif-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fonts/serif-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fonts/serif-expected.png
index e01dd15f..fe3f37e 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fonts/serif-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/fonts/serif-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/line-flow-with-floats-1-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/line-flow-with-floats-1-expected.png
index bf130ce5..aa117078 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/line-flow-with-floats-1-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/line-flow-with-floats-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/line-flow-with-floats-10-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/line-flow-with-floats-10-expected.png
index be38c00..1d5b2d7 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/line-flow-with-floats-10-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/line-flow-with-floats-10-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/line-flow-with-floats-2-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/line-flow-with-floats-2-expected.png
index e0cbb015..197e1189 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/line-flow-with-floats-2-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/line-flow-with-floats-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/line-flow-with-floats-3-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/line-flow-with-floats-3-expected.png
index 778197d..dd7dff8 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/line-flow-with-floats-3-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/line-flow-with-floats-3-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/line-flow-with-floats-4-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/line-flow-with-floats-4-expected.png
index 27847b3..8a25a17 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/line-flow-with-floats-4-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/line-flow-with-floats-4-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/line-flow-with-floats-5-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/line-flow-with-floats-5-expected.png
index be9b1bf..9a8b482c 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/line-flow-with-floats-5-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/line-flow-with-floats-5-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/line-flow-with-floats-6-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/line-flow-with-floats-6-expected.png
index 625de9b2..9bc86748 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/line-flow-with-floats-6-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/line-flow-with-floats-6-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/line-flow-with-floats-7-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/line-flow-with-floats-7-expected.png
index a111f37..a3a6a52 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/line-flow-with-floats-7-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/line-flow-with-floats-7-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/line-flow-with-floats-8-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/line-flow-with-floats-8-expected.png
index 58addaa..378ae31 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/line-flow-with-floats-8-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/line-flow-with-floats-8-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/line-flow-with-floats-9-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/line-flow-with-floats-9-expected.png
index 2b4f4b0..8f21184 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/line-flow-with-floats-9-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/line-flow-with-floats-9-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/repaint-across-writing-mode-boundary-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/repaint-across-writing-mode-boundary-expected.png
index b31eb3d8..ee915ed4 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/repaint-across-writing-mode-boundary-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/repaint-across-writing-mode-boundary-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/scroll/overflow-scroll-delete-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/scroll/overflow-scroll-delete-expected.png
index c4905494..3fda932 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/scroll/overflow-scroll-delete-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/scroll/overflow-scroll-delete-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/selection/invalidation-rect-includes-newline-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/selection/invalidation-rect-includes-newline-expected.png
index ddf9523..bfc8ddb5 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/selection/invalidation-rect-includes-newline-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/selection/invalidation-rect-includes-newline-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/selection/invalidation-rect-includes-newline-for-rtl-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/selection/invalidation-rect-includes-newline-for-rtl-expected.png
index 966209a..15c6318 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/selection/invalidation-rect-includes-newline-for-rtl-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/selection/invalidation-rect-includes-newline-for-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/selection/invalidation-rect-includes-newline-for-vertical-lr-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/selection/invalidation-rect-includes-newline-for-vertical-lr-expected.png
index ab06e15..06362a6 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/selection/invalidation-rect-includes-newline-for-vertical-lr-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/selection/invalidation-rect-includes-newline-for-vertical-lr-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/selection/invalidation-rect-includes-newline-for-vertical-rl-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/selection/invalidation-rect-includes-newline-for-vertical-rl-expected.png
index e9463718..83de137 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/selection/invalidation-rect-includes-newline-for-vertical-rl-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/selection/invalidation-rect-includes-newline-for-vertical-rl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/selection/invalidation-rect-with-br-includes-newline-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/selection/invalidation-rect-with-br-includes-newline-expected.png
index 5e142e1..99549441 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/selection/invalidation-rect-with-br-includes-newline-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/selection/invalidation-rect-with-br-includes-newline-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/selection/selection-partial-invalidation-between-blocks-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/selection/selection-partial-invalidation-between-blocks-expected.png
index e68545a..87c9bdef 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/selection/selection-partial-invalidation-between-blocks-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/selection/selection-partial-invalidation-between-blocks-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/selection/selection-rl-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/selection/selection-rl-expected.png
index 7d9d8c7..58fd09c9 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/selection/selection-rl-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/selection/selection-rl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/selection/selection-within-composited-scroller-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/selection/selection-within-composited-scroller-expected.png
index 54f342d..0694c41 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/selection/selection-within-composited-scroller-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/selection/selection-within-composited-scroller-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/selection/text-selection-rect-in-overflow-2-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/selection/text-selection-rect-in-overflow-2-expected.png
index 4723cde..32b1527 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/selection/text-selection-rect-in-overflow-2-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/selection/text-selection-rect-in-overflow-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/table/single-line-cells-repeating-thead-break-inside-on-thead-only-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/table/single-line-cells-repeating-thead-break-inside-on-thead-only-expected.png
index 389f921..30f137e 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/table/single-line-cells-repeating-thead-break-inside-on-thead-only-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/invalidation/table/single-line-cells-repeating-thead-break-inside-on-thead-only-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/selection/image-writing-modes-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/selection/image-writing-modes-expected.png
index d95cabf..7c73415 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/selection/image-writing-modes-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/selection/image-writing-modes-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/selection/text-selection-inline-block-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/selection/text-selection-inline-block-expected.png
index a625e5c..7e7c0d0 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/selection/text-selection-inline-block-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/selection/text-selection-inline-block-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/selection/text-selection-inline-block-rtl-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/selection/text-selection-inline-block-rtl-expected.png
index 1badda5..326c124 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/selection/text-selection-inline-block-rtl-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/selection/text-selection-inline-block-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/selection/text-selection-newline-across-blocks-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/selection/text-selection-newline-across-blocks-expected.png
index 5e142e1..99549441 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/selection/text-selection-newline-across-blocks-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/selection/text-selection-newline-across-blocks-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/selection/text-selection-newline-across-blocks-line-beginning-end-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/selection/text-selection-newline-across-blocks-line-beginning-end-expected.png
index f0d68bd0..e2fdd24 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/selection/text-selection-newline-across-blocks-line-beginning-end-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/selection/text-selection-newline-across-blocks-line-beginning-end-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/selection/text-selection-newline-br-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/selection/text-selection-newline-br-expected.png
index 5e142e1..99549441 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/selection/text-selection-newline-br-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/selection/text-selection-newline-br-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/selection/text-selection-newline-clipped-by-overflow-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/selection/text-selection-newline-clipped-by-overflow-expected.png
index 2317cde..102409f 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/selection/text-selection-newline-clipped-by-overflow-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/selection/text-selection-newline-clipped-by-overflow-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/selection/text-selection-newline-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/selection/text-selection-newline-expected.png
index ddf9523..bfc8ddb5 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/selection/text-selection-newline-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/selection/text-selection-newline-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/selection/text-selection-newline-mixed-ltr-rtl-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/selection/text-selection-newline-mixed-ltr-rtl-expected.png
index 52860ee..66ca418 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/selection/text-selection-newline-mixed-ltr-rtl-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/selection/text-selection-newline-mixed-ltr-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/selection/text-selection-newline-rtl-double-linebreak-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/selection/text-selection-newline-rtl-double-linebreak-expected.png
index 468043a..b25b296 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/selection/text-selection-newline-rtl-double-linebreak-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/selection/text-selection-newline-rtl-double-linebreak-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/selection/text-selection-newline-rtl-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/selection/text-selection-newline-rtl-expected.png
index 966209a..15c6318 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/selection/text-selection-newline-rtl-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/selection/text-selection-newline-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/selection/text-selection-newline-span-across-line-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/selection/text-selection-newline-span-across-line-expected.png
index ada2c791..b0cbe32d 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/selection/text-selection-newline-span-across-line-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/selection/text-selection-newline-span-across-line-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/selection/text-selection-newline-span-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/selection/text-selection-newline-span-expected.png
index 1732d68..2dedae2 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/selection/text-selection-newline-span-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/selection/text-selection-newline-span-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/selection/text-selection-newline-vertical-lr-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/selection/text-selection-newline-vertical-lr-expected.png
index ab06e15..06362a6 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/selection/text-selection-newline-vertical-lr-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/selection/text-selection-newline-vertical-lr-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/selection/text-selection-newline-vertical-rl-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/selection/text-selection-newline-vertical-rl-expected.png
index e9463718..83de137 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/selection/text-selection-newline-vertical-rl-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/selection/text-selection-newline-vertical-rl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/text/selection-no-clip-text-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/text/selection-no-clip-text-expected.png
index d90c4648..7fc6ff8 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/text/selection-no-clip-text-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/paint/text/selection-no-clip-text-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/svg/dom/SVGStringList-basics-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/svg/dom/SVGStringList-basics-expected.png
index 5eade31..c7ed4795 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/svg/dom/SVGStringList-basics-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/svg/dom/SVGStringList-basics-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/svg/text/foreignObject-text-clipping-bug-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/svg/text/foreignObject-text-clipping-bug-expected.png
index d3aa5a80..5edfddb1 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/svg/text/foreignObject-text-clipping-bug-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/svg/text/foreignObject-text-clipping-bug-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/svg/zoom/page/zoom-svg-float-border-padding-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/svg/zoom/page/zoom-svg-float-border-padding-expected.png
new file mode 100644
index 0000000..c0db1f28
--- /dev/null
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/svg/zoom/page/zoom-svg-float-border-padding-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug1302-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug1302-expected.png
index 0264ee9..ff9ea6c 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug1302-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug1302-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug131020-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug131020-expected.png
index 9482393..cc8d2de 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug131020-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug131020-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug131020_iframe-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug131020_iframe-expected.png
index 0a32570..382b382 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug131020_iframe-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug131020_iframe-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug1318-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug1318-expected.png
index a2fd8d2..81ac93c 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug1318-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug1318-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug2479-1-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug2479-1-expected.png
index 267ea03b..35cf0c1 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug2479-1-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug2479-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug2479-2-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug2479-2-expected.png
index ba22fa5b..8ef73cdd 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug2479-2-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug2479-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug2479-3-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug2479-3-expected.png
index 90870a6..2adb2ab 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug2479-3-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug2479-3-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug2479-4-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug2479-4-expected.png
index 5c6ee300..cbfd103 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug2479-4-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug2479-4-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug30692-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug30692-expected.png
index 5d9972c..48f5958 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug30692-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug30692-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug38916-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug38916-expected.png
index 3cd6007..0e0a045 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug38916-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug38916-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug3977-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug3977-expected.png
index 794e809..10620c5 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug3977-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug3977-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug46368-1-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug46368-1-expected.png
index eb7950b0..98a52c0 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug46368-1-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug46368-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug46368-2-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug46368-2-expected.png
index 842c5b1..db022d5 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug46368-2-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug46368-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug46480-1-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug46480-1-expected.png
index ce82954..01b4460 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug46480-1-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug46480-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug59354-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug59354-expected.png
index ffdae6d..f3d415a 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug59354-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug59354-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug7342-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug7342-expected.png
index a3c8849..8f61a95 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug7342-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/bugs/bug7342-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/core/bloomberg-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/core/bloomberg-expected.png
index 953c918..2131a9d 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/core/bloomberg-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/core/bloomberg-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/other/test3-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/other/test3-expected.png
index db6a869c..363cebd 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/other/test3-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/other/test3-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/other/test6-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/other/test6-expected.png
index 775931c..285b2e0 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/other/test6-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/other/test6-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/other/wa_table_thtd_rowspan-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/other/wa_table_thtd_rowspan-expected.png
index 3237cb6..99069de 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/other/wa_table_thtd_rowspan-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/other/wa_table_thtd_rowspan-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/other/wa_table_tr_align-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/other/wa_table_tr_align-expected.png
index af932398..b2f71ee 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/other/wa_table_tr_align-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla/other/wa_table_tr_align-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla_expected_failures/bugs/bug1055-2-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla_expected_failures/bugs/bug1055-2-expected.png
index 8ae4e04f..d2aff324 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla_expected_failures/bugs/bug1055-2-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla_expected_failures/bugs/bug1055-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla_expected_failures/bugs/bug22122-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla_expected_failures/bugs/bug22122-expected.png
index eb25741..dc0cf3e 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla_expected_failures/bugs/bug22122-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla_expected_failures/bugs/bug22122-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla_expected_failures/bugs/bug2479-5-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla_expected_failures/bugs/bug2479-5-expected.png
index 95eae29..8cb4cdf 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla_expected_failures/bugs/bug2479-5-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla_expected_failures/bugs/bug2479-5-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla_expected_failures/bugs/bug80762-2-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla_expected_failures/bugs/bug80762-2-expected.png
index 16310e1..3483bc81 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla_expected_failures/bugs/bug80762-2-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla_expected_failures/bugs/bug80762-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla_expected_failures/bugs/bug89315-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla_expected_failures/bugs/bug89315-expected.png
index befdbe0..d8d62786 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla_expected_failures/bugs/bug89315-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla_expected_failures/bugs/bug89315-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla_expected_failures/bugs/bug91057-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla_expected_failures/bugs/bug91057-expected.png
index 17784e2b..0c65e5f5 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla_expected_failures/bugs/bug91057-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla_expected_failures/bugs/bug91057-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla_expected_failures/core/standards1-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla_expected_failures/core/standards1-expected.png
index 2bd9edb..a7d55b5f 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla_expected_failures/core/standards1-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla_expected_failures/core/standards1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.png
index f76318b..946c216 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/transforms/2d/transform-fixed-container-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/transforms/2d/transform-fixed-container-expected.png
index e502185..0f128083 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/transforms/2d/transform-fixed-container-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/transforms/2d/transform-fixed-container-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
index a10c530..5bccbd8d 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/time-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/time-suggestion-picker-appearance-expected.png
index 0c50186..38c5961 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/time-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/time-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/virtual/mouseevent_fractional/fast/events/updateLayoutForHitTest-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/virtual/mouseevent_fractional/fast/events/updateLayoutForHitTest-expected.png
index b1a8ae0..4c8a773 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/virtual/mouseevent_fractional/fast/events/updateLayoutForHitTest-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/virtual/mouseevent_fractional/fast/events/updateLayoutForHitTest-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/virtual/scalefactor200/fast/hidpi/static/popup-menu-appearance-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/virtual/scalefactor200/fast/hidpi/static/popup-menu-appearance-expected.png
index 8547c919..c0213fe 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/virtual/scalefactor200/fast/hidpi/static/popup-menu-appearance-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/virtual/scalefactor200/fast/hidpi/static/popup-menu-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/virtual/scalefactor200withzoom/fast/hidpi/static/popup-menu-appearance-expected.png b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/virtual/scalefactor200withzoom/fast/hidpi/static/popup-menu-appearance-expected.png
index 8547c919..c0213fe 100644
--- a/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/virtual/scalefactor200withzoom/fast/hidpi/static/popup-menu-appearance-expected.png
+++ b/third_party/blink/web_tests/flag-specific/disable-blink-features=LayoutNG/virtual/scalefactor200withzoom/fast/hidpi/static/popup-menu-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/compositing/gestures/gesture-tapHighlight-img-and-text-2-expected.html b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/compositing/gestures/gesture-tapHighlight-img-and-text-2-expected.html
deleted file mode 100644
index 36428f4..0000000
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/compositing/gestures/gesture-tapHighlight-img-and-text-2-expected.html
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<title>This test ensures all elements are highlighted in a multielement <a> when the text is clicked</title>
-<script src="../../../../compositing/gestures/resources/link-highlight-helper.js"></script>
-<link rel="stylesheet" type="text/css" href="../../../../compositing/gestures/resources/link-highlight-style.css">
-</head>
-<body onload="runTest();">
-<div style="transform: translateZ(0); padding: 20px;">
-  <a id="targetLink">
-    <font id="beforeTarget">Before Text</font><img id="imgTarget" width="320" height="240" src="resources/dice.png"><font id="afterTarget">After Text!</font>
-  </a>
-</div>
-<script>
-function runTest() {
-    createHighlight(imgTarget);
-    // The united rect of beforeTarget and afterTarget also covers the descent
-    // part of the image.
-    var rect = beforeTarget.getBoundingClientRect();
-    rect.width = afterTarget.getBoundingClientRect().right - rect.left;
-    createHighlightRect(rect);
-}
-</script>
-</script>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/compositing/gestures/gesture-tapHighlight-img-and-text-expected.html b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/compositing/gestures/gesture-tapHighlight-img-and-text-expected.html
deleted file mode 100644
index 36428f4..0000000
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/compositing/gestures/gesture-tapHighlight-img-and-text-expected.html
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<title>This test ensures all elements are highlighted in a multielement <a> when the text is clicked</title>
-<script src="../../../../compositing/gestures/resources/link-highlight-helper.js"></script>
-<link rel="stylesheet" type="text/css" href="../../../../compositing/gestures/resources/link-highlight-style.css">
-</head>
-<body onload="runTest();">
-<div style="transform: translateZ(0); padding: 20px;">
-  <a id="targetLink">
-    <font id="beforeTarget">Before Text</font><img id="imgTarget" width="320" height="240" src="resources/dice.png"><font id="afterTarget">After Text!</font>
-  </a>
-</div>
-<script>
-function runTest() {
-    createHighlight(imgTarget);
-    // The united rect of beforeTarget and afterTarget also covers the descent
-    // part of the image.
-    var rect = beforeTarget.getBoundingClientRect();
-    rect.width = afterTarget.getBoundingClientRect().right - rect.left;
-    createHighlightRect(rect);
-}
-</script>
-</script>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/compositing/gestures/gesture-tapHighlight-pixel-rotated-div-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/compositing/gestures/gesture-tapHighlight-pixel-rotated-div-expected.png
deleted file mode 100644
index cf7ee10..0000000
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/compositing/gestures/gesture-tapHighlight-pixel-rotated-div-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/compositing/gestures/gesture-tapHighlight-pixel-rotated-link-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/compositing/gestures/gesture-tapHighlight-pixel-rotated-link-expected.png
deleted file mode 100644
index c6b5938..0000000
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/compositing/gestures/gesture-tapHighlight-pixel-rotated-link-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/compositing/gestures/gesture-tapHighlight-with-squashing-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/compositing/gestures/gesture-tapHighlight-with-squashing-expected.png
deleted file mode 100644
index 9f81350..0000000
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/compositing/gestures/gesture-tapHighlight-with-squashing-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/css3/background/background-repeat-round-content-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/css3/background/background-repeat-round-content-expected.png
index 3c0b765..b13ee99 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/css3/background/background-repeat-round-content-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/css3/background/background-repeat-round-content-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/css3/background/background-repeat-round-padding-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/css3/background/background-repeat-round-padding-expected.png
index 26484d2..a0651f52 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/css3/background/background-repeat-round-padding-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/css3/background/background-repeat-round-padding-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/css3/flexbox/flexbox-baseline-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/css3/flexbox/flexbox-baseline-expected.png
index ae6b372..550c794 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/css3/flexbox/flexbox-baseline-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/css3/flexbox/flexbox-baseline-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/css3/masking/mask-repeat-round-content-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/css3/masking/mask-repeat-round-content-expected.png
index 73a94c2..8982430 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/css3/masking/mask-repeat-round-content-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/css3/masking/mask-repeat-round-content-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/css3/masking/mask-repeat-round-padding-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/css3/masking/mask-repeat-round-padding-expected.png
index 5c9ec55a8..670fb0f 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/css3/masking/mask-repeat-round-padding-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/css3/masking/mask-repeat-round-padding-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/css3/masking/mask-repeat-space-border-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/css3/masking/mask-repeat-space-border-expected.png
index 88f5afa..c95ad16 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/css3/masking/mask-repeat-space-border-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/css3/masking/mask-repeat-space-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/css3/masking/mask-repeat-space-padding-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/css3/masking/mask-repeat-space-padding-expected.png
index 5915abb..0a3d8022 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/css3/masking/mask-repeat-space-padding-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/css3/masking/mask-repeat-space-padding-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/editing/input/reveal-caret-of-multiline-contenteditable-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/editing/input/reveal-caret-of-multiline-contenteditable-expected.png
index 58db08b..5dd72415 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/editing/input/reveal-caret-of-multiline-contenteditable-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/editing/input/reveal-caret-of-multiline-contenteditable-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/editing/input/reveal-caret-of-multiline-input-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/editing/input/reveal-caret-of-multiline-input-expected.png
index 59d2e45b..4d90ecf 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/editing/input/reveal-caret-of-multiline-input-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/editing/input/reveal-caret-of-multiline-input-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/block/float/021-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/block/float/021-expected.png
index 228cde72..d6b6f16 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/block/float/021-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/block/float/021-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/block/positioning/relative-overflow-block-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/block/positioning/relative-overflow-block-expected.png
index ac77d53..ddb4e1b4 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/block/positioning/relative-overflow-block-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/block/positioning/relative-overflow-block-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/block/positioning/relative-overflow-replaced-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/block/positioning/relative-overflow-replaced-expected.png
index 6d48313f..2abab57 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/block/positioning/relative-overflow-replaced-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/block/positioning/relative-overflow-replaced-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/block/positioning/relative-overflow-replaced-float-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/block/positioning/relative-overflow-replaced-float-expected.png
index c4acce9..13a7af40 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/block/positioning/relative-overflow-replaced-float-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/block/positioning/relative-overflow-replaced-float-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/001-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/001-expected.png
index 018fcfa..0b11c6c1 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/001-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/001-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/001-xhtml-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/001-xhtml-expected.png
index 018fcfa..0b11c6c1 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/001-xhtml-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/001-xhtml-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/002-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/002-expected.png
index 8eb3f5d1..311c070 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/002-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/002-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/002-xhtml-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/002-xhtml-expected.png
index 8eb3f5d1..311c070 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/002-xhtml-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/002-xhtml-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/003-declarative-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/003-declarative-expected.png
index 8eb3f5d1..311c070 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/003-declarative-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/003-declarative-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/003-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/003-expected.png
index 8eb3f5d1..311c070 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/003-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/003-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/003-xhtml-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/003-xhtml-expected.png
index 8eb3f5d1..311c070 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/003-xhtml-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/003-xhtml-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/004-declarative-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/004-declarative-expected.png
index 1806ca2..76aee47a 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/004-declarative-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/004-declarative-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/004-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/004-expected.png
index 1806ca2..76aee47a 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/004-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/004-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/004-xhtml-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/004-xhtml-expected.png
index 1806ca2..76aee47a 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/004-xhtml-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/004-xhtml-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/005-declarative-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/005-declarative-expected.png
index 49e0a2a..751ad636 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/005-declarative-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/005-declarative-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/005-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/005-expected.png
index 49e0a2a..751ad636 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/005-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/005-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/005-xhtml-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/005-xhtml-expected.png
index 49e0a2a..751ad636 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/005-xhtml-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/005-xhtml-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/007-declarative-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/007-declarative-expected.png
index 8eb3f5d1..311c070 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/007-declarative-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/007-declarative-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/007-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/007-expected.png
index 8eb3f5d1..311c070 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/007-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/007-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/007-xhtml-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/007-xhtml-expected.png
index 8eb3f5d1..311c070 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/007-xhtml-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/body-propagation/overflow/007-xhtml-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/borders/rtl-border-01-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/borders/rtl-border-01-expected.png
index a5da06b..a36d4eb6 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/borders/rtl-border-01-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/borders/rtl-border-01-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/borders/rtl-border-02-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/borders/rtl-border-02-expected.png
index 3b88a502..d01022c 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/borders/rtl-border-02-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/borders/rtl-border-02-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/borders/rtl-border-03-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/borders/rtl-border-03-expected.png
index 55615d31..11580ae 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/borders/rtl-border-03-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/borders/rtl-border-03-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/css/text-overflow-input-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/css/text-overflow-input-expected.png
index 67bfe3ed..7062424 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/css/text-overflow-input-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/css/text-overflow-input-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/control-restrict-line-height-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/control-restrict-line-height-expected.png
index a7650da..9a12f016 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/control-restrict-line-height-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/control-restrict-line-height-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/select-popup/popup-menu-appearance-long-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/select-popup/popup-menu-appearance-long-expected.png
index 72d8de8ae..f3daab1a 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/select-popup/popup-menu-appearance-long-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/select-popup/popup-menu-appearance-long-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/select-popup/popup-menu-appearance-many-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/select-popup/popup-menu-appearance-many-expected.png
index e97adca..d17fbc2 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/select-popup/popup-menu-appearance-many-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/select-popup/popup-menu-appearance-many-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/select-popup/popup-menu-appearance-rtl-default-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/select-popup/popup-menu-appearance-rtl-default-expected.png
index df3e9cb3..7bedd69 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/select-popup/popup-menu-appearance-rtl-default-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/select-popup/popup-menu-appearance-rtl-default-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/select-popup/popup-menu-appearance-rtl-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/select-popup/popup-menu-appearance-rtl-expected.png
index 8e88046..b9da451 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/select-popup/popup-menu-appearance-rtl-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/select-popup/popup-menu-appearance-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/select/select-item-background-clip-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/select/select-item-background-clip-expected.png
index 24d3fb1..e95eef3 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/select/select-item-background-clip-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/select/select-item-background-clip-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/select/select-overflow-scroll-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/select/select-overflow-scroll-expected.png
index 9bf98c45..65cab8d 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/select/select-overflow-scroll-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/select/select-overflow-scroll-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/select/select-overflow-scroll-inherited-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/select/select-overflow-scroll-inherited-expected.png
index 78ee945..f38819a 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/select/select-overflow-scroll-inherited-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/select/select-overflow-scroll-inherited-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/suggestion-picker/date-suggestion-picker-appearance-rtl-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/suggestion-picker/date-suggestion-picker-appearance-rtl-expected.png
index 1913ccb..1bd0d06d 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/suggestion-picker/date-suggestion-picker-appearance-rtl-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/suggestion-picker/date-suggestion-picker-appearance-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-with-scroll-bar-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-with-scroll-bar-expected.png
index 52f5726e..d5f81ab 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-with-scroll-bar-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-with-scroll-bar-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/suggestion-picker/month-suggestion-picker-appearance-rtl-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/suggestion-picker/month-suggestion-picker-appearance-rtl-expected.png
index 9810719..d89c8fe 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/suggestion-picker/month-suggestion-picker-appearance-rtl-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/suggestion-picker/month-suggestion-picker-appearance-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/suggestion-picker/month-suggestion-picker-appearance-with-scroll-bar-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/suggestion-picker/month-suggestion-picker-appearance-with-scroll-bar-expected.png
index 9b0c5e0b..594c052 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/suggestion-picker/month-suggestion-picker-appearance-with-scroll-bar-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/suggestion-picker/month-suggestion-picker-appearance-with-scroll-bar-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/suggestion-picker/time-suggestion-picker-appearance-with-scroll-bar-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/suggestion-picker/time-suggestion-picker-appearance-with-scroll-bar-expected.png
index 873b1c3..efcffc9 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/suggestion-picker/time-suggestion-picker-appearance-with-scroll-bar-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/suggestion-picker/time-suggestion-picker-appearance-with-scroll-bar-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/suggestion-picker/week-suggestion-picker-appearance-rtl-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/suggestion-picker/week-suggestion-picker-appearance-rtl-expected.png
index 15f7531..6ef4207 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/suggestion-picker/week-suggestion-picker-appearance-rtl-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/suggestion-picker/week-suggestion-picker-appearance-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/text/input-disabled-color-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/text/input-disabled-color-expected.png
index 6a27a927..6c748abd 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/text/input-disabled-color-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/text/input-disabled-color-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/text/input-text-scroll-left-on-blur-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/text/input-text-scroll-left-on-blur-expected.png
index d04ebf0..926b727 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/text/input-text-scroll-left-on-blur-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/text/input-text-scroll-left-on-blur-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/text/input-text-word-wrap-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/text/input-text-word-wrap-expected.png
index a914fa9..a2b05df 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/text/input-text-word-wrap-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/text/input-text-word-wrap-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/textarea/basic-textareas-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/textarea/basic-textareas-expected.png
index 51c056f6..72a7267 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/textarea/basic-textareas-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/textarea/basic-textareas-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/textarea/basic-textareas-quirks-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/textarea/basic-textareas-quirks-expected.png
index 4179bbfa..4a652f6 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/textarea/basic-textareas-quirks-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/textarea/basic-textareas-quirks-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/textarea/textarea-scrollbar-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/textarea/textarea-scrollbar-expected.png
index d8208f6..183edb1 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/textarea/textarea-scrollbar-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/textarea/textarea-scrollbar-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/textarea/textarea-scrolled-focus-ring-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/textarea/textarea-scrolled-focus-ring-expected.png
index 066d7d37..e452c24 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/textarea/textarea-scrolled-focus-ring-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/textarea/textarea-scrolled-focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/textarea/textarea-scrolled-type-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/textarea/textarea-scrolled-type-expected.png
index 7faedeb4d..c6cfb818 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/textarea/textarea-scrolled-type-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/textarea/textarea-scrolled-type-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/validation-bubble-appearance-wrap-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/validation-bubble-appearance-wrap-expected.png
index 8c342ce..3a25f53 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/validation-bubble-appearance-wrap-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/forms/validation-bubble-appearance-wrap-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/frames/frame-scrolling-attribute-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/frames/frame-scrolling-attribute-expected.png
index 8814453..ba808153 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/frames/frame-scrolling-attribute-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/frames/frame-scrolling-attribute-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/frames/iframe-scrolling-attribute-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/frames/iframe-scrolling-attribute-expected.png
index f434fd5..eeec861 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/frames/iframe-scrolling-attribute-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/frames/iframe-scrolling-attribute-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/hidpi/scrollbar-appearance-decrease-device-scale-factor-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/hidpi/scrollbar-appearance-decrease-device-scale-factor-expected.png
index 2cc740c..5543cd3 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/hidpi/scrollbar-appearance-decrease-device-scale-factor-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/hidpi/scrollbar-appearance-decrease-device-scale-factor-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/layers/scroll-with-transform-layer-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/layers/scroll-with-transform-layer-expected.png
deleted file mode 100644
index 307ac41f..0000000
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/layers/scroll-with-transform-layer-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/002-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/002-expected.png
index 44b9755..023a1fb5 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/002-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/002-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/006-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/006-expected.png
index 4bb45b3c..aa8a124 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/006-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/006-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/007-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/007-expected.png
index d108cf8f..30d6e70 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/007-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/007-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/childFocusRingClip-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/childFocusRingClip-expected.png
index 515d0916..9e03e3ab 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/childFocusRingClip-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/childFocusRingClip-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/clip-rects-fixed-ancestor-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/clip-rects-fixed-ancestor-expected.png
deleted file mode 100644
index 9592dfb..0000000
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/clip-rects-fixed-ancestor-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/image-selection-highlight-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/image-selection-highlight-expected.png
index 7125e4ec..1c591e7 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/image-selection-highlight-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/image-selection-highlight-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/overflow-float-stacking-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/overflow-float-stacking-expected.png
index 29b0b82..20ed9d5e 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/overflow-float-stacking-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/overflow-float-stacking-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/overflow-rtl-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/overflow-rtl-expected.png
index 677ffb9..1d8899e6 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/overflow-rtl-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/overflow-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/overflow-rtl-vertical-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/overflow-rtl-vertical-expected.png
index 43c747c..642fa07 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/overflow-rtl-vertical-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/overflow-rtl-vertical-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/overflow-stacking-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/overflow-stacking-expected.png
index b0879df8..f0275ce 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/overflow-stacking-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/overflow-stacking-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/overflow-text-hit-testing-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/overflow-text-hit-testing-expected.png
index 676249b..0ee08439 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/overflow-text-hit-testing-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/overflow-text-hit-testing-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/overflow-update-transform-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/overflow-update-transform-expected.png
index 660e57a7..2ef60e9 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/overflow-update-transform-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/overflow-update-transform-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/overflow-with-local-background-attachment-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/overflow-with-local-background-attachment-expected.png
index 3aa6b2b..7f1e4d38 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/overflow-with-local-background-attachment-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/overflow-with-local-background-attachment-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/overflow-x-y-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/overflow-x-y-expected.png
index d3d6489..5626f21 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/overflow-x-y-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/overflow-x-y-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.png
new file mode 100644
index 0000000..fd89601
--- /dev/null
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/scrollRevealButton-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/scrollRevealButton-expected.png
new file mode 100644
index 0000000..bbffc6fe
--- /dev/null
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/scrollRevealButton-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/table-overflow-float-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/table-overflow-float-expected.png
index 82df536..7ca483ca 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/table-overflow-float-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/overflow/table-overflow-float-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/text/font-format-support-color-cff2-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/text/font-format-support-color-cff2-expected.png
index 0a198f0..c7a013a 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/text/font-format-support-color-cff2-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/text/font-format-support-color-cff2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/text/selection/mixed-directionality-selection-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/text/selection/mixed-directionality-selection-expected.png
index 58ea6dc..98fa1ee 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/text/selection/mixed-directionality-selection-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/fast/text/selection/mixed-directionality-selection-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/images/rendering-broken-block-flow-images-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/images/rendering-broken-block-flow-images-expected.png
index e3522f67..51887c2 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/images/rendering-broken-block-flow-images-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/images/rendering-broken-block-flow-images-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/paint/invalidation/forms/submit-focus-by-mouse-then-keydown-expected.txt b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/paint/invalidation/forms/submit-focus-by-mouse-then-keydown-expected.txt
index 3352cf98..5decf962c 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/paint/invalidation/forms/submit-focus-by-mouse-then-keydown-expected.txt
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/paint/invalidation/forms/submit-focus-by-mouse-then-keydown-expected.txt
@@ -12,6 +12,11 @@
           "reason": "subtree"
         },
         {
+          "object": "LayoutButton INPUT",
+          "rect": [7, 7, 59, 24],
+          "reason": "chunk appeared"
+        },
+        {
           "object": "InlineTextBox 'Submit'",
           "rect": [16, 11, 41, 16],
           "reason": "subtree"
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/paint/invalidation/scroll/repaint-during-scroll-with-zoom-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/paint/invalidation/scroll/repaint-during-scroll-with-zoom-expected.png
index ddc0f5f9..403017c 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/paint/invalidation/scroll/repaint-during-scroll-with-zoom-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/paint/invalidation/scroll/repaint-during-scroll-with-zoom-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/paint/invalidation/selection/selection-after-delete-expected.txt b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/paint/invalidation/selection/selection-after-delete-expected.txt
index dc5d13d8..30894cd 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/paint/invalidation/selection/selection-after-delete-expected.txt
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/paint/invalidation/selection/selection-after-delete-expected.txt
@@ -66,301 +66,301 @@
         {
           "x": 194,
           "y": 79,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 80,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 81,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 82,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 83,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 84,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 85,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 86,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 87,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 88,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 89,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 90,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 91,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 92,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 93,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 94,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 95,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 96,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 97,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 98,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 99,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 100,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 101,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 102,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 103,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 104,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 105,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 106,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 107,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 108,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 109,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 110,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 111,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 112,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 113,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 114,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 115,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 116,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 117,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 118,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 119,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 120,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 121,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 122,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 123,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 124,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 125,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 126,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 127,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 128,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         }
       ]
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/paint/invalidation/selection/selection-after-remove-expected.txt b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/paint/invalidation/selection/selection-after-remove-expected.txt
index b608c605..99d0ad9 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/paint/invalidation/selection/selection-after-remove-expected.txt
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/paint/invalidation/selection/selection-after-remove-expected.txt
@@ -81,301 +81,301 @@
         {
           "x": 194,
           "y": 79,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 80,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 81,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 82,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 83,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 84,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 85,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 86,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 87,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 88,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 89,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 90,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 91,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 92,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 93,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 94,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 95,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 96,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 97,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 98,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 99,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 100,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 101,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 102,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 103,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 104,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 105,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 106,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 107,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 108,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 109,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 110,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 111,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 112,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 113,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 114,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 115,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 116,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 117,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 118,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 119,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 120,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 121,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 122,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 123,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 124,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 125,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 126,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 127,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 128,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         }
       ]
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/paint/invalidation/selection/selection-clear-expected.txt b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/paint/invalidation/selection/selection-clear-expected.txt
new file mode 100644
index 0000000..a8d8efc
--- /dev/null
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/paint/invalidation/selection/selection-clear-expected.txt
@@ -0,0 +1,38 @@
+{
+  "layers": [
+    {
+      "name": "Scrolling background of LayoutView #document",
+      "bounds": [800, 600],
+      "contentsOpaque": true,
+      "backgroundColor": "#FFFFFF",
+      "paintInvalidations": [
+        {
+          "object": "NGPhysicalBoxFragment LayoutNGBlockFlow DIV id='firstLine'",
+          "rect": [8, 8, 100, 200],
+          "reason": "disappeared"
+        },
+        {
+          "object": "NGPhysicalBoxFragment LayoutNGBlockFlow DIV id='firstLine'",
+          "rect": [8, 8, 100, 100],
+          "reason": "appeared"
+        },
+        {
+          "object": "NGPhysicalTextFragment 'FAIL: Test did'",
+          "rect": [8, 8, 97, 200],
+          "reason": "disappeared"
+        },
+        {
+          "object": "NGPhysicalTextFragment 'not run'",
+          "rect": [8, 8, 97, 200],
+          "reason": "disappeared"
+        },
+        {
+          "object": "NGPhysicalTextFragment '\u00A0'",
+          "rect": [8, 8, 8, 100],
+          "reason": "appeared"
+        }
+      ]
+    }
+  ]
+}
+
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/paint/invalidation/selection/selection-in-composited-scrolling-container-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/paint/invalidation/selection/selection-in-composited-scrolling-container-expected.png
index f964d90..7048eb9 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/paint/invalidation/selection/selection-in-composited-scrolling-container-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/paint/invalidation/selection/selection-in-composited-scrolling-container-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/paint/invalidation/selection/selection-in-non-composited-scrolling-container-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/paint/invalidation/selection/selection-in-non-composited-scrolling-container-expected.png
index 496d51e..a2fcabf 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/paint/invalidation/selection/selection-in-non-composited-scrolling-container-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/paint/invalidation/selection/selection-in-non-composited-scrolling-container-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png
index 03802f28..853477c 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/paint/invalidation/svg/text-xy-updates-SVGList-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/paint/invalidation/svg/text-xy-updates-SVGList-expected.png
index 8be9b2ae..72cd52d 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/paint/invalidation/svg/text-xy-updates-SVGList-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/paint/invalidation/svg/text-xy-updates-SVGList-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/scrollbars/border-box-rect-clips-scrollbars-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/scrollbars/border-box-rect-clips-scrollbars-expected.png
deleted file mode 100644
index 7db5e62f9..0000000
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/scrollbars/border-box-rect-clips-scrollbars-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/svg/custom/getscreenctm-in-scrollable-div-area-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/svg/custom/getscreenctm-in-scrollable-div-area-expected.png
index 83ec41f..55df26b 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/svg/custom/getscreenctm-in-scrollable-div-area-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/svg/custom/getscreenctm-in-scrollable-div-area-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/svg/custom/getscreenctm-in-scrollable-div-area-nested-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/svg/custom/getscreenctm-in-scrollable-div-area-nested-expected.png
index 2feef75..7af8ee01 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/svg/custom/getscreenctm-in-scrollable-div-area-nested-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/svg/custom/getscreenctm-in-scrollable-div-area-nested-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-objectBoundingBox-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-objectBoundingBox-expected.png
index a711f5a..46313a9 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-objectBoundingBox-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-objectBoundingBox-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-userSpaceOnUse-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-userSpaceOnUse-expected.png
index 014e6cd..729b58c 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-userSpaceOnUse-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-userSpaceOnUse-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-objectBoundingBox-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-objectBoundingBox-expected.png
index a711f5a..46313a9 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-objectBoundingBox-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-objectBoundingBox-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-userSpaceOnUse-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-userSpaceOnUse-expected.png
index 014e6cd..729b58c 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-userSpaceOnUse-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-userSpaceOnUse-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/svg/zoom/page/zoom-mask-with-percentages-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/svg/zoom/page/zoom-mask-with-percentages-expected.png
index 77665c62..11b47b4e 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/svg/zoom/page/zoom-mask-with-percentages-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/svg/zoom/page/zoom-mask-with-percentages-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/tables/mozilla/bugs/bug131020-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/tables/mozilla/bugs/bug131020-expected.png
index f2f1527..25a2d9fc 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/tables/mozilla/bugs/bug131020-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/tables/mozilla/bugs/bug131020-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/tables/mozilla/bugs/bug149275-1-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/tables/mozilla/bugs/bug149275-1-expected.png
index 4b11dd6a..c15b4c1 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/tables/mozilla/bugs/bug149275-1-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/tables/mozilla/bugs/bug149275-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/tables/mozilla/bugs/bug59354-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/tables/mozilla/bugs/bug59354-expected.png
index 64c2790..4d72d85a 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/tables/mozilla/bugs/bug59354-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/tables/mozilla/bugs/bug59354-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.png
index f93ad74e..fa57886 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/virtual/controls-refresh-high-contrast/fast/forms/controls-new-ui-high-contrast/color-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/virtual/controls-refresh-high-contrast/fast/forms/controls-new-ui-high-contrast/color-suggestion-picker-appearance-expected.png
new file mode 100644
index 0000000..f3ddf80
--- /dev/null
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/virtual/controls-refresh-high-contrast/fast/forms/controls-new-ui-high-contrast/color-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/virtual/controls-refresh-high-contrast/fast/forms/controls-new-ui-high-contrast/color-suggestion-picker-appearance-value-attribute-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/virtual/controls-refresh-high-contrast/fast/forms/controls-new-ui-high-contrast/color-suggestion-picker-appearance-value-attribute-expected.png
new file mode 100644
index 0000000..203556a
--- /dev/null
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/virtual/controls-refresh-high-contrast/fast/forms/controls-new-ui-high-contrast/color-suggestion-picker-appearance-value-attribute-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-expected.png
new file mode 100644
index 0000000..8d26a7a
--- /dev/null
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-value-attribute-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-value-attribute-expected.png
new file mode 100644
index 0000000..9041029
--- /dev/null
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-value-attribute-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-with-scrollbar-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-with-scrollbar-expected.png
new file mode 100644
index 0000000..446fe40
--- /dev/null
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-with-scrollbar-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom125-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom125-expected.png
new file mode 100644
index 0000000..d41695b9
--- /dev/null
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom125-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom200-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom200-expected.png
new file mode 100644
index 0000000..7186f6cd
--- /dev/null
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom200-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-AM-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-AM-expected.png
new file mode 100644
index 0000000..a716bc67
--- /dev/null
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-AM-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-PM-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-PM-expected.png
new file mode 100644
index 0000000..2b414ef
--- /dev/null
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-PM-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-24-hour-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-24-hour-expected.png
new file mode 100644
index 0000000..8878ccd
--- /dev/null
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-24-hour-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowdown-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowdown-expected.png
new file mode 100644
index 0000000..b1177bb
--- /dev/null
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowdown-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowup-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowup-expected.png
new file mode 100644
index 0000000..e778b1d
--- /dev/null
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowup-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-expected.png
new file mode 100644
index 0000000..7fdeb70a
--- /dev/null
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-milliseconds-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-milliseconds-expected.png
new file mode 100644
index 0000000..d841aae
--- /dev/null
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-milliseconds-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-seconds-pm-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-seconds-pm-expected.png
new file mode 100644
index 0000000..30e8c4c4
--- /dev/null
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-seconds-pm-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/virtual/prefer_compositing_to_lcd_text/scrollbars/border-box-rect-clips-scrollbars-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/virtual/prefer_compositing_to_lcd_text/scrollbars/border-box-rect-clips-scrollbars-expected.png
deleted file mode 100644
index 7db5e62f9..0000000
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/virtual/prefer_compositing_to_lcd_text/scrollbars/border-box-rect-clips-scrollbars-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/virtual/scalefactor150/fast/hidpi/static/validation-bubble-appearance-hidpi-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/virtual/scalefactor150/fast/hidpi/static/validation-bubble-appearance-hidpi-expected.png
index 52188d22..7edbacc 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/virtual/scalefactor150/fast/hidpi/static/validation-bubble-appearance-hidpi-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/virtual/scalefactor150/fast/hidpi/static/validation-bubble-appearance-hidpi-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/virtual/scalefactor200withzoom/fast/hidpi/static/validation-bubble-appearance-hidpi-expected.png b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/virtual/scalefactor200withzoom/fast/hidpi/static/validation-bubble-appearance-hidpi-expected.png
index 62f30708..3d213f4a 100644
--- a/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/virtual/scalefactor200withzoom/fast/hidpi/static/validation-bubble-appearance-hidpi-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-blink-features=CompositeAfterPaint/virtual/scalefactor200withzoom/fast/hidpi/static/validation-bubble-appearance-hidpi-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-gpu-rasterization/css3/background/background-repeat-round-auto1-expected.png b/third_party/blink/web_tests/flag-specific/enable-gpu-rasterization/css3/background/background-repeat-round-auto1-expected.png
index 56ddb046..f23f915 100644
--- a/third_party/blink/web_tests/flag-specific/enable-gpu-rasterization/css3/background/background-repeat-round-auto1-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-gpu-rasterization/css3/background/background-repeat-round-auto1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-gpu-rasterization/css3/background/background-repeat-round-border-expected.png b/third_party/blink/web_tests/flag-specific/enable-gpu-rasterization/css3/background/background-repeat-round-border-expected.png
index c827a352..cc07b8e 100644
--- a/third_party/blink/web_tests/flag-specific/enable-gpu-rasterization/css3/background/background-repeat-round-border-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-gpu-rasterization/css3/background/background-repeat-round-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-gpu-rasterization/css3/background/background-repeat-round-content-expected.png b/third_party/blink/web_tests/flag-specific/enable-gpu-rasterization/css3/background/background-repeat-round-content-expected.png
index ba6d365e..6c7d354 100644
--- a/third_party/blink/web_tests/flag-specific/enable-gpu-rasterization/css3/background/background-repeat-round-content-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-gpu-rasterization/css3/background/background-repeat-round-content-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-gpu-rasterization/css3/background/background-repeat-round-padding-expected.png b/third_party/blink/web_tests/flag-specific/enable-gpu-rasterization/css3/background/background-repeat-round-padding-expected.png
index 122fef87..1f3588a7 100644
--- a/third_party/blink/web_tests/flag-specific/enable-gpu-rasterization/css3/background/background-repeat-round-padding-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-gpu-rasterization/css3/background/background-repeat-round-padding-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-gpu-rasterization/css3/masking/mask-repeat-round-auto1-expected.png b/third_party/blink/web_tests/flag-specific/enable-gpu-rasterization/css3/masking/mask-repeat-round-auto1-expected.png
index 6bd6dd0..53bfc41 100644
--- a/third_party/blink/web_tests/flag-specific/enable-gpu-rasterization/css3/masking/mask-repeat-round-auto1-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-gpu-rasterization/css3/masking/mask-repeat-round-auto1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-gpu-rasterization/css3/masking/mask-repeat-round-border-expected.png b/third_party/blink/web_tests/flag-specific/enable-gpu-rasterization/css3/masking/mask-repeat-round-border-expected.png
index 862ab52f..0f3e49c9 100644
--- a/third_party/blink/web_tests/flag-specific/enable-gpu-rasterization/css3/masking/mask-repeat-round-border-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-gpu-rasterization/css3/masking/mask-repeat-round-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-gpu-rasterization/css3/masking/mask-repeat-round-content-expected.png b/third_party/blink/web_tests/flag-specific/enable-gpu-rasterization/css3/masking/mask-repeat-round-content-expected.png
index 2809c0b..9573f076 100644
--- a/third_party/blink/web_tests/flag-specific/enable-gpu-rasterization/css3/masking/mask-repeat-round-content-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-gpu-rasterization/css3/masking/mask-repeat-round-content-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-gpu-rasterization/css3/masking/mask-repeat-round-padding-expected.png b/third_party/blink/web_tests/flag-specific/enable-gpu-rasterization/css3/masking/mask-repeat-round-padding-expected.png
index 5231c90..d884a9f 100644
--- a/third_party/blink/web_tests/flag-specific/enable-gpu-rasterization/css3/masking/mask-repeat-round-padding-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-gpu-rasterization/css3/masking/mask-repeat-round-padding-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-gpu-rasterization/css3/masking/mask-repeat-space-border-expected.png b/third_party/blink/web_tests/flag-specific/enable-gpu-rasterization/css3/masking/mask-repeat-space-border-expected.png
index f235a71..3c35c73 100644
--- a/third_party/blink/web_tests/flag-specific/enable-gpu-rasterization/css3/masking/mask-repeat-space-border-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-gpu-rasterization/css3/masking/mask-repeat-space-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-gpu-rasterization/media/video-poster-scale-expected.png b/third_party/blink/web_tests/flag-specific/enable-gpu-rasterization/media/video-poster-scale-expected.png
index 8f0209a..fec67ce 100644
--- a/third_party/blink/web_tests/flag-specific/enable-gpu-rasterization/media/video-poster-scale-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-gpu-rasterization/media/video-poster-scale-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/enable-gpu-rasterization/transforms/3d/point-mapping/3d-point-mapping-deep-expected.png b/third_party/blink/web_tests/flag-specific/enable-gpu-rasterization/transforms/3d/point-mapping/3d-point-mapping-deep-expected.png
index 8e3744aa..6450ac7 100644
--- a/third_party/blink/web_tests/flag-specific/enable-gpu-rasterization/transforms/3d/point-mapping/3d-point-mapping-deep-expected.png
+++ b/third_party/blink/web_tests/flag-specific/enable-gpu-rasterization/transforms/3d/point-mapping/3d-point-mapping-deep-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/http/tests/devtools/changes/changes-highlighter.js b/third_party/blink/web_tests/http/tests/devtools/changes/changes-highlighter.js
index a28c5c7..b518d412 100644
--- a/third_party/blink/web_tests/http/tests/devtools/changes/changes-highlighter.js
+++ b/third_party/blink/web_tests/http/tests/devtools/changes/changes-highlighter.js
@@ -12,7 +12,7 @@
 
   TestRunner.waitForUISourceCode('after.css').then(uiSourceCode => uiSourceCode.requestContent()).then(onAfterContent);
 
-  function onAfterContent(content) {
+  function onAfterContent({ content, error, isEncoded }) {
     SourcesTestRunner.waitForScriptSource('before.css', uiSourceCode => uiSourceCode.setWorkingCopy(content));
     TestRunner.addSniffer(Changes.ChangesView.prototype, '_renderDiffRows', rowsRendered, true);
     UI.viewManager.showView('changes.changes');
diff --git a/third_party/blink/web_tests/http/tests/devtools/compiler-script-mapping.js b/third_party/blink/web_tests/http/tests/devtools/compiler-script-mapping.js
index 7d149013..2f286e1 100644
--- a/third_party/blink/web_tests/http/tests/devtools/compiler-script-mapping.js
+++ b/third_party/blink/web_tests/http/tests/devtools/compiler-script-mapping.js
@@ -69,13 +69,13 @@
         TestRunner.addResult('Location checks passed. Requesting content');
         uiSourceCode1.requestContent().then(didRequestContent1);
 
-        function didRequestContent1(content, contentEncoded, mimeType) {
+        function didRequestContent1({ content, error, isEncoded }) {
           TestRunner.addResult('Content1 arrived.');
           TestRunner.assertEquals(0, content.indexOf('window.addEventListener'));
           uiSourceCode2.requestContent().then(didRequestContent2);
         }
 
-        function didRequestContent2(content, contentEncoded, mimeType) {
+        function didRequestContent2({ content, error, isEncoded }) {
           TestRunner.addResult('Content2 arrived.');
           TestRunner.assertEquals(0, content.indexOf('function ClickHandler()'));
           next();
@@ -121,7 +121,7 @@
         TestRunner.addResult('Location checks passed. Requesting content');
         uiSourceCode.requestContent().then(didRequestContent);
 
-        function didRequestContent(content, contentEncoded, mimeType) {
+        function didRequestContent({ content, error, isEncoded }) {
           TestRunner.addResult('<source content> === ' + content);
           next();
         }
diff --git a/third_party/blink/web_tests/http/tests/devtools/elements/styles-1/edit-inspector-stylesheet.js b/third_party/blink/web_tests/http/tests/devtools/elements/styles-1/edit-inspector-stylesheet.js
index 2cd347f..af5817ee 100644
--- a/third_party/blink/web_tests/http/tests/devtools/elements/styles-1/edit-inspector-stylesheet.js
+++ b/third_party/blink/web_tests/http/tests/devtools/elements/styles-1/edit-inspector-stylesheet.js
@@ -46,7 +46,7 @@
   }
 
   function printContent(next) {
-    function result(content) {
+    function result({ content, error, isEncoded }) {
       TestRunner.addResult('Inspector stylesheet content:');
       TestRunner.addResult(content);
       if (next)
diff --git a/third_party/blink/web_tests/http/tests/devtools/elements/styles-1/edit-resource-referred-by-multiple-styletags.js b/third_party/blink/web_tests/http/tests/devtools/elements/styles-1/edit-resource-referred-by-multiple-styletags.js
index 6c58765..d7b7c268e 100644
--- a/third_party/blink/web_tests/http/tests/devtools/elements/styles-1/edit-resource-referred-by-multiple-styletags.js
+++ b/third_party/blink/web_tests/http/tests/devtools/elements/styles-1/edit-resource-referred-by-multiple-styletags.js
@@ -47,6 +47,7 @@
 
   async function checkHeadersContent(expected) {
     var contents = await Promise.all(headers.map(header => header.requestContent()));
+    contents = contents.map(c => c.content);
     contents.push(uiSourceCode.workingCopy());
     var dedup = new Set(contents);
     if (dedup.size !== 1) {
diff --git a/third_party/blink/web_tests/http/tests/devtools/elements/styles-2/get-set-stylesheet-text.js b/third_party/blink/web_tests/http/tests/devtools/elements/styles-2/get-set-stylesheet-text.js
index a39ec97a..86d08ec 100644
--- a/third_party/blink/web_tests/http/tests/devtools/elements/styles-2/get-set-stylesheet-text.js
+++ b/third_party/blink/web_tests/http/tests/devtools/elements/styles-2/get-set-stylesheet-text.js
@@ -35,7 +35,7 @@
         TestRunner.cssModel.addEventListener(SDK.CSSModel.Events.StyleSheetAdded, styleSheetAdded);
     }
 
-    function callback(content) {
+    function callback({ content, error, isEncoded }) {
       foundStyleSheetText = content;
       TestRunner.runTestSuite([testSetText, testNewElementStyles]);
     }
diff --git a/third_party/blink/web_tests/http/tests/devtools/elements/styles/original-content-provider.js b/third_party/blink/web_tests/http/tests/devtools/elements/styles/original-content-provider.js
index 122c0b8a..b504700 100644
--- a/third_party/blink/web_tests/http/tests/devtools/elements/styles/original-content-provider.js
+++ b/third_party/blink/web_tests/http/tests/devtools/elements/styles/original-content-provider.js
@@ -101,8 +101,8 @@
 
   function onContents(contents) {
     TestRunner.addResult('== Original ==');
-    TestRunner.addResult(contents[0].trim());
+    TestRunner.addResult(contents[0].content.trim());
     TestRunner.addResult('== Current ==');
-    TestRunner.addResult(contents[1].trim());
+    TestRunner.addResult(contents[1].content.trim());
   }
 })();
diff --git a/third_party/blink/web_tests/http/tests/devtools/file-system-project.js b/third_party/blink/web_tests/http/tests/devtools/file-system-project.js
index c6ec9f8..f738818 100644
--- a/third_party/blink/web_tests/http/tests/devtools/file-system-project.js
+++ b/third_party/blink/web_tests/http/tests/devtools/file-system-project.js
@@ -27,7 +27,7 @@
 
     function didRequestContent(content, contentEncoded) {
       TestRunner.addResult('Highlighter type: ' + uiSourceCode.mimeType());
-      TestRunner.addResult('UISourceCode content: ' + content);
+      TestRunner.addResult('UISourceCode content: ' + content.content);
       callback();
     }
   }
diff --git a/third_party/blink/web_tests/http/tests/devtools/network/async-xhr-json-mime-type.js b/third_party/blink/web_tests/http/tests/devtools/network/async-xhr-json-mime-type.js
index 2b25df5..b6c0760 100644
--- a/third_party/blink/web_tests/http/tests/devtools/network/async-xhr-json-mime-type.js
+++ b/third_party/blink/web_tests/http/tests/devtools/network/async-xhr-json-mime-type.js
@@ -31,7 +31,7 @@
       request.requestContent().then(step3);
     }
 
-    function step3(content) {
+    function step3({ content, error, isEncoded }) {
       TestRunner.addResult('request.content: ' + content);
       ConsoleTestRunner.addConsoleSniffer(step4);
       TestRunner.addIframe('resources/json.php?type=' + encodedContentType);
@@ -43,7 +43,7 @@
       request.requestContent().then(step5);
     }
 
-    function step5(content) {
+    function step5({ content, error, isEncoded }) {
       TestRunner.addResult('request.content: ' + content);
       callback();
     }
diff --git a/third_party/blink/web_tests/http/tests/devtools/network/cached-resource-destroyed-moved-to-storage.js b/third_party/blink/web_tests/http/tests/devtools/network/cached-resource-destroyed-moved-to-storage.js
index cafc47ed..10d3f24 100644
--- a/third_party/blink/web_tests/http/tests/devtools/network/cached-resource-destroyed-moved-to-storage.js
+++ b/third_party/blink/web_tests/http/tests/devtools/network/cached-resource-destroyed-moved-to-storage.js
@@ -45,7 +45,7 @@
 
   var originalContentLength;
 
-  function step3(content) {
+  function step3({ content, error, isEncoded }) {
     TestRunner.addResult(imageRequest.url());
     TestRunner.addResult('request.type: ' + imageRequest.resourceType());
     TestRunner.addResult('request.content.length after requesting content: ' + content.length);
@@ -69,7 +69,7 @@
     imageRequest.requestContent().then(step7);
   }
 
-  function step7(content) {
+  function step7({ content, error, isEncoded }) {
     TestRunner.addResult('request.content.length after requesting content: ' + content.length);
     TestRunner.assertTrue(
       content.length === originalContentLength,
diff --git a/third_party/blink/web_tests/http/tests/devtools/network/cached-resource-destroyed-too-big-discarded.js b/third_party/blink/web_tests/http/tests/devtools/network/cached-resource-destroyed-too-big-discarded.js
index a02879f..b3106be 100644
--- a/third_party/blink/web_tests/http/tests/devtools/network/cached-resource-destroyed-too-big-discarded.js
+++ b/third_party/blink/web_tests/http/tests/devtools/network/cached-resource-destroyed-too-big-discarded.js
@@ -45,7 +45,7 @@
     imageRequest.requestContent().then(step3);
   }
 
-  function step3(content) {
+  function step3({ content, error, isEncoded }) {
     TestRunner.addResult(imageRequest.url());
     TestRunner.addResult('request.type: ' + imageRequest.resourceType());
     TestRunner.addResult('request.content.length after requesting content: ' + content.length);
@@ -69,7 +69,7 @@
     imageRequest.requestContent().then(step7);
   }
 
-  function step7(content) {
+  function step7({ content, error, isEncoded }) {
     TestRunner.addResult('request.content after requesting content: ' + content);
     TestRunner.assertTrue(!content, 'Content available after CachedResource was destroyed.');
     TestRunner.completeTest();
diff --git a/third_party/blink/web_tests/http/tests/devtools/network/long-script-content.js b/third_party/blink/web_tests/http/tests/devtools/network/long-script-content.js
index e2bb2b1..fc1143cb 100644
--- a/third_party/blink/web_tests/http/tests/devtools/network/long-script-content.js
+++ b/third_party/blink/web_tests/http/tests/devtools/network/long-script-content.js
@@ -33,7 +33,8 @@
     uiSourceCode.requestContent().then(step6);
   }
 
-  function step6(loadedScript) {
+  function step6({ content, error, isEncoded }) {
+    let loadedScript = content;
     var expected = 'console.log(\'finished\');\n';
     TestRunner.assertTrue(!!loadedScript, 'No script content');
     loadedScript = loadedScript.replace(/\r\n/g, '\n');  // on windows we receive additional symbol \r at line end.
diff --git a/third_party/blink/web_tests/http/tests/devtools/network/network-cachedresources-with-same-urls.js b/third_party/blink/web_tests/http/tests/devtools/network/network-cachedresources-with-same-urls.js
index 52a6e86..21d5f2b 100644
--- a/third_party/blink/web_tests/http/tests/devtools/network/network-cachedresources-with-same-urls.js
+++ b/third_party/blink/web_tests/http/tests/devtools/network/network-cachedresources-with-same-urls.js
@@ -47,7 +47,7 @@
 
     TestRunner.addResult(request1.url());
     TestRunner.addResult(request2.url());
-    TestRunner.assertTrue(request1Content !== request2Content);
+    TestRunner.assertTrue(request1Content.content !== request2Content.content);
     TestRunner.completeTest();
   }
 })();
diff --git a/third_party/blink/web_tests/http/tests/devtools/network/network-content-replacement-xhr.js b/third_party/blink/web_tests/http/tests/devtools/network/network-content-replacement-xhr.js
index 12908b7..cd57e59 100644
--- a/third_party/blink/web_tests/http/tests/devtools/network/network-content-replacement-xhr.js
+++ b/third_party/blink/web_tests/http/tests/devtools/network/network-content-replacement-xhr.js
@@ -32,7 +32,7 @@
       return callback();
     TestRunner.addResult(request.url());
 
-    async function contentLoaded(content) {
+    async function contentLoaded({ content, error, isEncoded }) {
       TestRunner.addResult('resource.content: ' + content);
       callback();
     }
diff --git a/third_party/blink/web_tests/http/tests/devtools/network/network-cyrillic-xhr.js b/third_party/blink/web_tests/http/tests/devtools/network/network-cyrillic-xhr.js
index d27b181..ce9aff7 100644
--- a/third_party/blink/web_tests/http/tests/devtools/network/network-cyrillic-xhr.js
+++ b/third_party/blink/web_tests/http/tests/devtools/network/network-cyrillic-xhr.js
@@ -13,7 +13,7 @@
       return callback();
     TestRunner.addResult(request.url());
 
-    function contentLoaded(content) {
+    function contentLoaded({ content, error, isEncoded }) {
       TestRunner.addResult('resource.content: ' + content);
       callback();
     }
diff --git a/third_party/blink/web_tests/http/tests/devtools/network/network-disable-cache-memory.js b/third_party/blink/web_tests/http/tests/devtools/network/network-disable-cache-memory.js
index 6e8473e..55bd1fa 100644
--- a/third_party/blink/web_tests/http/tests/devtools/network/network-disable-cache-memory.js
+++ b/third_party/blink/web_tests/http/tests/devtools/network/network-disable-cache-memory.js
@@ -26,7 +26,7 @@
 
   loadScriptAndGetContent(step1);
 
-  function step1(content) {
+  function step1({ content, error, isEncoded }) {
     content1 = content;
     TestRunner.reloadPage(step2);
   }
@@ -35,7 +35,7 @@
     loadScriptAndGetContent(step3);
   }
 
-  function step3(content) {
+  function step3({ content, error, isEncoded }) {
     content2 = content;
     TestRunner.NetworkAgent.setCacheDisabled(true).then(step4);
   }
@@ -48,7 +48,7 @@
     loadScriptAndGetContent(step6);
   }
 
-  function step6(content) {
+  function step6({ content, error, isEncoded }) {
     content3 = content;
 
     TestRunner.assertTrue(content1 === content2, 'First and second scripts should be equal.');
diff --git a/third_party/blink/web_tests/http/tests/devtools/network/network-disable-cache-xhrs.js b/third_party/blink/web_tests/http/tests/devtools/network/network-disable-cache-xhrs.js
index 615adec..2ead0e7 100644
--- a/third_party/blink/web_tests/http/tests/devtools/network/network-disable-cache-xhrs.js
+++ b/third_party/blink/web_tests/http/tests/devtools/network/network-disable-cache-xhrs.js
@@ -37,8 +37,8 @@
     TestRunner.addResult(request1.url());
     TestRunner.addResult(request2.url());
     TestRunner.addResult(request3.url());
-    TestRunner.assertTrue(request1Content === request2Content, 'First and second resources are equal');
-    TestRunner.assertTrue(request2Content !== request3Content, 'Second and third resources differ');
+    TestRunner.assertTrue(request1Content.content === request2Content.content, 'First and second resources are equal');
+    TestRunner.assertTrue(request2Content.content !== request3Content.content, 'Second and third resources differ');
     TestRunner.NetworkAgent.setCacheDisabled(false).then(step5);
   }
 
diff --git a/third_party/blink/web_tests/http/tests/devtools/network/network-disabling-check-no-memory-leak.js b/third_party/blink/web_tests/http/tests/devtools/network/network-disabling-check-no-memory-leak.js
index 1d72bfc..71f6ecb8 100644
--- a/third_party/blink/web_tests/http/tests/devtools/network/network-disabling-check-no-memory-leak.js
+++ b/third_party/blink/web_tests/http/tests/devtools/network/network-disabling-check-no-memory-leak.js
@@ -17,7 +17,7 @@
     request1.requestContent().then(step4);
   }
 
-  function step4(content) {
+  function step4({ content, error, isEncoded }) {
     TestRunner.addResult('resource.content after disabling network domain: ' + content);
     TestRunner.NetworkAgent.enable().then(step5);
   }
diff --git a/third_party/blink/web_tests/http/tests/devtools/network/network-empty-xhr.js b/third_party/blink/web_tests/http/tests/devtools/network/network-empty-xhr.js
index a28c981..52b103c 100644
--- a/third_party/blink/web_tests/http/tests/devtools/network/network-empty-xhr.js
+++ b/third_party/blink/web_tests/http/tests/devtools/network/network-empty-xhr.js
@@ -13,7 +13,7 @@
       return callback();
     TestRunner.addResult(request.url());
 
-    function contentLoaded(content) {
+    function contentLoaded({ content, error, isEncoded }) {
       TestRunner.addResult('resource.content: ' + content);
       callback();
     }
diff --git a/third_party/blink/web_tests/http/tests/devtools/network/network-eventsource.js b/third_party/blink/web_tests/http/tests/devtools/network/network-eventsource.js
index 1d58596..d195dabd 100644
--- a/third_party/blink/web_tests/http/tests/devtools/network/network-eventsource.js
+++ b/third_party/blink/web_tests/http/tests/devtools/network/network-eventsource.js
@@ -47,7 +47,7 @@
     TestRunner.addResult('resource.type: ' + request1.resourceType());
     TestRunner.assertTrue(!request1.failed, 'Resource loading failed.');
 
-    var content = await request1.requestContent();
+    var { content, error, isEncoded } = await request1.requestContent();
     TestRunner.addResult('resource.content after requesting content: ' + content);
     TestRunner.completeTest();
   }
diff --git a/third_party/blink/web_tests/http/tests/devtools/network/network-fetch.js b/third_party/blink/web_tests/http/tests/devtools/network/network-fetch.js
index 61e69ea..6b0bc03 100644
--- a/third_party/blink/web_tests/http/tests/devtools/network/network-fetch.js
+++ b/third_party/blink/web_tests/http/tests/devtools/network/network-fetch.js
@@ -16,7 +16,7 @@
     TestRunner.addResult('resource.type: ' + request1.resourceType());
     TestRunner.assertTrue(!request1.failed, 'Resource loading failed.');
 
-    var content = await request1.requestContent();
+    var { content, error, isEncoded } = await request1.requestContent();
     TestRunner.addResult('resource.content after requesting content: ' + content);
     TestRunner.completeTest();
   }
diff --git a/third_party/blink/web_tests/http/tests/devtools/network/network-iframe-load-and-delete.js b/third_party/blink/web_tests/http/tests/devtools/network/network-iframe-load-and-delete.js
index b26ef23..8cd7025b 100644
--- a/third_party/blink/web_tests/http/tests/devtools/network/network-iframe-load-and-delete.js
+++ b/third_party/blink/web_tests/http/tests/devtools/network/network-iframe-load-and-delete.js
@@ -52,13 +52,13 @@
     var request1 = requests[requests.length - 2];
     TestRunner.addResult(request1.url());
     TestRunner.addResult('resource.type: ' + request1.resourceType());
-    var content = await request1.requestContent();
+    var { content, error, isEncoded } = await request1.requestContent();
     TestRunner.addResult('resource.content after requesting content: ' + content);
 
     var request2 = requests[requests.length - 1];
     TestRunner.addResult(request2.url());
     TestRunner.addResult('resource.type: ' + request2.resourceType());
-    var content = await request2.requestContent();
+    var { content, error, isEncoded } = await request2.requestContent();
     TestRunner.addResult('resource.content after requesting content: ' + content);
 
     TestRunner.completeTest();
diff --git a/third_party/blink/web_tests/http/tests/devtools/network/network-image-404.js b/third_party/blink/web_tests/http/tests/devtools/network/network-image-404.js
index 8e993a5..67ef8f9 100644
--- a/third_party/blink/web_tests/http/tests/devtools/network/network-image-404.js
+++ b/third_party/blink/web_tests/http/tests/devtools/network/network-image-404.js
@@ -41,7 +41,7 @@
     TestRunner.addResult('resources count = ' + requests.length);
     for (i = 0; i < requests.length; i++) {
       TestRunner.addResult(requests[i].url());
-      var content = await requests[i].requestContent();
+      var { content, error, isEncoded } = await requests[i].requestContent();
       TestRunner.addResult('resource.content after requesting content: ' + content);
     }
 
diff --git a/third_party/blink/web_tests/http/tests/devtools/network/network-imported-resource-content.js b/third_party/blink/web_tests/http/tests/devtools/network/network-imported-resource-content.js
index 16609070..1aa090e 100644
--- a/third_party/blink/web_tests/http/tests/devtools/network/network-imported-resource-content.js
+++ b/third_party/blink/web_tests/http/tests/devtools/network/network-imported-resource-content.js
@@ -27,7 +27,7 @@
     request.requestContent().then(step3);
   }
 
-  function step3(content) {
+  function step3({ content, error, isEncoded }) {
     TestRunner.addResult('resource.content after requesting content: ' + content);
     TestRunner.completeTest();
   }
diff --git a/third_party/blink/web_tests/http/tests/devtools/network/network-request-revision-content.js b/third_party/blink/web_tests/http/tests/devtools/network/network-request-revision-content.js
index 280d0c62..408559d 100644
--- a/third_party/blink/web_tests/http/tests/devtools/network/network-request-revision-content.js
+++ b/third_party/blink/web_tests/http/tests/devtools/network/network-request-revision-content.js
@@ -35,7 +35,7 @@
     uiSourceCode.requestContent().then(step3);
   }
 
-  function step3(content) {
+  function step3({ content, error, isEncoded }) {
     TestRunner.addResult(uiSourceCode.url());
     TestRunner.addResult(content);
     TestRunner.completeTest();
diff --git a/third_party/blink/web_tests/http/tests/devtools/network/network-xhr-async-double.js b/third_party/blink/web_tests/http/tests/devtools/network/network-xhr-async-double.js
index 80b2573..3b12fb0b 100644
--- a/third_party/blink/web_tests/http/tests/devtools/network/network-xhr-async-double.js
+++ b/third_party/blink/web_tests/http/tests/devtools/network/network-xhr-async-double.js
@@ -38,9 +38,10 @@
     var request1Content = await request1.requestContent();
     var request2Content = await request2.requestContent();
 
-    TestRunner.addResult('resource1.content: ' + request1Content);
-    TestRunner.addResult('resource2.content: ' + request2Content);
-    TestRunner.assertTrue(request1Content === 'request1' && request2Content === 'request2');
+    TestRunner.addResult('resource1.content: ' + request1Content.content);
+    TestRunner.addResult('resource2.content: ' + request2Content.content);
+    TestRunner.assertTrue(request1Content.content === 'request1'
+        && request2Content.content === 'request2');
     TestRunner.completeTest();
   }
 })();
diff --git a/third_party/blink/web_tests/http/tests/devtools/network/network-xhr-async-response-type-blob.js b/third_party/blink/web_tests/http/tests/devtools/network/network-xhr-async-response-type-blob.js
index fd3df24..d0a17a27 100644
--- a/third_party/blink/web_tests/http/tests/devtools/network/network-xhr-async-response-type-blob.js
+++ b/third_party/blink/web_tests/http/tests/devtools/network/network-xhr-async-response-type-blob.js
@@ -21,7 +21,7 @@
     request1.requestContent().then(step3);
   }
 
-  function step3(content) {
+  function step3({ content, error, isEncoded }) {
     TestRunner.addResult('resource.content after requesting content: ' + content);
     TestRunner.completeTest();
   }
diff --git a/third_party/blink/web_tests/http/tests/devtools/network/network-xhr-async.js b/third_party/blink/web_tests/http/tests/devtools/network/network-xhr-async.js
index c014639..719f5a7 100644
--- a/third_party/blink/web_tests/http/tests/devtools/network/network-xhr-async.js
+++ b/third_party/blink/web_tests/http/tests/devtools/network/network-xhr-async.js
@@ -18,7 +18,7 @@
     request1.requestContent().then(step3);
   }
 
-  function step3(content) {
+  function step3({ content, error, isEncoded }) {
     TestRunner.addResult('resource.content after requesting content: ' + content);
     ConsoleTestRunner.dumpConsoleMessages();
     TestRunner.completeTest();
diff --git a/third_party/blink/web_tests/http/tests/devtools/network/network-xhr-sync.js b/third_party/blink/web_tests/http/tests/devtools/network/network-xhr-sync.js
index f589087..eb83cb2 100644
--- a/third_party/blink/web_tests/http/tests/devtools/network/network-xhr-sync.js
+++ b/third_party/blink/web_tests/http/tests/devtools/network/network-xhr-sync.js
@@ -18,7 +18,7 @@
     request1.requestContent().then(step3);
   }
 
-  function step3(content) {
+  function step3({ content, error, isEncoded }) {
     TestRunner.addResult('resource.content after requesting content: ' + content);
     TestRunner.completeTest();
   }
diff --git a/third_party/blink/web_tests/http/tests/devtools/network/oopif-content.js b/third_party/blink/web_tests/http/tests/devtools/network/oopif-content.js
index dc8ea82..6d51c1d 100644
--- a/third_party/blink/web_tests/http/tests/devtools/network/oopif-content.js
+++ b/third_party/blink/web_tests/http/tests/devtools/network/oopif-content.js
@@ -15,7 +15,7 @@
     TestRunner.completeTest();
     return;
   }
-  const content = await request.requestContent();
+  const { content, error, isEncoded } = await request.requestContent();
   TestRunner.addResult(`content: ${content}`);
   TestRunner.completeTest();
 })();
diff --git a/third_party/blink/web_tests/http/tests/devtools/persistence/automapping-bind-committed-network-sourcecode.js b/third_party/blink/web_tests/http/tests/devtools/persistence/automapping-bind-committed-network-sourcecode.js
index 43eb59e..cd0e5c7 100644
--- a/third_party/blink/web_tests/http/tests/devtools/persistence/automapping-bind-committed-network-sourcecode.js
+++ b/third_party/blink/web_tests/http/tests/devtools/persistence/automapping-bind-committed-network-sourcecode.js
@@ -10,7 +10,7 @@
       {'http://127.0.0.1:8000/devtools/persistence/resources/foo.js': null});
   TestRunner.addScriptTag('resources/foo.js');
   var networkUISourceCode = await TestRunner.waitForUISourceCode('foo.js', Workspace.projectTypes.Network);
-  var content = await networkUISourceCode.requestContent();
+  var { content } = await networkUISourceCode.requestContent();
   content = content.replace(/foo/g, 'bar');
   networkUISourceCode.addRevision(content);
 
diff --git a/third_party/blink/web_tests/http/tests/devtools/persistence/automapping-bind-dirty-filesystem-sourcecode.js b/third_party/blink/web_tests/http/tests/devtools/persistence/automapping-bind-dirty-filesystem-sourcecode.js
index c55386dd..fbe937b4 100644
--- a/third_party/blink/web_tests/http/tests/devtools/persistence/automapping-bind-dirty-filesystem-sourcecode.js
+++ b/third_party/blink/web_tests/http/tests/devtools/persistence/automapping-bind-dirty-filesystem-sourcecode.js
@@ -12,7 +12,7 @@
   BindingsTestRunner.addFooJSFile(fs);
   fs.reportCreated(function() {});
   var fsUISourceCode = await TestRunner.waitForUISourceCode('foo.js', Workspace.projectTypes.FileSystem);
-  var content = await fsUISourceCode.requestContent();
+  var { content } = await fsUISourceCode.requestContent();
   content = content.replace(/foo/g, 'bar');
   fsUISourceCode.setWorkingCopy(content);
 
diff --git a/third_party/blink/web_tests/http/tests/devtools/persistence/automapping-bind-dirty-network-sourcecode.js b/third_party/blink/web_tests/http/tests/devtools/persistence/automapping-bind-dirty-network-sourcecode.js
index d149a796..bf04a23 100644
--- a/third_party/blink/web_tests/http/tests/devtools/persistence/automapping-bind-dirty-network-sourcecode.js
+++ b/third_party/blink/web_tests/http/tests/devtools/persistence/automapping-bind-dirty-network-sourcecode.js
@@ -9,7 +9,7 @@
       {'http://127.0.0.1:8000/devtools/persistence/resources/foo.js': null});
   TestRunner.addScriptTag('resources/foo.js');
   var networkUISourceCode = await TestRunner.waitForUISourceCode('foo.js', Workspace.projectTypes.Network);
-  var content = await networkUISourceCode.requestContent();
+  var { content } = await networkUISourceCode.requestContent();
   content = content.replace(/foo/g, 'bar');
   networkUISourceCode.setWorkingCopy(content);
 
diff --git a/third_party/blink/web_tests/http/tests/devtools/persistence/automapping-sourcemap-nameclash.js b/third_party/blink/web_tests/http/tests/devtools/persistence/automapping-sourcemap-nameclash.js
index e4024ff4..708427e 100644
--- a/third_party/blink/web_tests/http/tests/devtools/persistence/automapping-sourcemap-nameclash.js
+++ b/third_party/blink/web_tests/http/tests/devtools/persistence/automapping-sourcemap-nameclash.js
@@ -37,7 +37,7 @@
     return promise;
 
     function onSource(uiSourceCode) {
-      uiSourceCode.requestContent().then(content => fulfill(content));
+      uiSourceCode.requestContent().then(({ content, error, isEncoded }) => fulfill(content));
     }
   }
 })();
diff --git a/third_party/blink/web_tests/http/tests/devtools/persistence/automapping-sourcemap.js b/third_party/blink/web_tests/http/tests/devtools/persistence/automapping-sourcemap.js
index a6d3207..00a8f3c 100644
--- a/third_party/blink/web_tests/http/tests/devtools/persistence/automapping-sourcemap.js
+++ b/third_party/blink/web_tests/http/tests/devtools/persistence/automapping-sourcemap.js
@@ -36,7 +36,7 @@
     return promise;
 
     function onSource(uiSourceCode) {
-      uiSourceCode.requestContent().then(content => fulfill(content));
+      uiSourceCode.requestContent().then(({ content, error, isEncoded }) => fulfill(content));
     }
   }
 })();
diff --git a/third_party/blink/web_tests/http/tests/devtools/persistence/ensure-filesystem-create-files-doesnt-emit-change-first.js b/third_party/blink/web_tests/http/tests/devtools/persistence/ensure-filesystem-create-files-doesnt-emit-change-first.js
index a2054a0d..b0f4d5d1 100644
--- a/third_party/blink/web_tests/http/tests/devtools/persistence/ensure-filesystem-create-files-doesnt-emit-change-first.js
+++ b/third_party/blink/web_tests/http/tests/devtools/persistence/ensure-filesystem-create-files-doesnt-emit-change-first.js
@@ -13,7 +13,7 @@
     var uiSourceCode = event.data;
     var content = await uiSourceCode.requestContent();
     TestRunner.addResult('Added: ' + uiSourceCode.url());
-    TestRunner.addResult('With content: ' + content);
+    TestRunner.addResult('With content: ' + content.content);
     TestRunner.completeTest();
   });
 
diff --git a/third_party/blink/web_tests/http/tests/devtools/persistence/persistence-do-not-overwrite-css.js b/third_party/blink/web_tests/http/tests/devtools/persistence/persistence-do-not-overwrite-css.js
index bee10917..770f546 100644
--- a/third_party/blink/web_tests/http/tests/devtools/persistence/persistence-do-not-overwrite-css.js
+++ b/third_party/blink/web_tests/http/tests/devtools/persistence/persistence-do-not-overwrite-css.js
@@ -25,7 +25,7 @@
           .then(uiSourceCode => uiSourceCode.requestContent())
           .then(onCSSContent);
 
-      function onCSSContent(content) {
+      function onCSSContent({ content, error, isEncoded }) {
         fs = new BindingsTestRunner.TestFileSystem('file:///var/www');
         BindingsTestRunner.addFiles(fs, {
           'simple.css': {content: content},
@@ -43,7 +43,7 @@
         fsUISourceCode.requestContent().then(onContent);
       }
 
-      function onContent(content) {
+      function onContent({ content, error, isEncoded }) {
         TestRunner.addResult('Initial content of file:///var/www/simple.css');
         TestRunner.addResult('----\n' + content + '\n----');
         next();
diff --git a/third_party/blink/web_tests/http/tests/devtools/resource-tree/resource-request-content-after-loading-and-clearing-cache.js b/third_party/blink/web_tests/http/tests/devtools/resource-tree/resource-request-content-after-loading-and-clearing-cache.js
index 1df0189..eba1206 100644
--- a/third_party/blink/web_tests/http/tests/devtools/resource-tree/resource-request-content-after-loading-and-clearing-cache.js
+++ b/third_party/blink/web_tests/http/tests/devtools/resource-tree/resource-request-content-after-loading-and-clearing-cache.js
@@ -25,7 +25,7 @@
   await TestRunner.NetworkAgent.setCacheDisabled(false);
   TestRunner.addResult('Requesting content: ');
   var resource = ApplicationTestRunner.resourceMatchingURL('dynamic-script.js');
-  var content = await resource.requestContent();
+  var { content } = await resource.requestContent();
   TestRunner.assertTrue(!!content, 'No content available.');
   TestRunner.addResult('Resource url: ' + resource.url);
   TestRunner.addResult('Resource content: ' + content);
diff --git a/third_party/blink/web_tests/http/tests/devtools/resource-tree/resource-request-content-while-loading.js b/third_party/blink/web_tests/http/tests/devtools/resource-tree/resource-request-content-while-loading.js
index 99cd848..dc14ce0 100644
--- a/third_party/blink/web_tests/http/tests/devtools/resource-tree/resource-request-content-while-loading.js
+++ b/third_party/blink/web_tests/http/tests/devtools/resource-tree/resource-request-content-while-loading.js
@@ -40,7 +40,7 @@
     }
   }
 
-  function contentLoaded(content) {
+  function contentLoaded({ content, error, isEncoded }) {
     TestRunner.addResult('Resource url: ' + resource.url);
     TestRunner.addResult('Resource content: ' + content);
     TestRunner.completeTest();
diff --git a/third_party/blink/web_tests/http/tests/devtools/search/search-in-sourcemap.js b/third_party/blink/web_tests/http/tests/devtools/search/search-in-sourcemap.js
index 2ede8288..00c47c4 100644
--- a/third_party/blink/web_tests/http/tests/devtools/search/search-in-sourcemap.js
+++ b/third_party/blink/web_tests/http/tests/devtools/search/search-in-sourcemap.js
@@ -10,10 +10,10 @@
   await TestRunner.navigate('resources/sourcemap-page.html');
 
   await Promise.all([
-    TestRunner.waitForUISourceCode('sourcemap-style.css'),
-    TestRunner.waitForUISourceCode('sourcemap-sass.scss'),
     TestRunner.waitForUISourceCode('sourcemap-script.js'),
     TestRunner.waitForUISourceCode('sourcemap-typescript.ts'),
+    TestRunner.waitForUISourceCode('sourcemap-style.css'),
+    TestRunner.waitForUISourceCode('sourcemap-sass.scss'),
   ]);
   var scope = new Sources.SourcesSearchScope();
 
diff --git a/third_party/blink/web_tests/http/tests/devtools/sources/debugger-ui/resources/sourcemap-src-not-loaded.html b/third_party/blink/web_tests/http/tests/devtools/sources/debugger-ui/resources/sourcemap-src-not-loaded.html
new file mode 100644
index 0000000..f4746b57
--- /dev/null
+++ b/third_party/blink/web_tests/http/tests/devtools/sources/debugger-ui/resources/sourcemap-src-not-loaded.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<html lang="en">
+    <head></head>
+    <body>
+        <h1>This is a test.</h1>
+        <script src="./sourcemap-src-not-loaded.js"></script>
+    </body>
+</html>
diff --git a/third_party/blink/web_tests/http/tests/devtools/sources/debugger-ui/resources/sourcemap-src-not-loaded.js b/third_party/blink/web_tests/http/tests/devtools/sources/debugger-ui/resources/sourcemap-src-not-loaded.js
new file mode 100644
index 0000000..bd3823d9
--- /dev/null
+++ b/third_party/blink/web_tests/http/tests/devtools/sources/debugger-ui/resources/sourcemap-src-not-loaded.js
@@ -0,0 +1,27 @@
+var __extends = (this && this.__extends) || (function () {
+    var extendStatics = function (d, b) {
+        extendStatics = Object.setPrototypeOf ||
+            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
+            function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+        return extendStatics(d, b);
+    }
+    return function (d, b) {
+        extendStatics(d, b);
+        function __() { this.constructor = d; }
+        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+    };
+})();
+var assert = function (condition, msg) {
+    if (!condition) {
+        throw new AssertionError(msg);
+    }
+};
+var AssertionError = /** @class */ (function (_super) {
+    __extends(AssertionError, _super);
+    function AssertionError(msg) {
+        return _super.call(this, msg) || this;
+    }
+    return AssertionError;
+}(Error));
+assert(2 + 2 === 4, 'The laws of mathematics have been violated.');
+//# sourceMappingURL=sourcemap-src-not-loaded.js.map
\ No newline at end of file
diff --git a/third_party/blink/web_tests/http/tests/devtools/sources/debugger-ui/resources/sourcemap-src-not-loaded.js.map b/third_party/blink/web_tests/http/tests/devtools/sources/debugger-ui/resources/sourcemap-src-not-loaded.js.map
new file mode 100644
index 0000000..144959937
--- /dev/null
+++ b/third_party/blink/web_tests/http/tests/devtools/sources/debugger-ui/resources/sourcemap-src-not-loaded.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.js","sourceRoot":"","sources":["./sourcemap-src-not-loaded.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,IAAM,MAAM,GAAG,UAAC,SAAkB,EAAE,GAAW;IAC3C,IAAI,CAAC,SAAS,EAAE;QACZ,MAAM,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC;KACjC;AACL,CAAC,CAAA;AAED;IAA6B,kCAAK;IAC9B,wBAAY,GAAW;eACnB,kBAAM,GAAG,CAAC;IACd,CAAC;IACL,qBAAC;AAAD,CAAC,AAJD,CAA6B,KAAK,GAIjC;AAED,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,6CAA6C,CAAC,CAAC"}
\ No newline at end of file
diff --git a/third_party/blink/web_tests/http/tests/devtools/sources/debugger-ui/script-snippet-model-expected.txt b/third_party/blink/web_tests/http/tests/devtools/sources/debugger-ui/script-snippet-model-expected.txt
index b436ab08..ab1f9c9 100644
--- a/third_party/blink/web_tests/http/tests/devtools/sources/debugger-ui/script-snippet-model-expected.txt
+++ b/third_party/blink/web_tests/http/tests/devtools/sources/debugger-ui/script-snippet-model-expected.txt
@@ -75,7 +75,7 @@
 
 Running: testEvaluateEditReload
 Run Snippet1..
-script-snippet-model.js:135 Console was cleared
+script-snippet-model.js:140 Console was cleared
 Snippet1:1 undefined
 Page reloaded.
 
diff --git a/third_party/blink/web_tests/http/tests/devtools/sources/debugger-ui/script-snippet-model.js b/third_party/blink/web_tests/http/tests/devtools/sources/debugger-ui/script-snippet-model.js
index 83edfaff..e72df1fa 100644
--- a/third_party/blink/web_tests/http/tests/devtools/sources/debugger-ui/script-snippet-model.js
+++ b/third_party/blink/web_tests/http/tests/devtools/sources/debugger-ui/script-snippet-model.js
@@ -23,6 +23,11 @@
         TestRunner.addResult('UISourceCodeRemoved: ' + uiSourceCode.displayName());
       }
 
+      async function printUiSourceCode(uiSourceCode) {
+        const { content } = await uiSourceCode.requestContent();
+        TestRunner.addResult(content);
+      }
+
       workspace.addEventListener(
           Workspace.Workspace.Events.UISourceCodeAdded, uiSourceCodeAdded);
       workspace.addEventListener(
@@ -30,11 +35,11 @@
 
       const uiSourceCode1 = await Snippets.project.createFile('', null, '');
       TestRunner.addResult('Snippet content:');
-      TestRunner.addResult(await uiSourceCode1.requestContent());
+      await printUiSourceCode(uiSourceCode1);
       TestRunner.addResult('Snippet1 created.');
       const uiSourceCode2 = await Snippets.project.createFile('', null, '');
       TestRunner.addResult('Snippet content:');
-      TestRunner.addResult(await uiSourceCode2.requestContent());
+      await printUiSourceCode(uiSourceCode2);
       TestRunner.addResult('Snippet2 created.');
 
       await rename(uiSourceCode1, 'foo');
@@ -45,9 +50,9 @@
       await rename(uiSourceCode2, 'foo');
 
       TestRunner.addResult('Content of first snippet:');
-      TestRunner.addResult(await uiSourceCode1.requestContent());
+      await printUiSourceCode(uiSourceCode1);
       TestRunner.addResult('Content of second snippet:');
-      TestRunner.addResult(await uiSourceCode2.requestContent());
+      await printUiSourceCode(uiSourceCode2);
 
       TestRunner.addResult('Delete snippets..');
       await uiSourceCode1.project().deleteFile(uiSourceCode1);
@@ -59,7 +64,7 @@
       TestRunner.addResult('Add third..');
       const uiSourceCode3 = await Snippets.project.createFile('', null, '');
       TestRunner.addResult('Content of third snippet:');
-      TestRunner.addResult(await uiSourceCode3.requestContent());
+      await printUiSourceCode(uiSourceCode3);
       TestRunner.addResult(
           'Number of uiSourceCodes in workspace: ' +
           workspace.uiSourceCodes().filter(uiSourceCode => uiSourceCode.url().startsWith('snippet://')).length);
diff --git a/third_party/blink/web_tests/http/tests/devtools/sources/debugger-ui/scripts-with-same-source-url.js b/third_party/blink/web_tests/http/tests/devtools/sources/debugger-ui/scripts-with-same-source-url.js
index 7b234f6..67d9d96 100644
--- a/third_party/blink/web_tests/http/tests/devtools/sources/debugger-ui/scripts-with-same-source-url.js
+++ b/third_party/blink/web_tests/http/tests/devtools/sources/debugger-ui/scripts-with-same-source-url.js
@@ -29,7 +29,7 @@
     if (event.data.project().type() !== 'network')
       return;
     event.data.requestContent().then(function(it, content) {
-      TestRunner.addResult('Content: ' + content);
+      TestRunner.addResult('Content: ' + content.content);
       if (it)
         TestRunner.completeTest();
     }.bind(null, iteration++));
diff --git a/third_party/blink/web_tests/http/tests/devtools/sources/debugger-ui/snippet-edit-breakpoint.js b/third_party/blink/web_tests/http/tests/devtools/sources/debugger-ui/snippet-edit-breakpoint.js
index 38796d5..bc2d86e 100644
--- a/third_party/blink/web_tests/http/tests/devtools/sources/debugger-ui/snippet-edit-breakpoint.js
+++ b/third_party/blink/web_tests/http/tests/devtools/sources/debugger-ui/snippet-edit-breakpoint.js
@@ -10,7 +10,7 @@
   const uiSourceCode1 = await Snippets.project.createFile('s1', null, '');
   uiSourceCode1.setContent('var x = 0;\n');
   TestRunner.addResult('Snippet content:');
-  TestRunner.addResult(await uiSourceCode1.requestContent());
+  TestRunner.addResult((await uiSourceCode1.requestContent()).content);
 
   let sourceFrame = await SourcesTestRunner.showScriptSourcePromise("Script%20snippet%20%231");
   await SourcesTestRunner.waitUntilDebuggerPluginLoaded(sourceFrame);
diff --git a/third_party/blink/web_tests/http/tests/devtools/sources/debugger-ui/sourcemap-src-not-loaded-expected.txt b/third_party/blink/web_tests/http/tests/devtools/sources/debugger-ui/sourcemap-src-not-loaded-expected.txt
new file mode 100644
index 0000000..f50b0bd
--- /dev/null
+++ b/third_party/blink/web_tests/http/tests/devtools/sources/debugger-ui/sourcemap-src-not-loaded-expected.txt
@@ -0,0 +1,36 @@
+Tests that an error loading a source-map-referred file will display an error message in the source panel.
+
+error: Could not load content for http://127.0.0.1:8000/devtools/sources/debugger-ui/resources/sourcemap-src-not-loaded.ts : HTTP status code: 404
+JavaScript source file:
+var __extends = (this && this.__extends) || (function () {
+    var extendStatics = function (d, b) {
+        extendStatics = Object.setPrototypeOf ||
+            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
+            function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+        return extendStatics(d, b);
+    }
+    return function (d, b) {
+        extendStatics(d, b);
+        function __() { this.constructor = d; }
+        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+    };
+})();
+var assert = function (condition, msg) {
+    if (!condition) {
+        throw new AssertionError(msg);
+    }
+};
+var AssertionError = /** @class */ (function (_super) {
+    __extends(AssertionError, _super);
+    function AssertionError(msg) {
+        return _super.call(this, msg) || this;
+    }
+    return AssertionError;
+}(Error));
+assert(2 + 2 === 4, 'The laws of mathematics have been violated.');
+//# sourceMappingURL=sourcemap-src-not-loaded.js.map
+TypeScript source file:
+undefined
+TypeScript resolution error:
+Could not load content for http://127.0.0.1:8000/devtools/sources/debugger-ui/resources/sourcemap-src-not-loaded.ts : HTTP status code: 404
+
diff --git a/third_party/blink/web_tests/http/tests/devtools/sources/debugger-ui/sourcemap-src-not-loaded.js b/third_party/blink/web_tests/http/tests/devtools/sources/debugger-ui/sourcemap-src-not-loaded.js
new file mode 100644
index 0000000..42a6bf7b
--- /dev/null
+++ b/third_party/blink/web_tests/http/tests/devtools/sources/debugger-ui/sourcemap-src-not-loaded.js
@@ -0,0 +1,28 @@
+// Copyright 2017 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.
+
+(async function() {
+  TestRunner.addResult(
+      `Tests that an error loading a source-map-referred file will display an error message in the source panel.\n`);
+  await TestRunner.loadModule('console_test_runner');
+  await TestRunner.loadModule('sources_test_runner');
+  await TestRunner.showPanel('sources');
+  await TestRunner.addScriptTag('./resources/sourcemap-src-not-loaded.js');
+
+  const jsSource = await TestRunner.waitForUISourceCode('sourcemap-src-not-loaded.js');
+  const tsSource = await TestRunner.waitForUISourceCode('sourcemap-src-not-loaded.ts');
+  const [jsContent, tsContent] = await Promise.all([
+    jsSource.requestContent(),
+    tsSource.requestContent(),
+  ]);
+
+  TestRunner.addResult('JavaScript source file:');
+  TestRunner.addResult(jsContent.content);
+  TestRunner.addResult('TypeScript source file:');
+  TestRunner.addResult(tsContent.content);
+  TestRunner.addResult('TypeScript resolution error:');
+  TestRunner.addResult(tsContent.error);
+
+  TestRunner.completeTest();
+})();
diff --git a/third_party/blink/web_tests/http/tests/devtools/sources/debugger-ui/ui-source-code.js b/third_party/blink/web_tests/http/tests/devtools/sources/debugger-ui/ui-source-code.js
index 0203bd2..f23e05e 100644
--- a/third_party/blink/web_tests/http/tests/devtools/sources/debugger-ui/ui-source-code.js
+++ b/third_party/blink/web_tests/http/tests/devtools/sources/debugger-ui/ui-source-code.js
@@ -7,9 +7,11 @@
   await TestRunner.showPanel('sources');
 
   var MockProject = class extends Workspace.ProjectStore {
-    requestFileContent(uri, callback) {
+    requestFileContent(uri) {
       TestRunner.addResult('Content is requested from SourceCodeProvider.');
-      setTimeout(callback.bind(null, 'var x = 0;'), 0);
+      return new Promise(resolve => {
+        setTimeout(() => resolve({ content: 'var x = 0;', error: null, isEncoded: false }));
+      });
     }
 
     mimeType() {
@@ -31,14 +33,14 @@
 
   TestRunner.runTestSuite([function testUISourceCode(next) {
     var uiSourceCode = new Workspace.UISourceCode(new MockProject(), 'url', Common.resourceTypes.Script);
-    function didRequestContent(callNumber, content) {
+    function didRequestContent(callNumber, { content, error, isEncoded }) {
       TestRunner.addResult('Callback ' + callNumber + ' is invoked.');
       TestRunner.assertEquals('text/javascript', uiSourceCode.mimeType());
       TestRunner.assertEquals('var x = 0;', content);
 
       if (callNumber === 3) {
         // Check that sourceCodeProvider.requestContent won't be called anymore.
-        uiSourceCode.requestContent().then(function(content) {
+        uiSourceCode.requestContent().then(function({ content, error, isEncoded }) {
           TestRunner.assertEquals('text/javascript', uiSourceCode.mimeType());
           TestRunner.assertEquals('var x = 0;', content);
           next();
diff --git a/third_party/blink/web_tests/http/tests/devtools/sources/debugger/live-edit-original-content.js b/third_party/blink/web_tests/http/tests/devtools/sources/debugger/live-edit-original-content.js
index c3a67a67..bd70bbd 100644
--- a/third_party/blink/web_tests/http/tests/devtools/sources/debugger/live-edit-original-content.js
+++ b/third_party/blink/web_tests/http/tests/devtools/sources/debugger/live-edit-original-content.js
@@ -27,7 +27,7 @@
     UI.panels.sources.sourcesView().currentUISourceCode().requestContent().then(gotContent);
   }
 
-  function gotContent(content) {
+  function gotContent({ content, error, isEncoded }) {
     TestRunner.addResult('');
     TestRunner.addResult('');
     TestRunner.addResult('==== Current Content ====');
diff --git a/third_party/blink/web_tests/http/tests/devtools/sources/debugger/network-uisourcecode-provider.js b/third_party/blink/web_tests/http/tests/devtools/sources/debugger/network-uisourcecode-provider.js
index 408fc59b..eccda42 100644
--- a/third_party/blink/web_tests/http/tests/devtools/sources/debugger/network-uisourcecode-provider.js
+++ b/third_party/blink/web_tests/http/tests/devtools/sources/debugger/network-uisourcecode-provider.js
@@ -31,7 +31,7 @@
            Workspace.projectTypes.ContentScripts));
     uiSourceCode.requestContent().then(didRequestContent);
 
-    function didRequestContent(content, contentEncoded) {
+    function didRequestContent({ content, error, isEncoded }) {
       TestRunner.addResult('Highlighter type: ' + uiSourceCode.mimeType());
       TestRunner.addResult('UISourceCode content: ' + content);
       callback();
diff --git a/third_party/blink/web_tests/http/tests/devtools/sources/formatter-css.js b/third_party/blink/web_tests/http/tests/devtools/sources/formatter-css.js
index 8c89a11..1afe1867 100644
--- a/third_party/blink/web_tests/http/tests/devtools/sources/formatter-css.js
+++ b/third_party/blink/web_tests/http/tests/devtools/sources/formatter-css.js
@@ -10,11 +10,11 @@
 
   var uiSourceCode = await TestRunner.waitForUISourceCode('style-formatter-obfuscated.css');
   var formatData = await Sources.sourceFormatter.format(uiSourceCode);
-  var targetContent = await formatData.formattedSourceCode.requestContent();
+  var targetContent = (await formatData.formattedSourceCode.requestContent()).content;
 
   TestRunner.addResult(`Formatted:\n${targetContent}`);
 
-  var originalContent = await uiSourceCode.requestContent();
+  var originalContent = (await uiSourceCode.requestContent()).content;
   var styleHeader = Bindings.cssWorkspaceBinding.uiLocationToRawLocations(uiSourceCode.uiLocation(0, 0))[0].header();
   var text = new TextUtils.Text(originalContent);
   var liveLocationsPool = new Bindings.LiveLocationPool();
diff --git a/third_party/blink/web_tests/http/tests/devtools/sources/formatter-js.js b/third_party/blink/web_tests/http/tests/devtools/sources/formatter-js.js
index 01943cf..9042ea7 100644
--- a/third_party/blink/web_tests/http/tests/devtools/sources/formatter-js.js
+++ b/third_party/blink/web_tests/http/tests/devtools/sources/formatter-js.js
@@ -10,11 +10,11 @@
 
   var uiSourceCode = await TestRunner.waitForUISourceCode('obfuscated.js');
   var formatData = await Sources.sourceFormatter.format(uiSourceCode);
-  var targetContent = await formatData.formattedSourceCode.requestContent();
+  var targetContent = (await formatData.formattedSourceCode.requestContent()).content;
 
   TestRunner.addResult(`Formatted:\n${targetContent}`);
 
-  var originalContent = await uiSourceCode.requestContent();
+  var originalContent = (await uiSourceCode.requestContent()).content;
   var text = new TextUtils.Text(originalContent);
   var positions = [];
   for (var offset = originalContent.indexOf('{'); offset >= 0; offset = originalContent.indexOf('{', offset + 1))
diff --git a/third_party/blink/web_tests/http/tests/devtools/sources/inline-styles-scripts-locations.js b/third_party/blink/web_tests/http/tests/devtools/sources/inline-styles-scripts-locations.js
index b1fcd811b..cbabda8 100644
--- a/third_party/blink/web_tests/http/tests/devtools/sources/inline-styles-scripts-locations.js
+++ b/third_party/blink/web_tests/http/tests/devtools/sources/inline-styles-scripts-locations.js
@@ -9,7 +9,7 @@
 
   await TestRunner.navigatePromise('../bindings/resources/inline-style.html');
   const source = await TestRunner.waitForUISourceCode('inline-style.html', Workspace.projectTypes.Network);
-  const content = await source.requestContent();
+  const { content } = await source.requestContent();
   TestRunner.addResult(`Content:\n${content}`);
   const sourceText = new TextUtils.Text(content);
 
@@ -20,7 +20,7 @@
 
   const formatData = await Sources.sourceFormatter.format(source);
   const formattedSource = formatData.formattedSourceCode;
-  var formattedContent = await formatData.formattedSourceCode.requestContent();
+  var formattedContent = (await formatData.formattedSourceCode.requestContent()).content;
   TestRunner.addResult(`Formatted Content:\n${formattedContent}`);
   const formattedSourceText = new TextUtils.Text(formattedContent);
   await dumpLocations("css", formattedSourceText.lineCount(), formattedSource);
diff --git a/third_party/blink/web_tests/http/tests/devtools/sources/source-code-diff.js b/third_party/blink/web_tests/http/tests/devtools/sources/source-code-diff.js
index fd4cc8a..1a08a21 100644
--- a/third_party/blink/web_tests/http/tests/devtools/sources/source-code-diff.js
+++ b/third_party/blink/web_tests/http/tests/devtools/sources/source-code-diff.js
@@ -14,7 +14,7 @@
   SourcesTestRunner.waitForScriptSource(
       'diff-after.css', uiSourceCode => uiSourceCode.requestContent().then(onAfterContent));
 
-  function onAfterContent(content) {
+  function onAfterContent({ content, error, isEncoded }) {
     textAfter = content;
     SourcesTestRunner.waitForScriptSource('diff-before.css', onBeforeUISourceCode);
   }
diff --git a/third_party/blink/web_tests/http/tests/devtools/sources/sourcemap-hot-reload.js b/third_party/blink/web_tests/http/tests/devtools/sources/sourcemap-hot-reload.js
index d9e8cee0..f3d5985 100644
--- a/third_party/blink/web_tests/http/tests/devtools/sources/sourcemap-hot-reload.js
+++ b/third_party/blink/web_tests/http/tests/devtools/sources/sourcemap-hot-reload.js
@@ -20,7 +20,7 @@
     await TestRunner.evaluateInPageAnonymously(content);
     await new Promise(resolve => TestRunner.addSniffer(Bindings.CompilerScriptMapping.prototype, "_sourceMapAttachedForTest", resolve));
     var uiSourceCode = await TestRunner.waitForUISourceCode("eval-in");
-    TestRunner.addResult(await uiSourceCode.requestContent());
+    TestRunner.addResult((await uiSourceCode.requestContent()).content);
   }
   TestRunner.completeTest();
 })();
diff --git a/third_party/blink/web_tests/http/tests/devtools/startup/sources/debugger/linkifier.js b/third_party/blink/web_tests/http/tests/devtools/startup/sources/debugger/linkifier.js
index 50c4049..b9dd500 100644
--- a/third_party/blink/web_tests/http/tests/devtools/startup/sources/debugger/linkifier.js
+++ b/third_party/blink/web_tests/http/tests/devtools/startup/sources/debugger/linkifier.js
@@ -51,7 +51,7 @@
 
   async function uiSourceCodeScriptFormatted() {
     TestRunner.addResult('pretty printed location: ' + link.textContent);
-    var formattedContent = await Sources.sourceFormatter._formattedSourceCodes.get(uiSourceCode).formatData.formattedSourceCode.requestContent();
+    var formattedContent = (await Sources.sourceFormatter._formattedSourceCodes.get(uiSourceCode).formatData.formattedSourceCode.requestContent()).content;
     TestRunner.addResult('pretty printed content:');
     TestRunner.addResult(formattedContent);
     Sources.sourceFormatter.discardFormattedUISourceCode(UI.panels.sources.visibleView.uiSourceCode());
diff --git a/third_party/blink/web_tests/http/tests/devtools/stylesheet-source-mapping.js b/third_party/blink/web_tests/http/tests/devtools/stylesheet-source-mapping.js
index 765fdec7..88a3b2ed 100644
--- a/third_party/blink/web_tests/http/tests/devtools/stylesheet-source-mapping.js
+++ b/third_party/blink/web_tests/http/tests/devtools/stylesheet-source-mapping.js
@@ -75,7 +75,7 @@
     testAndDumpLocation(scssUISourceCode, 4, 17, 4, 20);
     scssUISourceCode.requestContent().then(didRequestContent);
 
-    function didRequestContent(content, contentEncoded, mimeType) {
+    function didRequestContent({ content, error, isEncoded }) {
       TestRunner.assertEquals(0, content.indexOf('/* Comment */'));
       contentReceived = true;
       join();
diff --git a/third_party/blink/web_tests/http/tests/devtools/unit/binary-resource-view.js b/third_party/blink/web_tests/http/tests/devtools/unit/binary-resource-view.js
index a9fe484..4b7d54a 100644
--- a/third_party/blink/web_tests/http/tests/devtools/unit/binary-resource-view.js
+++ b/third_party/blink/web_tests/http/tests/devtools/unit/binary-resource-view.js
@@ -10,15 +10,15 @@
       base64content, 'http://example.com', Common.resourceTypes.WebSocket);
 
   TestRunner.addResult('Base64View:');
-  TestRunner.addResult(await (factory.createBase64View()._lazyContent()));
+  TestRunner.addResult((await factory.createBase64View()._lazyContent()).content);
   TestRunner.addResult('');
 
   TestRunner.addResult('HexView:');
-  TestRunner.addResult(await (factory.createHexView()._lazyContent()));
+  TestRunner.addResult((await factory.createHexView()._lazyContent()).content);
   TestRunner.addResult('');
 
   TestRunner.addResult('Utf8View:');
-  TestRunner.addResult(await (factory.createUtf8View()._lazyContent()));
+  TestRunner.addResult((await factory.createUtf8View()._lazyContent()).content);
   TestRunner.addResult('');
 
   TestRunner.completeTest();
diff --git a/third_party/blink/web_tests/http/tests/devtools/unit/source-frame-pretty-print.js b/third_party/blink/web_tests/http/tests/devtools/unit/source-frame-pretty-print.js
index 5913135..b046196 100644
--- a/third_party/blink/web_tests/http/tests/devtools/unit/source-frame-pretty-print.js
+++ b/third_party/blink/web_tests/http/tests/devtools/unit/source-frame-pretty-print.js
@@ -6,7 +6,11 @@
   TestRunner.addResult(`Tests that Source Frame can pretty print\n`);
   await TestRunner.loadModule('source_frame');
   var sourceFrame = new SourceFrame.SourceFrame(async function() {
-    return `var theContent = something; if (thisIsOnSameLine) { itShouldBeMovedToAnotherLine(); } thenPretty();`;
+    return {
+      content: `var theContent = something; if (thisIsOnSameLine) { itShouldBeMovedToAnotherLine(); } thenPretty();`,
+      error: null,
+      isEncoded: false,
+    };
   });
   sourceFrame.setHighlighterType('text/javascript');
   sourceFrame.setCanPrettyPrint(true);
diff --git a/third_party/blink/web_tests/http/tests/navigation/form-targets-cross-site-frame-get-expected.txt b/third_party/blink/web_tests/http/tests/navigation/form-targets-cross-site-frame-get-expected.txt
index 4669741..f307a58 100644
--- a/third_party/blink/web_tests/http/tests/navigation/form-targets-cross-site-frame-get-expected.txt
+++ b/third_party/blink/web_tests/http/tests/navigation/form-targets-cross-site-frame-get-expected.txt
@@ -14,7 +14,7 @@
 HTTP_CONNECTION = keep-alive
 HTTP_HOST = localhost:8080
 HTTP_REFERER = http://127.0.0.1:8000/navigation/form-targets-cross-site-frame-get.html
-HTTP_SEC_FETCH_DEST = nested-document
+HTTP_SEC_FETCH_DEST = iframe
 HTTP_SEC_FETCH_MODE = nested-navigate
 HTTP_SEC_FETCH_SITE = cross-site
 HTTP_UPGRADE_INSECURE_REQUESTS = 1
diff --git a/third_party/blink/web_tests/http/tests/navigation/form-targets-cross-site-frame-no-referrer-expected.txt b/third_party/blink/web_tests/http/tests/navigation/form-targets-cross-site-frame-no-referrer-expected.txt
index ee7518aa..f10062d 100644
--- a/third_party/blink/web_tests/http/tests/navigation/form-targets-cross-site-frame-no-referrer-expected.txt
+++ b/third_party/blink/web_tests/http/tests/navigation/form-targets-cross-site-frame-no-referrer-expected.txt
@@ -15,7 +15,7 @@
 HTTP_CONNECTION = keep-alive
 HTTP_HOST = localhost:8080
 HTTP_ORIGIN = null
-HTTP_SEC_FETCH_DEST = nested-document
+HTTP_SEC_FETCH_DEST = iframe
 HTTP_SEC_FETCH_MODE = nested-navigate
 HTTP_SEC_FETCH_SITE = cross-site
 HTTP_UPGRADE_INSECURE_REQUESTS = 1
diff --git a/third_party/blink/web_tests/http/tests/navigation/form-targets-cross-site-frame-post-expected.txt b/third_party/blink/web_tests/http/tests/navigation/form-targets-cross-site-frame-post-expected.txt
index d9a55b6..c3a1d48 100644
--- a/third_party/blink/web_tests/http/tests/navigation/form-targets-cross-site-frame-post-expected.txt
+++ b/third_party/blink/web_tests/http/tests/navigation/form-targets-cross-site-frame-post-expected.txt
@@ -16,7 +16,7 @@
 HTTP_HOST = localhost:8080
 HTTP_ORIGIN = http://127.0.0.1:8000
 HTTP_REFERER = http://127.0.0.1:8000/navigation/form-targets-cross-site-frame-post.html
-HTTP_SEC_FETCH_DEST = nested-document
+HTTP_SEC_FETCH_DEST = iframe
 HTTP_SEC_FETCH_MODE = nested-navigate
 HTTP_SEC_FETCH_SITE = cross-site
 HTTP_UPGRADE_INSECURE_REQUESTS = 1
diff --git a/third_party/blink/web_tests/http/tests/navigation/form-with-enctype-targets-cross-site-frame-expected.txt b/third_party/blink/web_tests/http/tests/navigation/form-with-enctype-targets-cross-site-frame-expected.txt
index d12ad014..dfb9694 100644
--- a/third_party/blink/web_tests/http/tests/navigation/form-with-enctype-targets-cross-site-frame-expected.txt
+++ b/third_party/blink/web_tests/http/tests/navigation/form-with-enctype-targets-cross-site-frame-expected.txt
@@ -16,7 +16,7 @@
 HTTP_HOST = localhost:8080
 HTTP_ORIGIN = http://127.0.0.1:8000
 HTTP_REFERER = http://127.0.0.1:8000/navigation/form-with-enctype-targets-cross-site-frame.html
-HTTP_SEC_FETCH_DEST = nested-document
+HTTP_SEC_FETCH_DEST = iframe
 HTTP_SEC_FETCH_MODE = nested-navigate
 HTTP_SEC_FETCH_SITE = cross-site
 HTTP_UPGRADE_INSECURE_REQUESTS = 1
diff --git a/third_party/blink/web_tests/http/tests/navigation/post-frames-expected.txt b/third_party/blink/web_tests/http/tests/navigation/post-frames-expected.txt
index 26db48ef..6d8e6764 100644
--- a/third_party/blink/web_tests/http/tests/navigation/post-frames-expected.txt
+++ b/third_party/blink/web_tests/http/tests/navigation/post-frames-expected.txt
@@ -17,7 +17,7 @@
 HTTP_HOST = 127.0.0.1:8000
 HTTP_ORIGIN = http://127.0.0.1:8000
 HTTP_REFERER = http://127.0.0.1:8000/navigation/resources/page-that-posts.html
-HTTP_SEC_FETCH_DEST = nested-document
+HTTP_SEC_FETCH_DEST = iframe
 HTTP_SEC_FETCH_MODE = nested-navigate
 HTTP_SEC_FETCH_SITE = same-origin
 HTTP_UPGRADE_INSECURE_REQUESTS = 1
diff --git a/third_party/blink/web_tests/http/tests/navigation/post-frames-goback1-expected.txt b/third_party/blink/web_tests/http/tests/navigation/post-frames-goback1-expected.txt
index 34f9b01..1c74dae 100644
--- a/third_party/blink/web_tests/http/tests/navigation/post-frames-goback1-expected.txt
+++ b/third_party/blink/web_tests/http/tests/navigation/post-frames-goback1-expected.txt
@@ -16,7 +16,7 @@
 HTTP_HOST = 127.0.0.1:8000
 HTTP_ORIGIN = http://127.0.0.1:8000
 HTTP_REFERER = http://127.0.0.1:8000/navigation/post-frames-goback1.html
-HTTP_SEC_FETCH_DEST = nested-document
+HTTP_SEC_FETCH_DEST = iframe
 HTTP_SEC_FETCH_MODE = nested-navigate
 HTTP_SEC_FETCH_SITE = same-origin
 HTTP_UPGRADE_INSECURE_REQUESTS = 1
diff --git a/third_party/blink/web_tests/http/tests/navigation/rename-subframe-goback-expected.txt b/third_party/blink/web_tests/http/tests/navigation/rename-subframe-goback-expected.txt
index a7147c7..28b5996 100644
--- a/third_party/blink/web_tests/http/tests/navigation/rename-subframe-goback-expected.txt
+++ b/third_party/blink/web_tests/http/tests/navigation/rename-subframe-goback-expected.txt
@@ -20,7 +20,7 @@
 HTTP_HOST = 127.0.0.1:8000
 HTTP_ORIGIN = http://127.0.0.1:8000
 HTTP_REFERER = http://127.0.0.1:8000/navigation/resources/page-that-posts.html
-HTTP_SEC_FETCH_DEST = nested-document
+HTTP_SEC_FETCH_DEST = iframe
 HTTP_SEC_FETCH_MODE = nested-navigate
 HTTP_SEC_FETCH_SITE = same-origin
 HTTP_UPGRADE_INSECURE_REQUESTS = 1
diff --git a/third_party/blink/web_tests/http/tests/navigation/start-load-during-provisional-loader-detach-expected.txt b/third_party/blink/web_tests/http/tests/navigation/start-load-during-provisional-loader-detach-expected.txt
index dcb2b10..78e39708c 100644
--- a/third_party/blink/web_tests/http/tests/navigation/start-load-during-provisional-loader-detach-expected.txt
+++ b/third_party/blink/web_tests/http/tests/navigation/start-load-during-provisional-loader-detach-expected.txt
@@ -1 +1 @@
-We pass if we don't crash. 
+We pass if we don't crash.
diff --git a/third_party/blink/web_tests/inspector-protocol/accessibility/accessibility-ignoredNodes-expected.txt b/third_party/blink/web_tests/inspector-protocol/accessibility/accessibility-ignoredNodes-expected.txt
index c2a3769..4ffe30d 100644
--- a/third_party/blink/web_tests/inspector-protocol/accessibility/accessibility-ignoredNodes-expected.txt
+++ b/third_party/blink/web_tests/inspector-protocol/accessibility/accessibility-ignoredNodes-expected.txt
@@ -22,6 +22,8 @@
 }
 
 WebArea
+  img
+    *Ignored
 {
   "nodeId": "<string>",
   "ignored": true,
@@ -46,6 +48,8 @@
 }
 
 WebArea
+  button "Buttons are leaf nodes"
+    *Ignored
 {
   "nodeId": "<string>",
   "ignored": true,
@@ -162,7 +166,8 @@
 }
 
 WebArea
-  GenericContainer
+  *GenericContainer
+    text "Div in list isn't presentational"
 {
   "nodeId": "<string>",
   "ignored": false,
@@ -340,7 +345,11 @@
 }
 
 WebArea
-  GenericContainer
+  *combobox
+    MenuListPopup
+      menuitem "Options should be"
+      menuitem "sent down even though"
+      menuitem "they are grandchildren"
 {
   "nodeId": "<string>",
   "ignored": false,
@@ -401,6 +410,9 @@
 }
 
 WebArea
+  combobox
+    MenuListPopup
+      *menuitem "Options should be"
 {
   "nodeId": "<string>",
   "ignored": false,
@@ -496,7 +508,8 @@
 }
 
 WebArea
-  GenericContainer
+  *GenericContainer "span with ARIA label"
+    text "should not be ignored"
 {
   "nodeId": "<string>",
   "ignored": false,
@@ -557,7 +570,8 @@
 }
 
 WebArea
-  GenericContainer
+  *GenericContainer
+    text "summary element without details parent is ignored"
 {
   "nodeId": "<string>",
   "ignored": false,
@@ -591,3 +605,61 @@
   "domNode": "summary"
 }
 
+WebArea
+  *button "Ignored parent shouldn't cause descendant to be missing from the tree"
+{
+  "nodeId": "<string>",
+  "ignored": false,
+  "role": {
+    "type": "role",
+    "value": "button"
+  },
+  "name": {
+    "type": "computedString",
+    "value": "Ignored parent shouldn't cause descendant to be missing from the tree",
+    "sources": [
+      {
+        "type": "relatedElement",
+        "attribute": "aria-labelledby"
+      },
+      {
+        "type": "attribute",
+        "attribute": "aria-label"
+      },
+      {
+        "type": "relatedElement",
+        "nativeSource": "label"
+      },
+      {
+        "type": "contents",
+        "value": {
+          "type": "computedString",
+          "value": "Ignored parent shouldn't cause descendant to be missing from the tree"
+        }
+      },
+      {
+        "type": "attribute",
+        "attribute": "title",
+        "superseded": true
+      }
+    ]
+  },
+  "properties": [
+    {
+      "name": "invalid",
+      "value": {
+        "type": "token",
+        "value": "false"
+      }
+    },
+    {
+      "name": "focusable",
+      "value": {
+        "type": "booleanOrUndefined",
+        "value": true
+      }
+    }
+  ],
+  "domNode": "button"
+}
+
diff --git a/third_party/blink/web_tests/inspector-protocol/accessibility/accessibility-ignoredNodes.js b/third_party/blink/web_tests/inspector-protocol/accessibility/accessibility-ignoredNodes.js
index 6fc3cbb..97fa653 100644
--- a/third_party/blink/web_tests/inspector-protocol/accessibility/accessibility-ignoredNodes.js
+++ b/third_party/blink/web_tests/inspector-protocol/accessibility/accessibility-ignoredNodes.js
@@ -47,6 +47,10 @@
     <div data-dump style="display: contents">div with display contents - should be ignored, but text should be included</div>
 
     <summary data-dump>summary element without details parent is ignored</summary>
+
+    <div role='presentation'>
+      <button data-dump>Ignored parent shouldn't cause descendant to be missing from the tree</button>
+    </div>
   </html>
   `, 'Tests accessibility values of ignored nodes.');
 
diff --git a/third_party/blink/web_tests/paint/dark-mode/grayscale-images/desaturate-before-inversion-expected.png b/third_party/blink/web_tests/paint/dark-mode/grayscale-images/desaturate-before-inversion-expected.png
deleted file mode 100644
index 87a54af4..0000000
--- a/third_party/blink/web_tests/paint/dark-mode/grayscale-images/desaturate-before-inversion-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/paint/invalidation/caret-subpixel-expected.png b/third_party/blink/web_tests/paint/invalidation/caret-subpixel-expected.png
deleted file mode 100644
index 316076f..0000000
--- a/third_party/blink/web_tests/paint/invalidation/caret-subpixel-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/paint/invalidation/invalidation-on-foreground-graphics-layer-expected.png b/third_party/blink/web_tests/paint/invalidation/invalidation-on-foreground-graphics-layer-expected.png
deleted file mode 100644
index 030a9b0b..0000000
--- a/third_party/blink/web_tests/paint/invalidation/invalidation-on-foreground-graphics-layer-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/paint/invalidation/overflow/composited-overflow-with-borderbox-background-expected.png b/third_party/blink/web_tests/paint/invalidation/overflow/composited-overflow-with-borderbox-background-expected.png
deleted file mode 100644
index ac8c39eb..0000000
--- a/third_party/blink/web_tests/paint/invalidation/overflow/composited-overflow-with-borderbox-background-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/paint/invalidation/overflow/composited-overflow-with-local-background-expected.png b/third_party/blink/web_tests/paint/invalidation/overflow/composited-overflow-with-local-background-expected.png
deleted file mode 100644
index 0302ce860..0000000
--- a/third_party/blink/web_tests/paint/invalidation/overflow/composited-overflow-with-local-background-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/paint/invalidation/overflow/composited-overflow-with-negative-offset-outline-expected.png b/third_party/blink/web_tests/paint/invalidation/overflow/composited-overflow-with-negative-offset-outline-expected.png
deleted file mode 100644
index b09e7a6..0000000
--- a/third_party/blink/web_tests/paint/invalidation/overflow/composited-overflow-with-negative-offset-outline-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/paint/invalidation/scroll/document-flipped-blocks-writing-mode-scroll-expected.png b/third_party/blink/web_tests/paint/invalidation/scroll/document-flipped-blocks-writing-mode-scroll-expected.png
deleted file mode 100644
index 7702197c..0000000
--- a/third_party/blink/web_tests/paint/invalidation/scroll/document-flipped-blocks-writing-mode-scroll-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/paint/invalidation/scroll/fixed-under-composited-absolute-scrolled-expected.png b/third_party/blink/web_tests/paint/invalidation/scroll/fixed-under-composited-absolute-scrolled-expected.png
deleted file mode 100644
index a26c3a1..0000000
--- a/third_party/blink/web_tests/paint/invalidation/scroll/fixed-under-composited-absolute-scrolled-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/paint/invalidation/scroll/fixed-with-border-under-composited-absolute-scrolled-expected.png b/third_party/blink/web_tests/paint/invalidation/scroll/fixed-with-border-under-composited-absolute-scrolled-expected.png
deleted file mode 100644
index 6351e29..0000000
--- a/third_party/blink/web_tests/paint/invalidation/scroll/fixed-with-border-under-composited-absolute-scrolled-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/paint/invalidation/scroll/flipped-blocks-writing-mode-scroll-expected.png b/third_party/blink/web_tests/paint/invalidation/scroll/flipped-blocks-writing-mode-scroll-expected.png
deleted file mode 100644
index 9945c92..0000000
--- a/third_party/blink/web_tests/paint/invalidation/scroll/flipped-blocks-writing-mode-scroll-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/paint/invalidation/scroll/repaint-composited-child-in-scrolled-container-expected.png b/third_party/blink/web_tests/paint/invalidation/scroll/repaint-composited-child-in-scrolled-container-expected.png
deleted file mode 100644
index f3a100b..0000000
--- a/third_party/blink/web_tests/paint/invalidation/scroll/repaint-composited-child-in-scrolled-container-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/paint/invalidation/scroll/scroll-descendant-with-cached-cliprects-expected.png b/third_party/blink/web_tests/paint/invalidation/scroll/scroll-descendant-with-cached-cliprects-expected.png
deleted file mode 100644
index 62e5363..0000000
--- a/third_party/blink/web_tests/paint/invalidation/scroll/scroll-descendant-with-cached-cliprects-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/paint/invalidation/scroll/scroll-stacking-context-backface-visiblity-leaves-traces-expected.png b/third_party/blink/web_tests/paint/invalidation/scroll/scroll-stacking-context-backface-visiblity-leaves-traces-expected.png
deleted file mode 100644
index 2bd2b1d..0000000
--- a/third_party/blink/web_tests/paint/invalidation/scroll/scroll-stacking-context-backface-visiblity-leaves-traces-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/paint/invalidation/table/scroll-inside-table-cell-expected.png b/third_party/blink/web_tests/paint/invalidation/table/scroll-inside-table-cell-expected.png
deleted file mode 100644
index ef177753..0000000
--- a/third_party/blink/web_tests/paint/invalidation/table/scroll-inside-table-cell-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/paint/invalidation/table/scroll-relative-table-inside-table-cell-expected.png b/third_party/blink/web_tests/paint/invalidation/table/scroll-relative-table-inside-table-cell-expected.png
deleted file mode 100644
index f522042..0000000
--- a/third_party/blink/web_tests/paint/invalidation/table/scroll-relative-table-inside-table-cell-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/paint/selection/text-selection-newline-across-blocks-line-beginning-end-expected.png b/third_party/blink/web_tests/paint/selection/text-selection-newline-across-blocks-line-beginning-end-expected.png
similarity index 100%
rename from third_party/blink/web_tests/platform/mac/paint/selection/text-selection-newline-across-blocks-line-beginning-end-expected.png
rename to third_party/blink/web_tests/paint/selection/text-selection-newline-across-blocks-line-beginning-end-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/fuchsia/editing/selection/4402375-expected.png b/third_party/blink/web_tests/platform/fuchsia/editing/selection/4402375-expected.png
deleted file mode 100644
index 05255e8..0000000
--- a/third_party/blink/web_tests/platform/fuchsia/editing/selection/4402375-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/fuchsia/editing/selection/4402375-expected.txt b/third_party/blink/web_tests/platform/fuchsia/editing/selection/4402375-expected.txt
deleted file mode 100644
index 25fb92f..0000000
--- a/third_party/blink/web_tests/platform/fuchsia/editing/selection/4402375-expected.txt
+++ /dev/null
@@ -1,28 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow {P} at (0,0) size 784x40
-        LayoutText {#text} at (0,0) size 131x19
-          text run at (0,0) width 131: "This is a testcase for "
-        LayoutInline {A} at (131,0) size 149x19 [color=#0000EE]
-          LayoutText {#text} at (131,0) size 149x19
-            text run at (131,0) width 149: "rdar://problem/4402375"
-        LayoutText {#text} at (0,0) size 761x39
-          text run at (280,0) width 481: " \"REGRESSION (417.8-TOT): finding text sometimes also selects previous"
-          text run at (0,20) width 137: "image (5127) (6451)\""
-      LayoutBlockFlow {P} at (0,74) size 784x40
-        LayoutText {#text} at (0,0) size 743x39
-          text run at (0,0) width 413: "This test uses a right aligned image next to some left aligned text. "
-          text run at (413,0) width 330: "The image should not be selected, and should not be"
-          text run at (0,20) width 598: "included in the selection rect (you won't see the selection rect when you run this test manually)."
-      LayoutBlockFlow {DIV} at (0,130) size 784x20
-        LayoutImage (floating) {IMG} at (708,0) size 76x103
-        LayoutText {#text} at (0,0) size 178x19
-          text run at (0,0) width 178: "This text should be selected."
-layer at (8,64) size 784x2 clip at (0,0) size 0x0
-  LayoutBlockFlow {HR} at (0,56) size 784x2 [border: (1px inset #EEEEEE)]
-selection start: position 0 of child 1 {#text} of child 6 {DIV} of body
-selection end:   position 29 of child 1 {#text} of child 6 {DIV} of body
diff --git a/third_party/blink/web_tests/platform/fuchsia/fast/block/float/centered-float-avoidance-complexity-expected.png b/third_party/blink/web_tests/platform/fuchsia/fast/block/float/centered-float-avoidance-complexity-expected.png
deleted file mode 100644
index d464e27..0000000
--- a/third_party/blink/web_tests/platform/fuchsia/fast/block/float/centered-float-avoidance-complexity-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/fuchsia/fast/table/border-collapsing/004-expected.png b/third_party/blink/web_tests/platform/fuchsia/fast/table/border-collapsing/004-expected.png
deleted file mode 100644
index 678d2c4..0000000
--- a/third_party/blink/web_tests/platform/fuchsia/fast/table/border-collapsing/004-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/fuchsia/fast/text/international/003-expected.png b/third_party/blink/web_tests/platform/fuchsia/fast/text/international/003-expected.png
deleted file mode 100644
index a04ecdee..0000000
--- a/third_party/blink/web_tests/platform/fuchsia/fast/text/international/003-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/fuchsia/tables/mozilla/bugs/bug1188-expected.png b/third_party/blink/web_tests/platform/fuchsia/tables/mozilla/bugs/bug1188-expected.png
index 4cc7e91..49aba08 100644
--- a/third_party/blink/web_tests/platform/fuchsia/tables/mozilla/bugs/bug1188-expected.png
+++ b/third_party/blink/web_tests/platform/fuchsia/tables/mozilla/bugs/bug1188-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/fuchsia/tables/mozilla/bugs/bug2479-3-expected.png b/third_party/blink/web_tests/platform/fuchsia/tables/mozilla/bugs/bug2479-3-expected.png
index 4c73bce..0d9bff31 100644
--- a/third_party/blink/web_tests/platform/fuchsia/tables/mozilla/bugs/bug2479-3-expected.png
+++ b/third_party/blink/web_tests/platform/fuchsia/tables/mozilla/bugs/bug2479-3-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/fuchsia/tables/mozilla/bugs/bug2479-4-expected.png b/third_party/blink/web_tests/platform/fuchsia/tables/mozilla/bugs/bug2479-4-expected.png
deleted file mode 100644
index 5c6ee300..0000000
--- a/third_party/blink/web_tests/platform/fuchsia/tables/mozilla/bugs/bug2479-4-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/fuchsia/tables/mozilla/bugs/bug59354-expected.png b/third_party/blink/web_tests/platform/fuchsia/tables/mozilla/bugs/bug59354-expected.png
deleted file mode 100644
index ffdae6d..0000000
--- a/third_party/blink/web_tests/platform/fuchsia/tables/mozilla/bugs/bug59354-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/fuchsia/tables/mozilla/bugs/bug7342-expected.png b/third_party/blink/web_tests/platform/fuchsia/tables/mozilla/bugs/bug7342-expected.png
deleted file mode 100644
index a3c8849..0000000
--- a/third_party/blink/web_tests/platform/fuchsia/tables/mozilla/bugs/bug7342-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/fuchsia/tables/mozilla/core/bloomberg-expected.png b/third_party/blink/web_tests/platform/fuchsia/tables/mozilla/core/bloomberg-expected.png
deleted file mode 100644
index 953c918..0000000
--- a/third_party/blink/web_tests/platform/fuchsia/tables/mozilla/core/bloomberg-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/fuchsia/tables/mozilla_expected_failures/bugs/bug1055-2-expected.png b/third_party/blink/web_tests/platform/fuchsia/tables/mozilla_expected_failures/bugs/bug1055-2-expected.png
deleted file mode 100644
index 8ae4e04f..0000000
--- a/third_party/blink/web_tests/platform/fuchsia/tables/mozilla_expected_failures/bugs/bug1055-2-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/fuchsia/tables/mozilla_expected_failures/bugs/bug2479-5-expected.png b/third_party/blink/web_tests/platform/fuchsia/tables/mozilla_expected_failures/bugs/bug2479-5-expected.png
deleted file mode 100644
index 95eae29..0000000
--- a/third_party/blink/web_tests/platform/fuchsia/tables/mozilla_expected_failures/bugs/bug2479-5-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/compositing/gestures/gesture-tapHighlight-pixel-rotated-div-expected.png b/third_party/blink/web_tests/platform/linux/compositing/gestures/gesture-tapHighlight-pixel-rotated-div-expected.png
index 0aa2636..cf7ee10 100644
--- a/third_party/blink/web_tests/platform/linux/compositing/gestures/gesture-tapHighlight-pixel-rotated-div-expected.png
+++ b/third_party/blink/web_tests/platform/linux/compositing/gestures/gesture-tapHighlight-pixel-rotated-div-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/compositing/gestures/gesture-tapHighlight-pixel-rotated-link-expected.png b/third_party/blink/web_tests/platform/linux/compositing/gestures/gesture-tapHighlight-pixel-rotated-link-expected.png
index 11323e5..c6b5938 100644
--- a/third_party/blink/web_tests/platform/linux/compositing/gestures/gesture-tapHighlight-pixel-rotated-link-expected.png
+++ b/third_party/blink/web_tests/platform/linux/compositing/gestures/gesture-tapHighlight-pixel-rotated-link-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/compositing/gestures/gesture-tapHighlight-simple-scaledX-expected.png b/third_party/blink/web_tests/platform/linux/compositing/gestures/gesture-tapHighlight-simple-scaledX-expected.png
new file mode 100644
index 0000000..4f14a79
--- /dev/null
+++ b/third_party/blink/web_tests/platform/linux/compositing/gestures/gesture-tapHighlight-simple-scaledX-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/compositing/gestures/gesture-tapHighlight-with-squashing-expected.png b/third_party/blink/web_tests/platform/linux/compositing/gestures/gesture-tapHighlight-with-squashing-expected.png
index 467115d6..9f81350 100644
--- a/third_party/blink/web_tests/platform/linux/compositing/gestures/gesture-tapHighlight-with-squashing-expected.png
+++ b/third_party/blink/web_tests/platform/linux/compositing/gestures/gesture-tapHighlight-with-squashing-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png b/third_party/blink/web_tests/platform/linux/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png
index da8fbe92..a9dfa22 100644
--- a/third_party/blink/web_tests/platform/linux/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png
+++ b/third_party/blink/web_tests/platform/linux/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/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.png b/third_party/blink/web_tests/platform/linux/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.png
index 609d706..459948dd 100644
--- a/third_party/blink/web_tests/platform/linux/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.png
+++ b/third_party/blink/web_tests/platform/linux/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/compositing/squashing/selection-repaint-with-gaps-expected.png b/third_party/blink/web_tests/platform/linux/compositing/squashing/selection-repaint-with-gaps-expected.png
index 910b3ed..97be599 100644
--- a/third_party/blink/web_tests/platform/linux/compositing/squashing/selection-repaint-with-gaps-expected.png
+++ b/third_party/blink/web_tests/platform/linux/compositing/squashing/selection-repaint-with-gaps-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css1/basic/comments-expected.png b/third_party/blink/web_tests/platform/linux/css1/basic/comments-expected.png
index 8da862d..62366fc0b 100644
--- a/third_party/blink/web_tests/platform/linux/css1/basic/comments-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css1/basic/comments-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css1/basic/containment-expected.png b/third_party/blink/web_tests/platform/linux/css1/basic/containment-expected.png
index 7be97f1c..5b0ee67 100644
--- a/third_party/blink/web_tests/platform/linux/css1/basic/containment-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css1/basic/containment-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css1/basic/id_as_selector-expected.png b/third_party/blink/web_tests/platform/linux/css1/basic/id_as_selector-expected.png
index 1d86f3a..c241b10 100644
--- a/third_party/blink/web_tests/platform/linux/css1/basic/id_as_selector-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css1/basic/id_as_selector-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css1/box_properties/acid_test-expected.png b/third_party/blink/web_tests/platform/linux/css1/box_properties/acid_test-expected.png
index 8044737..ac51c72c 100644
--- a/third_party/blink/web_tests/platform/linux/css1/box_properties/acid_test-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css1/box_properties/acid_test-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css1/box_properties/border-expected.png b/third_party/blink/web_tests/platform/linux/css1/box_properties/border-expected.png
index c2b5f8e2..33e0fee 100644
--- a/third_party/blink/web_tests/platform/linux/css1/box_properties/border-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css1/box_properties/border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css1/box_properties/border_bottom-expected.png b/third_party/blink/web_tests/platform/linux/css1/box_properties/border_bottom-expected.png
index f456459..8f55d747 100644
--- a/third_party/blink/web_tests/platform/linux/css1/box_properties/border_bottom-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css1/box_properties/border_bottom-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css1/box_properties/border_bottom_width-expected.png b/third_party/blink/web_tests/platform/linux/css1/box_properties/border_bottom_width-expected.png
index 822fff45..212134c 100644
--- a/third_party/blink/web_tests/platform/linux/css1/box_properties/border_bottom_width-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css1/box_properties/border_bottom_width-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css1/box_properties/border_left-expected.png b/third_party/blink/web_tests/platform/linux/css1/box_properties/border_left-expected.png
index cb9840c4..9a53a280 100644
--- a/third_party/blink/web_tests/platform/linux/css1/box_properties/border_left-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css1/box_properties/border_left-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css1/box_properties/border_left_width-expected.png b/third_party/blink/web_tests/platform/linux/css1/box_properties/border_left_width-expected.png
index 955ae48c..8ba69c13 100644
--- a/third_party/blink/web_tests/platform/linux/css1/box_properties/border_left_width-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css1/box_properties/border_left_width-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css1/box_properties/border_right_inline-expected.png b/third_party/blink/web_tests/platform/linux/css1/box_properties/border_right_inline-expected.png
index c675c67..924f67f7 100644
--- a/third_party/blink/web_tests/platform/linux/css1/box_properties/border_right_inline-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css1/box_properties/border_right_inline-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css1/box_properties/border_right_width-expected.png b/third_party/blink/web_tests/platform/linux/css1/box_properties/border_right_width-expected.png
index 3ce270c8..7863ba2f 100644
--- a/third_party/blink/web_tests/platform/linux/css1/box_properties/border_right_width-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css1/box_properties/border_right_width-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css1/box_properties/border_style-expected.png b/third_party/blink/web_tests/platform/linux/css1/box_properties/border_style-expected.png
index 2dea93e4..e18a65f 100644
--- a/third_party/blink/web_tests/platform/linux/css1/box_properties/border_style-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css1/box_properties/border_style-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css1/box_properties/border_top-expected.png b/third_party/blink/web_tests/platform/linux/css1/box_properties/border_top-expected.png
index f2c2306..7a0e5e1 100644
--- a/third_party/blink/web_tests/platform/linux/css1/box_properties/border_top-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css1/box_properties/border_top-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css1/box_properties/border_top_width-expected.png b/third_party/blink/web_tests/platform/linux/css1/box_properties/border_top_width-expected.png
index 55cb188..61d5f9f1 100644
--- a/third_party/blink/web_tests/platform/linux/css1/box_properties/border_top_width-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css1/box_properties/border_top_width-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css1/box_properties/border_width-expected.png b/third_party/blink/web_tests/platform/linux/css1/box_properties/border_width-expected.png
index 5473046..db8aa64 100644
--- a/third_party/blink/web_tests/platform/linux/css1/box_properties/border_width-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css1/box_properties/border_width-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css1/box_properties/clear-expected.png b/third_party/blink/web_tests/platform/linux/css1/box_properties/clear-expected.png
index ba997d3f..03f394d6 100644
--- a/third_party/blink/web_tests/platform/linux/css1/box_properties/clear-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css1/box_properties/clear-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css1/box_properties/float_elements_in_series-expected.png b/third_party/blink/web_tests/platform/linux/css1/box_properties/float_elements_in_series-expected.png
index bfb60b3..efc6708 100644
--- a/third_party/blink/web_tests/platform/linux/css1/box_properties/float_elements_in_series-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css1/box_properties/float_elements_in_series-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css1/box_properties/float_margin-expected.png b/third_party/blink/web_tests/platform/linux/css1/box_properties/float_margin-expected.png
index 97a8421..64d4510 100644
--- a/third_party/blink/web_tests/platform/linux/css1/box_properties/float_margin-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css1/box_properties/float_margin-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css1/box_properties/float_on_text_elements-expected.png b/third_party/blink/web_tests/platform/linux/css1/box_properties/float_on_text_elements-expected.png
index c632b64..a79b0ed6 100644
--- a/third_party/blink/web_tests/platform/linux/css1/box_properties/float_on_text_elements-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css1/box_properties/float_on_text_elements-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css1/box_properties/height-expected.png b/third_party/blink/web_tests/platform/linux/css1/box_properties/height-expected.png
index 6ad15f9f..a15ca700 100644
--- a/third_party/blink/web_tests/platform/linux/css1/box_properties/height-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css1/box_properties/height-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css1/box_properties/margin_bottom-expected.png b/third_party/blink/web_tests/platform/linux/css1/box_properties/margin_bottom-expected.png
index 9d86ade..0402b050 100644
--- a/third_party/blink/web_tests/platform/linux/css1/box_properties/margin_bottom-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css1/box_properties/margin_bottom-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css1/box_properties/margin_left-expected.png b/third_party/blink/web_tests/platform/linux/css1/box_properties/margin_left-expected.png
index 7bb095b..d3b0fef1 100644
--- a/third_party/blink/web_tests/platform/linux/css1/box_properties/margin_left-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css1/box_properties/margin_left-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css1/box_properties/margin_top-expected.png b/third_party/blink/web_tests/platform/linux/css1/box_properties/margin_top-expected.png
index d4bf89d0..1a79227 100644
--- a/third_party/blink/web_tests/platform/linux/css1/box_properties/margin_top-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css1/box_properties/margin_top-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css1/box_properties/padding-expected.png b/third_party/blink/web_tests/platform/linux/css1/box_properties/padding-expected.png
index b86d5c0c..e9ea75b 100644
--- a/third_party/blink/web_tests/platform/linux/css1/box_properties/padding-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css1/box_properties/padding-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css1/box_properties/padding_bottom-expected.png b/third_party/blink/web_tests/platform/linux/css1/box_properties/padding_bottom-expected.png
index a6062462..7c64ad89 100644
--- a/third_party/blink/web_tests/platform/linux/css1/box_properties/padding_bottom-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css1/box_properties/padding_bottom-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css1/box_properties/padding_inline-expected.png b/third_party/blink/web_tests/platform/linux/css1/box_properties/padding_inline-expected.png
index 99163e2..63735aec 100644
--- a/third_party/blink/web_tests/platform/linux/css1/box_properties/padding_inline-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css1/box_properties/padding_inline-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css1/box_properties/padding_left-expected.png b/third_party/blink/web_tests/platform/linux/css1/box_properties/padding_left-expected.png
index 2f6295c..11a4975 100644
--- a/third_party/blink/web_tests/platform/linux/css1/box_properties/padding_left-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css1/box_properties/padding_left-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css1/box_properties/padding_right-expected.png b/third_party/blink/web_tests/platform/linux/css1/box_properties/padding_right-expected.png
index de14c5e..2abf512 100644
--- a/third_party/blink/web_tests/platform/linux/css1/box_properties/padding_right-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css1/box_properties/padding_right-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css1/box_properties/padding_top-expected.png b/third_party/blink/web_tests/platform/linux/css1/box_properties/padding_top-expected.png
index f27aa14..4538edd 100644
--- a/third_party/blink/web_tests/platform/linux/css1/box_properties/padding_top-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css1/box_properties/padding_top-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css1/box_properties/width-expected.png b/third_party/blink/web_tests/platform/linux/css1/box_properties/width-expected.png
index b617e7c6..db6db777 100644
--- a/third_party/blink/web_tests/platform/linux/css1/box_properties/width-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css1/box_properties/width-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css1/cascade/cascade_order-expected.png b/third_party/blink/web_tests/platform/linux/css1/cascade/cascade_order-expected.png
index fd853a46..b709191 100644
--- a/third_party/blink/web_tests/platform/linux/css1/cascade/cascade_order-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css1/cascade/cascade_order-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css1/classification/display-expected.png b/third_party/blink/web_tests/platform/linux/css1/classification/display-expected.png
index e0fc81b..6f58fff 100644
--- a/third_party/blink/web_tests/platform/linux/css1/classification/display-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css1/classification/display-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css1/classification/list_style_type-expected.png b/third_party/blink/web_tests/platform/linux/css1/classification/list_style_type-expected.png
index adc2ce4..cf22662 100644
--- a/third_party/blink/web_tests/platform/linux/css1/classification/list_style_type-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css1/classification/list_style_type-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css1/color_and_background/background-expected.png b/third_party/blink/web_tests/platform/linux/css1/color_and_background/background-expected.png
index 89680bda..d340740 100644
--- a/third_party/blink/web_tests/platform/linux/css1/color_and_background/background-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css1/color_and_background/background-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css1/color_and_background/background_position-expected.png b/third_party/blink/web_tests/platform/linux/css1/color_and_background/background_position-expected.png
index 35a55578..2a553dbd 100644
--- a/third_party/blink/web_tests/platform/linux/css1/color_and_background/background_position-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css1/color_and_background/background_position-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css1/conformance/forward_compatible_parsing-expected.png b/third_party/blink/web_tests/platform/linux/css1/conformance/forward_compatible_parsing-expected.png
index 3168b6d..96a25477 100644
--- a/third_party/blink/web_tests/platform/linux/css1/conformance/forward_compatible_parsing-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css1/conformance/forward_compatible_parsing-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css1/font_properties/font-expected.png b/third_party/blink/web_tests/platform/linux/css1/font_properties/font-expected.png
index 68595b2..1259d5e 100644
--- a/third_party/blink/web_tests/platform/linux/css1/font_properties/font-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css1/font_properties/font-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css1/font_properties/font_family-expected.png b/third_party/blink/web_tests/platform/linux/css1/font_properties/font_family-expected.png
index df390c82..9cde9c3 100644
--- a/third_party/blink/web_tests/platform/linux/css1/font_properties/font_family-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css1/font_properties/font_family-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css1/font_properties/font_size-expected.png b/third_party/blink/web_tests/platform/linux/css1/font_properties/font_size-expected.png
index 50a0667a..8c799a09 100644
--- a/third_party/blink/web_tests/platform/linux/css1/font_properties/font_size-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css1/font_properties/font_size-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css1/font_properties/font_weight-expected.png b/third_party/blink/web_tests/platform/linux/css1/font_properties/font_weight-expected.png
index f8dd79f..3ff342db 100644
--- a/third_party/blink/web_tests/platform/linux/css1/font_properties/font_weight-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css1/font_properties/font_weight-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css1/formatting_model/floating_elements-expected.png b/third_party/blink/web_tests/platform/linux/css1/formatting_model/floating_elements-expected.png
index d8db86b..6de8936 100644
--- a/third_party/blink/web_tests/platform/linux/css1/formatting_model/floating_elements-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css1/formatting_model/floating_elements-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css1/formatting_model/height_of_lines-expected.png b/third_party/blink/web_tests/platform/linux/css1/formatting_model/height_of_lines-expected.png
index df0ed70..d3061cea 100644
--- a/third_party/blink/web_tests/platform/linux/css1/formatting_model/height_of_lines-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css1/formatting_model/height_of_lines-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css1/formatting_model/inline_elements-expected.png b/third_party/blink/web_tests/platform/linux/css1/formatting_model/inline_elements-expected.png
index fca72c7..dd9dff1 100644
--- a/third_party/blink/web_tests/platform/linux/css1/formatting_model/inline_elements-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css1/formatting_model/inline_elements-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css1/formatting_model/replaced_elements-expected.png b/third_party/blink/web_tests/platform/linux/css1/formatting_model/replaced_elements-expected.png
index 54b2ea5..f159986 100644
--- a/third_party/blink/web_tests/platform/linux/css1/formatting_model/replaced_elements-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css1/formatting_model/replaced_elements-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css1/formatting_model/vertical_formatting-expected.png b/third_party/blink/web_tests/platform/linux/css1/formatting_model/vertical_formatting-expected.png
index 66f3bf8df..0b6626ac 100644
--- a/third_party/blink/web_tests/platform/linux/css1/formatting_model/vertical_formatting-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css1/formatting_model/vertical_formatting-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css1/pseudo/anchor-expected.png b/third_party/blink/web_tests/platform/linux/css1/pseudo/anchor-expected.png
index 3599c3d..8865446 100644
--- a/third_party/blink/web_tests/platform/linux/css1/pseudo/anchor-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css1/pseudo/anchor-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css1/pseudo/firstletter-expected.png b/third_party/blink/web_tests/platform/linux/css1/pseudo/firstletter-expected.png
index 2a9fbbf..85a21c3 100644
--- a/third_party/blink/web_tests/platform/linux/css1/pseudo/firstletter-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css1/pseudo/firstletter-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css1/pseudo/firstline-expected.png b/third_party/blink/web_tests/platform/linux/css1/pseudo/firstline-expected.png
index 4202b42..43670b7 100644
--- a/third_party/blink/web_tests/platform/linux/css1/pseudo/firstline-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css1/pseudo/firstline-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css1/pseudo/multiple_pseudo_elements-expected.png b/third_party/blink/web_tests/platform/linux/css1/pseudo/multiple_pseudo_elements-expected.png
index a84b4b8..c233634 100644
--- a/third_party/blink/web_tests/platform/linux/css1/pseudo/multiple_pseudo_elements-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css1/pseudo/multiple_pseudo_elements-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css1/pseudo/pseudo_elements_in_selectors-expected.png b/third_party/blink/web_tests/platform/linux/css1/pseudo/pseudo_elements_in_selectors-expected.png
index 5c9ae29..b00607f 100644
--- a/third_party/blink/web_tests/platform/linux/css1/pseudo/pseudo_elements_in_selectors-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css1/pseudo/pseudo_elements_in_selectors-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css1/text_properties/letter_spacing-expected.png b/third_party/blink/web_tests/platform/linux/css1/text_properties/letter_spacing-expected.png
index 09797e51..fbfe5ef 100644
--- a/third_party/blink/web_tests/platform/linux/css1/text_properties/letter_spacing-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css1/text_properties/letter_spacing-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css1/text_properties/line_height-expected.png b/third_party/blink/web_tests/platform/linux/css1/text_properties/line_height-expected.png
index 342efb51a..0844093 100644
--- a/third_party/blink/web_tests/platform/linux/css1/text_properties/line_height-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css1/text_properties/line_height-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css1/text_properties/text_decoration-expected.png b/third_party/blink/web_tests/platform/linux/css1/text_properties/text_decoration-expected.png
index 3575070..0ff64e4 100644
--- a/third_party/blink/web_tests/platform/linux/css1/text_properties/text_decoration-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css1/text_properties/text_decoration-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css1/text_properties/text_indent-expected.png b/third_party/blink/web_tests/platform/linux/css1/text_properties/text_indent-expected.png
index 91285d2..9e84ce3 100644
--- a/third_party/blink/web_tests/platform/linux/css1/text_properties/text_indent-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css1/text_properties/text_indent-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css1/text_properties/text_transform-expected.png b/third_party/blink/web_tests/platform/linux/css1/text_properties/text_transform-expected.png
index f3a5ecb..93c70769 100644
--- a/third_party/blink/web_tests/platform/linux/css1/text_properties/text_transform-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css1/text_properties/text_transform-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css1/text_properties/vertical_align-expected.png b/third_party/blink/web_tests/platform/linux/css1/text_properties/vertical_align-expected.png
index fbbcde9..79e5fdc 100644
--- a/third_party/blink/web_tests/platform/linux/css1/text_properties/vertical_align-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css1/text_properties/vertical_align-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css1/text_properties/word_spacing-expected.png b/third_party/blink/web_tests/platform/linux/css1/text_properties/word_spacing-expected.png
index bbeac597..797ca930 100644
--- a/third_party/blink/web_tests/platform/linux/css1/text_properties/word_spacing-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css1/text_properties/word_spacing-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css1/units/color_units-expected.png b/third_party/blink/web_tests/platform/linux/css1/units/color_units-expected.png
index bf68919..496d65d 100644
--- a/third_party/blink/web_tests/platform/linux/css1/units/color_units-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css1/units/color_units-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css1/units/length_units-expected.png b/third_party/blink/web_tests/platform/linux/css1/units/length_units-expected.png
index 5b88b5a..b58a135 100644
--- a/third_party/blink/web_tests/platform/linux/css1/units/length_units-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css1/units/length_units-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css1/units/percentage_units-expected.png b/third_party/blink/web_tests/platform/linux/css1/units/percentage_units-expected.png
index 384a142a..1e9e486 100644
--- a/third_party/blink/web_tests/platform/linux/css1/units/percentage_units-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css1/units/percentage_units-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css2.1/t0803-c5502-mrgn-r-02-c-expected.png b/third_party/blink/web_tests/platform/linux/css2.1/t0803-c5502-mrgn-r-02-c-expected.png
index 5148bbc..f2db280 100644
--- a/third_party/blink/web_tests/platform/linux/css2.1/t0803-c5502-mrgn-r-02-c-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css2.1/t0803-c5502-mrgn-r-02-c-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css2.1/t0803-c5505-mrgn-02-c-expected.png b/third_party/blink/web_tests/platform/linux/css2.1/t0803-c5505-mrgn-02-c-expected.png
index ea8e831..7c40fa4 100644
--- a/third_party/blink/web_tests/platform/linux/css2.1/t0803-c5505-mrgn-02-c-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css2.1/t0803-c5505-mrgn-02-c-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css2.1/t080301-c411-vt-mrgn-00-b-expected.png b/third_party/blink/web_tests/platform/linux/css2.1/t080301-c411-vt-mrgn-00-b-expected.png
index dff36eb5..ae2687c 100644
--- a/third_party/blink/web_tests/platform/linux/css2.1/t080301-c411-vt-mrgn-00-b-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css2.1/t080301-c411-vt-mrgn-00-b-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css2.1/t09-c5526c-display-00-e-expected.png b/third_party/blink/web_tests/platform/linux/css2.1/t09-c5526c-display-00-e-expected.png
index d663b949..2d53c00 100644
--- a/third_party/blink/web_tests/platform/linux/css2.1/t09-c5526c-display-00-e-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css2.1/t09-c5526c-display-00-e-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css2.1/t0905-c5525-fltwidth-00-c-g-expected.png b/third_party/blink/web_tests/platform/linux/css2.1/t0905-c5525-fltwidth-00-c-g-expected.png
index d91ce5025..edb57f3e 100644
--- a/third_party/blink/web_tests/platform/linux/css2.1/t0905-c5525-fltwidth-00-c-g-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css2.1/t0905-c5525-fltwidth-00-c-g-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css2.1/t1002-c5523-width-02-b-g-expected.png b/third_party/blink/web_tests/platform/linux/css2.1/t1002-c5523-width-02-b-g-expected.png
index dd66652..20bb3c1e 100644
--- a/third_party/blink/web_tests/platform/linux/css2.1/t1002-c5523-width-02-b-g-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css2.1/t1002-c5523-width-02-b-g-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css2.1/t140201-c535-bg-fixd-00-b-g-expected.png b/third_party/blink/web_tests/platform/linux/css2.1/t140201-c535-bg-fixd-00-b-g-expected.png
index 19ea0b3..2ea0995 100644
--- a/third_party/blink/web_tests/platform/linux/css2.1/t140201-c535-bg-fixd-00-b-g-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css2.1/t140201-c535-bg-fixd-00-b-g-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css2.1/t140201-c537-bgfxps-00-c-ag-expected.png b/third_party/blink/web_tests/platform/linux/css2.1/t140201-c537-bgfxps-00-c-ag-expected.png
index 588c8b36..e6bbdf3 100644
--- a/third_party/blink/web_tests/platform/linux/css2.1/t140201-c537-bgfxps-00-c-ag-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css2.1/t140201-c537-bgfxps-00-c-ag-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css3/flexbox/button-expected.png b/third_party/blink/web_tests/platform/linux/css3/flexbox/button-expected.png
index 78bcb2d..160ea2d 100644
--- a/third_party/blink/web_tests/platform/linux/css3/flexbox/button-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css3/flexbox/button-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css3/flexbox/flexbox-baseline-expected.png b/third_party/blink/web_tests/platform/linux/css3/flexbox/flexbox-baseline-expected.png
index 4910d4ae..1ab5a28 100644
--- a/third_party/blink/web_tests/platform/linux/css3/flexbox/flexbox-baseline-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css3/flexbox/flexbox-baseline-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css3/flexbox/flexbox-baseline-margins-expected.png b/third_party/blink/web_tests/platform/linux/css3/flexbox/flexbox-baseline-margins-expected.png
index 61024bf..8c4728a 100644
--- a/third_party/blink/web_tests/platform/linux/css3/flexbox/flexbox-baseline-margins-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css3/flexbox/flexbox-baseline-margins-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css3/masking/mask-repeat-space-padding-expected.png b/third_party/blink/web_tests/platform/linux/css3/masking/mask-repeat-space-padding-expected.png
index 0f7ecb4..8ad5f0de 100644
--- a/third_party/blink/web_tests/platform/linux/css3/masking/mask-repeat-space-padding-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css3/masking/mask-repeat-space-padding-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css3/selectors3/html/css3-modsel-161-expected.png b/third_party/blink/web_tests/platform/linux/css3/selectors3/html/css3-modsel-161-expected.png
index 991b4238..cb20443 100644
--- a/third_party/blink/web_tests/platform/linux/css3/selectors3/html/css3-modsel-161-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css3/selectors3/html/css3-modsel-161-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css3/selectors3/html/css3-modsel-19b-expected.png b/third_party/blink/web_tests/platform/linux/css3/selectors3/html/css3-modsel-19b-expected.png
index efeac626..64a4860e 100644
--- a/third_party/blink/web_tests/platform/linux/css3/selectors3/html/css3-modsel-19b-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css3/selectors3/html/css3-modsel-19b-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css3/selectors3/html/css3-modsel-23-expected.png b/third_party/blink/web_tests/platform/linux/css3/selectors3/html/css3-modsel-23-expected.png
index e06c1d955..89838aa 100644
--- a/third_party/blink/web_tests/platform/linux/css3/selectors3/html/css3-modsel-23-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css3/selectors3/html/css3-modsel-23-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css3/selectors3/html/css3-modsel-24-expected.png b/third_party/blink/web_tests/platform/linux/css3/selectors3/html/css3-modsel-24-expected.png
index d7b72a0e..2a06a24 100644
--- a/third_party/blink/web_tests/platform/linux/css3/selectors3/html/css3-modsel-24-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css3/selectors3/html/css3-modsel-24-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css3/selectors3/html/css3-modsel-25-expected.png b/third_party/blink/web_tests/platform/linux/css3/selectors3/html/css3-modsel-25-expected.png
index 1f8fd43..2b40542 100644
--- a/third_party/blink/web_tests/platform/linux/css3/selectors3/html/css3-modsel-25-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css3/selectors3/html/css3-modsel-25-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css3/selectors3/html/css3-modsel-64-expected.png b/third_party/blink/web_tests/platform/linux/css3/selectors3/html/css3-modsel-64-expected.png
index 7949efa..a018c5c 100644
--- a/third_party/blink/web_tests/platform/linux/css3/selectors3/html/css3-modsel-64-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css3/selectors3/html/css3-modsel-64-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css3/selectors3/html/css3-modsel-68-expected.png b/third_party/blink/web_tests/platform/linux/css3/selectors3/html/css3-modsel-68-expected.png
index d7b72a0e..2a06a24 100644
--- a/third_party/blink/web_tests/platform/linux/css3/selectors3/html/css3-modsel-68-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css3/selectors3/html/css3-modsel-68-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css3/selectors3/html/css3-modsel-69-expected.png b/third_party/blink/web_tests/platform/linux/css3/selectors3/html/css3-modsel-69-expected.png
index e06c1d955..89838aa 100644
--- a/third_party/blink/web_tests/platform/linux/css3/selectors3/html/css3-modsel-69-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css3/selectors3/html/css3-modsel-69-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css3/selectors3/html/css3-modsel-70-expected.png b/third_party/blink/web_tests/platform/linux/css3/selectors3/html/css3-modsel-70-expected.png
index 27cf676..c13fa4e9 100644
--- a/third_party/blink/web_tests/platform/linux/css3/selectors3/html/css3-modsel-70-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css3/selectors3/html/css3-modsel-70-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css3/selectors3/xhtml/css3-modsel-161-expected.png b/third_party/blink/web_tests/platform/linux/css3/selectors3/xhtml/css3-modsel-161-expected.png
index 991b4238..cb20443 100644
--- a/third_party/blink/web_tests/platform/linux/css3/selectors3/xhtml/css3-modsel-161-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css3/selectors3/xhtml/css3-modsel-161-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css3/selectors3/xhtml/css3-modsel-19b-expected.png b/third_party/blink/web_tests/platform/linux/css3/selectors3/xhtml/css3-modsel-19b-expected.png
index efeac626..64a4860e 100644
--- a/third_party/blink/web_tests/platform/linux/css3/selectors3/xhtml/css3-modsel-19b-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css3/selectors3/xhtml/css3-modsel-19b-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css3/selectors3/xhtml/css3-modsel-23-expected.png b/third_party/blink/web_tests/platform/linux/css3/selectors3/xhtml/css3-modsel-23-expected.png
index e06c1d955..89838aa 100644
--- a/third_party/blink/web_tests/platform/linux/css3/selectors3/xhtml/css3-modsel-23-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css3/selectors3/xhtml/css3-modsel-23-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css3/selectors3/xhtml/css3-modsel-24-expected.png b/third_party/blink/web_tests/platform/linux/css3/selectors3/xhtml/css3-modsel-24-expected.png
index d7b72a0e..2a06a24 100644
--- a/third_party/blink/web_tests/platform/linux/css3/selectors3/xhtml/css3-modsel-24-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css3/selectors3/xhtml/css3-modsel-24-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css3/selectors3/xhtml/css3-modsel-25-expected.png b/third_party/blink/web_tests/platform/linux/css3/selectors3/xhtml/css3-modsel-25-expected.png
index 1f8fd43..2b40542 100644
--- a/third_party/blink/web_tests/platform/linux/css3/selectors3/xhtml/css3-modsel-25-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css3/selectors3/xhtml/css3-modsel-25-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css3/selectors3/xhtml/css3-modsel-64-expected.png b/third_party/blink/web_tests/platform/linux/css3/selectors3/xhtml/css3-modsel-64-expected.png
index 7949efa..a018c5c 100644
--- a/third_party/blink/web_tests/platform/linux/css3/selectors3/xhtml/css3-modsel-64-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css3/selectors3/xhtml/css3-modsel-64-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css3/selectors3/xhtml/css3-modsel-68-expected.png b/third_party/blink/web_tests/platform/linux/css3/selectors3/xhtml/css3-modsel-68-expected.png
index d7b72a0e..2a06a24 100644
--- a/third_party/blink/web_tests/platform/linux/css3/selectors3/xhtml/css3-modsel-68-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css3/selectors3/xhtml/css3-modsel-68-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css3/selectors3/xhtml/css3-modsel-69-expected.png b/third_party/blink/web_tests/platform/linux/css3/selectors3/xhtml/css3-modsel-69-expected.png
index e06c1d955..89838aa 100644
--- a/third_party/blink/web_tests/platform/linux/css3/selectors3/xhtml/css3-modsel-69-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css3/selectors3/xhtml/css3-modsel-69-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css3/selectors3/xhtml/css3-modsel-70-expected.png b/third_party/blink/web_tests/platform/linux/css3/selectors3/xhtml/css3-modsel-70-expected.png
index 27cf676..c13fa4e9 100644
--- a/third_party/blink/web_tests/platform/linux/css3/selectors3/xhtml/css3-modsel-70-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css3/selectors3/xhtml/css3-modsel-70-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css3/selectors3/xml/css3-modsel-161-expected.png b/third_party/blink/web_tests/platform/linux/css3/selectors3/xml/css3-modsel-161-expected.png
index a8d1949..4bffa96 100644
--- a/third_party/blink/web_tests/platform/linux/css3/selectors3/xml/css3-modsel-161-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css3/selectors3/xml/css3-modsel-161-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css3/selectors3/xml/css3-modsel-19b-expected.png b/third_party/blink/web_tests/platform/linux/css3/selectors3/xml/css3-modsel-19b-expected.png
index 84d1ffc..4219d47ab 100644
--- a/third_party/blink/web_tests/platform/linux/css3/selectors3/xml/css3-modsel-19b-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css3/selectors3/xml/css3-modsel-19b-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css3/selectors3/xml/css3-modsel-23-expected.png b/third_party/blink/web_tests/platform/linux/css3/selectors3/xml/css3-modsel-23-expected.png
index 70dc509..74f9657 100644
--- a/third_party/blink/web_tests/platform/linux/css3/selectors3/xml/css3-modsel-23-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css3/selectors3/xml/css3-modsel-23-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css3/selectors3/xml/css3-modsel-24-expected.png b/third_party/blink/web_tests/platform/linux/css3/selectors3/xml/css3-modsel-24-expected.png
index 91187c64..836a506 100644
--- a/third_party/blink/web_tests/platform/linux/css3/selectors3/xml/css3-modsel-24-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css3/selectors3/xml/css3-modsel-24-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css3/selectors3/xml/css3-modsel-25-expected.png b/third_party/blink/web_tests/platform/linux/css3/selectors3/xml/css3-modsel-25-expected.png
index 1e01d4b2..9e1ca23 100644
--- a/third_party/blink/web_tests/platform/linux/css3/selectors3/xml/css3-modsel-25-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css3/selectors3/xml/css3-modsel-25-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css3/selectors3/xml/css3-modsel-64-expected.png b/third_party/blink/web_tests/platform/linux/css3/selectors3/xml/css3-modsel-64-expected.png
index 9cd0916..8d787a8b 100644
--- a/third_party/blink/web_tests/platform/linux/css3/selectors3/xml/css3-modsel-64-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css3/selectors3/xml/css3-modsel-64-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css3/selectors3/xml/css3-modsel-68-expected.png b/third_party/blink/web_tests/platform/linux/css3/selectors3/xml/css3-modsel-68-expected.png
index 91187c64..836a506 100644
--- a/third_party/blink/web_tests/platform/linux/css3/selectors3/xml/css3-modsel-68-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css3/selectors3/xml/css3-modsel-68-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css3/selectors3/xml/css3-modsel-69-expected.png b/third_party/blink/web_tests/platform/linux/css3/selectors3/xml/css3-modsel-69-expected.png
index 70dc509..74f9657 100644
--- a/third_party/blink/web_tests/platform/linux/css3/selectors3/xml/css3-modsel-69-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css3/selectors3/xml/css3-modsel-69-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/css3/selectors3/xml/css3-modsel-70-expected.png b/third_party/blink/web_tests/platform/linux/css3/selectors3/xml/css3-modsel-70-expected.png
index 0dd43e2..b7ec511 100644
--- a/third_party/blink/web_tests/platform/linux/css3/selectors3/xml/css3-modsel-70-expected.png
+++ b/third_party/blink/web_tests/platform/linux/css3/selectors3/xml/css3-modsel-70-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/caret/caret-color-004-expected.png b/third_party/blink/web_tests/platform/linux/editing/caret/caret-color-004-expected.png
index 579cd3d8..9489019 100644
--- a/third_party/blink/web_tests/platform/linux/editing/caret/caret-color-004-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/caret/caret-color-004-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/caret/caret-position-expected.png b/third_party/blink/web_tests/platform/linux/editing/caret/caret-position-expected.png
index e7c2233..421abde65 100644
--- a/third_party/blink/web_tests/platform/linux/editing/caret/caret-position-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/caret/caret-position-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 02a9c54..2893d58 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 e7cb392..b63d9d3 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/5190926-expected.png b/third_party/blink/web_tests/platform/linux/editing/execCommand/5190926-expected.png
index 62e1afb..0f4cc40 100644
--- a/third_party/blink/web_tests/platform/linux/editing/execCommand/5190926-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/execCommand/5190926-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/execCommand/findString-2-expected.png b/third_party/blink/web_tests/platform/linux/editing/execCommand/findString-2-expected.png
index 163e383..04de723 100644
--- a/third_party/blink/web_tests/platform/linux/editing/execCommand/findString-2-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/execCommand/findString-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/input/caret-at-the-edge-of-input-expected.png b/third_party/blink/web_tests/platform/linux/editing/input/caret-at-the-edge-of-input-expected.png
index 089a034..e5c0090 100644
--- a/third_party/blink/web_tests/platform/linux/editing/input/caret-at-the-edge-of-input-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/input/caret-at-the-edge-of-input-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/input/linux_ltr_composition_underline-expected.png b/third_party/blink/web_tests/platform/linux/editing/input/linux_ltr_composition_underline-expected.png
index 341ca6a2..1977d25 100644
--- a/third_party/blink/web_tests/platform/linux/editing/input/linux_ltr_composition_underline-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/input/linux_ltr_composition_underline-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/input/linux_rtl_composition_underline-expected.png b/third_party/blink/web_tests/platform/linux/editing/input/linux_rtl_composition_underline-expected.png
index 6fdf08b..a4f2477 100644
--- a/third_party/blink/web_tests/platform/linux/editing/input/linux_rtl_composition_underline-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/input/linux_rtl_composition_underline-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 051687a..4769629 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/input/reveal-caret-of-multiline-input-expected.png b/third_party/blink/web_tests/platform/linux/editing/input/reveal-caret-of-multiline-input-expected.png
index 3b4a6d1c..89bad9a1 100644
--- a/third_party/blink/web_tests/platform/linux/editing/input/reveal-caret-of-multiline-input-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/input/reveal-caret-of-multiline-input-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/inserting/4960120-1-expected.png b/third_party/blink/web_tests/platform/linux/editing/inserting/4960120-1-expected.png
index 22540d2c..37964b87 100644
--- a/third_party/blink/web_tests/platform/linux/editing/inserting/4960120-1-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/inserting/4960120-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/pasteboard/4806874-expected.png b/third_party/blink/web_tests/platform/linux/editing/pasteboard/4806874-expected.png
index 051ca213..82629ea 100644
--- a/third_party/blink/web_tests/platform/linux/editing/pasteboard/4806874-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/pasteboard/4806874-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 1984af1..bc66a4ce 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/drag-image-to-contenteditable-in-iframe-expected.png b/third_party/blink/web_tests/platform/linux/editing/pasteboard/drag-image-to-contenteditable-in-iframe-expected.png
index f9da8d61..4991c8f6 100644
--- a/third_party/blink/web_tests/platform/linux/editing/pasteboard/drag-image-to-contenteditable-in-iframe-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/pasteboard/drag-image-to-contenteditable-in-iframe-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 adca204..fffa07e 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/input-field-1-expected.png b/third_party/blink/web_tests/platform/linux/editing/pasteboard/input-field-1-expected.png
index 57bc724b..c65aa5fc 100644
--- a/third_party/blink/web_tests/platform/linux/editing/pasteboard/input-field-1-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/pasteboard/input-field-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/pasteboard/pasting-tabs-expected.png b/third_party/blink/web_tests/platform/linux/editing/pasteboard/pasting-tabs-expected.png
index 4634311..90c954c 100644
--- a/third_party/blink/web_tests/platform/linux/editing/pasteboard/pasting-tabs-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/pasteboard/pasting-tabs-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/selection/4402375-expected.png b/third_party/blink/web_tests/platform/linux/editing/selection/4402375-expected.png
index ca62c7be..be1bf0cf 100644
--- a/third_party/blink/web_tests/platform/linux/editing/selection/4402375-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/selection/4402375-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/selection/4975120-expected.png b/third_party/blink/web_tests/platform/linux/editing/selection/4975120-expected.png
index e6a33a1..2b3fff3 100644
--- a/third_party/blink/web_tests/platform/linux/editing/selection/4975120-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/selection/4975120-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 bac4623..b0f5110 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 1c42916..964bcea2 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/5232159-expected.png b/third_party/blink/web_tests/platform/linux/editing/selection/5232159-expected.png
index 72535aa..cffd476 100644
--- a/third_party/blink/web_tests/platform/linux/editing/selection/5232159-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/selection/5232159-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 204be875..9267e4d 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/display-table-text-expected.png b/third_party/blink/web_tests/platform/linux/editing/selection/display-table-text-expected.png
index c81eb6f..dc225c0d 100644
--- a/third_party/blink/web_tests/platform/linux/editing/selection/display-table-text-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/selection/display-table-text-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/selection/dont-select-text-overflow-ellipsis-when-wrapping-expected.png b/third_party/blink/web_tests/platform/linux/editing/selection/dont-select-text-overflow-ellipsis-when-wrapping-expected.png
index dcc34204b..1862498 100644
--- a/third_party/blink/web_tests/platform/linux/editing/selection/dont-select-text-overflow-ellipsis-when-wrapping-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/selection/dont-select-text-overflow-ellipsis-when-wrapping-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/selection/dont-select-text-overflow-ellipsis-when-wrapping-ltr-mixed-expected.png b/third_party/blink/web_tests/platform/linux/editing/selection/dont-select-text-overflow-ellipsis-when-wrapping-ltr-mixed-expected.png
index 849ce2f..f1106e3 100644
--- a/third_party/blink/web_tests/platform/linux/editing/selection/dont-select-text-overflow-ellipsis-when-wrapping-ltr-mixed-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/selection/dont-select-text-overflow-ellipsis-when-wrapping-ltr-mixed-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/selection/dont-select-text-overflow-ellipsis-when-wrapping-rtl-expected.png b/third_party/blink/web_tests/platform/linux/editing/selection/dont-select-text-overflow-ellipsis-when-wrapping-rtl-expected.png
index 82c948b..cb290ae 100644
--- a/third_party/blink/web_tests/platform/linux/editing/selection/dont-select-text-overflow-ellipsis-when-wrapping-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/selection/dont-select-text-overflow-ellipsis-when-wrapping-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/selection/dont-select-text-overflow-ellipsis-when-wrapping-rtl-mixed-expected.png b/third_party/blink/web_tests/platform/linux/editing/selection/dont-select-text-overflow-ellipsis-when-wrapping-rtl-mixed-expected.png
index 3c15411..b305962 100644
--- a/third_party/blink/web_tests/platform/linux/editing/selection/dont-select-text-overflow-ellipsis-when-wrapping-rtl-mixed-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/selection/dont-select-text-overflow-ellipsis-when-wrapping-rtl-mixed-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/selection/drag-to-contenteditable-iframe-expected.png b/third_party/blink/web_tests/platform/linux/editing/selection/drag-to-contenteditable-iframe-expected.png
index 6bddb1f..397b4711 100644
--- a/third_party/blink/web_tests/platform/linux/editing/selection/drag-to-contenteditable-iframe-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/selection/drag-to-contenteditable-iframe-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 d5c925f..234af63 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/inline-closest-leaf-child-expected.png b/third_party/blink/web_tests/platform/linux/editing/selection/inline-closest-leaf-child-expected.png
index b4964ef..17329228 100644
--- a/third_party/blink/web_tests/platform/linux/editing/selection/inline-closest-leaf-child-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/selection/inline-closest-leaf-child-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/selection/japanese-lr-selection-expected.png b/third_party/blink/web_tests/platform/linux/editing/selection/japanese-lr-selection-expected.png
index 0d282c01..702847a 100644
--- a/third_party/blink/web_tests/platform/linux/editing/selection/japanese-lr-selection-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/selection/japanese-lr-selection-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/selection/japanese-rl-selection-expected.png b/third_party/blink/web_tests/platform/linux/editing/selection/japanese-rl-selection-expected.png
index af0e8e1..905a2798 100644
--- a/third_party/blink/web_tests/platform/linux/editing/selection/japanese-rl-selection-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/selection/japanese-rl-selection-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 e1ee8427..37487384 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/line-wrap-1-expected.png b/third_party/blink/web_tests/platform/linux/editing/selection/line-wrap-1-expected.png
index 966dbcd..b6899db9 100644
--- a/third_party/blink/web_tests/platform/linux/editing/selection/line-wrap-1-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/selection/line-wrap-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/selection/line-wrap-2-expected.png b/third_party/blink/web_tests/platform/linux/editing/selection/line-wrap-2-expected.png
index 0e4bd842..ea678ec 100644
--- a/third_party/blink/web_tests/platform/linux/editing/selection/line-wrap-2-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/selection/line-wrap-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/selection/linux_selection_color-expected.png b/third_party/blink/web_tests/platform/linux/editing/selection/linux_selection_color-expected.png
index e2f38acb..7606783 100644
--- a/third_party/blink/web_tests/platform/linux/editing/selection/linux_selection_color-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/selection/linux_selection_color-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/selection/range-between-block-and-inline-expected.png b/third_party/blink/web_tests/platform/linux/editing/selection/range-between-block-and-inline-expected.png
index 929c5d67..91a8e52c 100644
--- a/third_party/blink/web_tests/platform/linux/editing/selection/range-between-block-and-inline-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/selection/range-between-block-and-inline-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 2cd05061..f3d3829 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 722bca7..303f7bb 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 be01821..efe8bfaf 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/replaced-boundaries-3-expected.txt b/third_party/blink/web_tests/platform/linux/editing/selection/replaced-boundaries-3-expected.txt
index 9e99201..77228e0 100644
--- a/third_party/blink/web_tests/platform/linux/editing/selection/replaced-boundaries-3-expected.txt
+++ b/third_party/blink/web_tests/platform/linux/editing/selection/replaced-boundaries-3-expected.txt
@@ -15,7 +15,7 @@
         LayoutText {#text} at (0,0) size 22x19
           text run at (0,0) width 22: "abc"
         LayoutBR {BR} at (22,15) size 0x0
-        LayoutMenuList {SELECT} at (0,20) size 233x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+        LayoutMenuList {SELECT} at (0,20) size 233x20 [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
           LayoutBlockFlow (anonymous) at (1,1) size 231x18
             LayoutText (anonymous) at (4,1) size 211x16
               text run at (4,1) width 211: "this select box shouldn't be selected"
diff --git a/third_party/blink/web_tests/platform/linux/editing/selection/select-box-expected.png b/third_party/blink/web_tests/platform/linux/editing/selection/select-box-expected.png
index b530cf5..9b2e12d 100644
--- a/third_party/blink/web_tests/platform/linux/editing/selection/select-box-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/selection/select-box-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/selection/select-box-expected.txt b/third_party/blink/web_tests/platform/linux/editing/selection/select-box-expected.txt
index e7d6a63..06f42ec 100644
--- a/third_party/blink/web_tests/platform/linux/editing/selection/select-box-expected.txt
+++ b/third_party/blink/web_tests/platform/linux/editing/selection/select-box-expected.txt
@@ -62,7 +62,7 @@
         LayoutBlockFlow {DIV} at (0,0) size 784x20
           LayoutText {#text} at (0,0) size 71x19
             text run at (0,0) width 71: "select box: "
-          LayoutMenuList {SELECT} at (71,0) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+          LayoutMenuList {SELECT} at (71,0) size 29x20 [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
             LayoutBlockFlow (anonymous) at (1,1) size 27x18
               LayoutText (anonymous) at (4,1) size 7x16
                 text run at (4,1) width 7: "1"
diff --git a/third_party/blink/web_tests/platform/linux/editing/selection/select-element-paragraph-boundary-expected.png b/third_party/blink/web_tests/platform/linux/editing/selection/select-element-paragraph-boundary-expected.png
index c703f44..91f3505 100644
--- a/third_party/blink/web_tests/platform/linux/editing/selection/select-element-paragraph-boundary-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/selection/select-element-paragraph-boundary-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/selection/select-element-paragraph-boundary-expected.txt b/third_party/blink/web_tests/platform/linux/editing/selection/select-element-paragraph-boundary-expected.txt
index 4bc1b8e2..a369867 100644
--- a/third_party/blink/web_tests/platform/linux/editing/selection/select-element-paragraph-boundary-expected.txt
+++ b/third_party/blink/web_tests/platform/linux/editing/selection/select-element-paragraph-boundary-expected.txt
@@ -11,7 +11,7 @@
           text run at (326,0) width 423: "The caret should be at the end of the paragraph below, just after the"
           text run at (0,20) width 67: "select box."
       LayoutBlockFlow {DIV} at (0,56) size 784x20
-        LayoutMenuList {SELECT} at (0,0) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+        LayoutMenuList {SELECT} at (0,0) size 29x20 [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
           LayoutBlockFlow (anonymous) at (1,1) size 27x18
             LayoutText (anonymous) at (4,1) size 7x16
               text run at (4,1) width 7: "1"
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 88c7c69..ca7a2a52 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/select-text-overflow-ellipsis-expected.png b/third_party/blink/web_tests/platform/linux/editing/selection/select-text-overflow-ellipsis-expected.png
index 8d642599..8c5b5f4 100644
--- a/third_party/blink/web_tests/platform/linux/editing/selection/select-text-overflow-ellipsis-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/selection/select-text-overflow-ellipsis-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/selection/select-text-overflow-ellipsis-mixed-in-ltr-2-expected.png b/third_party/blink/web_tests/platform/linux/editing/selection/select-text-overflow-ellipsis-mixed-in-ltr-2-expected.png
index cf7f66ad..8779b4b 100644
--- a/third_party/blink/web_tests/platform/linux/editing/selection/select-text-overflow-ellipsis-mixed-in-ltr-2-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/selection/select-text-overflow-ellipsis-mixed-in-ltr-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/selection/select-text-overflow-ellipsis-mixed-in-ltr-expected.png b/third_party/blink/web_tests/platform/linux/editing/selection/select-text-overflow-ellipsis-mixed-in-ltr-expected.png
index 2492aac..805ddaa 100644
--- a/third_party/blink/web_tests/platform/linux/editing/selection/select-text-overflow-ellipsis-mixed-in-ltr-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/selection/select-text-overflow-ellipsis-mixed-in-ltr-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/selection/select-text-overflow-ellipsis-mixed-in-rtl-2-expected.png b/third_party/blink/web_tests/platform/linux/editing/selection/select-text-overflow-ellipsis-mixed-in-rtl-2-expected.png
index 4d8353df..01b723a 100644
--- a/third_party/blink/web_tests/platform/linux/editing/selection/select-text-overflow-ellipsis-mixed-in-rtl-2-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/selection/select-text-overflow-ellipsis-mixed-in-rtl-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/selection/select-text-overflow-ellipsis-mixed-in-rtl-expected.png b/third_party/blink/web_tests/platform/linux/editing/selection/select-text-overflow-ellipsis-mixed-in-rtl-expected.png
index 55d3089c..537e211 100644
--- a/third_party/blink/web_tests/platform/linux/editing/selection/select-text-overflow-ellipsis-mixed-in-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/selection/select-text-overflow-ellipsis-mixed-in-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/selection/selection-background-expected.png b/third_party/blink/web_tests/platform/linux/editing/selection/selection-background-expected.png
index 84f0895..9ce95bf 100644
--- a/third_party/blink/web_tests/platform/linux/editing/selection/selection-background-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/selection/selection-background-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/selection/selection-button-text-expected.png b/third_party/blink/web_tests/platform/linux/editing/selection/selection-button-text-expected.png
index d446f5e..84c4a51 100644
--- a/third_party/blink/web_tests/platform/linux/editing/selection/selection-button-text-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/selection/selection-button-text-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/selection/selection-linebreaks-rtl-writing-modes-expected.png b/third_party/blink/web_tests/platform/linux/editing/selection/selection-linebreaks-rtl-writing-modes-expected.png
index bd190d4..8b75edab6 100644
--- a/third_party/blink/web_tests/platform/linux/editing/selection/selection-linebreaks-rtl-writing-modes-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/selection/selection-linebreaks-rtl-writing-modes-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/selection/transformed-selection-rects-expected.png b/third_party/blink/web_tests/platform/linux/editing/selection/transformed-selection-rects-expected.png
index 109966e..1e5ec9a 100644
--- a/third_party/blink/web_tests/platform/linux/editing/selection/transformed-selection-rects-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/selection/transformed-selection-rects-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 43d86ae1..570d8b0 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/vertical-lr-replaced-selection-expected.png b/third_party/blink/web_tests/platform/linux/editing/selection/vertical-lr-replaced-selection-expected.png
index baf5a1f..fea9104 100644
--- a/third_party/blink/web_tests/platform/linux/editing/selection/vertical-lr-replaced-selection-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/selection/vertical-lr-replaced-selection-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/selection/vertical-rl-replaced-selection-expected.png b/third_party/blink/web_tests/platform/linux/editing/selection/vertical-rl-replaced-selection-expected.png
index 1b8ebbc1..42dfa03 100644
--- a/third_party/blink/web_tests/platform/linux/editing/selection/vertical-rl-replaced-selection-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/selection/vertical-rl-replaced-selection-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 08b97ee..08653bd6 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/5228141-expected.png b/third_party/blink/web_tests/platform/linux/editing/style/5228141-expected.png
index 970ed5b5..1101be18 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 a7ab9db..8be20a7 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-style-003-expected.png b/third_party/blink/web_tests/platform/linux/editing/style/block-style-003-expected.png
index a794385..cebed78 100644
--- a/third_party/blink/web_tests/platform/linux/editing/style/block-style-003-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/style/block-style-003-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/style/designmode-expected.png b/third_party/blink/web_tests/platform/linux/editing/style/designmode-expected.png
index 82804fb1..e25a4d9 100644
--- a/third_party/blink/web_tests/platform/linux/editing/style/designmode-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/style/designmode-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/style/table-selection-expected.png b/third_party/blink/web_tests/platform/linux/editing/style/table-selection-expected.png
index 4ee965e0c..e7b49ba 100644
--- a/third_party/blink/web_tests/platform/linux/editing/style/table-selection-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/style/table-selection-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/external/wpt/preload/onerror-event-expected.txt b/third_party/blink/web_tests/platform/linux/external/wpt/preload/onerror-event-expected.txt
deleted file mode 100644
index aa88efb..0000000
--- a/third_party/blink/web_tests/platform/linux/external/wpt/preload/onerror-event-expected.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-This is a testharness.js-based test.
-FAIL Makes sure that preloaded resources trigger the onerror event Uncaught Error: assert_true: video triggered error event expected true got false
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/platform/linux/fast/backgrounds/background-inherit-color-bug-expected.png b/third_party/blink/web_tests/platform/linux/fast/backgrounds/background-inherit-color-bug-expected.png
index df752c4..4af0d6b 100644
--- a/third_party/blink/web_tests/platform/linux/fast/backgrounds/background-inherit-color-bug-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/backgrounds/background-inherit-color-bug-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/block/basic/011-expected.png b/third_party/blink/web_tests/platform/linux/fast/block/basic/011-expected.png
index 8044737..ac51c72c 100644
--- a/third_party/blink/web_tests/platform/linux/fast/block/basic/011-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/block/basic/011-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/block/basic/016-expected.png b/third_party/blink/web_tests/platform/linux/fast/block/basic/016-expected.png
index 0c0a5d9..6b91ac7 100644
--- a/third_party/blink/web_tests/platform/linux/fast/block/basic/016-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/block/basic/016-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/block/float/021-expected.png b/third_party/blink/web_tests/platform/linux/fast/block/float/021-expected.png
index 5802a42..04ae0ed 100644
--- a/third_party/blink/web_tests/platform/linux/fast/block/float/021-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/block/float/021-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/block/float/025-expected.png b/third_party/blink/web_tests/platform/linux/fast/block/float/025-expected.png
index e575562..12a7d74 100644
--- a/third_party/blink/web_tests/platform/linux/fast/block/float/025-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/block/float/025-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/block/float/026-expected.png b/third_party/blink/web_tests/platform/linux/fast/block/float/026-expected.png
index 8ee80b5..80b4fc2d 100644
--- a/third_party/blink/web_tests/platform/linux/fast/block/float/026-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/block/float/026-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/block/float/027-expected.png b/third_party/blink/web_tests/platform/linux/fast/block/float/027-expected.png
index e575562..12a7d74 100644
--- a/third_party/blink/web_tests/platform/linux/fast/block/float/027-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/block/float/027-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/block/float/028-expected.png b/third_party/blink/web_tests/platform/linux/fast/block/float/028-expected.png
index 8ee80b5..80b4fc2d 100644
--- a/third_party/blink/web_tests/platform/linux/fast/block/float/028-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/block/float/028-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/block/float/centered-float-avoidance-complexity-expected.png b/third_party/blink/web_tests/platform/linux/fast/block/float/centered-float-avoidance-complexity-expected.png
index d6a2c4b..755f3a3 100644
--- a/third_party/blink/web_tests/platform/linux/fast/block/float/centered-float-avoidance-complexity-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/block/float/centered-float-avoidance-complexity-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/block/float/float-avoidance-expected.png b/third_party/blink/web_tests/platform/linux/fast/block/float/float-avoidance-expected.png
index 69b55d9..d3bc289 100644
--- a/third_party/blink/web_tests/platform/linux/fast/block/float/float-avoidance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/block/float/float-avoidance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/block/float/shrink-to-avoid-float-complexity-expected.png b/third_party/blink/web_tests/platform/linux/fast/block/float/shrink-to-avoid-float-complexity-expected.png
index c72a531..83549a8 100644
--- a/third_party/blink/web_tests/platform/linux/fast/block/float/shrink-to-avoid-float-complexity-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/block/float/shrink-to-avoid-float-complexity-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/block/margin-collapse/103-expected.png b/third_party/blink/web_tests/platform/linux/fast/block/margin-collapse/103-expected.png
index c49e4d56..47056a2 100644
--- a/third_party/blink/web_tests/platform/linux/fast/block/margin-collapse/103-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/block/margin-collapse/103-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/block/margin-collapse/104-expected.png b/third_party/blink/web_tests/platform/linux/fast/block/margin-collapse/104-expected.png
index 7e9f29d..147a7e4 100644
--- a/third_party/blink/web_tests/platform/linux/fast/block/margin-collapse/104-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/block/margin-collapse/104-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/block/margin-collapse/empty-clear-blocks-expected.png b/third_party/blink/web_tests/platform/linux/fast/block/margin-collapse/empty-clear-blocks-expected.png
index a19d9de..443aaee 100644
--- a/third_party/blink/web_tests/platform/linux/fast/block/margin-collapse/empty-clear-blocks-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/block/margin-collapse/empty-clear-blocks-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/block/positioning/047-expected.png b/third_party/blink/web_tests/platform/linux/fast/block/positioning/047-expected.png
index 6fee990..6de3722 100644
--- a/third_party/blink/web_tests/platform/linux/fast/block/positioning/047-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/block/positioning/047-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/block/positioning/051-expected.png b/third_party/blink/web_tests/platform/linux/fast/block/positioning/051-expected.png
index 86ffde13..9c348634d 100644
--- a/third_party/blink/web_tests/platform/linux/fast/block/positioning/051-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/block/positioning/051-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/block/positioning/055-expected.png b/third_party/blink/web_tests/platform/linux/fast/block/positioning/055-expected.png
index c7426d8..b3882bc 100644
--- a/third_party/blink/web_tests/platform/linux/fast/block/positioning/055-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/block/positioning/055-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/block/positioning/auto/007-expected.png b/third_party/blink/web_tests/platform/linux/fast/block/positioning/auto/007-expected.png
index c5cbbe7..43895e9e 100644
--- a/third_party/blink/web_tests/platform/linux/fast/block/positioning/auto/007-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/block/positioning/auto/007-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/block/positioning/fixed-positioning-scrollbar-bug-expected.png b/third_party/blink/web_tests/platform/linux/fast/block/positioning/fixed-positioning-scrollbar-bug-expected.png
index c9034cd6..7b6a1cf6 100644
--- a/third_party/blink/web_tests/platform/linux/fast/block/positioning/fixed-positioning-scrollbar-bug-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/block/positioning/fixed-positioning-scrollbar-bug-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/block/positioning/inline-block-relposition-expected.png b/third_party/blink/web_tests/platform/linux/fast/block/positioning/inline-block-relposition-expected.png
index 00105c60..af347fd 100644
--- a/third_party/blink/web_tests/platform/linux/fast/block/positioning/inline-block-relposition-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/block/positioning/inline-block-relposition-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/block/positioning/relative-overflow-block-expected.png b/third_party/blink/web_tests/platform/linux/fast/block/positioning/relative-overflow-block-expected.png
index 5073319..db09c27c 100644
--- a/third_party/blink/web_tests/platform/linux/fast/block/positioning/relative-overflow-block-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/block/positioning/relative-overflow-block-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/block/positioning/relative-overflow-replaced-expected.png b/third_party/blink/web_tests/platform/linux/fast/block/positioning/relative-overflow-replaced-expected.png
index 8bb7798..02908d8 100644
--- a/third_party/blink/web_tests/platform/linux/fast/block/positioning/relative-overflow-replaced-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/block/positioning/relative-overflow-replaced-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/block/positioning/relative-overflow-replaced-float-expected.png b/third_party/blink/web_tests/platform/linux/fast/block/positioning/relative-overflow-replaced-float-expected.png
index ef108b4..21462ec 100644
--- a/third_party/blink/web_tests/platform/linux/fast/block/positioning/relative-overflow-replaced-float-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/block/positioning/relative-overflow-replaced-float-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/001-expected.png b/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/001-expected.png
index 3ec6b74..047a9a1 100644
--- a/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/001-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/001-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/001-xhtml-expected.png b/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/001-xhtml-expected.png
index 3ec6b74..047a9a1 100644
--- a/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/001-xhtml-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/001-xhtml-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/002-expected.png b/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/002-expected.png
index c6c65320..03bafccb 100644
--- a/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/002-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/002-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/002-xhtml-expected.png b/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/002-xhtml-expected.png
index c6c65320..03bafccb 100644
--- a/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/002-xhtml-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/002-xhtml-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/003-declarative-expected.png b/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/003-declarative-expected.png
index c6c65320..03bafccb 100644
--- a/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/003-declarative-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/003-declarative-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/003-expected.png b/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/003-expected.png
index c6c65320..03bafccb 100644
--- a/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/003-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/003-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/003-xhtml-expected.png b/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/003-xhtml-expected.png
index c6c65320..03bafccb 100644
--- a/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/003-xhtml-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/003-xhtml-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/004-declarative-expected.png b/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/004-declarative-expected.png
index d02db00..94a99ef 100644
--- a/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/004-declarative-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/004-declarative-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/004-expected.png b/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/004-expected.png
index d02db00..94a99ef 100644
--- a/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/004-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/004-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/004-xhtml-expected.png b/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/004-xhtml-expected.png
index d02db00..94a99ef 100644
--- a/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/004-xhtml-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/004-xhtml-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/005-declarative-expected.png b/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/005-declarative-expected.png
index 269a85c..5a2dda3 100644
--- a/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/005-declarative-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/005-declarative-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/005-expected.png b/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/005-expected.png
index 269a85c..5a2dda3 100644
--- a/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/005-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/005-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/005-xhtml-expected.png b/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/005-xhtml-expected.png
index 269a85c..5a2dda3 100644
--- a/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/005-xhtml-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/005-xhtml-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/006-declarative-expected.png b/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/006-declarative-expected.png
index 3f13c1e2..c280aed 100644
--- a/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/006-declarative-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/006-declarative-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/006-expected.png b/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/006-expected.png
index 3f13c1e2..c280aed 100644
--- a/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/006-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/006-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/006-xhtml-expected.png b/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/006-xhtml-expected.png
index 3f13c1e2..c280aed 100644
--- a/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/006-xhtml-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/006-xhtml-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/007-declarative-expected.png b/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/007-declarative-expected.png
index c6c65320..03bafccb 100644
--- a/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/007-declarative-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/007-declarative-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/007-expected.png b/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/007-expected.png
index c6c65320..03bafccb 100644
--- a/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/007-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/007-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/007-xhtml-expected.png b/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/007-xhtml-expected.png
index c6c65320..03bafccb 100644
--- a/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/007-xhtml-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/body-propagation/overflow/007-xhtml-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/borders/inline-mask-overlay-image-expected.png b/third_party/blink/web_tests/platform/linux/fast/borders/inline-mask-overlay-image-expected.png
index 3d341a0..398ff9f 100644
--- a/third_party/blink/web_tests/platform/linux/fast/borders/inline-mask-overlay-image-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/borders/inline-mask-overlay-image-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/borders/rtl-border-01-expected.png b/third_party/blink/web_tests/platform/linux/fast/borders/rtl-border-01-expected.png
index e632d7d..f18f93e 100644
--- a/third_party/blink/web_tests/platform/linux/fast/borders/rtl-border-01-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/borders/rtl-border-01-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/borders/rtl-border-02-expected.png b/third_party/blink/web_tests/platform/linux/fast/borders/rtl-border-02-expected.png
index ffd94a5..cfbb53f28 100644
--- a/third_party/blink/web_tests/platform/linux/fast/borders/rtl-border-02-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/borders/rtl-border-02-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/borders/rtl-border-03-expected.png b/third_party/blink/web_tests/platform/linux/fast/borders/rtl-border-03-expected.png
index 697e9322..c372a7d9 100644
--- a/third_party/blink/web_tests/platform/linux/fast/borders/rtl-border-03-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/borders/rtl-border-03-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/box-shadow/basic-shadows-expected.png b/third_party/blink/web_tests/platform/linux/fast/box-shadow/basic-shadows-expected.png
index 380839d..ed8c943 100644
--- a/third_party/blink/web_tests/platform/linux/fast/box-shadow/basic-shadows-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/box-shadow/basic-shadows-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/box-sizing/box-sizing-expected.png b/third_party/blink/web_tests/platform/linux/fast/box-sizing/box-sizing-expected.png
index d109874..ae86f48 100644
--- a/third_party/blink/web_tests/platform/linux/fast/box-sizing/box-sizing-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/box-sizing/box-sizing-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/canvas/canvas-composite-video-expected.png b/third_party/blink/web_tests/platform/linux/fast/canvas/canvas-composite-video-expected.png
index 9707867..a3006f05f 100644
--- a/third_party/blink/web_tests/platform/linux/fast/canvas/canvas-composite-video-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/canvas/canvas-composite-video-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/canvas/canvas-composite-video-shadow-expected.png b/third_party/blink/web_tests/platform/linux/fast/canvas/canvas-composite-video-shadow-expected.png
index fc7db0b..903d2982 100644
--- a/third_party/blink/web_tests/platform/linux/fast/canvas/canvas-composite-video-shadow-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/canvas/canvas-composite-video-shadow-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/clip/014-expected.png b/third_party/blink/web_tests/platform/linux/fast/clip/014-expected.png
index 1a39dbf..69dac32 100644
--- a/third_party/blink/web_tests/platform/linux/fast/clip/014-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/clip/014-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/css-generated-content/014-expected.png b/third_party/blink/web_tests/platform/linux/fast/css-generated-content/014-expected.png
index bce7fbd..e4658d9f 100644
--- a/third_party/blink/web_tests/platform/linux/fast/css-generated-content/014-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/css-generated-content/014-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/css/bidi-override-in-anonymous-block-expected.png b/third_party/blink/web_tests/platform/linux/fast/css/bidi-override-in-anonymous-block-expected.png
index cffd01b..8322517 100644
--- a/third_party/blink/web_tests/platform/linux/fast/css/bidi-override-in-anonymous-block-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/css/bidi-override-in-anonymous-block-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/css/border-height-expected.png b/third_party/blink/web_tests/platform/linux/fast/css/border-height-expected.png
index 7e82be0f..41fe98b4 100644
--- a/third_party/blink/web_tests/platform/linux/fast/css/border-height-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/css/border-height-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/css/color-correction-backgrounds-and-text-expected.png b/third_party/blink/web_tests/platform/linux/fast/css/color-correction-backgrounds-and-text-expected.png
index 3760f1e0..db110d50 100644
--- a/third_party/blink/web_tests/platform/linux/fast/css/color-correction-backgrounds-and-text-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/css/color-correction-backgrounds-and-text-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/css/color-correction-on-background-image-expected.png b/third_party/blink/web_tests/platform/linux/fast/css/color-correction-on-background-image-expected.png
index dc4f708..b3c82625 100644
--- a/third_party/blink/web_tests/platform/linux/fast/css/color-correction-on-background-image-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/css/color-correction-on-background-image-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/css/continuationCrash-expected.png b/third_party/blink/web_tests/platform/linux/fast/css/continuationCrash-expected.png
index 7cffad4e..f34fda2 100644
--- a/third_party/blink/web_tests/platform/linux/fast/css/continuationCrash-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/css/continuationCrash-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/css/css2-system-color-expected.html b/third_party/blink/web_tests/platform/linux/fast/css/css2-system-color-expected.html
deleted file mode 100644
index 13b60f3e..0000000
--- a/third_party/blink/web_tests/platform/linux/fast/css/css2-system-color-expected.html
+++ /dev/null
@@ -1,57 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<title>Color Test</title>
-<style>
-  html {
-    font-size: 12px;
-    width: 750px;
-  }
-  .box:after {
-    content: " ";
-    clear: both;
-    display: block;
-  }
-  .inner {
-    border-top: solid 1px;
-    float: right;
-    width: 620px;
-  }
-  .text {
-    float: left;
-  }
-</style>
-</head>
-<body>
-  <div class="box"><div class="text">ActiveBorder</div><div class="inner" style="background-color: rgb(255, 255, 255)">&nbsp;</div></div>
-  <div class="box"><div class="text">ActiveCaption</div><div class="inner" style="background-color: rgb(204, 204, 204)">&nbsp;</div></div>
-  <div class="box"><div class="text">AppWorkspace</div><div class="inner" style="background-color: rgb(255, 255, 255)">&nbsp;</div></div>
-  <div class="box"><div class="text">Background</div><div class="inner" style="background-color: rgb(99, 99, 206)">&nbsp;</div></div>
-  <div class="box"><div class="text">ButtonFace</div><div class="inner" style="background-color: rgb(192, 192, 192)">&nbsp;</div></div>
-  <div class="box"><div class="text">ButtonHighlight</div><div class="inner" style="background-color: rgb(221, 221, 221)">&nbsp;</div></div>
-  <div class="box"><div class="text">ButtonShadow</div><div class="inner" style="background-color: rgb(136, 136, 136)">&nbsp;</div></div>
-  <div class="box"><div class="text">ButtonText</div><div class="inner" style="background-color: rgb(0, 0, 0)">&nbsp;</div></div>
-  <div class="box"><div class="text">CaptionText</div><div class="inner" style="background-color: rgb(0, 0, 0)">&nbsp;</div></div>
-  <div class="box"><div class="text">GrayText</div><div class="inner" style="background-color: rgb(128, 128, 128)">&nbsp;</div></div>
-  <div class="box"><div class="text">Highlight</div><div class="inner" style="background-color: rgb(181, 213, 255)">&nbsp;</div></div>
-  <div class="box"><div class="text">HighlightText</div><div class="inner" style="background-color: rgb(0, 0, 0)">&nbsp;</div></div>
-  <div class="box"><div class="text">InactiveBorder</div><div class="inner" style="background-color: rgb(255, 255, 255)">&nbsp;</div></div>
-  <div class="box"><div class="text">InactiveCaption</div><div class="inner" style="background-color: rgb(255, 255, 255)">&nbsp;</div></div>
-  <div class="box"><div class="text">InactiveCaptionText</div><div class="inner" style="background-color: rgb(127, 127, 127)">&nbsp;</div></div>
-  <div class="box"><div class="text">InfoBackground</div><div class="inner" style="background-color: rgb(251, 252, 197)">&nbsp;</div></div>
-  <div class="box"><div class="text">InfoText</div><div class="inner" style="background-color: rgb(0, 0, 0)">&nbsp;</div></div>
-  <div class="box"><div class="text">LinkText</div><div class="inner" style="background-color: rgb(0, 0, 238)">&nbsp;</div></div>
-  <div class="box"><div class="text">Menu</div><div class="inner" style="background-color: rgb(247, 247, 247)">&nbsp;</div></div>
-  <div class="box"><div class="text">MenuText</div><div class="inner" style="background-color: rgb(0, 0, 0)">&nbsp;</div></div>
-  <div class="box"><div class="text">Scrollbar</div><div class="inner" style="background-color: rgb(255, 255, 255)">&nbsp;</div></div>
-  <div class="box"><div class="text">ThreeDDarkShadow</div><div class="inner" style="background-color: rgb(102, 102, 102)">&nbsp;</div></div>
-  <div class="box"><div class="text">ThreeDFace</div><div class="inner" style="background-color: rgb(192, 192, 192)">&nbsp;</div></div>
-  <div class="box"><div class="text">ThreeDHighlight</div><div class="inner" style="background-color: rgb(221, 221, 221)">&nbsp;</div></div>
-  <div class="box"><div class="text">ThreeDLightShadow</div><div class="inner" style="background-color: rgb(192, 192, 192)">&nbsp;</div></div>
-  <div class="box"><div class="text">ThreeDShadow</div><div class="inner" style="background-color: rgb(136, 136, 136)">&nbsp;</div></div>
-  <div class="box"><div class="text">VisitedText</div><div class="inner" style="background-color: rgb(85, 26, 139)">&nbsp;</div></div>
-  <div class="box"><div class="text">Window</div><div class="inner" style="background-color: rgb(255, 255, 255)">&nbsp;</div></div>
-  <div class="box"><div class="text">WindowFrame</div><div class="inner" style="background-color: rgb(204, 204, 204)">&nbsp;</div></div>
-  <div class="box"><div class="text">WindowText</div><div class="inner" style="background-color: rgb(0, 0, 0)">&nbsp;</div></div>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/platform/linux/fast/css/first-child-pseudo-class-expected.png b/third_party/blink/web_tests/platform/linux/fast/css/first-child-pseudo-class-expected.png
index ab9db80..2f9c523 100644
--- a/third_party/blink/web_tests/platform/linux/fast/css/first-child-pseudo-class-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/css/first-child-pseudo-class-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/css/first-of-type-pseudo-class-expected.png b/third_party/blink/web_tests/platform/linux/fast/css/first-of-type-pseudo-class-expected.png
index 2bff803..d3fb3ccf 100644
--- a/third_party/blink/web_tests/platform/linux/fast/css/first-of-type-pseudo-class-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/css/first-of-type-pseudo-class-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/css/hsl-color-expected.png b/third_party/blink/web_tests/platform/linux/fast/css/hsl-color-expected.png
index 46968a6..428a940 100644
--- a/third_party/blink/web_tests/platform/linux/fast/css/hsl-color-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/css/hsl-color-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/css/input-search-padding-expected.png b/third_party/blink/web_tests/platform/linux/fast/css/input-search-padding-expected.png
index 93d283b7..4b303da 100644
--- a/third_party/blink/web_tests/platform/linux/fast/css/input-search-padding-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/css/input-search-padding-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/css/last-child-pseudo-class-expected.png b/third_party/blink/web_tests/platform/linux/fast/css/last-child-pseudo-class-expected.png
index da7e6005..9115789 100644
--- a/third_party/blink/web_tests/platform/linux/fast/css/last-child-pseudo-class-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/css/last-child-pseudo-class-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/css/last-of-type-pseudo-class-expected.png b/third_party/blink/web_tests/platform/linux/fast/css/last-of-type-pseudo-class-expected.png
index dad96790..1f48aae 100644
--- a/third_party/blink/web_tests/platform/linux/fast/css/last-of-type-pseudo-class-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/css/last-of-type-pseudo-class-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/css/line-height-expected.png b/third_party/blink/web_tests/platform/linux/fast/css/line-height-expected.png
index 25178bd24..0f46666 100644
--- a/third_party/blink/web_tests/platform/linux/fast/css/line-height-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/css/line-height-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/css/line-height-overflow-expected.png b/third_party/blink/web_tests/platform/linux/fast/css/line-height-overflow-expected.png
index 7a244f3c..696e646 100644
--- a/third_party/blink/web_tests/platform/linux/fast/css/line-height-overflow-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/css/line-height-overflow-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/css/margin-top-bottom-dynamic-expected.png b/third_party/blink/web_tests/platform/linux/fast/css/margin-top-bottom-dynamic-expected.png
index f2a296f9..37ef0ecf 100644
--- a/third_party/blink/web_tests/platform/linux/fast/css/margin-top-bottom-dynamic-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/css/margin-top-bottom-dynamic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/css/non-standard-checkbox-size-expected.png b/third_party/blink/web_tests/platform/linux/fast/css/non-standard-checkbox-size-expected.png
index 2f23361..29167e9 100644
--- a/third_party/blink/web_tests/platform/linux/fast/css/non-standard-checkbox-size-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/css/non-standard-checkbox-size-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/css/only-child-pseudo-class-expected.png b/third_party/blink/web_tests/platform/linux/fast/css/only-child-pseudo-class-expected.png
index ac2e584..27c4bb2c 100644
--- a/third_party/blink/web_tests/platform/linux/fast/css/only-child-pseudo-class-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/css/only-child-pseudo-class-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/css/only-of-type-pseudo-class-expected.png b/third_party/blink/web_tests/platform/linux/fast/css/only-of-type-pseudo-class-expected.png
index e422134..0f53e6a 100644
--- a/third_party/blink/web_tests/platform/linux/fast/css/only-of-type-pseudo-class-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/css/only-of-type-pseudo-class-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/css/resize-corner-tracking-expected.png b/third_party/blink/web_tests/platform/linux/fast/css/resize-corner-tracking-expected.png
index f195a5fa..5eee11d5 100644
--- a/third_party/blink/web_tests/platform/linux/fast/css/resize-corner-tracking-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/css/resize-corner-tracking-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/css/rtl-ordering-expected.png b/third_party/blink/web_tests/platform/linux/fast/css/rtl-ordering-expected.png
index acf0776..0cdf3e0 100644
--- a/third_party/blink/web_tests/platform/linux/fast/css/rtl-ordering-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/css/rtl-ordering-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/css/text-overflow-ellipsis-text-align-center-expected.png b/third_party/blink/web_tests/platform/linux/fast/css/text-overflow-ellipsis-text-align-center-expected.png
index 4843cae8..fd378ce 100644
--- a/third_party/blink/web_tests/platform/linux/fast/css/text-overflow-ellipsis-text-align-center-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/css/text-overflow-ellipsis-text-align-center-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/css/text-overflow-ellipsis-text-align-justify-expected.png b/third_party/blink/web_tests/platform/linux/fast/css/text-overflow-ellipsis-text-align-justify-expected.png
index 36e979b..a0f644a 100644
--- a/third_party/blink/web_tests/platform/linux/fast/css/text-overflow-ellipsis-text-align-justify-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/css/text-overflow-ellipsis-text-align-justify-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/css/text-overflow-ellipsis-text-align-left-expected.png b/third_party/blink/web_tests/platform/linux/fast/css/text-overflow-ellipsis-text-align-left-expected.png
index 21ed4d12..bef4edb 100644
--- a/third_party/blink/web_tests/platform/linux/fast/css/text-overflow-ellipsis-text-align-left-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/css/text-overflow-ellipsis-text-align-left-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/css/text-overflow-ellipsis-text-align-right-expected.png b/third_party/blink/web_tests/platform/linux/fast/css/text-overflow-ellipsis-text-align-right-expected.png
index be2079b..394eaf3e 100644
--- a/third_party/blink/web_tests/platform/linux/fast/css/text-overflow-ellipsis-text-align-right-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/css/text-overflow-ellipsis-text-align-right-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/css/text-overflow-input-expected.png b/third_party/blink/web_tests/platform/linux/fast/css/text-overflow-input-expected.png
index c29005dc..3ac0358 100644
--- a/third_party/blink/web_tests/platform/linux/fast/css/text-overflow-input-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/css/text-overflow-input-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.png b/third_party/blink/web_tests/platform/linux/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.png
index 07a8de3..be36a63 100644
--- a/third_party/blink/web_tests/platform/linux/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/css/vertical-text-overflow-ellipsis-text-align-justify-expected.png b/third_party/blink/web_tests/platform/linux/fast/css/vertical-text-overflow-ellipsis-text-align-justify-expected.png
index 07a8de3..be36a63 100644
--- a/third_party/blink/web_tests/platform/linux/fast/css/vertical-text-overflow-ellipsis-text-align-justify-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/css/vertical-text-overflow-ellipsis-text-align-justify-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/css/vertical-text-overflow-ellipsis-text-align-left-expected.png b/third_party/blink/web_tests/platform/linux/fast/css/vertical-text-overflow-ellipsis-text-align-left-expected.png
index 07a8de3..be36a63 100644
--- a/third_party/blink/web_tests/platform/linux/fast/css/vertical-text-overflow-ellipsis-text-align-left-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/css/vertical-text-overflow-ellipsis-text-align-left-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/css/vertical-text-overflow-ellipsis-text-align-right-expected.png b/third_party/blink/web_tests/platform/linux/fast/css/vertical-text-overflow-ellipsis-text-align-right-expected.png
index 07a8de3..be36a63 100644
--- a/third_party/blink/web_tests/platform/linux/fast/css/vertical-text-overflow-ellipsis-text-align-right-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/css/vertical-text-overflow-ellipsis-text-align-right-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/css3-text/css3-text-decoration/text-decoration-style-inherit-expected.png b/third_party/blink/web_tests/platform/linux/fast/css3-text/css3-text-decoration/text-decoration-style-inherit-expected.png
index 371735cb..a2dcc933 100644
--- a/third_party/blink/web_tests/platform/linux/fast/css3-text/css3-text-decoration/text-decoration-style-inherit-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/css3-text/css3-text-decoration/text-decoration-style-inherit-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/deprecated-flexbox/009-expected.png b/third_party/blink/web_tests/platform/linux/fast/deprecated-flexbox/009-expected.png
index 77ca87b2..96805b645 100644
--- a/third_party/blink/web_tests/platform/linux/fast/deprecated-flexbox/009-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/deprecated-flexbox/009-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/deprecated-flexbox/009-horizontal-expected.png b/third_party/blink/web_tests/platform/linux/fast/deprecated-flexbox/009-horizontal-expected.png
index 86a1995..26de6b6 100644
--- a/third_party/blink/web_tests/platform/linux/fast/deprecated-flexbox/009-horizontal-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/deprecated-flexbox/009-horizontal-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/dom/34176-expected.png b/third_party/blink/web_tests/platform/linux/fast/dom/34176-expected.png
index 77ca88b..c0c5328 100644
--- a/third_party/blink/web_tests/platform/linux/fast/dom/34176-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/dom/34176-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 5f74cda..4e9b49bc 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 0b1a077..ad8f854 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/dom/rtl-scroll-to-leftmost-and-resize-expected.png b/third_party/blink/web_tests/platform/linux/fast/dom/rtl-scroll-to-leftmost-and-resize-expected.png
index 3b17746..b6a7dbc 100644
--- a/third_party/blink/web_tests/platform/linux/fast/dom/rtl-scroll-to-leftmost-and-resize-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/dom/rtl-scroll-to-leftmost-and-resize-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/dynamic/008-expected.png b/third_party/blink/web_tests/platform/linux/fast/dynamic/008-expected.png
index 8ce0ad8..75ea05b 100644
--- a/third_party/blink/web_tests/platform/linux/fast/dynamic/008-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/dynamic/008-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/dynamic/anchor-lock-expected.png b/third_party/blink/web_tests/platform/linux/fast/dynamic/anchor-lock-expected.png
index 7ed2127..c8c9e44 100644
--- a/third_party/blink/web_tests/platform/linux/fast/dynamic/anchor-lock-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/dynamic/anchor-lock-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/dynamic/selection-highlight-adjust-expected.png b/third_party/blink/web_tests/platform/linux/fast/dynamic/selection-highlight-adjust-expected.png
index c55f3b21..fc80071 100644
--- a/third_party/blink/web_tests/platform/linux/fast/dynamic/selection-highlight-adjust-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/dynamic/selection-highlight-adjust-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 b900c7a..5bfe6ec 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/events/updateLayoutForHitTest-expected.png b/third_party/blink/web_tests/platform/linux/fast/events/updateLayoutForHitTest-expected.png
index ef46d29c..b7b710e31 100644
--- a/third_party/blink/web_tests/platform/linux/fast/events/updateLayoutForHitTest-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/events/updateLayoutForHitTest-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/files/file-in-input-display-expected.png b/third_party/blink/web_tests/platform/linux/fast/files/file-in-input-display-expected.png
index ecdcae8c..9455260cf 100644
--- a/third_party/blink/web_tests/platform/linux/fast/files/file-in-input-display-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/files/file-in-input-display-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/001-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/001-expected.png
index 185869a5..8341ed4 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/001-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/001-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/basic-buttons-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/basic-buttons-expected.png
index 03e76693..aa9553ef 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/basic-buttons-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/basic-buttons-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/basic-inputs-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/basic-inputs-expected.png
index 6ffac5f..1bc93a2d 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/basic-inputs-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/basic-inputs-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/blankbuttons-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/blankbuttons-expected.png
index 79afc7d8..8dac758 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/blankbuttons-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/blankbuttons-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/button-default-title-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/button-default-title-expected.png
index 5d8b6fa..a3198f5 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/button-default-title-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/button-default-title-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/button-positioned-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/button-positioned-expected.png
index 84d1097b..cc3be78 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/button-positioned-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/button-positioned-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/button-sizes-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/button-sizes-expected.png
index 718aaae0..cb47731f 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/button-sizes-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/button-sizes-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/button-style-color-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/button-style-color-expected.png
index 6b682783..d35546ae 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/button-style-color-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/button-style-color-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/button-table-styles-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/button-table-styles-expected.png
index ce937e7..4187406 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/button-table-styles-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/button-table-styles-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/button-text-transform-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/button-text-transform-expected.png
index 78d9f6ab..3139340 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/button-text-transform-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/button-text-transform-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/button/button-align-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/button/button-align-expected.png
index 7cbca1f..6aa044b 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/button/button-align-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/button/button-align-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/button/button-cannot-be-nested-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/button/button-cannot-be-nested-expected.png
index 99f4c1ec..069f5ba 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/button/button-cannot-be-nested-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/button/button-cannot-be-nested-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/button/button-inner-block-reuse-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/button/button-inner-block-reuse-expected.png
index 2882cd6..9d1a910 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/button/button-inner-block-reuse-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/button/button-inner-block-reuse-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/button/button-white-space-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/button/button-white-space-expected.png
index 1fd44b5..e61c1c0 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/button/button-white-space-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/button/button-white-space-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png
index 5633cb4..2654253 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-coarse-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-coarse-expected.png
index 198aa5c..988d42a 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-coarse-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-coarse-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-expected.png
index 8748fc6..0dbb98f35 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-minimum-date-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-minimum-date-expected.png
index 0d693a0a..7945418 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-minimum-date-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-minimum-date-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png
index 74084049..afbc7e9 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-required-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-required-expected.png
index 3b97be8..3bd4629 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-required-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-required-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png
index e03ca3c..14f94ba 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png
index 1927ef4..c8511d9 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png
index 82d25bb83..bea08a0 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-zoom200-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-zoom200-expected.png
index 3b9d5af..6877038d 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-zoom200-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-zoom200-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/calendar-picker/month-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/calendar-picker/month-picker-appearance-expected.png
index 0bd2445..1bcfc3f 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/calendar-picker/month-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/calendar-picker/month-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/calendar-picker/month-picker-appearance-step-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/calendar-picker/month-picker-appearance-step-expected.png
index eeb99b6..3035bd6 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/calendar-picker/month-picker-appearance-step-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/calendar-picker/month-picker-appearance-step-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/calendar-picker/week-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/calendar-picker/week-picker-appearance-expected.png
index 34d0989..dd572252 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/calendar-picker/week-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/calendar-picker/week-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/calendar-picker/week-picker-appearance-step-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/calendar-picker/week-picker-appearance-step-expected.png
index 98e29026..1a6cd8ae 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/calendar-picker/week-picker-appearance-step-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/calendar-picker/week-picker-appearance-step-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/color/color-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/color/color-suggestion-picker-appearance-expected.png
index 32ea43ef..a4b5c623 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/color/color-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/color/color-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/color/color-suggestion-picker-appearance-zoom125-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/color/color-suggestion-picker-appearance-zoom125-expected.png
index 69c1b73..a79b5b5 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/color/color-suggestion-picker-appearance-zoom125-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/color/color-suggestion-picker-appearance-zoom125-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/color/color-suggestion-picker-one-row-appearance-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/color/color-suggestion-picker-one-row-appearance-expected.png
index 4a3b53a..140df80 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/color/color-suggestion-picker-one-row-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/color/color-suggestion-picker-one-row-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/color/color-suggestion-picker-two-row-appearance-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/color/color-suggestion-picker-two-row-appearance-expected.png
index 84c9d68..7f314ce 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/color/color-suggestion-picker-two-row-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/color/color-suggestion-picker-two-row-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/color/color-suggestion-picker-with-scrollbar-appearance-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/color/color-suggestion-picker-with-scrollbar-appearance-expected.png
index b2816e6..6f4272d 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/color/color-suggestion-picker-with-scrollbar-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/color/color-suggestion-picker-with-scrollbar-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/control-clip-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/control-clip-expected.png
index 0d3e91f8..1a206c5e 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/control-clip-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/control-clip-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/control-clip-overflow-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/control-clip-overflow-expected.png
index e59bb5e..50708f1 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/control-clip-overflow-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/control-clip-overflow-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/control-restrict-line-height-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/control-restrict-line-height-expected.png
index 4bcf2fe..f935f545 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/control-restrict-line-height-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/control-restrict-line-height-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui-high-contrast/date-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui-high-contrast/date-suggestion-picker-appearance-expected.png
index 6598cc5..d87e6d9 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui-high-contrast/date-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui-high-contrast/date-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-coarse-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-coarse-expected.png
index 198aa5c..988d42a 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-coarse-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-coarse-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-disabled-previous-month-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-disabled-previous-month-expected.png
index 1351c026..dc88f839 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-disabled-previous-month-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-disabled-previous-month-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-rtl-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-rtl-expected.png
index 5633cb4..2654253 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-step-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-step-expected.png
index 0ca849054..0de9f795 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-step-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-step-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-zoom150-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-zoom150-expected.png
index ef5682fe..f60570a 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-zoom150-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-zoom150-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/calendar-picker/date-picker-disabled-values-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/calendar-picker/date-picker-disabled-values-expected.png
index 951bc93..e49e4e2 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/calendar-picker/date-picker-disabled-values-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/calendar-picker/date-picker-disabled-values-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/calendar-picker/date-picker-month-appearance-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/calendar-picker/date-picker-month-appearance-expected.png
index eaba86a95..19dec33 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/calendar-picker/date-picker-month-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/calendar-picker/date-picker-month-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-empty-list-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-empty-list-expected.png
index 718dd24..368598b 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-empty-list-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-empty-list-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-one-row-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-one-row-expected.png
index 3dbe2de..7b19825 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-one-row-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-one-row-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-two-rows-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-two-rows-expected.png
index b61ba0c..58472d11 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-two-rows-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-two-rows-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-value-attribute-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-value-attribute-expected.png
index 277cb0a..5f2e58b 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-value-attribute-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-value-attribute-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-with-scrollbar-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-with-scrollbar-expected.png
index b2816e6..6f4272d 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-with-scrollbar-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-with-scrollbar-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom125-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom125-expected.png
index 6d0ddb8..a4e0aef3 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom125-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom125-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom200-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom200-expected.png
index e391730..5dfb13a6 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom200-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom200-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-today-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-today-expected.png
index b3296ff..50144a9 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-today-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-today-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-values-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-values-expected.png
index cddafa8..ec3a6c5 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-values-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-values-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/month-picker/month-picker-appearance-highlight-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/month-picker/month-picker-appearance-highlight-expected.png
index cddafa8..ec3a6c5 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/month-picker/month-picker-appearance-highlight-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/month-picker/month-picker-appearance-highlight-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/month-picker/month-picker-appearance-rtl-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/month-picker/month-picker-appearance-rtl-expected.png
index d9381b59..0a5fd5e6 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/month-picker/month-picker-appearance-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/month-picker/month-picker-appearance-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/month-picker/month-picker-appearance-value-not-in-interval-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/month-picker/month-picker-appearance-value-not-in-interval-expected.png
index bd58da0..b3cee49 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/month-picker/month-picker-appearance-value-not-in-interval-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/month-picker/month-picker-appearance-value-not-in-interval-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/month-picker/month-picker-appearance-zoom150-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/month-picker/month-picker-appearance-zoom150-expected.png
index 041789d..c97cab99 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/month-picker/month-picker-appearance-zoom150-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/month-picker/month-picker-appearance-zoom150-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/password/password-alt-f8-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/password/password-alt-f8-expected.png
index e37a054b..77ddf72 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/password/password-alt-f8-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/password/password-alt-f8-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/password/password-alt-f8-twice-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/password/password-alt-f8-twice-expected.png
index e37a054b..77ddf72 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/password/password-alt-f8-twice-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/password/password-alt-f8-twice-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/password/password-eye-icon-font-size-48px-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/password/password-eye-icon-font-size-48px-expected.png
index d7d41c84..6c32fe1 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/password/password-eye-icon-font-size-48px-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/password/password-eye-icon-font-size-48px-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/password/password-eye-icon-font-size-4px-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/password/password-eye-icon-font-size-4px-expected.png
index 92195df..08f9398 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/password/password-eye-icon-font-size-4px-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/password/password-eye-icon-font-size-4px-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/password/password-eye-icon-zoom-0.5x-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/password/password-eye-icon-zoom-0.5x-expected.png
index 09dc56a..b5c31dc 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/password/password-eye-icon-zoom-0.5x-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/password/password-eye-icon-zoom-0.5x-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/password/password-eye-icon-zoom-4x-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/password/password-eye-icon-zoom-4x-expected.png
index 7c78888..71b1d9c 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/password/password-eye-icon-zoom-4x-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/password/password-eye-icon-zoom-4x-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/password/password-mismatched_glyph-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/password/password-mismatched_glyph-expected.png
index e37a054b..77ddf72 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/password/password-mismatched_glyph-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/password/password-mismatched_glyph-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/password/password-small-size-alt-f8-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/password/password-small-size-alt-f8-expected.png
index 9ab870ae..0b83d552 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/password/password-small-size-alt-f8-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/password/password-small-size-alt-f8-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/password/password-with-reveal-button-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/password/password-with-reveal-button-expected.png
index e37a054b..77ddf72 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/password/password-with-reveal-button-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/password/password-with-reveal-button-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/select/select-multiple-appearance-basic-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/select/select-multiple-appearance-basic-expected.png
index ea78665..950b740 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/select/select-multiple-appearance-basic-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/select/select-multiple-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/suggestion-picker/date-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/suggestion-picker/date-suggestion-picker-appearance-expected.png
index 6598cc5..d87e6d9 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/suggestion-picker/date-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/suggestion-picker/date-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
index 88ee69f..334a1b9 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/suggestion-picker/month-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/suggestion-picker/month-suggestion-picker-appearance-expected.png
index 14408c31..a631490 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/suggestion-picker/month-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/suggestion-picker/month-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/suggestion-picker/time-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/suggestion-picker/time-suggestion-picker-appearance-expected.png
index be7c9bfa..a0e8e6f 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/suggestion-picker/time-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/suggestion-picker/time-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/suggestion-picker/week-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/suggestion-picker/week-suggestion-picker-appearance-expected.png
index cf1758dd..fe270935 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/suggestion-picker/week-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/suggestion-picker/week-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-AM-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-AM-expected.png
index a82c1b9..261b7e9 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-AM-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-AM-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-PM-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-PM-expected.png
index 0693100..fefd469 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-PM-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-PM-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/time-picker/time-picker-appearance-24-hour-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/time-picker/time-picker-appearance-24-hour-expected.png
index 8032b6c..cfa566c 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/time-picker/time-picker-appearance-24-hour-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/time-picker/time-picker-appearance-24-hour-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowdown-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowdown-expected.png
index d1493eff..5756558b 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowdown-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowdown-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowup-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowup-expected.png
index d1493eff..5756558b 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowup-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowup-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/time-picker/time-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/time-picker/time-picker-appearance-expected.png
index d1493eff..5756558b 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/time-picker/time-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/time-picker/time-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/time-picker/time-picker-appearance-ko-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/time-picker/time-picker-appearance-ko-expected.png
index 3d0ab1e..4a8f6de5 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/time-picker/time-picker-appearance-ko-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/time-picker/time-picker-appearance-ko-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/time-picker/time-picker-appearance-milliseconds-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/time-picker/time-picker-appearance-milliseconds-expected.png
index c1885f98..d4770fd5f 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/time-picker/time-picker-appearance-milliseconds-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/time-picker/time-picker-appearance-milliseconds-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/time-picker/time-picker-appearance-seconds-pm-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/time-picker/time-picker-appearance-seconds-pm-expected.png
index 4ec9496..06487be 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/time-picker/time-picker-appearance-seconds-pm-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/controls-new-ui/time-picker/time-picker-appearance-seconds-pm-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/datalist/input-appearance-range-with-datalist-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/datalist/input-appearance-range-with-datalist-expected.png
index 6fd4272..1f1e22d5 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/datalist/input-appearance-range-with-datalist-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/datalist/input-appearance-range-with-datalist-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/datalist/input-appearance-range-with-datalist-zoomed-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/datalist/input-appearance-range-with-datalist-zoomed-expected.png
index 8f969c3..fc5d95d 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/datalist/input-appearance-range-with-datalist-zoomed-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/datalist/input-appearance-range-with-datalist-zoomed-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/datalist/input-appearance-range-with-padding-with-datalist-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/datalist/input-appearance-range-with-padding-with-datalist-expected.png
index d42eb69..fd5070bc 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/datalist/input-appearance-range-with-padding-with-datalist-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/datalist/input-appearance-range-with-padding-with-datalist-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/datalist/input-appearance-range-with-transform-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/datalist/input-appearance-range-with-transform-expected.png
index 7354c69ff..45b1d96 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/datalist/input-appearance-range-with-transform-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/datalist/input-appearance-range-with-transform-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/date/date-appearance-basic-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/date/date-appearance-basic-expected.png
index ccb5577..b169c147 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/date/date-appearance-basic-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/date/date-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/date/date-appearance-l10n-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/date/date-appearance-l10n-expected.png
index c6603fa6..2dc52f2 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/date/date-appearance-l10n-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/date/date-appearance-l10n-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/date/date-appearance-pseudo-elements-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/date/date-appearance-pseudo-elements-expected.png
index 8df10fe0..b520945 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/date/date-appearance-pseudo-elements-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/date/date-appearance-pseudo-elements-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/datetimelocal/datetimelocal-appearance-basic-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/datetimelocal/datetimelocal-appearance-basic-expected.png
index 49652ef4f..ff2bc77 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/datetimelocal/datetimelocal-appearance-basic-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/datetimelocal/datetimelocal-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/datetimelocal/datetimelocal-appearance-l10n-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/datetimelocal/datetimelocal-appearance-l10n-expected.png
index 06d8c9a..33c0994 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/datetimelocal/datetimelocal-appearance-l10n-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/datetimelocal/datetimelocal-appearance-l10n-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/encoding-test-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/encoding-test-expected.png
index 4e35b6e..70ef220 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/encoding-test-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/encoding-test-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/fieldset/fieldset-align-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/fieldset/fieldset-align-expected.png
index b7d50c3..c8aa7d2c4 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/fieldset/fieldset-align-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/fieldset/fieldset-align-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/file/file-input-direction-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/file/file-input-direction-expected.png
index 15d5675..c243b530 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/file/file-input-direction-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/file/file-input-direction-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/file/file-input-disabled-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/file/file-input-disabled-expected.png
index 5fb68fb..fce09b1b 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/file/file-input-disabled-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/file/file-input-disabled-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/file/file-input-pressed-state-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/file/file-input-pressed-state-expected.png
index 77f1cd27..cd755ec 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/file/file-input-pressed-state-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/file/file-input-pressed-state-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/file/input-file-re-render-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/file/input-file-re-render-expected.png
index afe95698..4209d1af 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/file/input-file-re-render-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/file/input-file-re-render-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/floating-textfield-relayout-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/floating-textfield-relayout-expected.png
index 839047b..6982da8 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/floating-textfield-relayout-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/floating-textfield-relayout-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/form-element-geometry-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/form-element-geometry-expected.png
index acb52ae..0037d33 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/form-element-geometry-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/form-element-geometry-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/formmove-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/formmove-expected.png
index bd58864..97421164 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/formmove-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/formmove-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/formmove2-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/formmove2-expected.png
index f364461..f334c30 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/formmove2-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/formmove2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/formmove3-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/formmove3-expected.png
index c2e40cba..4926119 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/formmove3-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/formmove3-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/huge-mac-input-clamped-height-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/huge-mac-input-clamped-height-expected.png
index 38a607c..0f1fe4c 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/huge-mac-input-clamped-height-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/huge-mac-input-clamped-height-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/indeterminate-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/indeterminate-expected.png
index 2be85005..bf27ceb 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/indeterminate-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/indeterminate-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/input-align-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/input-align-expected.png
index 31fef2c..47c28de 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/input-align-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/input-align-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/input-appearance-height-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/input-appearance-height-expected.png
index deea223e..318c7f0 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/input-appearance-height-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/input-appearance-height-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/input-button-sizes-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/input-button-sizes-expected.png
index 2a2fbb36..e37cfac5 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/input-button-sizes-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/input-button-sizes-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/input-first-letter-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/input-first-letter-expected.png
index b55b1990..7723ce9 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/input-first-letter-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/input-first-letter-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/input-type-text-min-width-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/input-type-text-min-width-expected.png
index d0382bb1..ecf5483 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/input-type-text-min-width-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/input-type-text-min-width-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/input-value-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/input-value-expected.png
index 52c26a6..5c8e44a 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/input-value-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/input-value-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/minWidthPercent-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/minWidthPercent-expected.png
index 4e84141..d52108c 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/minWidthPercent-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/minWidthPercent-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/month/month-appearance-basic-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/month/month-appearance-basic-expected.png
index a686a33..36ed333 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/month/month-appearance-basic-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/month/month-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/month/month-appearance-l10n-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/month/month-appearance-l10n-expected.png
index 3e0701a..ecb92de 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/month/month-appearance-l10n-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/month/month-appearance-l10n-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/month/month-appearance-pseudo-elements-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/month/month-appearance-pseudo-elements-expected.png
index 478c8f57..48fad96c 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/month/month-appearance-pseudo-elements-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/month/month-appearance-pseudo-elements-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/number/number-appearance-datalist-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/number/number-appearance-datalist-expected.png
index 238ff95..c6ff932 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/number/number-appearance-datalist-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/number/number-appearance-datalist-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/number/number-appearance-rtl-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/number/number-appearance-rtl-expected.png
index fd90cfa..e5672a45 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/number/number-appearance-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/number/number-appearance-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/number/number-appearance-spinbutton-layer-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/number/number-appearance-spinbutton-layer-expected.png
index 8e9c0b8..2be0d0b3 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/number/number-appearance-spinbutton-layer-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/number/number-appearance-spinbutton-layer-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/placeholder-position-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/placeholder-position-expected.png
index a2b8001c..daf2706 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/placeholder-position-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/placeholder-position-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/plaintext-mode-2-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/plaintext-mode-2-expected.png
index 7ea7d682..3dfc5f65 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/plaintext-mode-2-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/plaintext-mode-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/range/slider-padding-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/range/slider-padding-expected.png
index 496d559..4e71fce 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/range/slider-padding-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/range/slider-padding-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/range/slider-thumb-shared-style-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/range/slider-thumb-shared-style-expected.png
index c0d08b2..4a5c4eb 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/range/slider-thumb-shared-style-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/range/slider-thumb-shared-style-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/search/search-cancel-button-style-sharing-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/search/search-cancel-button-style-sharing-expected.png
index f9f8506..bad04bce 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/search/search-cancel-button-style-sharing-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/search/search-cancel-button-style-sharing-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/search/search-display-none-cancel-button-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/search/search-display-none-cancel-button-expected.png
index e10fcf9..d5a8714 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/search/search-display-none-cancel-button-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/search/search-display-none-cancel-button-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/search/search-rtl-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/search/search-rtl-expected.png
index a7a2781..f7f3286 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/search/search-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/search/search-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/search/searchfield-heights-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/search/searchfield-heights-expected.png
index a4f9922..3e1d78a7 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/search/searchfield-heights-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/search/searchfield-heights-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-coarse-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-coarse-expected.png
index 32c00a1..3233da31 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-coarse-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-coarse-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-empty-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-empty-expected.png
index e98f049..cd0f9be 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-empty-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-empty-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-expected.png
index ffba40d..4d28381 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-fractional-width-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-fractional-width-expected.png
index 2f023122..a9c37c0e 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-fractional-width-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-fractional-width-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-long-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-long-expected.png
index 9cce050..2cb2712 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-long-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-long-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-many-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-many-expected.png
index da28853..fcbae40 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-many-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-many-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-minimum-font-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-minimum-font-expected.png
index a71dd623..a92ef5ec 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-minimum-font-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-minimum-font-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-rtl-default-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-rtl-default-expected.png
index 60d127b..20010afdc 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-rtl-default-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-rtl-default-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-rtl-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-rtl-expected.png
index bbc9573..829ea544 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-single-option-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-single-option-expected.png
index b5e4e94..e5bfe4a9 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-single-option-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-single-option-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-styled-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-styled-expected.png
index abcfbc7..2f6e3d13 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-styled-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-styled-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-texttransform-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-texttransform-expected.png
index 509ef75..3b9f3f3f 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-texttransform-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-texttransform-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-transform-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-transform-expected.png
index d0531cac..c62c80c 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-transform-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-transform-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-zoom-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-zoom-expected.png
index 3aaefc5..ea3946a 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-zoom-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-zoom-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-zoom090-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-zoom090-expected.png
index c82fa1e..6b8b407 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-zoom090-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-zoom090-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-zoom110-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-zoom110-expected.png
index 3dbcd48..751b67e 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-zoom110-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select-popup/popup-menu-appearance-zoom110-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select/003-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select/003-expected.png
index 6316aa6..73c1255a 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select/003-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select/003-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select/004-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select/004-expected.png
index 4664736..7986ac2 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select/004-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select/004-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select/HTMLOptionElement_label01-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select/HTMLOptionElement_label01-expected.png
index 544a892..d3bf6860 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select/HTMLOptionElement_label01-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select/HTMLOptionElement_label01-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select/HTMLOptionElement_label02-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select/HTMLOptionElement_label02-expected.png
index 0d419cd..3edc4ce 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select/HTMLOptionElement_label02-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select/HTMLOptionElement_label02-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select/HTMLOptionElement_label03-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select/HTMLOptionElement_label03-expected.png
index 622bc00..7187b3c 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select/HTMLOptionElement_label03-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select/HTMLOptionElement_label03-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select/HTMLOptionElement_label04-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select/HTMLOptionElement_label04-expected.png
index a1d1e7d..601e81b 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select/HTMLOptionElement_label04-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select/HTMLOptionElement_label04-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select/HTMLOptionElement_label05-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select/HTMLOptionElement_label05-expected.png
index 7e9586e..c6ee577 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select/HTMLOptionElement_label05-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select/HTMLOptionElement_label05-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select/HTMLOptionElement_label06-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select/HTMLOptionElement_label06-expected.png
index 8954371..8b62422 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select/HTMLOptionElement_label06-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select/HTMLOptionElement_label06-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select/HTMLOptionElement_label07-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select/HTMLOptionElement_label07-expected.png
index 0da4bf2..23c4bf6 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select/HTMLOptionElement_label07-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select/HTMLOptionElement_label07-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select/disabled-select-change-index-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select/disabled-select-change-index-expected.png
index 2afe4a52..d6fb59d 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select/disabled-select-change-index-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select/disabled-select-change-index-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select/input-select-after-resize-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select/input-select-after-resize-expected.png
index 0b95a6aa..4c16294 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select/input-select-after-resize-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select/input-select-after-resize-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select/listbox-bidi-align-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select/listbox-bidi-align-expected.png
index 98805ad..ec5dbe68 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select/listbox-bidi-align-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select/listbox-bidi-align-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select/listbox-scrollbar-incremental-load-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select/listbox-scrollbar-incremental-load-expected.png
index 4667701..0ab149d 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select/listbox-scrollbar-incremental-load-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select/listbox-scrollbar-incremental-load-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select/listbox-width-change-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select/listbox-width-change-expected.png
index 3573e6c..f5143b6 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select/listbox-width-change-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select/listbox-width-change-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select/listbox-with-display-none-option-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select/listbox-with-display-none-option-expected.png
index 0fabb90..9ec7e02 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select/listbox-with-display-none-option-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select/listbox-with-display-none-option-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select/menulist-appearance-none-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select/menulist-appearance-none-expected.png
index d6e0009e..d12c9305 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select/menulist-appearance-none-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select/menulist-appearance-none-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select/menulist-appearance-rtl-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select/menulist-appearance-rtl-expected.png
index 7bc0453..2e3177f 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select/menulist-appearance-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select/menulist-appearance-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select/menulist-clip-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select/menulist-clip-expected.png
index e31aff5b..0e66af29 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select/menulist-clip-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select/menulist-clip-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select/menulist-deselect-update-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select/menulist-deselect-update-expected.png
index 92c1fe6..7ccc404 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select/menulist-deselect-update-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select/menulist-deselect-update-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select/menulist-narrow-width-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select/menulist-narrow-width-expected.png
index 52d64e9..a60fafe 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select/menulist-narrow-width-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select/menulist-narrow-width-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select/menulist-no-overflow-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select/menulist-no-overflow-expected.png
index c35b4549..0eb4f67 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select/menulist-no-overflow-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select/menulist-no-overflow-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select/menulist-option-wrap-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select/menulist-option-wrap-expected.png
index 9e9044f..bd4899d 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select/menulist-option-wrap-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select/menulist-option-wrap-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select/menulist-restrict-line-height-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select/menulist-restrict-line-height-expected.png
index a74b6b48..85b9fcb 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select/menulist-restrict-line-height-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select/menulist-restrict-line-height-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select/menulist-separator-painting-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select/menulist-separator-painting-expected.png
index 6011daa..63fc4334 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select/menulist-separator-painting-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select/menulist-separator-painting-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select/menulist-style-color-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select/menulist-style-color-expected.png
index 97806a44..0f11db3 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select/menulist-style-color-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select/menulist-style-color-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select/menulist-update-text-popup-expected.txt b/third_party/blink/web_tests/platform/linux/fast/forms/select/menulist-update-text-popup-expected.txt
index 34f9d77e..f947450 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select/menulist-update-text-popup-expected.txt
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select/menulist-update-text-popup-expected.txt
@@ -5,8 +5,8 @@
 B
 C
 layer at (0,0) size 31x20
-  LayoutBlockFlow (positioned) {DIV} at (8,50) size 31x20
-    LayoutMenuList {SELECT} at (0,0) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+  LayoutNGBlockFlow (positioned) {DIV} at (8,50) size 31x20
+    LayoutMenuList {SELECT} at (0,0) size 31x20 [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
       LayoutBlockFlow (anonymous) at (1,1) size 29x18
         LayoutText (anonymous) at (4,1) size 9x16
           text run at (4,1) width 9: "C"
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select/menulist-width-change-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select/menulist-width-change-expected.png
index 42b9e94..417f0f1a 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select/menulist-width-change-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select/menulist-width-change-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select/optgroup-rendering-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select/optgroup-rendering-expected.png
index 6f168ee..1b27368 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select/optgroup-rendering-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select/optgroup-rendering-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select/option-script-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select/option-script-expected.png
index 976e10f..c5217a9 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select/option-script-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select/option-script-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select/option-strip-whitespace-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select/option-strip-whitespace-expected.png
index 884be37..5c875122 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select/option-strip-whitespace-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select/option-strip-whitespace-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select/option-text-clip-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select/option-text-clip-expected.png
index 28e99931..be13fe81 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select/option-text-clip-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select/option-text-clip-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select/select-align-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select/select-align-expected.png
index 0b484d4..7066a0a2 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select/select-align-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select/select-align-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select/select-background-none-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select/select-background-none-expected.png
index 487bc71..8dee695 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select/select-background-none-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select/select-background-none-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select/select-baseline-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select/select-baseline-expected.png
index d1606f4..45482945 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select/select-baseline-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select/select-baseline-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select/select-block-background-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select/select-block-background-expected.png
index b3174d2..eee32fc 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select/select-block-background-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select/select-block-background-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select/select-change-listbox-size-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select/select-change-listbox-size-expected.png
index 2d0459d..2cd169f 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select/select-change-listbox-size-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select/select-change-listbox-size-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select/select-change-listbox-to-popup-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select/select-change-listbox-to-popup-expected.png
index 42e96a5..339e78423 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select/select-change-listbox-to-popup-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select/select-change-listbox-to-popup-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select/select-change-popup-to-listbox-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select/select-change-popup-to-listbox-expected.png
index feb5a4e8..a97b1f0a 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select/select-change-popup-to-listbox-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select/select-change-popup-to-listbox-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select/select-dirty-parent-pref-widths-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select/select-dirty-parent-pref-widths-expected.png
index 2c1dc205..1491160 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select/select-dirty-parent-pref-widths-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select/select-dirty-parent-pref-widths-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select/select-disabled-appearance-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select/select-disabled-appearance-expected.png
index e050d13..2ed656a 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select/select-disabled-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select/select-disabled-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select/select-empty-option-height-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select/select-empty-option-height-expected.png
index d5ff45c..5859cfa 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select/select-empty-option-height-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select/select-empty-option-height-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select/select-initial-position-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select/select-initial-position-expected.png
index 486bf4b4..8e460fd6 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select/select-initial-position-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select/select-initial-position-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select/select-item-background-clip-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select/select-item-background-clip-expected.png
index 92d79414..5cfdd87 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select/select-item-background-clip-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select/select-item-background-clip-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select/select-list-box-with-height-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select/select-list-box-with-height-expected.png
index 17380d0..d63fc931c 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select/select-list-box-with-height-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select/select-list-box-with-height-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select/select-listbox-multiple-no-focusring-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select/select-listbox-multiple-no-focusring-expected.png
index 4a507499..f5c5cec 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select/select-listbox-multiple-no-focusring-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select/select-listbox-multiple-no-focusring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select/select-multiple-rtl-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select/select-multiple-rtl-expected.png
index 22918f5e..116bf28b 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select/select-multiple-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select/select-multiple-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select/select-overflow-scroll-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select/select-overflow-scroll-expected.png
index 9df200a4..8be07fd 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select/select-overflow-scroll-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select/select-overflow-scroll-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select/select-overflow-scroll-inherited-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select/select-overflow-scroll-inherited-expected.png
index d557689..4375120d 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select/select-overflow-scroll-inherited-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select/select-overflow-scroll-inherited-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select/select-selected-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select/select-selected-expected.png
index f634c55..12d32c9 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select/select-selected-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select/select-selected-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select/select-size-invalid-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select/select-size-invalid-expected.png
index 97ee4cd6..94101a9 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select/select-size-invalid-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select/select-size-invalid-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select/select-style-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select/select-style-expected.png
index 082bbf5c..2bbbc76c 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select/select-style-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select/select-style-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select/select-visual-hebrew-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select/select-visual-hebrew-expected.png
index 42e32a7..2afcc605 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select/select-visual-hebrew-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select/select-visual-hebrew-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select/select-writing-direction-natural-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select/select-writing-direction-natural-expected.png
index ff7ea31..ee1bcf1 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select/select-writing-direction-natural-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select/select-writing-direction-natural-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/select/selectlist-minsize-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/select/selectlist-minsize-expected.png
index 2ae38a8..db06e4d8 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/select/selectlist-minsize-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/select/selectlist-minsize-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/stuff-on-my-optgroup-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/stuff-on-my-optgroup-expected.png
index 7462f4d..eea085d 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/stuff-on-my-optgroup-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/stuff-on-my-optgroup-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/submit/submit-appearance-basic-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/submit/submit-appearance-basic-expected.png
index c9d7f81..fd5dd77 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/submit/submit-appearance-basic-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/submit/submit-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/date-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/date-suggestion-picker-appearance-expected.png
index 9728b068..de3782e 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/date-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/date-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/date-suggestion-picker-appearance-rtl-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/date-suggestion-picker-appearance-rtl-expected.png
index 2aae3b1..4273eed 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/date-suggestion-picker-appearance-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/date-suggestion-picker-appearance-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/date-suggestion-picker-appearance-with-scroll-bar-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/date-suggestion-picker-appearance-with-scroll-bar-expected.png
index 20b20118..2209697 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/date-suggestion-picker-appearance-with-scroll-bar-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/date-suggestion-picker-appearance-with-scroll-bar-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
index f2d1227c..8256c93 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-locale-hebrew-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-locale-hebrew-expected.png
index a781815e..2b57203 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-locale-hebrew-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-locale-hebrew-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-rtl-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-rtl-expected.png
index 1388e2b..145ecce 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-with-scroll-bar-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-with-scroll-bar-expected.png
index a8a523c..7c77443 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-with-scroll-bar-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-with-scroll-bar-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/month-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/month-suggestion-picker-appearance-expected.png
index 69f9bea6..480fffa 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/month-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/month-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/month-suggestion-picker-appearance-rtl-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/month-suggestion-picker-appearance-rtl-expected.png
index ae0a432..9aaefe0 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/month-suggestion-picker-appearance-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/month-suggestion-picker-appearance-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/month-suggestion-picker-appearance-with-scroll-bar-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/month-suggestion-picker-appearance-with-scroll-bar-expected.png
index 761f7b5..53155bd 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/month-suggestion-picker-appearance-with-scroll-bar-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/month-suggestion-picker-appearance-with-scroll-bar-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/time-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/time-suggestion-picker-appearance-expected.png
index 72acb6f3..2cef4c3 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/time-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/time-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/time-suggestion-picker-appearance-locale-hebrew-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/time-suggestion-picker-appearance-locale-hebrew-expected.png
index 4bb4c20..ad33fcb7 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/time-suggestion-picker-appearance-locale-hebrew-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/time-suggestion-picker-appearance-locale-hebrew-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/time-suggestion-picker-appearance-rtl-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/time-suggestion-picker-appearance-rtl-expected.png
index 02e9ee3c..e0b83a9c 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/time-suggestion-picker-appearance-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/time-suggestion-picker-appearance-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/time-suggestion-picker-appearance-with-scroll-bar-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/time-suggestion-picker-appearance-with-scroll-bar-expected.png
index bc1bd20e..4ed55c57 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/time-suggestion-picker-appearance-with-scroll-bar-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/time-suggestion-picker-appearance-with-scroll-bar-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/week-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/week-suggestion-picker-appearance-expected.png
index f4f403ba..d42a0b2 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/week-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/week-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/week-suggestion-picker-appearance-rtl-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/week-suggestion-picker-appearance-rtl-expected.png
index d9f2143..d5e8706 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/week-suggestion-picker-appearance-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/week-suggestion-picker-appearance-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/week-suggestion-picker-appearance-with-scroll-bar-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/week-suggestion-picker-appearance-with-scroll-bar-expected.png
index e019984..6035191 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/week-suggestion-picker-appearance-with-scroll-bar-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/suggestion-picker/week-suggestion-picker-appearance-with-scroll-bar-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/tabbing-input-iframe-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/tabbing-input-iframe-expected.png
index 7e2b4eb..51fee23b 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/tabbing-input-iframe-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/tabbing-input-iframe-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/targeted-frame-submission-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/targeted-frame-submission-expected.png
index 13a51135..3bac174 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/targeted-frame-submission-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/targeted-frame-submission-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/text-style-color-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/text-style-color-expected.png
index 48c086c..602fc0b 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/text-style-color-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/text-style-color-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/text/input-appearance-default-bkcolor-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/text/input-appearance-default-bkcolor-expected.png
index d97778ae..d43f52e 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/text/input-appearance-default-bkcolor-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/text/input-appearance-default-bkcolor-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/text/input-appearance-disabled-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/text/input-appearance-disabled-expected.png
index d6fd715e..a30844a 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/text/input-appearance-disabled-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/text/input-appearance-disabled-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/text/input-appearance-focus-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/text/input-appearance-focus-expected.png
index 177877c2..26797c5 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/text/input-appearance-focus-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/text/input-appearance-focus-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/text/input-appearance-preventDefault-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/text/input-appearance-preventDefault-expected.png
index 38b60ae..888bbe1 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/text/input-appearance-preventDefault-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/text/input-appearance-preventDefault-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/text/input-appearance-readonly-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/text/input-appearance-readonly-expected.png
index a9b23a2..243faf1 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/text/input-appearance-readonly-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/text/input-appearance-readonly-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/text/input-appearance-selection-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/text/input-appearance-selection-expected.png
index 26e0b4a..8be800b1 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/text/input-appearance-selection-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/text/input-appearance-selection-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/text/input-appearance-visibility-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/text/input-appearance-visibility-expected.png
index f88a2c4..e507ccc 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/text/input-appearance-visibility-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/text/input-appearance-visibility-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/text/input-appearance-width-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/text/input-appearance-width-expected.png
index d36aaba..3b70295 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/text/input-appearance-width-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/text/input-appearance-width-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/text/input-baseline-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/text/input-baseline-expected.png
index c8ccc1c..779cbd5 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/text/input-baseline-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/text/input-baseline-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/text/input-disabled-color-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/text/input-disabled-color-expected.png
index 8eeae07..d25916e 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/text/input-disabled-color-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/text/input-disabled-color-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/text/input-double-click-selection-gap-bug-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/text/input-double-click-selection-gap-bug-expected.png
index 18c32fb..78e79a02 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/text/input-double-click-selection-gap-bug-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/text/input-double-click-selection-gap-bug-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/text/input-field-text-truncated-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/text/input-field-text-truncated-expected.png
index f6bdaf6..b7ba0cb 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/text/input-field-text-truncated-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/text/input-field-text-truncated-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/text/input-placeholder-visibility-1-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/text/input-placeholder-visibility-1-expected.png
index fc7ad03..08c3ef4 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/text/input-placeholder-visibility-1-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/text/input-placeholder-visibility-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/text/input-placeholder-visibility-3-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/text/input-placeholder-visibility-3-expected.png
index 013baf18..3186fe6 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/text/input-placeholder-visibility-3-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/text/input-placeholder-visibility-3-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/text/input-readonly-autoscroll-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/text/input-readonly-autoscroll-expected.png
index fce97a0..9379c2e7 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/text/input-readonly-autoscroll-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/text/input-readonly-autoscroll-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/text/input-readonly-dimmed-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/text/input-readonly-dimmed-expected.png
index bdbd58ac..0c53c4c 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/text/input-readonly-dimmed-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/text/input-readonly-dimmed-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/text/input-readonly-empty-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/text/input-readonly-empty-expected.png
index dc90d0e..3b73f1c5 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/text/input-readonly-empty-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/text/input-readonly-empty-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/text/input-spaces-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/text/input-spaces-expected.png
index a5e1335..a4d1506 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/text/input-spaces-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/text/input-spaces-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/text/input-tab-shows-caret-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/text/input-tab-shows-caret-expected.png
index 076f67e..e74b2c58 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/text/input-tab-shows-caret-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/text/input-tab-shows-caret-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/text/input-table-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/text/input-table-expected.png
index d3980eac..e86021d 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/text/input-table-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/text/input-table-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/text/input-text-click-inside-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/text/input-text-click-inside-expected.png
index 5607d40..3ce87ab0 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/text/input-text-click-inside-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/text/input-text-click-inside-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/text/input-text-click-outside-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/text/input-text-click-outside-expected.png
index 5bc0816..19c6aae 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/text/input-text-click-outside-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/text/input-text-click-outside-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/text/input-text-double-click-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/text/input-text-double-click-expected.png
index 02bae88..2fc75ab 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/text/input-text-double-click-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/text/input-text-double-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/text/input-text-drag-down-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/text/input-text-drag-down-expected.png
index 6cf98d28..db09eef5 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/text/input-text-drag-down-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/text/input-text-drag-down-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/text/input-text-option-delete-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/text/input-text-option-delete-expected.png
index 6a2c5ae..a1902fe 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/text/input-text-option-delete-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/text/input-text-option-delete-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/text/input-text-scroll-left-on-blur-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/text/input-text-scroll-left-on-blur-expected.png
index f09c4d3..c2552e5 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/text/input-text-scroll-left-on-blur-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/text/input-text-scroll-left-on-blur-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/text/input-text-self-emptying-click-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/text/input-text-self-emptying-click-expected.png
index bd915d5..d228589 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/text/input-text-self-emptying-click-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/text/input-text-self-emptying-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/text/input-text-word-wrap-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/text/input-text-word-wrap-expected.png
index 63c09d00..6292f49 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/text/input-text-word-wrap-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/text/input-text-word-wrap-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/text/input-width-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/text/input-width-expected.png
index 829f9d6a..d331f59 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/text/input-width-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/text/input-width-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/text/text-appearance-basic-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/text/text-appearance-basic-expected.png
index 8003940..881a676 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/text/text-appearance-basic-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/text/text-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/text/text-appearance-datalist-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/text/text-appearance-datalist-expected.png
index 42fed9b3..f2054aa 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/text/text-appearance-datalist-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/text/text-appearance-datalist-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/text/text-font-height-mismatch-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/text/text-font-height-mismatch-expected.png
index 4a22e5a..1fd9778 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/text/text-font-height-mismatch-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/text/text-font-height-mismatch-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/text/textfield-focus-ring-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/text/textfield-focus-ring-expected.png
index 25405f13..26267a5 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/text/textfield-focus-ring-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/text/textfield-focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/text/textfield-overflow-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/text/textfield-overflow-expected.png
index e70c720..156118c4 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/text/textfield-overflow-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/text/textfield-overflow-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/textarea/basic-textareas-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/textarea/basic-textareas-expected.png
index f0a4879..c8acf756 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/textarea/basic-textareas-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/textarea/basic-textareas-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/textarea/basic-textareas-quirks-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/textarea/basic-textareas-quirks-expected.png
index 23c32af..410e910 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/textarea/basic-textareas-quirks-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/textarea/basic-textareas-quirks-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/textarea/placeholder-appearance-textarea-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/textarea/placeholder-appearance-textarea-expected.png
index 70a881dda..1fc2dc4 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/textarea/placeholder-appearance-textarea-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/textarea/placeholder-appearance-textarea-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/textarea/reset-textarea-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/textarea/reset-textarea-expected.png
index 813ad5e..84e3e3e 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/textarea/reset-textarea-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/textarea/reset-textarea-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/textarea/textAreaLineHeight-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/textarea/textAreaLineHeight-expected.png
index 170beee5..8af3298 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/textarea/textAreaLineHeight-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/textarea/textAreaLineHeight-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/textarea/textarea-align-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/textarea/textarea-align-expected.png
index f976b3f..c1018981 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/textarea/textarea-align-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/textarea/textarea-align-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/textarea/textarea-placeholder-visibility-1-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/textarea/textarea-placeholder-visibility-1-expected.png
index 56e2b537..b1834f0 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/textarea/textarea-placeholder-visibility-1-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/textarea/textarea-placeholder-visibility-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/textarea/textarea-placeholder-visibility-2-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/textarea/textarea-placeholder-visibility-2-expected.png
index 4335e80..6761e7e 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/textarea/textarea-placeholder-visibility-2-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/textarea/textarea-placeholder-visibility-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/textarea/textarea-scroll-height-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/textarea/textarea-scroll-height-expected.png
index 04393238..d5a722d7 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/textarea/textarea-scroll-height-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/textarea/textarea-scroll-height-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/textarea/textarea-scrollbar-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/textarea/textarea-scrollbar-expected.png
index f6318f1b..3b4ad0d4 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/textarea/textarea-scrollbar-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/textarea/textarea-scrollbar-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/textarea/textarea-scrolled-focus-ring-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/textarea/textarea-scrolled-focus-ring-expected.png
index 11893edb..f4dd223a 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/textarea/textarea-scrolled-focus-ring-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/textarea/textarea-scrolled-focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/textarea/textarea-scrolled-type-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/textarea/textarea-scrolled-type-expected.png
index 7b597987..4623ffe 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/textarea/textarea-scrolled-type-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/textarea/textarea-scrolled-type-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/textarea/textarea-setinnerhtml-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/textarea/textarea-setinnerhtml-expected.png
index e456aac0..5beccf5 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/textarea/textarea-setinnerhtml-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/textarea/textarea-setinnerhtml-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/textarea/textarea-width-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/textarea/textarea-width-expected.png
index 31d7bb3..77e1db7d 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/textarea/textarea-width-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/textarea/textarea-width-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/time/time-appearance-basic-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/time/time-appearance-basic-expected.png
index 5fb3c680..ac3d618c 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/time/time-appearance-basic-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/time/time-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/time/time-appearance-pseudo-elements-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/time/time-appearance-pseudo-elements-expected.png
index 486404b..96cdb68 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/time/time-appearance-pseudo-elements-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/time/time-appearance-pseudo-elements-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/validation-bubble-appearance-edge-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/validation-bubble-appearance-edge-expected.png
index 17d136b3..a03bba7 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/validation-bubble-appearance-edge-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/validation-bubble-appearance-edge-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/validation-bubble-appearance-escape-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/validation-bubble-appearance-escape-expected.png
index a7f2c56..8d3a938 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/validation-bubble-appearance-escape-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/validation-bubble-appearance-escape-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/validation-bubble-appearance-iframe-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/validation-bubble-appearance-iframe-expected.png
index 8a0e0e2c..20225d08 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/validation-bubble-appearance-iframe-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/validation-bubble-appearance-iframe-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/validation-bubble-appearance-rtl-ui-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/validation-bubble-appearance-rtl-ui-expected.png
index 8bef501..75c0864d 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/validation-bubble-appearance-rtl-ui-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/validation-bubble-appearance-rtl-ui-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/validation-bubble-appearance-wrap-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/validation-bubble-appearance-wrap-expected.png
index 9cc84b7d..616100b9 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/validation-bubble-appearance-wrap-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/validation-bubble-appearance-wrap-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/validation-bubble-device-emulation-change-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/validation-bubble-device-emulation-change-expected.png
index 3cbc4fa..a2257ee 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/validation-bubble-device-emulation-change-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/validation-bubble-device-emulation-change-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/validation-bubble-device-emulation-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/validation-bubble-device-emulation-expected.png
index 3cbc4fa..a2257ee 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/validation-bubble-device-emulation-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/validation-bubble-device-emulation-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/visual-hebrew-text-field-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/visual-hebrew-text-field-expected.png
index d048cd8..36e16421 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/visual-hebrew-text-field-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/visual-hebrew-text-field-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/week/week-appearance-basic-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/week/week-appearance-basic-expected.png
index cf94b46..feb881a 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/week/week-appearance-basic-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/week/week-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/week/week-appearance-pseudo-elements-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/week/week-appearance-pseudo-elements-expected.png
index fc583ed6..074f0986 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/week/week-appearance-pseudo-elements-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/week/week-appearance-pseudo-elements-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/frames/frame-scrolling-attribute-expected.png b/third_party/blink/web_tests/platform/linux/fast/frames/frame-scrolling-attribute-expected.png
index 6023608..c7c0ad78 100644
--- a/third_party/blink/web_tests/platform/linux/fast/frames/frame-scrolling-attribute-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/frames/frame-scrolling-attribute-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/frames/iframe-scrolling-attribute-expected.png b/third_party/blink/web_tests/platform/linux/fast/frames/iframe-scrolling-attribute-expected.png
index 4ce62f3a..ee516786 100644
--- a/third_party/blink/web_tests/platform/linux/fast/frames/iframe-scrolling-attribute-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/frames/iframe-scrolling-attribute-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/frames/onlyCommentInIFrame-expected.png b/third_party/blink/web_tests/platform/linux/fast/frames/onlyCommentInIFrame-expected.png
index d3fc6b93..7d637455 100644
--- a/third_party/blink/web_tests/platform/linux/fast/frames/onlyCommentInIFrame-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/frames/onlyCommentInIFrame-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/gradients/css3-color-stop-units-expected.png b/third_party/blink/web_tests/platform/linux/fast/gradients/css3-color-stop-units-expected.png
index 1324684..878b0b3 100644
--- a/third_party/blink/web_tests/platform/linux/fast/gradients/css3-color-stop-units-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/gradients/css3-color-stop-units-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/hidpi/resize-corner-hidpi-expected.png b/third_party/blink/web_tests/platform/linux/fast/hidpi/resize-corner-hidpi-expected.png
index 7c1a584..d51e7f3 100644
--- a/third_party/blink/web_tests/platform/linux/fast/hidpi/resize-corner-hidpi-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/hidpi/resize-corner-hidpi-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/hidpi/scrollbar-appearance-decrease-device-scale-factor-expected.png b/third_party/blink/web_tests/platform/linux/fast/hidpi/scrollbar-appearance-decrease-device-scale-factor-expected.png
index b8f5ad1..7511fa2 100644
--- a/third_party/blink/web_tests/platform/linux/fast/hidpi/scrollbar-appearance-decrease-device-scale-factor-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/hidpi/scrollbar-appearance-decrease-device-scale-factor-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/hidpi/scrollbar-appearance-increase-device-scale-factor-expected.png b/third_party/blink/web_tests/platform/linux/fast/hidpi/scrollbar-appearance-increase-device-scale-factor-expected.png
index 62b4a0a..84b82ba 100644
--- a/third_party/blink/web_tests/platform/linux/fast/hidpi/scrollbar-appearance-increase-device-scale-factor-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/hidpi/scrollbar-appearance-increase-device-scale-factor-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/inline-block/tricky-baseline-expected.png b/third_party/blink/web_tests/platform/linux/fast/inline-block/tricky-baseline-expected.png
index 87d833559..032ed8cf 100644
--- a/third_party/blink/web_tests/platform/linux/fast/inline-block/tricky-baseline-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/inline-block/tricky-baseline-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/inline/inline-borders-with-bidi-override-expected.png b/third_party/blink/web_tests/platform/linux/fast/inline/inline-borders-with-bidi-override-expected.png
index 57d9fee..45c4bbe7 100644
--- a/third_party/blink/web_tests/platform/linux/fast/inline/inline-borders-with-bidi-override-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/inline/inline-borders-with-bidi-override-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/inline/inline-continuation-borders-expected.png b/third_party/blink/web_tests/platform/linux/fast/inline/inline-continuation-borders-expected.png
index c2bd715..6185e685 100644
--- a/third_party/blink/web_tests/platform/linux/fast/inline/inline-continuation-borders-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/inline/inline-continuation-borders-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/invalid/014-expected.png b/third_party/blink/web_tests/platform/linux/fast/invalid/014-expected.png
index 01e6062..1397a89 100644
--- a/third_party/blink/web_tests/platform/linux/fast/invalid/014-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/invalid/014-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/layers/overflow-scroll-auto-switch-expected.png b/third_party/blink/web_tests/platform/linux/fast/layers/overflow-scroll-auto-switch-expected.png
index b3a85937..dba0be7 100644
--- a/third_party/blink/web_tests/platform/linux/fast/layers/overflow-scroll-auto-switch-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/layers/overflow-scroll-auto-switch-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/layers/scroll-rect-to-visible-expected.png b/third_party/blink/web_tests/platform/linux/fast/layers/scroll-rect-to-visible-expected.png
index 45578fc..c6efa51 100644
--- a/third_party/blink/web_tests/platform/linux/fast/layers/scroll-rect-to-visible-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/layers/scroll-rect-to-visible-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/layers/scroll-with-transform-composited-layer-expected.png b/third_party/blink/web_tests/platform/linux/fast/layers/scroll-with-transform-composited-layer-expected.png
index 307ac41f..4e0d6b19 100644
--- a/third_party/blink/web_tests/platform/linux/fast/layers/scroll-with-transform-composited-layer-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/layers/scroll-with-transform-composited-layer-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/layers/scroll-with-transform-layer-expected.png b/third_party/blink/web_tests/platform/linux/fast/layers/scroll-with-transform-layer-expected.png
index 1d02373..4e0d6b19 100644
--- a/third_party/blink/web_tests/platform/linux/fast/layers/scroll-with-transform-layer-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/layers/scroll-with-transform-layer-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/lists/008-expected.png b/third_party/blink/web_tests/platform/linux/fast/lists/008-expected.png
index 48409cf9..d09ebd2 100644
--- a/third_party/blink/web_tests/platform/linux/fast/lists/008-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/lists/008-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/lists/drag-into-marker-expected.png b/third_party/blink/web_tests/platform/linux/fast/lists/drag-into-marker-expected.png
index 45f457a9..aef5f5c 100644
--- a/third_party/blink/web_tests/platform/linux/fast/lists/drag-into-marker-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/lists/drag-into-marker-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/lists/dynamic-marker-crash-expected.png b/third_party/blink/web_tests/platform/linux/fast/lists/dynamic-marker-crash-expected.png
index 4f447a62..581ff60 100644
--- a/third_party/blink/web_tests/platform/linux/fast/lists/dynamic-marker-crash-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/lists/dynamic-marker-crash-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/lists/markers-in-selection-expected.png b/third_party/blink/web_tests/platform/linux/fast/lists/markers-in-selection-expected.png
index b669423..03e5540 100644
--- a/third_party/blink/web_tests/platform/linux/fast/lists/markers-in-selection-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/lists/markers-in-selection-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/lists/ol-start-parsing-expected.png b/third_party/blink/web_tests/platform/linux/fast/lists/ol-start-parsing-expected.png
index 15439d0..547b34d 100644
--- a/third_party/blink/web_tests/platform/linux/fast/lists/ol-start-parsing-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/lists/ol-start-parsing-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/lists/olstart-expected.png b/third_party/blink/web_tests/platform/linux/fast/lists/olstart-expected.png
index 2aff8a2..34fd18a 100644
--- a/third_party/blink/web_tests/platform/linux/fast/lists/olstart-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/lists/olstart-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/multicol/input-with-overflow-second-column-expected.png b/third_party/blink/web_tests/platform/linux/fast/multicol/input-with-overflow-second-column-expected.png
index cc6ead4..d771d84a 100644
--- a/third_party/blink/web_tests/platform/linux/fast/multicol/input-with-overflow-second-column-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/multicol/input-with-overflow-second-column-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/multicol/multicol-with-child-renderLayer-for-input-expected.png b/third_party/blink/web_tests/platform/linux/fast/multicol/multicol-with-child-renderLayer-for-input-expected.png
index 7f7af7f..f47e9408 100644
--- a/third_party/blink/web_tests/platform/linux/fast/multicol/multicol-with-child-renderLayer-for-input-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/multicol/multicol-with-child-renderLayer-for-input-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/overflow/002-expected.png b/third_party/blink/web_tests/platform/linux/fast/overflow/002-expected.png
index 3a92763c..4f5b64e 100644
--- a/third_party/blink/web_tests/platform/linux/fast/overflow/002-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/overflow/002-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/overflow/003-expected.png b/third_party/blink/web_tests/platform/linux/fast/overflow/003-expected.png
index 9c283ff..cb0279f 100644
--- a/third_party/blink/web_tests/platform/linux/fast/overflow/003-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/overflow/003-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/overflow/005-expected.png b/third_party/blink/web_tests/platform/linux/fast/overflow/005-expected.png
index 2f4639c..2b0eab0 100644
--- a/third_party/blink/web_tests/platform/linux/fast/overflow/005-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/overflow/005-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/overflow/006-expected.png b/third_party/blink/web_tests/platform/linux/fast/overflow/006-expected.png
index e2c3f6f..c66bd09 100644
--- a/third_party/blink/web_tests/platform/linux/fast/overflow/006-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/overflow/006-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/overflow/007-expected.png b/third_party/blink/web_tests/platform/linux/fast/overflow/007-expected.png
index 55361312..563d7f9 100644
--- a/third_party/blink/web_tests/platform/linux/fast/overflow/007-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/overflow/007-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/overflow/008-expected.png b/third_party/blink/web_tests/platform/linux/fast/overflow/008-expected.png
index 5dfd5c3..6aae20c 100644
--- a/third_party/blink/web_tests/platform/linux/fast/overflow/008-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/overflow/008-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/overflow/childFocusRingClip-expected.png b/third_party/blink/web_tests/platform/linux/fast/overflow/childFocusRingClip-expected.png
index f6dbb19..251ef86 100644
--- a/third_party/blink/web_tests/platform/linux/fast/overflow/childFocusRingClip-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/overflow/childFocusRingClip-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/overflow/clip-rects-fixed-ancestor-expected.png b/third_party/blink/web_tests/platform/linux/fast/overflow/clip-rects-fixed-ancestor-expected.png
index 9592dfb..1c7c051 100644
--- a/third_party/blink/web_tests/platform/linux/fast/overflow/clip-rects-fixed-ancestor-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/overflow/clip-rects-fixed-ancestor-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/overflow/float-in-relpositioned-expected.png b/third_party/blink/web_tests/platform/linux/fast/overflow/float-in-relpositioned-expected.png
index cdfc111..efc1b62 100644
--- a/third_party/blink/web_tests/platform/linux/fast/overflow/float-in-relpositioned-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/overflow/float-in-relpositioned-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/overflow/hit-test-overflow-controls-expected.png b/third_party/blink/web_tests/platform/linux/fast/overflow/hit-test-overflow-controls-expected.png
index 785201f8..477afa8 100644
--- a/third_party/blink/web_tests/platform/linux/fast/overflow/hit-test-overflow-controls-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/overflow/hit-test-overflow-controls-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/overflow/image-selection-highlight-expected.png b/third_party/blink/web_tests/platform/linux/fast/overflow/image-selection-highlight-expected.png
index 18b41f0..771a63f 100644
--- a/third_party/blink/web_tests/platform/linux/fast/overflow/image-selection-highlight-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/overflow/image-selection-highlight-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/overflow/overflow-auto-position-absolute-expected.png b/third_party/blink/web_tests/platform/linux/fast/overflow/overflow-auto-position-absolute-expected.png
index 53199352..83aa61f 100644
--- a/third_party/blink/web_tests/platform/linux/fast/overflow/overflow-auto-position-absolute-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/overflow/overflow-auto-position-absolute-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/overflow/overflow-float-stacking-expected.png b/third_party/blink/web_tests/platform/linux/fast/overflow/overflow-float-stacking-expected.png
index b1ab647..41908f5 100644
--- a/third_party/blink/web_tests/platform/linux/fast/overflow/overflow-float-stacking-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/overflow/overflow-float-stacking-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/overflow/overflow-rtl-expected.png b/third_party/blink/web_tests/platform/linux/fast/overflow/overflow-rtl-expected.png
index 13aa114..7b5659a 100644
--- a/third_party/blink/web_tests/platform/linux/fast/overflow/overflow-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/overflow/overflow-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/overflow/overflow-rtl-vertical-expected.png b/third_party/blink/web_tests/platform/linux/fast/overflow/overflow-rtl-vertical-expected.png
index 0e7fa074..5e5fe53a 100644
--- a/third_party/blink/web_tests/platform/linux/fast/overflow/overflow-rtl-vertical-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/overflow/overflow-rtl-vertical-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/overflow/overflow-stacking-expected.png b/third_party/blink/web_tests/platform/linux/fast/overflow/overflow-stacking-expected.png
index 442768cc..679f9e8b 100644
--- a/third_party/blink/web_tests/platform/linux/fast/overflow/overflow-stacking-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/overflow/overflow-stacking-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/overflow/overflow-text-hit-testing-expected.png b/third_party/blink/web_tests/platform/linux/fast/overflow/overflow-text-hit-testing-expected.png
index 25d942c..bdca2f04 100644
--- a/third_party/blink/web_tests/platform/linux/fast/overflow/overflow-text-hit-testing-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/overflow/overflow-text-hit-testing-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/overflow/overflow-with-local-background-attachment-expected.png b/third_party/blink/web_tests/platform/linux/fast/overflow/overflow-with-local-background-attachment-expected.png
index 5d31fc1..84cb2e0 100644
--- a/third_party/blink/web_tests/platform/linux/fast/overflow/overflow-with-local-background-attachment-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/overflow/overflow-with-local-background-attachment-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/overflow/overflow-x-y-expected.png b/third_party/blink/web_tests/platform/linux/fast/overflow/overflow-x-y-expected.png
index 01a9aa9..14c1a3d 100644
--- a/third_party/blink/web_tests/platform/linux/fast/overflow/overflow-x-y-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/overflow/overflow-x-y-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/overflow/position-fixed-transform-clipping-expected.png b/third_party/blink/web_tests/platform/linux/fast/overflow/position-fixed-transform-clipping-expected.png
index 7d93c67..e6b72284 100644
--- a/third_party/blink/web_tests/platform/linux/fast/overflow/position-fixed-transform-clipping-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/overflow/position-fixed-transform-clipping-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.png b/third_party/blink/web_tests/platform/linux/fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.png
index 4ac257f..8749de8 100644
--- a/third_party/blink/web_tests/platform/linux/fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/overflow/scrollRevealButton-expected.png b/third_party/blink/web_tests/platform/linux/fast/overflow/scrollRevealButton-expected.png
index 5477e87b..2076833 100644
--- a/third_party/blink/web_tests/platform/linux/fast/overflow/scrollRevealButton-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/overflow/scrollRevealButton-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/overflow/scrollbar-position-update-expected.png b/third_party/blink/web_tests/platform/linux/fast/overflow/scrollbar-position-update-expected.png
index e2808ab..e63b9e7 100644
--- a/third_party/blink/web_tests/platform/linux/fast/overflow/scrollbar-position-update-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/overflow/scrollbar-position-update-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/overflow/table-overflow-float-expected.png b/third_party/blink/web_tests/platform/linux/fast/overflow/table-overflow-float-expected.png
index 0f902e04..9683555 100644
--- a/third_party/blink/web_tests/platform/linux/fast/overflow/table-overflow-float-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/overflow/table-overflow-float-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/overflow/unreachable-overflow-rtl-bug-expected.png b/third_party/blink/web_tests/platform/linux/fast/overflow/unreachable-overflow-rtl-bug-expected.png
index 093fac43..7d77ac5 100644
--- a/third_party/blink/web_tests/platform/linux/fast/overflow/unreachable-overflow-rtl-bug-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/overflow/unreachable-overflow-rtl-bug-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/parser/bad-xml-slash-expected.png b/third_party/blink/web_tests/platform/linux/fast/parser/bad-xml-slash-expected.png
index 28c684d..cb033d3b 100644
--- a/third_party/blink/web_tests/platform/linux/fast/parser/bad-xml-slash-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/parser/bad-xml-slash-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/parser/document-write-option-expected.png b/third_party/blink/web_tests/platform/linux/fast/parser/document-write-option-expected.png
index bf5c563e..8e446e7 100644
--- a/third_party/blink/web_tests/platform/linux/fast/parser/document-write-option-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/parser/document-write-option-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/parser/entity-comment-in-textarea-expected.png b/third_party/blink/web_tests/platform/linux/fast/parser/entity-comment-in-textarea-expected.png
index 05ea8a1..ec14dce6 100644
--- a/third_party/blink/web_tests/platform/linux/fast/parser/entity-comment-in-textarea-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/parser/entity-comment-in-textarea-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/parser/open-comment-in-textarea-expected.png b/third_party/blink/web_tests/platform/linux/fast/parser/open-comment-in-textarea-expected.png
index fa8e484..67c86d6 100644
--- a/third_party/blink/web_tests/platform/linux/fast/parser/open-comment-in-textarea-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/parser/open-comment-in-textarea-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/reflections/inline-crash-expected.png b/third_party/blink/web_tests/platform/linux/fast/reflections/inline-crash-expected.png
index 78900b4..b3055fd 100644
--- a/third_party/blink/web_tests/platform/linux/fast/reflections/inline-crash-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/reflections/inline-crash-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/replaced/border-radius-clip-expected.png b/third_party/blink/web_tests/platform/linux/fast/replaced/border-radius-clip-expected.png
index 2419ac8..57a767ba 100644
--- a/third_party/blink/web_tests/platform/linux/fast/replaced/border-radius-clip-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/replaced/border-radius-clip-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/replaced/replaced-breaking-expected.png b/third_party/blink/web_tests/platform/linux/fast/replaced/replaced-breaking-expected.png
index 529303a..85f42c6 100644
--- a/third_party/blink/web_tests/platform/linux/fast/replaced/replaced-breaking-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/replaced/replaced-breaking-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/replaced/replaced-breaking-mixture-expected.png b/third_party/blink/web_tests/platform/linux/fast/replaced/replaced-breaking-mixture-expected.png
index 87d04329..de85195 100644
--- a/third_party/blink/web_tests/platform/linux/fast/replaced/replaced-breaking-mixture-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/replaced/replaced-breaking-mixture-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/replaced/three-selects-break-expected.png b/third_party/blink/web_tests/platform/linux/fast/replaced/three-selects-break-expected.png
index 0ec437c..cb596c80 100644
--- a/third_party/blink/web_tests/platform/linux/fast/replaced/three-selects-break-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/replaced/three-selects-break-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/replaced/width100percent-button-expected.png b/third_party/blink/web_tests/platform/linux/fast/replaced/width100percent-button-expected.png
index cd5d791..a89f4a7 100644
--- a/third_party/blink/web_tests/platform/linux/fast/replaced/width100percent-button-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/replaced/width100percent-button-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/replaced/width100percent-checkbox-expected.png b/third_party/blink/web_tests/platform/linux/fast/replaced/width100percent-checkbox-expected.png
index fce8c556..f3abc35 100644
--- a/third_party/blink/web_tests/platform/linux/fast/replaced/width100percent-checkbox-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/replaced/width100percent-checkbox-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/replaced/width100percent-menulist-expected.png b/third_party/blink/web_tests/platform/linux/fast/replaced/width100percent-menulist-expected.png
index e676aa9..ad6913e 100644
--- a/third_party/blink/web_tests/platform/linux/fast/replaced/width100percent-menulist-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/replaced/width100percent-menulist-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/replaced/width100percent-radio-expected.png b/third_party/blink/web_tests/platform/linux/fast/replaced/width100percent-radio-expected.png
index 0525213..a068891 100644
--- a/third_party/blink/web_tests/platform/linux/fast/replaced/width100percent-radio-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/replaced/width100percent-radio-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/replaced/width100percent-searchfield-expected.png b/third_party/blink/web_tests/platform/linux/fast/replaced/width100percent-searchfield-expected.png
index 27e6f050..918fa2c 100644
--- a/third_party/blink/web_tests/platform/linux/fast/replaced/width100percent-searchfield-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/replaced/width100percent-searchfield-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/replaced/width100percent-textarea-expected.png b/third_party/blink/web_tests/platform/linux/fast/replaced/width100percent-textarea-expected.png
index 2bfc0cc9..8d62374 100644
--- a/third_party/blink/web_tests/platform/linux/fast/replaced/width100percent-textarea-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/replaced/width100percent-textarea-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/replaced/width100percent-textfield-expected.png b/third_party/blink/web_tests/platform/linux/fast/replaced/width100percent-textfield-expected.png
index 775fe103..11631cd 100644
--- a/third_party/blink/web_tests/platform/linux/fast/replaced/width100percent-textfield-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/replaced/width100percent-textfield-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/ruby/select-ruby-expected.png b/third_party/blink/web_tests/platform/linux/fast/ruby/select-ruby-expected.png
index c761254e..bf1075b 100644
--- a/third_party/blink/web_tests/platform/linux/fast/ruby/select-ruby-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/ruby/select-ruby-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/selectors/064-expected.png b/third_party/blink/web_tests/platform/linux/fast/selectors/064-expected.png
index 7949efa..a018c5c 100644
--- a/third_party/blink/web_tests/platform/linux/fast/selectors/064-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/selectors/064-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/selectors/166-expected.png b/third_party/blink/web_tests/platform/linux/fast/selectors/166-expected.png
index d2b7ee84..84dc82cd 100644
--- a/third_party/blink/web_tests/platform/linux/fast/selectors/166-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/selectors/166-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/selectors/177a-expected.png b/third_party/blink/web_tests/platform/linux/fast/selectors/177a-expected.png
index a95d92d..3208c2b1 100644
--- a/third_party/blink/web_tests/platform/linux/fast/selectors/177a-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/selectors/177a-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/spatial-navigation/snav-multiple-select-focusring-expected.png b/third_party/blink/web_tests/platform/linux/fast/spatial-navigation/snav-multiple-select-focusring-expected.png
index 553f17e..a8d8530 100644
--- a/third_party/blink/web_tests/platform/linux/fast/spatial-navigation/snav-multiple-select-focusring-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/spatial-navigation/snav-multiple-select-focusring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/table/003-expected.png b/third_party/blink/web_tests/platform/linux/fast/table/003-expected.png
index a2b8701..5fb6486 100644
--- a/third_party/blink/web_tests/platform/linux/fast/table/003-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/table/003-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/table/023-expected.png b/third_party/blink/web_tests/platform/linux/fast/table/023-expected.png
index abf1224..98e3bdca 100644
--- a/third_party/blink/web_tests/platform/linux/fast/table/023-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/table/023-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/table/027-vertical-expected.png b/third_party/blink/web_tests/platform/linux/fast/table/027-vertical-expected.png
index d0f6ade..0cab2bc 100644
--- a/third_party/blink/web_tests/platform/linux/fast/table/027-vertical-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/table/027-vertical-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/table/040-expected.png b/third_party/blink/web_tests/platform/linux/fast/table/040-expected.png
index b5a6fd36..d86e0d1c8 100644
--- a/third_party/blink/web_tests/platform/linux/fast/table/040-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/table/040-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/table/040-vertical-expected.png b/third_party/blink/web_tests/platform/linux/fast/table/040-vertical-expected.png
index 3037487c..5543ba8 100644
--- a/third_party/blink/web_tests/platform/linux/fast/table/040-vertical-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/table/040-vertical-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/table/append-cells2-expected.png b/third_party/blink/web_tests/platform/linux/fast/table/append-cells2-expected.png
index 19c9b002..1ba81894f 100644
--- a/third_party/blink/web_tests/platform/linux/fast/table/append-cells2-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/table/append-cells2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/table/backgr_border-table-cell-collapsed-border-expected.png b/third_party/blink/web_tests/platform/linux/fast/table/backgr_border-table-cell-collapsed-border-expected.png
index 51dfbb25..8eb7c90 100644
--- a/third_party/blink/web_tests/platform/linux/fast/table/backgr_border-table-cell-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/table/backgr_border-table-cell-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/table/backgr_border-table-cell-expected.png b/third_party/blink/web_tests/platform/linux/fast/table/backgr_border-table-cell-expected.png
index 0fda9da..f9e9f09 100644
--- a/third_party/blink/web_tests/platform/linux/fast/table/backgr_border-table-cell-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/table/backgr_border-table-cell-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/table/backgr_border-table-column-collapsed-border-expected.png b/third_party/blink/web_tests/platform/linux/fast/table/backgr_border-table-column-collapsed-border-expected.png
index e3de8e06..5ef8c8f0 100644
--- a/third_party/blink/web_tests/platform/linux/fast/table/backgr_border-table-column-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/table/backgr_border-table-column-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/table/backgr_border-table-column-expected.png b/third_party/blink/web_tests/platform/linux/fast/table/backgr_border-table-column-expected.png
index e30c2f5..05aa74e 100644
--- a/third_party/blink/web_tests/platform/linux/fast/table/backgr_border-table-column-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/table/backgr_border-table-column-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/table/backgr_border-table-column-group-collapsed-border-expected.png b/third_party/blink/web_tests/platform/linux/fast/table/backgr_border-table-column-group-collapsed-border-expected.png
index 2e16351..de440c7 100644
--- a/third_party/blink/web_tests/platform/linux/fast/table/backgr_border-table-column-group-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/table/backgr_border-table-column-group-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/table/backgr_border-table-column-group-expected.png b/third_party/blink/web_tests/platform/linux/fast/table/backgr_border-table-column-group-expected.png
index 2b4eabbb..5bdd05b 100644
--- a/third_party/blink/web_tests/platform/linux/fast/table/backgr_border-table-column-group-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/table/backgr_border-table-column-group-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/table/backgr_border-table-expected.png b/third_party/blink/web_tests/platform/linux/fast/table/backgr_border-table-expected.png
index 0ed704a..e9a4f0f 100644
--- a/third_party/blink/web_tests/platform/linux/fast/table/backgr_border-table-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/table/backgr_border-table-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/table/backgr_border-table-quirks-expected.png b/third_party/blink/web_tests/platform/linux/fast/table/backgr_border-table-quirks-expected.png
index d323e585..553473f 100644
--- a/third_party/blink/web_tests/platform/linux/fast/table/backgr_border-table-quirks-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/table/backgr_border-table-quirks-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/table/backgr_border-table-row-collapsed-border-expected.png b/third_party/blink/web_tests/platform/linux/fast/table/backgr_border-table-row-collapsed-border-expected.png
index 8cf58d0..6896e80 100644
--- a/third_party/blink/web_tests/platform/linux/fast/table/backgr_border-table-row-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/table/backgr_border-table-row-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/table/backgr_border-table-row-expected.png b/third_party/blink/web_tests/platform/linux/fast/table/backgr_border-table-row-expected.png
index aa62dde..f8687139 100644
--- a/third_party/blink/web_tests/platform/linux/fast/table/backgr_border-table-row-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/table/backgr_border-table-row-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/table/backgr_border-table-row-group-collapsed-border-expected.png b/third_party/blink/web_tests/platform/linux/fast/table/backgr_border-table-row-group-collapsed-border-expected.png
index 77a145d4..14cda614 100644
--- a/third_party/blink/web_tests/platform/linux/fast/table/backgr_border-table-row-group-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/table/backgr_border-table-row-group-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/table/backgr_border-table-row-group-expected.png b/third_party/blink/web_tests/platform/linux/fast/table/backgr_border-table-row-group-expected.png
index 720d84b1..e031db09 100644
--- a/third_party/blink/web_tests/platform/linux/fast/table/backgr_border-table-row-group-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/table/backgr_border-table-row-group-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/table/backgr_layers-hide-expected.png b/third_party/blink/web_tests/platform/linux/fast/table/backgr_layers-hide-expected.png
index 6bb8b85..87bacfe 100644
--- a/third_party/blink/web_tests/platform/linux/fast/table/backgr_layers-hide-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/table/backgr_layers-hide-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/table/backgr_layers-show-collapsed-border-expected.png b/third_party/blink/web_tests/platform/linux/fast/table/backgr_layers-show-collapsed-border-expected.png
index 6ef48b6..83130d1 100644
--- a/third_party/blink/web_tests/platform/linux/fast/table/backgr_layers-show-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/table/backgr_layers-show-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/table/backgr_layers-show-expected.png b/third_party/blink/web_tests/platform/linux/fast/table/backgr_layers-show-expected.png
index ea9fbe4..be86ad5 100644
--- a/third_party/blink/web_tests/platform/linux/fast/table/backgr_layers-show-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/table/backgr_layers-show-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/table/backgr_position-table-cell-collapsed-border-expected.png b/third_party/blink/web_tests/platform/linux/fast/table/backgr_position-table-cell-collapsed-border-expected.png
index 49147656..276fd291 100644
--- a/third_party/blink/web_tests/platform/linux/fast/table/backgr_position-table-cell-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/table/backgr_position-table-cell-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/table/backgr_position-table-cell-expected.png b/third_party/blink/web_tests/platform/linux/fast/table/backgr_position-table-cell-expected.png
index fe86b9a..bea2734 100644
--- a/third_party/blink/web_tests/platform/linux/fast/table/backgr_position-table-cell-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/table/backgr_position-table-cell-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/table/backgr_position-table-column-collapsed-border-expected.png b/third_party/blink/web_tests/platform/linux/fast/table/backgr_position-table-column-collapsed-border-expected.png
index 1ed967c..cca42ef 100644
--- a/third_party/blink/web_tests/platform/linux/fast/table/backgr_position-table-column-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/table/backgr_position-table-column-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/table/backgr_position-table-column-expected.png b/third_party/blink/web_tests/platform/linux/fast/table/backgr_position-table-column-expected.png
index c1130edc..4d5f54c 100644
--- a/third_party/blink/web_tests/platform/linux/fast/table/backgr_position-table-column-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/table/backgr_position-table-column-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/table/backgr_position-table-column-group-collapsed-border-expected.png b/third_party/blink/web_tests/platform/linux/fast/table/backgr_position-table-column-group-collapsed-border-expected.png
index 408d804..83627f031 100644
--- a/third_party/blink/web_tests/platform/linux/fast/table/backgr_position-table-column-group-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/table/backgr_position-table-column-group-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/table/backgr_position-table-column-group-expected.png b/third_party/blink/web_tests/platform/linux/fast/table/backgr_position-table-column-group-expected.png
index a2b57e4f..47d134c 100644
--- a/third_party/blink/web_tests/platform/linux/fast/table/backgr_position-table-column-group-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/table/backgr_position-table-column-group-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/table/backgr_position-table-expected.png b/third_party/blink/web_tests/platform/linux/fast/table/backgr_position-table-expected.png
index cf640f9..f72aea13 100644
--- a/third_party/blink/web_tests/platform/linux/fast/table/backgr_position-table-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/table/backgr_position-table-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/table/backgr_position-table-row-collapsed-border-expected.png b/third_party/blink/web_tests/platform/linux/fast/table/backgr_position-table-row-collapsed-border-expected.png
index 03ac644..99ec010 100644
--- a/third_party/blink/web_tests/platform/linux/fast/table/backgr_position-table-row-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/table/backgr_position-table-row-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/table/backgr_position-table-row-expected.png b/third_party/blink/web_tests/platform/linux/fast/table/backgr_position-table-row-expected.png
index c7747e5..0998ef0 100644
--- a/third_party/blink/web_tests/platform/linux/fast/table/backgr_position-table-row-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/table/backgr_position-table-row-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/table/backgr_position-table-row-group-collapsed-border-expected.png b/third_party/blink/web_tests/platform/linux/fast/table/backgr_position-table-row-group-collapsed-border-expected.png
index 3ddabe2..82b2d29 100644
--- a/third_party/blink/web_tests/platform/linux/fast/table/backgr_position-table-row-group-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/table/backgr_position-table-row-group-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/table/backgr_position-table-row-group-expected.png b/third_party/blink/web_tests/platform/linux/fast/table/backgr_position-table-row-group-expected.png
index de88571..a9e1cf2 100644
--- a/third_party/blink/web_tests/platform/linux/fast/table/backgr_position-table-row-group-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/table/backgr_position-table-row-group-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/table/backgr_simple-table-cell-collapsed-border-expected.png b/third_party/blink/web_tests/platform/linux/fast/table/backgr_simple-table-cell-collapsed-border-expected.png
index 5148c22..34d581f 100644
--- a/third_party/blink/web_tests/platform/linux/fast/table/backgr_simple-table-cell-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/table/backgr_simple-table-cell-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/table/backgr_simple-table-cell-expected.png b/third_party/blink/web_tests/platform/linux/fast/table/backgr_simple-table-cell-expected.png
index 00c2bd1..74b3b4701 100644
--- a/third_party/blink/web_tests/platform/linux/fast/table/backgr_simple-table-cell-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/table/backgr_simple-table-cell-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/table/backgr_simple-table-collapsed-border-expected.png b/third_party/blink/web_tests/platform/linux/fast/table/backgr_simple-table-collapsed-border-expected.png
index 51e47b0..b172b6c 100644
--- a/third_party/blink/web_tests/platform/linux/fast/table/backgr_simple-table-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/table/backgr_simple-table-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/table/backgr_simple-table-column-collapsed-border-expected.png b/third_party/blink/web_tests/platform/linux/fast/table/backgr_simple-table-column-collapsed-border-expected.png
index 1a7e6c9a..63925fd 100644
--- a/third_party/blink/web_tests/platform/linux/fast/table/backgr_simple-table-column-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/table/backgr_simple-table-column-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/table/backgr_simple-table-column-expected.png b/third_party/blink/web_tests/platform/linux/fast/table/backgr_simple-table-column-expected.png
index 9113991d..d511542 100644
--- a/third_party/blink/web_tests/platform/linux/fast/table/backgr_simple-table-column-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/table/backgr_simple-table-column-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/table/backgr_simple-table-column-group-collapsed-border-expected.png b/third_party/blink/web_tests/platform/linux/fast/table/backgr_simple-table-column-group-collapsed-border-expected.png
index 133ab8f..0a6ca5e 100644
--- a/third_party/blink/web_tests/platform/linux/fast/table/backgr_simple-table-column-group-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/table/backgr_simple-table-column-group-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/table/backgr_simple-table-column-group-expected.png b/third_party/blink/web_tests/platform/linux/fast/table/backgr_simple-table-column-group-expected.png
index 611cbc2..6d8d990 100644
--- a/third_party/blink/web_tests/platform/linux/fast/table/backgr_simple-table-column-group-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/table/backgr_simple-table-column-group-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/table/backgr_simple-table-expected.png b/third_party/blink/web_tests/platform/linux/fast/table/backgr_simple-table-expected.png
index 539ef9cfc..eeffcf3 100644
--- a/third_party/blink/web_tests/platform/linux/fast/table/backgr_simple-table-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/table/backgr_simple-table-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/table/backgr_simple-table-row-collapsed-border-expected.png b/third_party/blink/web_tests/platform/linux/fast/table/backgr_simple-table-row-collapsed-border-expected.png
index c07e33a2..8353b2b6 100644
--- a/third_party/blink/web_tests/platform/linux/fast/table/backgr_simple-table-row-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/table/backgr_simple-table-row-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/table/backgr_simple-table-row-expected.png b/third_party/blink/web_tests/platform/linux/fast/table/backgr_simple-table-row-expected.png
index 8ea6ea76..8be70852 100644
--- a/third_party/blink/web_tests/platform/linux/fast/table/backgr_simple-table-row-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/table/backgr_simple-table-row-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/table/backgr_simple-table-row-group-collapsed-border-expected.png b/third_party/blink/web_tests/platform/linux/fast/table/backgr_simple-table-row-group-collapsed-border-expected.png
index 1d0c6106..c93737c 100644
--- a/third_party/blink/web_tests/platform/linux/fast/table/backgr_simple-table-row-group-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/table/backgr_simple-table-row-group-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/table/backgr_simple-table-row-group-expected.png b/third_party/blink/web_tests/platform/linux/fast/table/backgr_simple-table-row-group-expected.png
index 18241b6..92e94c1 100644
--- a/third_party/blink/web_tests/platform/linux/fast/table/backgr_simple-table-row-group-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/table/backgr_simple-table-row-group-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/table/border-collapsing/004-expected.png b/third_party/blink/web_tests/platform/linux/fast/table/border-collapsing/004-expected.png
index 378963f..72bd206 100644
--- a/third_party/blink/web_tests/platform/linux/fast/table/border-collapsing/004-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/table/border-collapsing/004-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/table/colspanMinWidth-expected.png b/third_party/blink/web_tests/platform/linux/fast/table/colspanMinWidth-expected.png
index fbb5d88..a45848d 100644
--- a/third_party/blink/web_tests/platform/linux/fast/table/colspanMinWidth-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/table/colspanMinWidth-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/table/colspanMinWidth-vertical-expected.png b/third_party/blink/web_tests/platform/linux/fast/table/colspanMinWidth-vertical-expected.png
index 5f7c19470..57d92703 100644
--- a/third_party/blink/web_tests/platform/linux/fast/table/colspanMinWidth-vertical-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/table/colspanMinWidth-vertical-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/table/edge-offsets-expected.png b/third_party/blink/web_tests/platform/linux/fast/table/edge-offsets-expected.png
index 7e43395..a8ea6b45 100644
--- a/third_party/blink/web_tests/platform/linux/fast/table/edge-offsets-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/table/edge-offsets-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/table/empty-cells-expected.png b/third_party/blink/web_tests/platform/linux/fast/table/empty-cells-expected.png
index f9f01fd..7a072fd5 100644
--- a/third_party/blink/web_tests/platform/linux/fast/table/empty-cells-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/table/empty-cells-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/table/frame-and-rules-expected.png b/third_party/blink/web_tests/platform/linux/fast/table/frame-and-rules-expected.png
index 6a05138..d1d02181 100644
--- a/third_party/blink/web_tests/platform/linux/fast/table/frame-and-rules-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/table/frame-and-rules-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/table/overflowHidden-expected.png b/third_party/blink/web_tests/platform/linux/fast/table/overflowHidden-expected.png
index 32c54d6..dc189b1 100644
--- a/third_party/blink/web_tests/platform/linux/fast/table/overflowHidden-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/table/overflowHidden-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/table/prepend-in-anonymous-table-expected.png b/third_party/blink/web_tests/platform/linux/fast/table/prepend-in-anonymous-table-expected.png
index 70996d1..393533f 100644
--- a/third_party/blink/web_tests/platform/linux/fast/table/prepend-in-anonymous-table-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/table/prepend-in-anonymous-table-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/table/remove-td-display-none-expected.png b/third_party/blink/web_tests/platform/linux/fast/table/remove-td-display-none-expected.png
index 53f02b09..f147479 100644
--- a/third_party/blink/web_tests/platform/linux/fast/table/remove-td-display-none-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/table/remove-td-display-none-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/table/spanOverlapRepaint-expected.png b/third_party/blink/web_tests/platform/linux/fast/table/spanOverlapRepaint-expected.png
index 6bca4a9..32f865f 100644
--- a/third_party/blink/web_tests/platform/linux/fast/table/spanOverlapRepaint-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/table/spanOverlapRepaint-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/table/table-display-types-vertical-expected.png b/third_party/blink/web_tests/platform/linux/fast/table/table-display-types-vertical-expected.png
index 9c65764..1b06f6b 100644
--- a/third_party/blink/web_tests/platform/linux/fast/table/table-display-types-vertical-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/table/table-display-types-vertical-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/table/text-field-baseline-expected.png b/third_party/blink/web_tests/platform/linux/fast/table/text-field-baseline-expected.png
index d0cd465e..594b44b 100644
--- a/third_party/blink/web_tests/platform/linux/fast/table/text-field-baseline-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/table/text-field-baseline-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/text-autosizing/hackernews-comments-expected.png b/third_party/blink/web_tests/platform/linux/fast/text-autosizing/hackernews-comments-expected.png
index 370d7cd..76fc67f 100644
--- a/third_party/blink/web_tests/platform/linux/fast/text-autosizing/hackernews-comments-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/text-autosizing/hackernews-comments-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/text/capitalize-boundaries-expected.png b/third_party/blink/web_tests/platform/linux/fast/text/capitalize-boundaries-expected.png
index 461f2663..de0ba09b 100644
--- a/third_party/blink/web_tests/platform/linux/fast/text/capitalize-boundaries-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/text/capitalize-boundaries-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/text/caps-lock-indicator-disabled-expected.png b/third_party/blink/web_tests/platform/linux/fast/text/caps-lock-indicator-disabled-expected.png
index 7763dcd..b75995d 100644
--- a/third_party/blink/web_tests/platform/linux/fast/text/caps-lock-indicator-disabled-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/text/caps-lock-indicator-disabled-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/text/caps-lock-indicator-enabled-expected.png b/third_party/blink/web_tests/platform/linux/fast/text/caps-lock-indicator-enabled-expected.png
index fd172652..fba57fc 100644
--- a/third_party/blink/web_tests/platform/linux/fast/text/caps-lock-indicator-enabled-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/text/caps-lock-indicator-enabled-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/text/caps-lock-indicator-enabled-rtl-expected.png b/third_party/blink/web_tests/platform/linux/fast/text/caps-lock-indicator-enabled-rtl-expected.png
index 6203bd0a..f7b81ff 100644
--- a/third_party/blink/web_tests/platform/linux/fast/text/caps-lock-indicator-enabled-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/text/caps-lock-indicator-enabled-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/text/drawBidiText-expected.png b/third_party/blink/web_tests/platform/linux/fast/text/drawBidiText-expected.png
index 90b240d..286109d 100644
--- a/third_party/blink/web_tests/platform/linux/fast/text/drawBidiText-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/text/drawBidiText-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/text/font-format-support-color-cff2-expected.png b/third_party/blink/web_tests/platform/linux/fast/text/font-format-support-color-cff2-expected.png
index 10178ce..0c2e0cd 100644
--- a/third_party/blink/web_tests/platform/linux/fast/text/font-format-support-color-cff2-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/text/font-format-support-color-cff2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/text/font-stretch-variant-expected.png b/third_party/blink/web_tests/platform/linux/fast/text/font-stretch-variant-expected.png
index 357b09ca..895a648 100644
--- a/third_party/blink/web_tests/platform/linux/fast/text/font-stretch-variant-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/text/font-stretch-variant-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/text/font-weight-variant-expected.png b/third_party/blink/web_tests/platform/linux/fast/text/font-weight-variant-expected.png
index 6e5c726..a231a8c 100644
--- a/third_party/blink/web_tests/platform/linux/fast/text/font-weight-variant-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/text/font-weight-variant-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/text/international/003-expected.png b/third_party/blink/web_tests/platform/linux/fast/text/international/003-expected.png
index b184c73..7b222fc3 100644
--- a/third_party/blink/web_tests/platform/linux/fast/text/international/003-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/text/international/003-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/text/international/bidi-listbox-atsui-expected.png b/third_party/blink/web_tests/platform/linux/fast/text/international/bidi-listbox-atsui-expected.png
index 0d9c6dfb..e677810 100644
--- a/third_party/blink/web_tests/platform/linux/fast/text/international/bidi-listbox-atsui-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/text/international/bidi-listbox-atsui-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/text/international/bidi-listbox-expected.png b/third_party/blink/web_tests/platform/linux/fast/text/international/bidi-listbox-expected.png
index 97902046c..a8ddbe7 100644
--- a/third_party/blink/web_tests/platform/linux/fast/text/international/bidi-listbox-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/text/international/bidi-listbox-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/text/international/bidi-neutral-run-expected.png b/third_party/blink/web_tests/platform/linux/fast/text/international/bidi-neutral-run-expected.png
index 8a53c9f..1a0bbfab 100644
--- a/third_party/blink/web_tests/platform/linux/fast/text/international/bidi-neutral-run-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/text/international/bidi-neutral-run-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/text/international/hindi-spacing-expected.png b/third_party/blink/web_tests/platform/linux/fast/text/international/hindi-spacing-expected.png
index 0e306e3..9ddb46ca 100644
--- a/third_party/blink/web_tests/platform/linux/fast/text/international/hindi-spacing-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/text/international/hindi-spacing-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/text/international/rtl-white-space-pre-wrap-expected.png b/third_party/blink/web_tests/platform/linux/fast/text/international/rtl-white-space-pre-wrap-expected.png
index 8fc4484..0c9b0efc3 100644
--- a/third_party/blink/web_tests/platform/linux/fast/text/international/rtl-white-space-pre-wrap-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/text/international/rtl-white-space-pre-wrap-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/text/international/unicode-bidi-plaintext-in-textarea-expected.png b/third_party/blink/web_tests/platform/linux/fast/text/international/unicode-bidi-plaintext-in-textarea-expected.png
index 621bf7d..3386275 100644
--- a/third_party/blink/web_tests/platform/linux/fast/text/international/unicode-bidi-plaintext-in-textarea-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/text/international/unicode-bidi-plaintext-in-textarea-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/text/letter-spacing-leading-and-trailing-expected.png b/third_party/blink/web_tests/platform/linux/fast/text/letter-spacing-leading-and-trailing-expected.png
index e912573..dfb998f 100644
--- a/third_party/blink/web_tests/platform/linux/fast/text/letter-spacing-leading-and-trailing-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/text/letter-spacing-leading-and-trailing-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/text/selection/atsui-kerning-and-ligatures-expected.png b/third_party/blink/web_tests/platform/linux/fast/text/selection/atsui-kerning-and-ligatures-expected.png
index 81a2a5b..55c33ad 100644
--- a/third_party/blink/web_tests/platform/linux/fast/text/selection/atsui-kerning-and-ligatures-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/text/selection/atsui-kerning-and-ligatures-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/text/selection/atsui-rtl-override-selection-expected.png b/third_party/blink/web_tests/platform/linux/fast/text/selection/atsui-rtl-override-selection-expected.png
index 14e19ebb..f2f1851 100644
--- a/third_party/blink/web_tests/platform/linux/fast/text/selection/atsui-rtl-override-selection-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/text/selection/atsui-rtl-override-selection-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/text/selection/complex-text-rtl-selection-repaint-expected.png b/third_party/blink/web_tests/platform/linux/fast/text/selection/complex-text-rtl-selection-repaint-expected.png
index 501f6ec8..eaf7a62 100644
--- a/third_party/blink/web_tests/platform/linux/fast/text/selection/complex-text-rtl-selection-repaint-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/text/selection/complex-text-rtl-selection-repaint-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/text/selection/emphasis-expected.png b/third_party/blink/web_tests/platform/linux/fast/text/selection/emphasis-expected.png
index 253c31d..d3d127e 100644
--- a/third_party/blink/web_tests/platform/linux/fast/text/selection/emphasis-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/text/selection/emphasis-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/text/selection/flexbox-selection-expected.png b/third_party/blink/web_tests/platform/linux/fast/text/selection/flexbox-selection-expected.png
index cd18fbb9..5eed60b 100644
--- a/third_party/blink/web_tests/platform/linux/fast/text/selection/flexbox-selection-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/text/selection/flexbox-selection-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/text/selection/flexbox-selection-nested-expected.png b/third_party/blink/web_tests/platform/linux/fast/text/selection/flexbox-selection-nested-expected.png
index f2524d2d..f4520a81 100644
--- a/third_party/blink/web_tests/platform/linux/fast/text/selection/flexbox-selection-nested-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/text/selection/flexbox-selection-nested-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/text/selection/khmer-selection-expected.png b/third_party/blink/web_tests/platform/linux/fast/text/selection/khmer-selection-expected.png
index d4793557..1f619998 100644
--- a/third_party/blink/web_tests/platform/linux/fast/text/selection/khmer-selection-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/text/selection/khmer-selection-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/text/selection/mixed-directionality-selection-expected.png b/third_party/blink/web_tests/platform/linux/fast/text/selection/mixed-directionality-selection-expected.png
index c841428d3..233d1e85 100644
--- a/third_party/blink/web_tests/platform/linux/fast/text/selection/mixed-directionality-selection-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/text/selection/mixed-directionality-selection-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/text/selection/pre-wrap-overflow-selection-expected.png b/third_party/blink/web_tests/platform/linux/fast/text/selection/pre-wrap-overflow-selection-expected.png
index 3983243..b194c664 100644
--- a/third_party/blink/web_tests/platform/linux/fast/text/selection/pre-wrap-overflow-selection-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/text/selection/pre-wrap-overflow-selection-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/text/selection/selection-hard-linebreak-expected.png b/third_party/blink/web_tests/platform/linux/fast/text/selection/selection-hard-linebreak-expected.png
index 864ec48..72015ca 100644
--- a/third_party/blink/web_tests/platform/linux/fast/text/selection/selection-hard-linebreak-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/text/selection/selection-hard-linebreak-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/text/selection/selection-painting-hidpi-expected.png b/third_party/blink/web_tests/platform/linux/fast/text/selection/selection-painting-hidpi-expected.png
index ce00f7b..4af4faf 100644
--- a/third_party/blink/web_tests/platform/linux/fast/text/selection/selection-painting-hidpi-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/text/selection/selection-painting-hidpi-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/text/selection/selection-with-inline-padding-expected.png b/third_party/blink/web_tests/platform/linux/fast/text/selection/selection-with-inline-padding-expected.png
index e31f815..1617743 100644
--- a/third_party/blink/web_tests/platform/linux/fast/text/selection/selection-with-inline-padding-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/text/selection/selection-with-inline-padding-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/text/selection/shaping-selection-rect-expected.png b/third_party/blink/web_tests/platform/linux/fast/text/selection/shaping-selection-rect-expected.png
index 52202de11..2225d7e 100644
--- a/third_party/blink/web_tests/platform/linux/fast/text/selection/shaping-selection-rect-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/text/selection/shaping-selection-rect-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/text/selection/should-use-atsui-expected.png b/third_party/blink/web_tests/platform/linux/fast/text/selection/should-use-atsui-expected.png
index d2ce4d1..cbab5d7 100644
--- a/third_party/blink/web_tests/platform/linux/fast/text/selection/should-use-atsui-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/text/selection/should-use-atsui-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/text/softHyphen-expected.png b/third_party/blink/web_tests/platform/linux/fast/text/softHyphen-expected.png
index cf98b02..0de13ab 100644
--- a/third_party/blink/web_tests/platform/linux/fast/text/softHyphen-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/text/softHyphen-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/text/textIteratorNilRenderer-expected.png b/third_party/blink/web_tests/platform/linux/fast/text/textIteratorNilRenderer-expected.png
index 6917c8d0..f0063d53 100644
--- a/third_party/blink/web_tests/platform/linux/fast/text/textIteratorNilRenderer-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/text/textIteratorNilRenderer-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/text/unicode-fallback-font-expected.png b/third_party/blink/web_tests/platform/linux/fast/text/unicode-fallback-font-expected.png
index 270c07f8..344c2bb3 100644
--- a/third_party/blink/web_tests/platform/linux/fast/text/unicode-fallback-font-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/text/unicode-fallback-font-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/text/updateNewFont-expected.png b/third_party/blink/web_tests/platform/linux/fast/text/updateNewFont-expected.png
index 78e8f88d..8ba72a55 100644
--- a/third_party/blink/web_tests/platform/linux/fast/text/updateNewFont-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/text/updateNewFont-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/text/whitespace/024-expected.png b/third_party/blink/web_tests/platform/linux/fast/text/whitespace/024-expected.png
index 285ce75d..785fee0 100644
--- a/third_party/blink/web_tests/platform/linux/fast/text/whitespace/024-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/text/whitespace/024-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/text/whitespace/normal-after-nowrap-breaking-expected.png b/third_party/blink/web_tests/platform/linux/fast/text/whitespace/normal-after-nowrap-breaking-expected.png
index fe751ee8..86dbef8 100644
--- a/third_party/blink/web_tests/platform/linux/fast/text/whitespace/normal-after-nowrap-breaking-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/text/whitespace/normal-after-nowrap-breaking-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/text/word-break-expected.png b/third_party/blink/web_tests/platform/linux/fast/text/word-break-expected.png
index 26778aa..bbe13ebe 100644
--- a/third_party/blink/web_tests/platform/linux/fast/text/word-break-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/text/word-break-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/writing-mode/border-radius-clipping-vertical-lr-expected.png b/third_party/blink/web_tests/platform/linux/fast/writing-mode/border-radius-clipping-vertical-lr-expected.png
index bbf17c6d7..ed575dc6 100644
--- a/third_party/blink/web_tests/platform/linux/fast/writing-mode/border-radius-clipping-vertical-lr-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/writing-mode/border-radius-clipping-vertical-lr-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/writing-mode/fieldsets-expected.png b/third_party/blink/web_tests/platform/linux/fast/writing-mode/fieldsets-expected.png
index ceee8b0..df8dbae 100644
--- a/third_party/blink/web_tests/platform/linux/fast/writing-mode/fieldsets-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/writing-mode/fieldsets-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fonts/cursive-expected.png b/third_party/blink/web_tests/platform/linux/fonts/cursive-expected.png
index 8c8cfd6..c7476e4 100644
--- a/third_party/blink/web_tests/platform/linux/fonts/cursive-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fonts/cursive-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fonts/default-expected.png b/third_party/blink/web_tests/platform/linux/fonts/default-expected.png
index c84e1e5..aa5be0c 100644
--- a/third_party/blink/web_tests/platform/linux/fonts/default-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fonts/default-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fonts/fantasy-expected.png b/third_party/blink/web_tests/platform/linux/fonts/fantasy-expected.png
index d6f9572..5d1a7be 100644
--- a/third_party/blink/web_tests/platform/linux/fonts/fantasy-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fonts/fantasy-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fonts/monospace-expected.png b/third_party/blink/web_tests/platform/linux/fonts/monospace-expected.png
index 2403a9f4..9d4c11c 100644
--- a/third_party/blink/web_tests/platform/linux/fonts/monospace-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fonts/monospace-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fonts/sans-serif-expected.png b/third_party/blink/web_tests/platform/linux/fonts/sans-serif-expected.png
index 207b0a3..87dd5a7 100644
--- a/third_party/blink/web_tests/platform/linux/fonts/sans-serif-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fonts/sans-serif-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fonts/serif-expected.png b/third_party/blink/web_tests/platform/linux/fonts/serif-expected.png
index 3de4fc5e..5084f46 100644
--- a/third_party/blink/web_tests/platform/linux/fonts/serif-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fonts/serif-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fragmentation/outline-crossing-columns-expected.png b/third_party/blink/web_tests/platform/linux/fragmentation/outline-crossing-columns-expected.png
index da42e7f..a5d4da55 100644
--- a/third_party/blink/web_tests/platform/linux/fragmentation/outline-crossing-columns-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fragmentation/outline-crossing-columns-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/html/details_summary/details-no-summary4-expected.png b/third_party/blink/web_tests/platform/linux/html/details_summary/details-no-summary4-expected.png
index 4c61322..0912f25 100644
--- a/third_party/blink/web_tests/platform/linux/html/details_summary/details-no-summary4-expected.png
+++ b/third_party/blink/web_tests/platform/linux/html/details_summary/details-no-summary4-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/html/details_summary/details-open-javascript-expected.png b/third_party/blink/web_tests/platform/linux/html/details_summary/details-open-javascript-expected.png
index 3524e88..ec5bbec 100644
--- a/third_party/blink/web_tests/platform/linux/html/details_summary/details-open-javascript-expected.png
+++ b/third_party/blink/web_tests/platform/linux/html/details_summary/details-open-javascript-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/html/details_summary/details-open2-expected.png b/third_party/blink/web_tests/platform/linux/html/details_summary/details-open2-expected.png
index 41ed31c9..592b929 100644
--- a/third_party/blink/web_tests/platform/linux/html/details_summary/details-open2-expected.png
+++ b/third_party/blink/web_tests/platform/linux/html/details_summary/details-open2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/html/details_summary/details-open4-expected.png b/third_party/blink/web_tests/platform/linux/html/details_summary/details-open4-expected.png
index 41ed31c9..592b929 100644
--- a/third_party/blink/web_tests/platform/linux/html/details_summary/details-open4-expected.png
+++ b/third_party/blink/web_tests/platform/linux/html/details_summary/details-open4-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/html/details_summary/details-replace-summary-child-expected.png b/third_party/blink/web_tests/platform/linux/html/details_summary/details-replace-summary-child-expected.png
index 5a240a5..b2e330f 100644
--- a/third_party/blink/web_tests/platform/linux/html/details_summary/details-replace-summary-child-expected.png
+++ b/third_party/blink/web_tests/platform/linux/html/details_summary/details-replace-summary-child-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/html/details_summary/details-replace-text-expected.png b/third_party/blink/web_tests/platform/linux/html/details_summary/details-replace-text-expected.png
index 4486697..b28407f3 100644
--- a/third_party/blink/web_tests/platform/linux/html/details_summary/details-replace-text-expected.png
+++ b/third_party/blink/web_tests/platform/linux/html/details_summary/details-replace-text-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/http/tests/filesystem/input-display-expected.png b/third_party/blink/web_tests/platform/linux/http/tests/filesystem/input-display-expected.png
index ecdcae8c..9455260cf 100644
--- a/third_party/blink/web_tests/platform/linux/http/tests/filesystem/input-display-expected.png
+++ b/third_party/blink/web_tests/platform/linux/http/tests/filesystem/input-display-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/http/tests/media/video-frame-size-change-expected.png b/third_party/blink/web_tests/platform/linux/http/tests/media/video-frame-size-change-expected.png
deleted file mode 100644
index cf21510..0000000
--- a/third_party/blink/web_tests/platform/linux/http/tests/media/video-frame-size-change-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/http/tests/webfont/popup-menu-load-webfont-after-open-expected.png b/third_party/blink/web_tests/platform/linux/http/tests/webfont/popup-menu-load-webfont-after-open-expected.png
index 0ae5809c..59a5175 100644
--- a/third_party/blink/web_tests/platform/linux/http/tests/webfont/popup-menu-load-webfont-after-open-expected.png
+++ b/third_party/blink/web_tests/platform/linux/http/tests/webfont/popup-menu-load-webfont-after-open-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/ietestcenter/css3/bordersbackgrounds/background-attachment-local-scrolling-expected.png b/third_party/blink/web_tests/platform/linux/ietestcenter/css3/bordersbackgrounds/background-attachment-local-scrolling-expected.png
index 280b5cf..a53c33788 100644
--- a/third_party/blink/web_tests/platform/linux/ietestcenter/css3/bordersbackgrounds/background-attachment-local-scrolling-expected.png
+++ b/third_party/blink/web_tests/platform/linux/ietestcenter/css3/bordersbackgrounds/background-attachment-local-scrolling-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/ietestcenter/css3/bordersbackgrounds/background-size-aspect-ratio-expected.png b/third_party/blink/web_tests/platform/linux/ietestcenter/css3/bordersbackgrounds/background-size-aspect-ratio-expected.png
index 76146a4..5aa7bbc 100644
--- a/third_party/blink/web_tests/platform/linux/ietestcenter/css3/bordersbackgrounds/background-size-aspect-ratio-expected.png
+++ b/third_party/blink/web_tests/platform/linux/ietestcenter/css3/bordersbackgrounds/background-size-aspect-ratio-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/ietestcenter/css3/bordersbackgrounds/background_position_three_four_values-expected.png b/third_party/blink/web_tests/platform/linux/ietestcenter/css3/bordersbackgrounds/background_position_three_four_values-expected.png
index 39425c6..0eaf4b99 100644
--- a/third_party/blink/web_tests/platform/linux/ietestcenter/css3/bordersbackgrounds/background_position_three_four_values-expected.png
+++ b/third_party/blink/web_tests/platform/linux/ietestcenter/css3/bordersbackgrounds/background_position_three_four_values-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/images/12-55-expected.png b/third_party/blink/web_tests/platform/linux/images/12-55-expected.png
index 331fac7..c3400fe 100644
--- a/third_party/blink/web_tests/platform/linux/images/12-55-expected.png
+++ b/third_party/blink/web_tests/platform/linux/images/12-55-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/images/182-expected.png b/third_party/blink/web_tests/platform/linux/images/182-expected.png
index 4f9b9415..d1a9d50 100644
--- a/third_party/blink/web_tests/platform/linux/images/182-expected.png
+++ b/third_party/blink/web_tests/platform/linux/images/182-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/images/2-dht-expected.png b/third_party/blink/web_tests/platform/linux/images/2-dht-expected.png
index 22820337..8239671 100644
--- a/third_party/blink/web_tests/platform/linux/images/2-dht-expected.png
+++ b/third_party/blink/web_tests/platform/linux/images/2-dht-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/images/23-55-expected.png b/third_party/blink/web_tests/platform/linux/images/23-55-expected.png
index 57ab4e2..fc22825 100644
--- a/third_party/blink/web_tests/platform/linux/images/23-55-expected.png
+++ b/third_party/blink/web_tests/platform/linux/images/23-55-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/images/55-expected.png b/third_party/blink/web_tests/platform/linux/images/55-expected.png
index 6967a24d..80aedd4b 100644
--- a/third_party/blink/web_tests/platform/linux/images/55-expected.png
+++ b/third_party/blink/web_tests/platform/linux/images/55-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/images/rendering-broken-0px-images-expected.png b/third_party/blink/web_tests/platform/linux/images/rendering-broken-0px-images-expected.png
index db6dfda..fd39a85 100644
--- a/third_party/blink/web_tests/platform/linux/images/rendering-broken-0px-images-expected.png
+++ b/third_party/blink/web_tests/platform/linux/images/rendering-broken-0px-images-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/images/rendering-broken-0px-images-quirk-expected.png b/third_party/blink/web_tests/platform/linux/images/rendering-broken-0px-images-quirk-expected.png
index 913faa90..72d0857 100644
--- a/third_party/blink/web_tests/platform/linux/images/rendering-broken-0px-images-quirk-expected.png
+++ b/third_party/blink/web_tests/platform/linux/images/rendering-broken-0px-images-quirk-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/images/rendering-broken-10px-images-expected.png b/third_party/blink/web_tests/platform/linux/images/rendering-broken-10px-images-expected.png
index b2524663c..87823d94 100644
--- a/third_party/blink/web_tests/platform/linux/images/rendering-broken-10px-images-expected.png
+++ b/third_party/blink/web_tests/platform/linux/images/rendering-broken-10px-images-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/images/rendering-broken-16px-images-expected.png b/third_party/blink/web_tests/platform/linux/images/rendering-broken-16px-images-expected.png
index ddad79e..66d5b23 100644
--- a/third_party/blink/web_tests/platform/linux/images/rendering-broken-16px-images-expected.png
+++ b/third_party/blink/web_tests/platform/linux/images/rendering-broken-16px-images-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/images/rendering-broken-1px-images-expected.png b/third_party/blink/web_tests/platform/linux/images/rendering-broken-1px-images-expected.png
index 20470fb..08c81f73 100644
--- a/third_party/blink/web_tests/platform/linux/images/rendering-broken-1px-images-expected.png
+++ b/third_party/blink/web_tests/platform/linux/images/rendering-broken-1px-images-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/images/rendering-broken-block-flow-images-expected.png b/third_party/blink/web_tests/platform/linux/images/rendering-broken-block-flow-images-expected.png
index 1f61ff6..83f8001 100644
--- a/third_party/blink/web_tests/platform/linux/images/rendering-broken-block-flow-images-expected.png
+++ b/third_party/blink/web_tests/platform/linux/images/rendering-broken-block-flow-images-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/images/rendering-broken-images-empty-alt-expected.png b/third_party/blink/web_tests/platform/linux/images/rendering-broken-images-empty-alt-expected.png
index 404d9e2d..4d9978b79d 100644
--- a/third_party/blink/web_tests/platform/linux/images/rendering-broken-images-empty-alt-expected.png
+++ b/third_party/blink/web_tests/platform/linux/images/rendering-broken-images-empty-alt-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/images/rendering-broken-images-expected.png b/third_party/blink/web_tests/platform/linux/images/rendering-broken-images-expected.png
index bff9c72..81c7884 100644
--- a/third_party/blink/web_tests/platform/linux/images/rendering-broken-images-expected.png
+++ b/third_party/blink/web_tests/platform/linux/images/rendering-broken-images-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/overflow/overflow-transform-perspective-expected.png b/third_party/blink/web_tests/platform/linux/overflow/overflow-transform-perspective-expected.png
index d43288f..b5c0edf 100644
--- a/third_party/blink/web_tests/platform/linux/overflow/overflow-transform-perspective-expected.png
+++ b/third_party/blink/web_tests/platform/linux/overflow/overflow-transform-perspective-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/dark-mode/native-theme-on/text-input-elements-expected.png b/third_party/blink/web_tests/platform/linux/paint/dark-mode/native-theme-on/text-input-elements-expected.png
index 8315438..b6b9bd5 100644
--- a/third_party/blink/web_tests/platform/linux/paint/dark-mode/native-theme-on/text-input-elements-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/dark-mode/native-theme-on/text-input-elements-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/4774354-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/4774354-expected.png
index dc29a02d..66efc20 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/4774354-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/4774354-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/forms/button-checkbox-click-method-repaint-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/forms/button-checkbox-click-method-repaint-expected.png
index da609f9..65bfa7b7 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/forms/button-checkbox-click-method-repaint-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/forms/button-checkbox-click-method-repaint-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/forms/button-reset-focus-by-mouse-then-keydown-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/forms/button-reset-focus-by-mouse-then-keydown-expected.png
index 3e4e1ce..fc327dca 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/forms/button-reset-focus-by-mouse-then-keydown-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/forms/button-reset-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.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/forms/submit-focus-by-mouse-then-keydown-expected.png
index dabcb37..91ef2aa91 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 de6335f..23da500 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
@@ -12,6 +12,11 @@
           "reason": "subtree"
         },
         {
+          "object": "LayoutButton INPUT",
+          "rect": [7, 7, 59, 24],
+          "reason": "chunk appeared"
+        },
+        {
           "object": "InlineTextBox 'Submit'",
           "rect": [16, 11, 41, 16],
           "reason": "subtree"
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/forms/textarea-caret-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/forms/textarea-caret-expected.png
index d6888e0..aabf046 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/forms/textarea-caret-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/forms/textarea-caret-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/invalidation-after-opacity-change-subtree-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/invalidation-after-opacity-change-subtree-expected.png
index 8f8af1a..657cd8c9 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/invalidation-after-opacity-change-subtree-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/invalidation-after-opacity-change-subtree-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/line-flow-with-floats-1-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/line-flow-with-floats-1-expected.png
index 920eed9..50118f35 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/line-flow-with-floats-1-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/line-flow-with-floats-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/line-flow-with-floats-10-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/line-flow-with-floats-10-expected.png
index 9f38175f..09c0c6d7f 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/line-flow-with-floats-10-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/line-flow-with-floats-10-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/line-flow-with-floats-2-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/line-flow-with-floats-2-expected.png
index 8167755..63562c5 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/line-flow-with-floats-2-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/line-flow-with-floats-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/line-flow-with-floats-3-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/line-flow-with-floats-3-expected.png
index df9702a3..dd84045 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/line-flow-with-floats-3-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/line-flow-with-floats-3-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/line-flow-with-floats-4-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/line-flow-with-floats-4-expected.png
index 15f0ea9..0a51cfb 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/line-flow-with-floats-4-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/line-flow-with-floats-4-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/line-flow-with-floats-5-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/line-flow-with-floats-5-expected.png
index 09ff29a7..a228f49 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/line-flow-with-floats-5-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/line-flow-with-floats-5-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/line-flow-with-floats-6-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/line-flow-with-floats-6-expected.png
index 07d55d10..5263f73 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/line-flow-with-floats-6-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/line-flow-with-floats-6-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/line-flow-with-floats-7-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/line-flow-with-floats-7-expected.png
index 7b5ea13..8bb18915 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/line-flow-with-floats-7-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/line-flow-with-floats-7-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/line-flow-with-floats-8-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/line-flow-with-floats-8-expected.png
index 8374364..48071d5 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/line-flow-with-floats-8-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/line-flow-with-floats-8-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/line-flow-with-floats-9-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/line-flow-with-floats-9-expected.png
index 9385eae..f4514494 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/line-flow-with-floats-9-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/line-flow-with-floats-9-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/overflow/overflow-outline-repaint-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/overflow/overflow-outline-repaint-expected.png
index 6e97975..80a717c 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/overflow/overflow-outline-repaint-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/overflow/overflow-outline-repaint-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/overflow/vertical-overflow-child-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/overflow/vertical-overflow-child-expected.png
index d4caa87..ff63dfd 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/overflow/vertical-overflow-child-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/overflow/vertical-overflow-child-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/overflow/vertical-overflow-parent-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/overflow/vertical-overflow-parent-expected.png
index 13e03f4..57969c78 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/overflow/vertical-overflow-parent-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/overflow/vertical-overflow-parent-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/overflow/vertical-overflow-same-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/overflow/vertical-overflow-same-expected.png
index 502aba4..2b9b916 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/overflow/vertical-overflow-same-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/overflow/vertical-overflow-same-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/position/fixed-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/position/fixed-expected.png
index 2cfbd41..160ec54 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/position/fixed-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/position/fixed-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/renderer-destruction-by-invalidateSelection-crash-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/renderer-destruction-by-invalidateSelection-crash-expected.png
index 076f67e..e74b2c58 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/renderer-destruction-by-invalidateSelection-crash-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/renderer-destruction-by-invalidateSelection-crash-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/repaint-across-writing-mode-boundary-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/repaint-across-writing-mode-boundary-expected.png
index 72be2b3..dc5ad5f 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/repaint-across-writing-mode-boundary-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/repaint-across-writing-mode-boundary-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/caret-invalidation-in-overflow-scroll-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/caret-invalidation-in-overflow-scroll-expected.png
index 908a204..ca4a8388 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/caret-invalidation-in-overflow-scroll-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/caret-invalidation-in-overflow-scroll-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/caret-with-composited-scroll-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/caret-with-composited-scroll-expected.png
index 0c9ab9d..22b277f 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/caret-with-composited-scroll-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/caret-with-composited-scroll-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/fixed-child-move-after-scroll-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/fixed-child-move-after-scroll-expected.png
index f1fed9b..7bb94894 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/fixed-child-move-after-scroll-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/fixed-child-move-after-scroll-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/fixed-child-of-fixed-move-after-scroll-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/fixed-child-of-fixed-move-after-scroll-expected.png
index f1fed9b..7bb94894 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/fixed-child-of-fixed-move-after-scroll-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/fixed-child-of-fixed-move-after-scroll-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/fixed-child-of-transformed-move-after-scroll-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/fixed-child-of-transformed-move-after-scroll-expected.png
index c3ec9e2..f902afd 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/fixed-child-of-transformed-move-after-scroll-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/fixed-child-of-transformed-move-after-scroll-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/fixed-child-of-transformed-scrolled-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/fixed-child-of-transformed-scrolled-expected.png
index 6bcf79b4..83d5b4ee 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/fixed-child-of-transformed-scrolled-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/fixed-child-of-transformed-scrolled-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/fixed-descendant-of-transformed-scrolled-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/fixed-descendant-of-transformed-scrolled-expected.png
index 1dea899..0328ff7 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/fixed-descendant-of-transformed-scrolled-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/fixed-descendant-of-transformed-scrolled-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/fixed-move-after-scroll-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/fixed-move-after-scroll-expected.png
index f1fed9b..7bb94894 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/fixed-move-after-scroll-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/fixed-move-after-scroll-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/flipped-blocks-writing-mode-scroll-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/flipped-blocks-writing-mode-scroll-expected.png
new file mode 100644
index 0000000..a4fb313
--- /dev/null
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/flipped-blocks-writing-mode-scroll-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/inline-style-change-in-scrolled-view-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/inline-style-change-in-scrolled-view-expected.png
index f7d2d44..e637595 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/inline-style-change-in-scrolled-view-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/inline-style-change-in-scrolled-view-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/overflow-move-after-scroll-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/overflow-move-after-scroll-expected.png
index 641b72f..1de4b46 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/overflow-move-after-scroll-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/overflow-move-after-scroll-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/overflow-scroll-after-move-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/overflow-scroll-after-move-expected.png
index d64d794..b42783b 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/overflow-scroll-after-move-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/overflow-scroll-after-move-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/overflow-scroll-body-appear-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/overflow-scroll-body-appear-expected.png
index b9c1e60..6fecad9 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/overflow-scroll-body-appear-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/overflow-scroll-body-appear-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/overflow-scroll-delete-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/overflow-scroll-delete-expected.png
index eb591d6..7a978a5 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/overflow-scroll-delete-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/overflow-scroll-delete-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/overflow-scroll-local-background-text-color-change-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/overflow-scroll-local-background-text-color-change-expected.png
index cca85bc..7907b9e6 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/overflow-scroll-local-background-text-color-change-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/overflow-scroll-local-background-text-color-change-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/repaint-during-scroll-with-zoom-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/repaint-during-scroll-with-zoom-expected.png
index bc540d2..c5d5c6a 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/repaint-during-scroll-with-zoom-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/repaint-during-scroll-with-zoom-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/resize-scrollable-div-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/resize-scrollable-div-expected.png
index fd21e82..295dacc8 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/resize-scrollable-div-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/resize-scrollable-div-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/resize-scrollable-iframe-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/resize-scrollable-iframe-expected.png
index 9901092b..83dbcae5 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/resize-scrollable-iframe-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/resize-scrollable-iframe-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/scrollbar-damage-and-full-viewport-repaint-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/scrollbar-damage-and-full-viewport-repaint-expected.png
index ea746fe1..f7265d7 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/scrollbar-damage-and-full-viewport-repaint-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/scrollbar-damage-and-full-viewport-repaint-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/scrollbar-invalidation-on-resize-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/scrollbar-invalidation-on-resize-expected.png
index ef2bc858..dbf49f9b 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/scrollbar-invalidation-on-resize-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/scrollbar-invalidation-on-resize-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/scrollbar-invalidation-on-resize-with-border-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/scrollbar-invalidation-on-resize-with-border-expected.png
index 2519b35e..4a56bcf 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/scrollbar-invalidation-on-resize-with-border-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/scrollbar-invalidation-on-resize-with-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/scrollbar-parts-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/scrollbar-parts-expected.png
new file mode 100644
index 0000000..33d57b9a
--- /dev/null
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/scrollbar-parts-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/selection/repaint-rect-for-vertical-writing-mode-with-positioned-root-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/selection/repaint-rect-for-vertical-writing-mode-with-positioned-root-expected.png
index f0989c9..d44bc9d 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/selection/repaint-rect-for-vertical-writing-mode-with-positioned-root-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/selection/repaint-rect-for-vertical-writing-mode-with-positioned-root-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/selection/selection-after-delete-expected.txt b/third_party/blink/web_tests/platform/linux/paint/invalidation/selection/selection-after-delete-expected.txt
index c82fd7d..a01607b 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/selection/selection-after-delete-expected.txt
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/selection/selection-after-delete-expected.txt
@@ -66,301 +66,301 @@
         {
           "x": 194,
           "y": 79,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 80,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 81,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 82,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 83,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 84,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 85,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 86,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 87,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 88,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 89,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 90,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 91,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 92,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 93,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 94,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 95,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 96,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 97,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 98,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 99,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 100,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 101,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 102,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 103,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 104,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 105,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 106,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 107,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 108,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 109,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 110,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 111,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 112,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 113,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 114,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 115,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 116,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 117,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 118,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 119,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 120,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 121,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 122,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 123,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 124,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 125,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 126,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 127,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 128,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         }
       ]
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/selection/selection-after-remove-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/selection/selection-after-remove-expected.png
index 18894df..b3b8b754 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/selection/selection-after-remove-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/selection/selection-after-remove-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/selection/selection-after-remove-expected.txt b/third_party/blink/web_tests/platform/linux/paint/invalidation/selection/selection-after-remove-expected.txt
index ff73876..50dec70 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/selection/selection-after-remove-expected.txt
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/selection/selection-after-remove-expected.txt
@@ -81,301 +81,301 @@
         {
           "x": 194,
           "y": 79,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 80,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 81,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 82,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 83,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 84,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 85,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 86,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 87,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 88,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 89,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 90,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 91,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 92,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 93,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 94,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 95,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 96,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 97,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 98,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 99,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 100,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 101,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 102,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 103,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 104,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 105,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 106,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 107,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 108,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 109,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 110,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 111,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 112,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 113,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 114,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 115,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 116,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 117,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 118,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 119,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 120,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 121,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 122,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 123,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 124,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 125,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 126,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 127,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         },
         {
           "x": 194,
           "y": 128,
-          "oldPixel": "#3333FF",
+          "oldPixel": "#338FFF",
           "newPixel": "#FFFFFF"
         }
       ]
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/selection/selection-in-composited-scrolling-container-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/selection/selection-in-composited-scrolling-container-expected.png
index b50099b..40c9d435 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/selection/selection-in-composited-scrolling-container-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/selection/selection-in-composited-scrolling-container-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/selection/selection-in-non-composited-scrolling-container-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/selection/selection-in-non-composited-scrolling-container-expected.png
index 11b6e48..67cf5b0 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/selection/selection-in-non-composited-scrolling-container-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/selection/selection-in-non-composited-scrolling-container-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/selection/selection-partial-invalidation-between-blocks-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/selection/selection-partial-invalidation-between-blocks-expected.png
index 3c9b435..5836ee3 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/selection/selection-partial-invalidation-between-blocks-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/selection/selection-partial-invalidation-between-blocks-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/selection/selection-rl-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/selection/selection-rl-expected.png
index d78843a..607f463e 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/selection/selection-rl-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/selection/selection-rl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/selection/selection-within-composited-scroller-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/selection/selection-within-composited-scroller-expected.png
index 7248f0a..5d591be 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/selection/selection-within-composited-scroller-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/selection/selection-within-composited-scroller-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/selection/text-selection-rect-in-overflow-2-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/selection/text-selection-rect-in-overflow-2-expected.png
index 7fe2482..e144dd61 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/selection/text-selection-rect-in-overflow-2-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/selection/text-selection-rect-in-overflow-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/subtree-root-skipped-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/subtree-root-skipped-expected.png
index d58ff92..35f97012 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/subtree-root-skipped-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/subtree-root-skipped-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.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png
index cc466ff..cac26045 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/text-selection-text-05-t-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/svg/text-selection-text-05-t-expected.png
index c00b815..4b8e38e 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/svg/text-selection-text-05-t-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/svg/text-selection-text-05-t-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/svg/text-selection-update-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/svg/text-selection-update-expected.png
index 41ec54cf..0a81c68 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/svg/text-selection-update-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/svg/text-selection-update-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/svg/text-xy-updates-SVGList-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/svg/text-xy-updates-SVGList-expected.png
index 259331a..db1b69fc 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/svg/text-xy-updates-SVGList-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/svg/text-xy-updates-SVGList-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/table/single-line-cells-repeating-thead-break-inside-on-thead-only-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/table/single-line-cells-repeating-thead-break-inside-on-thead-only-expected.png
index 13b73e82..4dc167e 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/table/single-line-cells-repeating-thead-break-inside-on-thead-only-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/table/single-line-cells-repeating-thead-break-inside-on-thead-only-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/text-match-document-change-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/text-match-document-change-expected.png
index 00b187c..164dbf0 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/text-match-document-change-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/text-match-document-change-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 35027511..38bac42 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 ae76c41..74427c5 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 83e911796..65bcaba0 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 e29e69bd..7fa29aa 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 5eb8131..36c9433 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 980c785..9f48668e 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 922ce60..7ad97609 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 d6d268f6..271982b 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 787ba9f..bf26630 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/paint/selection/text-selection-inline-block-expected.png b/third_party/blink/web_tests/platform/linux/paint/selection/text-selection-inline-block-expected.png
index 5334b95..d4034940 100644
--- a/third_party/blink/web_tests/platform/linux/paint/selection/text-selection-inline-block-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/selection/text-selection-inline-block-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/selection/text-selection-inline-block-rtl-expected.png b/third_party/blink/web_tests/platform/linux/paint/selection/text-selection-inline-block-rtl-expected.png
index cb084d3..2445016 100644
--- a/third_party/blink/web_tests/platform/linux/paint/selection/text-selection-inline-block-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/selection/text-selection-inline-block-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/selection/text-selection-newline-clipped-by-overflow-expected.png b/third_party/blink/web_tests/platform/linux/paint/selection/text-selection-newline-clipped-by-overflow-expected.png
index 70591b58..26495f18 100644
--- a/third_party/blink/web_tests/platform/linux/paint/selection/text-selection-newline-clipped-by-overflow-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/selection/text-selection-newline-clipped-by-overflow-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/selection/text-selection-newline-mixed-ltr-rtl-expected.png b/third_party/blink/web_tests/platform/linux/paint/selection/text-selection-newline-mixed-ltr-rtl-expected.png
index b08dd58..7ff4401b 100644
--- a/third_party/blink/web_tests/platform/linux/paint/selection/text-selection-newline-mixed-ltr-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/selection/text-selection-newline-mixed-ltr-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/selection/text-selection-newline-rtl-double-linebreak-expected.png b/third_party/blink/web_tests/platform/linux/paint/selection/text-selection-newline-rtl-double-linebreak-expected.png
index 63dfd0e..4d72e09 100644
--- a/third_party/blink/web_tests/platform/linux/paint/selection/text-selection-newline-rtl-double-linebreak-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/selection/text-selection-newline-rtl-double-linebreak-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/selection/text-selection-with-composition-expected.png b/third_party/blink/web_tests/platform/linux/paint/selection/text-selection-with-composition-expected.png
index 3f74859..49df978d 100644
--- a/third_party/blink/web_tests/platform/linux/paint/selection/text-selection-with-composition-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/selection/text-selection-with-composition-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/text/selection-no-clip-text-expected.png b/third_party/blink/web_tests/platform/linux/paint/text/selection-no-clip-text-expected.png
index e95ce48..1362d0b 100644
--- a/third_party/blink/web_tests/platform/linux/paint/text/selection-no-clip-text-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/text/selection-no-clip-text-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/plugins/webview-plugin-nested-iframe-scroll-expected.png b/third_party/blink/web_tests/platform/linux/plugins/webview-plugin-nested-iframe-scroll-expected.png
index d2dde77..5526df7 100644
--- a/third_party/blink/web_tests/platform/linux/plugins/webview-plugin-nested-iframe-scroll-expected.png
+++ b/third_party/blink/web_tests/platform/linux/plugins/webview-plugin-nested-iframe-scroll-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/printing/return-from-printing-mode-expected.png b/third_party/blink/web_tests/platform/linux/printing/return-from-printing-mode-expected.png
index a634b4002..92288b5f 100644
--- a/third_party/blink/web_tests/platform/linux/printing/return-from-printing-mode-expected.png
+++ b/third_party/blink/web_tests/platform/linux/printing/return-from-printing-mode-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/scrollbars/border-box-rect-clips-scrollbars-expected.png b/third_party/blink/web_tests/platform/linux/scrollbars/border-box-rect-clips-scrollbars-expected.png
index bc907c0..fb11eac4 100644
--- a/third_party/blink/web_tests/platform/linux/scrollbars/border-box-rect-clips-scrollbars-expected.png
+++ b/third_party/blink/web_tests/platform/linux/scrollbars/border-box-rect-clips-scrollbars-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/scrollbars/scrollbars-on-positioned-content-expected.png b/third_party/blink/web_tests/platform/linux/scrollbars/scrollbars-on-positioned-content-expected.png
index 69ae3312..8cbbfbea 100644
--- a/third_party/blink/web_tests/platform/linux/scrollbars/scrollbars-on-positioned-content-expected.png
+++ b/third_party/blink/web_tests/platform/linux/scrollbars/scrollbars-on-positioned-content-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/W3C-SVG-1.1/text-tselect-02-f-expected.png b/third_party/blink/web_tests/platform/linux/svg/W3C-SVG-1.1/text-tselect-02-f-expected.png
index 4054c81..06cd4eb 100644
--- a/third_party/blink/web_tests/platform/linux/svg/W3C-SVG-1.1/text-tselect-02-f-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/W3C-SVG-1.1/text-tselect-02-f-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/custom/bug45331-expected.png b/third_party/blink/web_tests/platform/linux/svg/custom/bug45331-expected.png
index 923264a..218c896 100644
--- a/third_party/blink/web_tests/platform/linux/svg/custom/bug45331-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/custom/bug45331-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/custom/foreign-object-skew-expected.png b/third_party/blink/web_tests/platform/linux/svg/custom/foreign-object-skew-expected.png
index f645854..d8f53da 100644
--- a/third_party/blink/web_tests/platform/linux/svg/custom/foreign-object-skew-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/custom/foreign-object-skew-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/custom/getscreenctm-in-scrollable-div-area-expected.png b/third_party/blink/web_tests/platform/linux/svg/custom/getscreenctm-in-scrollable-div-area-expected.png
index 80c064c..431a7bfa 100644
--- a/third_party/blink/web_tests/platform/linux/svg/custom/getscreenctm-in-scrollable-div-area-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/custom/getscreenctm-in-scrollable-div-area-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/custom/getscreenctm-in-scrollable-div-area-nested-expected.png b/third_party/blink/web_tests/platform/linux/svg/custom/getscreenctm-in-scrollable-div-area-nested-expected.png
index 960cfe0..fb84f5a 100644
--- a/third_party/blink/web_tests/platform/linux/svg/custom/getscreenctm-in-scrollable-div-area-nested-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/custom/getscreenctm-in-scrollable-div-area-nested-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/custom/getscreenctm-in-scrollable-svg-area-expected.png b/third_party/blink/web_tests/platform/linux/svg/custom/getscreenctm-in-scrollable-svg-area-expected.png
index 5b7ad435..b9305aad 100644
--- a/third_party/blink/web_tests/platform/linux/svg/custom/getscreenctm-in-scrollable-svg-area-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/custom/getscreenctm-in-scrollable-svg-area-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/custom/inline-svg-in-xhtml-expected.png b/third_party/blink/web_tests/platform/linux/svg/custom/inline-svg-in-xhtml-expected.png
index 9794405..498dfa5 100644
--- a/third_party/blink/web_tests/platform/linux/svg/custom/inline-svg-in-xhtml-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/custom/inline-svg-in-xhtml-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/custom/invisible-text-after-scrolling-expected.png b/third_party/blink/web_tests/platform/linux/svg/custom/invisible-text-after-scrolling-expected.png
index 2611a9e..6cd2f94 100644
--- a/third_party/blink/web_tests/platform/linux/svg/custom/invisible-text-after-scrolling-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/custom/invisible-text-after-scrolling-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/custom/junk-data-expected.png b/third_party/blink/web_tests/platform/linux/svg/custom/junk-data-expected.png
index d349d7d..1efa6ba 100644
--- a/third_party/blink/web_tests/platform/linux/svg/custom/junk-data-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/custom/junk-data-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/custom/load-non-wellformed-expected.png b/third_party/blink/web_tests/platform/linux/svg/custom/load-non-wellformed-expected.png
index c4b4be9..61fa7de 100644
--- a/third_party/blink/web_tests/platform/linux/svg/custom/load-non-wellformed-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/custom/load-non-wellformed-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/custom/missing-xlink-expected.png b/third_party/blink/web_tests/platform/linux/svg/custom/missing-xlink-expected.png
index cf211315..fd7d3d3 100644
--- a/third_party/blink/web_tests/platform/linux/svg/custom/missing-xlink-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/custom/missing-xlink-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/custom/mouse-move-on-svg-container-expected.png b/third_party/blink/web_tests/platform/linux/svg/custom/mouse-move-on-svg-container-expected.png
index e8e0587..4a775fc 100644
--- a/third_party/blink/web_tests/platform/linux/svg/custom/mouse-move-on-svg-container-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/custom/mouse-move-on-svg-container-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/custom/mouse-move-on-svg-container-standalone-expected.png b/third_party/blink/web_tests/platform/linux/svg/custom/mouse-move-on-svg-container-standalone-expected.png
index e8e0587..4a775fc 100644
--- a/third_party/blink/web_tests/platform/linux/svg/custom/mouse-move-on-svg-container-standalone-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/custom/mouse-move-on-svg-container-standalone-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/custom/path-bad-data-expected.png b/third_party/blink/web_tests/platform/linux/svg/custom/path-bad-data-expected.png
index 9c14052..010d38c 100644
--- a/third_party/blink/web_tests/platform/linux/svg/custom/path-bad-data-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/custom/path-bad-data-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/custom/text-dom-01-f-expected.png b/third_party/blink/web_tests/platform/linux/svg/custom/text-dom-01-f-expected.png
index 89c7b6e..46847a91 100644
--- a/third_party/blink/web_tests/platform/linux/svg/custom/text-dom-01-f-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/custom/text-dom-01-f-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/custom/use-font-face-crash-expected.png b/third_party/blink/web_tests/platform/linux/svg/custom/use-font-face-crash-expected.png
index c461143..ffc5334 100644
--- a/third_party/blink/web_tests/platform/linux/svg/custom/use-font-face-crash-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/custom/use-font-face-crash-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/dom/SVGStringList-basics-expected.png b/third_party/blink/web_tests/platform/linux/svg/dom/SVGStringList-basics-expected.png
index f43a08e..f323ff1 100644
--- a/third_party/blink/web_tests/platform/linux/svg/dom/SVGStringList-basics-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/dom/SVGStringList-basics-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/dom/css-transforms-expected.png b/third_party/blink/web_tests/platform/linux/svg/dom/css-transforms-expected.png
index b7f23fd..d3c160e 100644
--- a/third_party/blink/web_tests/platform/linux/svg/dom/css-transforms-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/dom/css-transforms-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/hixie/error/012-expected.png b/third_party/blink/web_tests/platform/linux/svg/hixie/error/012-expected.png
index fb5157b..922d5e9e 100644
--- a/third_party/blink/web_tests/platform/linux/svg/hixie/error/012-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/hixie/error/012-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/hixie/mixed/003-expected.png b/third_party/blink/web_tests/platform/linux/svg/hixie/mixed/003-expected.png
index 7dadd8b9..4fad073 100644
--- a/third_party/blink/web_tests/platform/linux/svg/hixie/mixed/003-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/hixie/mixed/003-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/text/foreignObject-text-clipping-bug-expected.png b/third_party/blink/web_tests/platform/linux/svg/text/foreignObject-text-clipping-bug-expected.png
index c2c6577..de6d9e2 100644
--- a/third_party/blink/web_tests/platform/linux/svg/text/foreignObject-text-clipping-bug-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/text/foreignObject-text-clipping-bug-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacing-squeeze-1-expected.png b/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacing-squeeze-1-expected.png
index e6c5f3104..f0fa3cb 100644
--- a/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacing-squeeze-1-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacing-squeeze-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacing-squeeze-2-expected.png b/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacing-squeeze-2-expected.png
index 66d2353..7bfe8aa 100644
--- a/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacing-squeeze-2-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacing-squeeze-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacing-squeeze-3-expected.png b/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacing-squeeze-3-expected.png
index 0c14239..f0becb81 100644
--- a/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacing-squeeze-3-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacing-squeeze-3-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacing-squeeze-4-expected.png b/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacing-squeeze-4-expected.png
index be317444..9ceef00 100644
--- a/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacing-squeeze-4-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacing-squeeze-4-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacing-stretch-1-expected.png b/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacing-stretch-1-expected.png
index 286c378..71ad53a8 100644
--- a/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacing-stretch-1-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacing-stretch-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacing-stretch-2-expected.png b/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacing-stretch-2-expected.png
index 4cb162c..b5f6257a 100644
--- a/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacing-stretch-2-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacing-stretch-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacing-stretch-3-expected.png b/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacing-stretch-3-expected.png
index 6497809..88c1363 100644
--- a/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacing-stretch-3-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacing-stretch-3-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacing-stretch-4-expected.png b/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacing-stretch-4-expected.png
index f0a8f96..96d0047 100644
--- a/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacing-stretch-4-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacing-stretch-4-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacingAndGlyphs-squeeze-1-expected.png b/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacingAndGlyphs-squeeze-1-expected.png
index 83c5d5f4..0621599 100644
--- a/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacingAndGlyphs-squeeze-1-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacingAndGlyphs-squeeze-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacingAndGlyphs-squeeze-2-expected.png b/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacingAndGlyphs-squeeze-2-expected.png
index d3fb876fa..2d5702d 100644
--- a/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacingAndGlyphs-squeeze-2-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacingAndGlyphs-squeeze-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacingAndGlyphs-squeeze-3-expected.png b/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacingAndGlyphs-squeeze-3-expected.png
index 47aa7f4..e76f14f 100644
--- a/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacingAndGlyphs-squeeze-3-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacingAndGlyphs-squeeze-3-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacingAndGlyphs-squeeze-4-expected.png b/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacingAndGlyphs-squeeze-4-expected.png
index c47cc7d..4ef63707 100644
--- a/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacingAndGlyphs-squeeze-4-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacingAndGlyphs-squeeze-4-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacingAndGlyphs-stretch-1-expected.png b/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacingAndGlyphs-stretch-1-expected.png
index 6d5e662..f287d1c 100644
--- a/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacingAndGlyphs-stretch-1-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacingAndGlyphs-stretch-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacingAndGlyphs-stretch-2-expected.png b/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacingAndGlyphs-stretch-2-expected.png
index 75f6c45..1cf879cd 100644
--- a/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacingAndGlyphs-stretch-2-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacingAndGlyphs-stretch-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacingAndGlyphs-stretch-3-expected.png b/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacingAndGlyphs-stretch-3-expected.png
index 3607b20..2dbb93f 100644
--- a/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacingAndGlyphs-stretch-3-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacingAndGlyphs-stretch-3-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacingAndGlyphs-stretch-4-expected.png b/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacingAndGlyphs-stretch-4-expected.png
index 5f7c4293..7497605 100644
--- a/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacingAndGlyphs-stretch-4-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/text/select-textLength-spacingAndGlyphs-stretch-4-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/text/select-x-list-1-expected.png b/third_party/blink/web_tests/platform/linux/svg/text/select-x-list-1-expected.png
index ca99980f..0b28028 100644
--- a/third_party/blink/web_tests/platform/linux/svg/text/select-x-list-1-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/text/select-x-list-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/text/select-x-list-2-expected.png b/third_party/blink/web_tests/platform/linux/svg/text/select-x-list-2-expected.png
index 2605a14a..340df86 100644
--- a/third_party/blink/web_tests/platform/linux/svg/text/select-x-list-2-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/text/select-x-list-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/text/select-x-list-3-expected.png b/third_party/blink/web_tests/platform/linux/svg/text/select-x-list-3-expected.png
index 9da958a..3fc9cff0 100644
--- a/third_party/blink/web_tests/platform/linux/svg/text/select-x-list-3-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/text/select-x-list-3-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/text/select-x-list-4-expected.png b/third_party/blink/web_tests/platform/linux/svg/text/select-x-list-4-expected.png
index 648889a..179c050 100644
--- a/third_party/blink/web_tests/platform/linux/svg/text/select-x-list-4-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/text/select-x-list-4-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/text/select-x-list-with-tspans-1-expected.png b/third_party/blink/web_tests/platform/linux/svg/text/select-x-list-with-tspans-1-expected.png
index ca99980f..0b28028 100644
--- a/third_party/blink/web_tests/platform/linux/svg/text/select-x-list-with-tspans-1-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/text/select-x-list-with-tspans-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/text/select-x-list-with-tspans-2-expected.png b/third_party/blink/web_tests/platform/linux/svg/text/select-x-list-with-tspans-2-expected.png
index 2605a14a..340df86 100644
--- a/third_party/blink/web_tests/platform/linux/svg/text/select-x-list-with-tspans-2-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/text/select-x-list-with-tspans-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/text/select-x-list-with-tspans-3-expected.png b/third_party/blink/web_tests/platform/linux/svg/text/select-x-list-with-tspans-3-expected.png
index 9da958a..3fc9cff0 100644
--- a/third_party/blink/web_tests/platform/linux/svg/text/select-x-list-with-tspans-3-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/text/select-x-list-with-tspans-3-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/text/select-x-list-with-tspans-4-expected.png b/third_party/blink/web_tests/platform/linux/svg/text/select-x-list-with-tspans-4-expected.png
index 648889a..179c050 100644
--- a/third_party/blink/web_tests/platform/linux/svg/text/select-x-list-with-tspans-4-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/text/select-x-list-with-tspans-4-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/text/selection-doubleclick-expected.png b/third_party/blink/web_tests/platform/linux/svg/text/selection-doubleclick-expected.png
index 3ebee45d..75eec36 100644
--- a/third_party/blink/web_tests/platform/linux/svg/text/selection-doubleclick-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/text/selection-doubleclick-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/text/selection-tripleclick-expected.png b/third_party/blink/web_tests/platform/linux/svg/text/selection-tripleclick-expected.png
index 2e07fec..4a77f0b 100644
--- a/third_party/blink/web_tests/platform/linux/svg/text/selection-tripleclick-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/text/selection-tripleclick-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/text/text-selection-align-01-b-expected.png b/third_party/blink/web_tests/platform/linux/svg/text/text-selection-align-01-b-expected.png
index 52a420c3..82a282b 100644
--- a/third_party/blink/web_tests/platform/linux/svg/text/text-selection-align-01-b-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/text/text-selection-align-01-b-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/text/text-selection-align-02-b-expected.png b/third_party/blink/web_tests/platform/linux/svg/text/text-selection-align-02-b-expected.png
index 9033e90e..c2ab10f 100644
--- a/third_party/blink/web_tests/platform/linux/svg/text/text-selection-align-02-b-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/text/text-selection-align-02-b-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/text/text-selection-align-03-b-expected.png b/third_party/blink/web_tests/platform/linux/svg/text/text-selection-align-03-b-expected.png
index 35d6b375..924aca2 100644
--- a/third_party/blink/web_tests/platform/linux/svg/text/text-selection-align-03-b-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/text/text-selection-align-03-b-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/text/text-selection-align-04-b-expected.png b/third_party/blink/web_tests/platform/linux/svg/text/text-selection-align-04-b-expected.png
index b9d7e14..a21df94 100644
--- a/third_party/blink/web_tests/platform/linux/svg/text/text-selection-align-04-b-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/text/text-selection-align-04-b-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/text/text-selection-align-05-b-expected.png b/third_party/blink/web_tests/platform/linux/svg/text/text-selection-align-05-b-expected.png
index 9867141..b0bc9f43 100644
--- a/third_party/blink/web_tests/platform/linux/svg/text/text-selection-align-05-b-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/text/text-selection-align-05-b-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/text/text-selection-align-06-b-expected.png b/third_party/blink/web_tests/platform/linux/svg/text/text-selection-align-06-b-expected.png
index 7982d6a..5be6cdec 100644
--- a/third_party/blink/web_tests/platform/linux/svg/text/text-selection-align-06-b-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/text/text-selection-align-06-b-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/text/text-selection-deco-01-b-expected.png b/third_party/blink/web_tests/platform/linux/svg/text/text-selection-deco-01-b-expected.png
index 53b5bc1..88a90f5 100644
--- a/third_party/blink/web_tests/platform/linux/svg/text/text-selection-deco-01-b-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/text/text-selection-deco-01-b-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/text/text-selection-fonts-01-t-expected.png b/third_party/blink/web_tests/platform/linux/svg/text/text-selection-fonts-01-t-expected.png
index ce7012f..65acc4e 100644
--- a/third_party/blink/web_tests/platform/linux/svg/text/text-selection-fonts-01-t-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/text/text-selection-fonts-01-t-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/text/text-selection-fonts-02-t-expected.png b/third_party/blink/web_tests/platform/linux/svg/text/text-selection-fonts-02-t-expected.png
index 96f1e03d..208ebbd 100644
--- a/third_party/blink/web_tests/platform/linux/svg/text/text-selection-fonts-02-t-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/text/text-selection-fonts-02-t-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/text/text-selection-intro-05-t-expected.png b/third_party/blink/web_tests/platform/linux/svg/text/text-selection-intro-05-t-expected.png
index af865b5..866ab15a 100644
--- a/third_party/blink/web_tests/platform/linux/svg/text/text-selection-intro-05-t-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/text/text-selection-intro-05-t-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/text/text-selection-path-01-b-expected.png b/third_party/blink/web_tests/platform/linux/svg/text/text-selection-path-01-b-expected.png
index 71af082a..159021f 100644
--- a/third_party/blink/web_tests/platform/linux/svg/text/text-selection-path-01-b-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/text/text-selection-path-01-b-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/text/text-selection-spacing-01-b-expected.png b/third_party/blink/web_tests/platform/linux/svg/text/text-selection-spacing-01-b-expected.png
index 72de89e6..86156c6 100644
--- a/third_party/blink/web_tests/platform/linux/svg/text/text-selection-spacing-01-b-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/text/text-selection-spacing-01-b-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/text/text-selection-text-01-b-expected.png b/third_party/blink/web_tests/platform/linux/svg/text/text-selection-text-01-b-expected.png
index 7a38d3d8..b4ff8860 100644
--- a/third_party/blink/web_tests/platform/linux/svg/text/text-selection-text-01-b-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/text/text-selection-text-01-b-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/text/text-selection-text-03-b-expected.png b/third_party/blink/web_tests/platform/linux/svg/text/text-selection-text-03-b-expected.png
index 13ffac8..870a958b 100644
--- a/third_party/blink/web_tests/platform/linux/svg/text/text-selection-text-03-b-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/text/text-selection-text-03-b-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/text/text-selection-text-04-t-expected.png b/third_party/blink/web_tests/platform/linux/svg/text/text-selection-text-04-t-expected.png
index 5bf73aa..321bbcd 100644
--- a/third_party/blink/web_tests/platform/linux/svg/text/text-selection-text-04-t-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/text/text-selection-text-04-t-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/text/text-selection-text-06-t-expected.png b/third_party/blink/web_tests/platform/linux/svg/text/text-selection-text-06-t-expected.png
index 10a522981..222236f 100644
--- a/third_party/blink/web_tests/platform/linux/svg/text/text-selection-text-06-t-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/text/text-selection-text-06-t-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/text/text-selection-text-07-t-expected.png b/third_party/blink/web_tests/platform/linux/svg/text/text-selection-text-07-t-expected.png
index 22cebc1..75f88d7 100644
--- a/third_party/blink/web_tests/platform/linux/svg/text/text-selection-text-07-t-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/text/text-selection-text-07-t-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/text/text-selection-text-08-b-expected.png b/third_party/blink/web_tests/platform/linux/svg/text/text-selection-text-08-b-expected.png
index ec2d8419..f20e8f2 100644
--- a/third_party/blink/web_tests/platform/linux/svg/text/text-selection-text-08-b-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/text/text-selection-text-08-b-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/text/text-selection-tselect-01-b-expected.png b/third_party/blink/web_tests/platform/linux/svg/text/text-selection-tselect-01-b-expected.png
index c5f83b2..f9e79446 100644
--- a/third_party/blink/web_tests/platform/linux/svg/text/text-selection-tselect-01-b-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/text/text-selection-tselect-01-b-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/text/text-selection-tselect-02-f-expected.png b/third_party/blink/web_tests/platform/linux/svg/text/text-selection-tselect-02-f-expected.png
index 80dee9e..b41cf9a 100644
--- a/third_party/blink/web_tests/platform/linux/svg/text/text-selection-tselect-02-f-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/text/text-selection-tselect-02-f-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/text/text-selection-tspan-01-b-expected.png b/third_party/blink/web_tests/platform/linux/svg/text/text-selection-tspan-01-b-expected.png
index 880a62b..cf3d8be 100644
--- a/third_party/blink/web_tests/platform/linux/svg/text/text-selection-tspan-01-b-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/text/text-selection-tspan-01-b-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/text/text-selection-ws-01-t-expected.png b/third_party/blink/web_tests/platform/linux/svg/text/text-selection-ws-01-t-expected.png
index 3594466..48fc871 100644
--- a/third_party/blink/web_tests/platform/linux/svg/text/text-selection-ws-01-t-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/text/text-selection-ws-01-t-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/text/text-selection-ws-02-t-expected.png b/third_party/blink/web_tests/platform/linux/svg/text/text-selection-ws-02-t-expected.png
index b50f7e65..f4eea44 100644
--- a/third_party/blink/web_tests/platform/linux/svg/text/text-selection-ws-02-t-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/text/text-selection-ws-02-t-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/text/textPathBoundsBug-expected.png b/third_party/blink/web_tests/platform/linux/svg/text/textPathBoundsBug-expected.png
index 759d32b..bd389a0 100644
--- a/third_party/blink/web_tests/platform/linux/svg/text/textPathBoundsBug-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/text/textPathBoundsBug-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/wicd/test-scalable-background-image1-expected.png b/third_party/blink/web_tests/platform/linux/svg/wicd/test-scalable-background-image1-expected.png
index ea309d4..ef09558 100644
--- a/third_party/blink/web_tests/platform/linux/svg/wicd/test-scalable-background-image1-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/wicd/test-scalable-background-image1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/zoom/page/zoom-hixie-mixed-008-expected.png b/third_party/blink/web_tests/platform/linux/svg/zoom/page/zoom-hixie-mixed-008-expected.png
index 5bdec68..77685a68 100644
--- a/third_party/blink/web_tests/platform/linux/svg/zoom/page/zoom-hixie-mixed-008-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/zoom/page/zoom-hixie-mixed-008-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/zoom/page/zoom-mask-with-percentages-expected.png b/third_party/blink/web_tests/platform/linux/svg/zoom/page/zoom-mask-with-percentages-expected.png
index cd354de..599a85b6 100644
--- a/third_party/blink/web_tests/platform/linux/svg/zoom/page/zoom-mask-with-percentages-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/zoom/page/zoom-mask-with-percentages-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/zoom/page/zoom-svg-float-border-padding-expected.png b/third_party/blink/web_tests/platform/linux/svg/zoom/page/zoom-svg-float-border-padding-expected.png
index ba86dac..3e37716 100644
--- a/third_party/blink/web_tests/platform/linux/svg/zoom/page/zoom-svg-float-border-padding-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/zoom/page/zoom-svg-float-border-padding-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/45621-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/45621-expected.png
index 2a90693..08fd354b 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/45621-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/45621-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug101674-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug101674-expected.png
index 7724f72..f4cb6f0 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug101674-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug101674-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug10269-2-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug10269-2-expected.png
index 28eaeb2..9777c6c 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug10269-2-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug10269-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug10296-1-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug10296-1-expected.png
index bb943394..91a80fc 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug10296-1-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug10296-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug1055-1-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug1055-1-expected.png
index cb01996..35465f88 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug1055-1-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug1055-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug113235-1-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug113235-1-expected.png
index c314c20..617e91d 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug113235-1-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug113235-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug113235-3-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug113235-3-expected.png
index 7856d0f..1b611ec 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug113235-3-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug113235-3-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug1188-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug1188-expected.png
index 600f7d2..e31860f9 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug1188-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug1188-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug11944-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug11944-expected.png
index 7780b1e1..856ba4e 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug11944-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug11944-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug120364-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug120364-expected.png
index bae97a6b..da527dc 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug120364-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug120364-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug12384-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug12384-expected.png
index 81136d3..119ba8e6 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug12384-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug12384-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug1302-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug1302-expected.png
index 728f2eb..84e3798 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug1302-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug1302-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug131020-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug131020-expected.png
index a5c6c50..9c5b1d1 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug131020-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug131020-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug131020_iframe-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug131020_iframe-expected.png
index 94514994..2e2dfea 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug131020_iframe-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug131020_iframe-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug1318-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug1318-expected.png
index 6e6cac1..4d5295e 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug1318-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug1318-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug137388-2-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug137388-2-expected.png
index 2ef5933a..5bcb9c8 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug137388-2-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug137388-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug138725-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug138725-expected.png
index efcdc16..349fec8 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug138725-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug138725-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug149275-1-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug149275-1-expected.png
index ad399555b..e7d20edb 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug149275-1-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug149275-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug18359-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug18359-expected.png
index e03b3a75..a57e5a1 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug18359-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug18359-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug194024-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug194024-expected.png
index 7e77f0b..f8e9703c 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug194024-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug194024-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug22019-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug22019-expected.png
index d95a884..c93b363 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug22019-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug22019-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug24200-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug24200-expected.png
index 8370738b..3995b096 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug24200-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug24200-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug2479-1-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug2479-1-expected.png
index 8f7ee83..9eeb6da 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug2479-1-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug2479-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug2479-2-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug2479-2-expected.png
index cd2ca26f..7ea72f7 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug2479-2-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug2479-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug2479-3-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug2479-3-expected.png
index 555fa73..9fb3b5a 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug2479-3-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug2479-3-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug2479-4-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug2479-4-expected.png
index bea99602..de87238 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug2479-4-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug2479-4-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug26178-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug26178-expected.png
index 3c43fbcc..911ee1ab 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug26178-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug26178-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug27038-2-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug27038-2-expected.png
index 833c93b9..5ff87d7 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug27038-2-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug27038-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug28928-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug28928-expected.png
index 1c9ba68..01c41a8 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug28928-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug28928-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug29326-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug29326-expected.png
index c94bf25..118b12a21 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug29326-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug29326-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug2947-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug2947-expected.png
index 69f137b..ecc06ea 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug2947-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug2947-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug30559-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug30559-expected.png
index cbf00f9..a9abeb6 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug30559-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug30559-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug30692-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug30692-expected.png
index abe5dd51..e488285e 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug30692-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug30692-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug32205-2-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug32205-2-expected.png
index b3bed93..6617f59 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug32205-2-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug32205-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug33855-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug33855-expected.png
index 378bb65..1526af7f 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug33855-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug33855-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug38916-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug38916-expected.png
index 5da983f3..ab179b32 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug38916-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug38916-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug39209-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug39209-expected.png
index a42e6d18..4cb977d8 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug39209-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug39209-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug3977-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug3977-expected.png
index 03e0bd2..3e50261 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug3977-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug3977-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug4382-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug4382-expected.png
index 49982c6a..5f236dea 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug4382-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug4382-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug4429-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug4429-expected.png
index 954884d..545464e8 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug4429-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug4429-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug44505-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug44505-expected.png
index 941144f..c75fa4b 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug44505-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug44505-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug4527-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug4527-expected.png
index 087d8609..bbe303e2 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug4527-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug4527-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug46368-1-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug46368-1-expected.png
index 887cfa2e..9f73300 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug46368-1-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug46368-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug46368-2-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug46368-2-expected.png
index 9b6f4c6..d80d563 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug46368-2-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug46368-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug46480-1-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug46480-1-expected.png
index b261af6..795e197c 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug46480-1-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug46480-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug50695-1-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug50695-1-expected.png
index 2954d1b5..993ca4a 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug50695-1-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug50695-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug51037-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug51037-expected.png
index c95f68b..6d9148b 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug51037-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug51037-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug51727-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug51727-expected.png
index bb09697..5103266 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug51727-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug51727-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug52505-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug52505-expected.png
index c62c54a..680fb2ea 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug52505-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug52505-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug52506-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug52506-expected.png
index 329bafd..9f0daac 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug52506-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug52506-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug55545-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug55545-expected.png
index 83ccbbf..c2a6ba0 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug55545-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug55545-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug5835-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug5835-expected.png
index 2979773..e8c5fb7 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug5835-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug5835-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug59354-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug59354-expected.png
index c918880..8f10876 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug59354-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug59354-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug60749-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug60749-expected.png
index 8819d08d..de62a86b 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug60749-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug60749-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug650-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug650-expected.png
index d62f323..866e98f7 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug650-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug650-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug67915-1-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug67915-1-expected.png
index 79284e7..3c1fff1 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug67915-1-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug67915-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug68912-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug68912-expected.png
index c04671e..5102aad5 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug68912-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug68912-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug7112-1-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug7112-1-expected.png
index 5ec1111..e05a8f4 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug7112-1-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug7112-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug7112-2-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug7112-2-expected.png
index c890944..0628ddb 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug7112-2-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug7112-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug73321-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug73321-expected.png
index a9c317ff..20a6df43 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug73321-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug73321-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug7342-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug7342-expected.png
index 4f44e50..1e30c6a 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug7342-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug7342-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug96334-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug96334-expected.png
index f8fc8550..043b2e9f 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug96334-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug96334-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug96343-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug96343-expected.png
index b2230a0..0f025fc 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug96343-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug96343-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/collapsing_borders/bug41262-4-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/collapsing_borders/bug41262-4-expected.png
index 2b510bd..183c686 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/collapsing_borders/bug41262-4-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/collapsing_borders/bug41262-4-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/core/bloomberg-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/core/bloomberg-expected.png
index 4acccd9..86954c96 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/core/bloomberg-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/core/bloomberg-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/core/captions-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/core/captions-expected.png
index 74da7bf..e153a59 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/core/captions-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/core/captions-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/core/cell_heights-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/core/cell_heights-expected.png
index 20c8dac..90e9371 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/core/cell_heights-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/core/cell_heights-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/core/col_widths_fix_fixPer-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/core/col_widths_fix_fixPer-expected.png
index 0509b3d6..414d8ca9 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/core/col_widths_fix_fixPer-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/core/col_widths_fix_fixPer-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/core/margins-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/core/margins-expected.png
index 707f8d9..ae15e8f 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/core/margins-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/core/margins-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/core/row_span-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/core/row_span-expected.png
index db63424..5e5f786 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/core/row_span-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/core/row_span-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/dom/tableDom-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/dom/tableDom-expected.png
index 80c3941..8a728a9 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/dom/tableDom-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/dom/tableDom-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/marvin/x_table_bgcolor_name-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/marvin/x_table_bgcolor_name-expected.png
index 024c2d35..8bc6ebe 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/marvin/x_table_bgcolor_name-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/marvin/x_table_bgcolor_name-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/marvin/x_table_bgcolor_rgb-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/marvin/x_table_bgcolor_rgb-expected.png
index 024c2d35..8bc6ebe 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/marvin/x_table_bgcolor_rgb-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/marvin/x_table_bgcolor_rgb-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/marvin/x_td_bgcolor_name-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/marvin/x_td_bgcolor_name-expected.png
index d9235c0..1e14fd4 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/marvin/x_td_bgcolor_name-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/marvin/x_td_bgcolor_name-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/marvin/x_td_bgcolor_rgb-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/marvin/x_td_bgcolor_rgb-expected.png
index d9235c0..1e14fd4 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/marvin/x_td_bgcolor_rgb-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/marvin/x_td_bgcolor_rgb-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/marvin/x_td_height-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/marvin/x_td_height-expected.png
index f473a1a9..eb1e062 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/marvin/x_td_height-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/marvin/x_td_height-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/marvin/x_th_bgcolor_name-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/marvin/x_th_bgcolor_name-expected.png
index eaa023dc..496c5b91a 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/marvin/x_th_bgcolor_name-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/marvin/x_th_bgcolor_name-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/marvin/x_th_bgcolor_rgb-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/marvin/x_th_bgcolor_rgb-expected.png
index eaa023dc..496c5b91a 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/marvin/x_th_bgcolor_rgb-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/marvin/x_th_bgcolor_rgb-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/marvin/x_th_height-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/marvin/x_th_height-expected.png
index 7c27c8a..5ee9970 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/marvin/x_th_height-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/marvin/x_th_height-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/marvin/x_tr_bgcolor_name-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/marvin/x_tr_bgcolor_name-expected.png
index d9235c0..1e14fd4 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/marvin/x_tr_bgcolor_name-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/marvin/x_tr_bgcolor_name-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/marvin/x_tr_bgcolor_rgb-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/marvin/x_tr_bgcolor_rgb-expected.png
index d9235c0..1e14fd4 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/marvin/x_tr_bgcolor_rgb-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/marvin/x_tr_bgcolor_rgb-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/other/cell_widths-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/other/cell_widths-expected.png
index c1011da9..b12d5f32 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/other/cell_widths-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/other/cell_widths-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/other/move_row-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/other/move_row-expected.png
index 264fa14..384285f 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/other/move_row-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/other/move_row-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/other/nestedTables-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/other/nestedTables-expected.png
index c1e3e7da..adab559 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/other/nestedTables-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/other/nestedTables-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/other/test3-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/other/test3-expected.png
index e6b958e6..c30208c 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/other/test3-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/other/test3-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/other/test6-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/other/test6-expected.png
index 1f2170de..0c46d5b 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/other/test6-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/other/test6-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/other/wa_table_thtd_rowspan-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/other/wa_table_thtd_rowspan-expected.png
index 6d3472f..cf017e4 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/other/wa_table_thtd_rowspan-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/other/wa_table_thtd_rowspan-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla/other/wa_table_tr_align-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla/other/wa_table_tr_align-expected.png
index ac528470..020303b 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla/other/wa_table_tr_align-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla/other/wa_table_tr_align-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug10140-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug10140-expected.png
index cfb8c4b0..426fd64 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug10140-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug10140-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug101759-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug101759-expected.png
index dbf9138..6c36d38 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug101759-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug101759-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug10216-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug10216-expected.png
index d30d3f20..05b191d 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug10216-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug10216-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug1055-2-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug1055-2-expected.png
index 1e4a4f5..ecad1f9 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug1055-2-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug1055-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug106966-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug106966-expected.png
index f1c68783..79872d3a 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug106966-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug106966-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug131020-3-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug131020-3-expected.png
index 4bd1632..af276b1 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug131020-3-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug131020-3-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug14007-1-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug14007-1-expected.png
index 1b3e61d..bec6f632 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug14007-1-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug14007-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug14007-2-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug14007-2-expected.png
index be35f4a..9d3ed21 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug14007-2-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug14007-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug1725-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug1725-expected.png
index 5189cf0..db06965 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug1725-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug1725-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug19526-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug19526-expected.png
index a35c81d78..b67b8769 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug19526-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug19526-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug22122-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug22122-expected.png
index 41c20f1..0c935ca 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug22122-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug22122-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug2479-5-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug2479-5-expected.png
index b9e0c662..cb0954e 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug2479-5-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug2479-5-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug32205-1-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug32205-1-expected.png
index b27faa8..03dc19c 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug32205-1-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug32205-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug58402-2-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug58402-2-expected.png
index 333f85a0b..60b9f9c 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug58402-2-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug58402-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug80762-2-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug80762-2-expected.png
index 23e6f0424..48197e58 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug80762-2-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug80762-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug89315-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug89315-expected.png
index 3f7b3da..20943097 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug89315-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug89315-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug91057-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug91057-expected.png
index 7041d44b..6a3fb422 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug91057-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug91057-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug92647-1-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug92647-1-expected.png
index 656d8a7..7f5c9a3 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug92647-1-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/bugs/bug92647-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/collapsing_borders/bug41262-5-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/collapsing_borders/bug41262-5-expected.png
index e609b0cf..c7fe059 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/collapsing_borders/bug41262-5-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/collapsing_borders/bug41262-5-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/collapsing_borders/bug41262-6-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/collapsing_borders/bug41262-6-expected.png
index fa227e6a..bd49ccc7 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/collapsing_borders/bug41262-6-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/collapsing_borders/bug41262-6-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/core/backgrounds-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/core/backgrounds-expected.png
index 0ae158a6..5f48165 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/core/backgrounds-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/core/backgrounds-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/core/captions1-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/core/captions1-expected.png
index 279e617..b42d47b90 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/core/captions1-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/core/captions1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/core/captions2-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/core/captions2-expected.png
index 6daa8b0..0bb563a9 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/core/captions2-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/core/captions2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/core/captions3-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/core/captions3-expected.png
index bdb5730..1a9064f 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/core/captions3-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/core/captions3-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/core/col_span2-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/core/col_span2-expected.png
index 70beeb41..818bb12 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/core/col_span2-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/core/col_span2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/core/columns-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/core/columns-expected.png
index 3a11e46..c7189e8 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/core/columns-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/core/columns-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/core/conflicts-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/core/conflicts-expected.png
index 7ca9d1b..904ed7b 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/core/conflicts-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/core/conflicts-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/core/standards1-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/core/standards1-expected.png
index 4aec7ac..75319b20 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/core/standards1-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/core/standards1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.png
index 3855e468..51f3a3d 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_row_sibling-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_row_sibling-expected.png
index d5ef3df..968af804 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_row_sibling-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_row_sibling-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_tbody_sibling-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_tbody_sibling-expected.png
index 90a73e0..ef2631f 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_tbody_sibling-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_tbody_sibling-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/other/empty_cells-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/other/empty_cells-expected.png
index 321daa9..c717a3c 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/other/empty_cells-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/other/empty_cells-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/other/test4-expected.png b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/other/test4-expected.png
index 5fd5d12..d8ab617 100644
--- a/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/other/test4-expected.png
+++ b/third_party/blink/web_tests/platform/linux/tables/mozilla_expected_failures/other/test4-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/transforms/2d/hindi-rotated-expected.png b/third_party/blink/web_tests/platform/linux/transforms/2d/hindi-rotated-expected.png
index a7131d1..9127b5ea 100644
--- a/third_party/blink/web_tests/platform/linux/transforms/2d/hindi-rotated-expected.png
+++ b/third_party/blink/web_tests/platform/linux/transforms/2d/hindi-rotated-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/transforms/2d/transform-fixed-container-expected.png b/third_party/blink/web_tests/platform/linux/transforms/2d/transform-fixed-container-expected.png
index a308ec4..9ce1044 100644
--- a/third_party/blink/web_tests/platform/linux/transforms/2d/transform-fixed-container-expected.png
+++ b/third_party/blink/web_tests/platform/linux/transforms/2d/transform-fixed-container-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/transforms/2d/zoom-menulist-expected.png b/third_party/blink/web_tests/platform/linux/transforms/2d/zoom-menulist-expected.png
index 08be19e7..69e87ff 100644
--- a/third_party/blink/web_tests/platform/linux/transforms/2d/zoom-menulist-expected.png
+++ b/third_party/blink/web_tests/platform/linux/transforms/2d/zoom-menulist-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/transforms/3d/general/perspective-non-layer-expected.png b/third_party/blink/web_tests/platform/linux/transforms/3d/general/perspective-non-layer-expected.png
index 5c82802..90dd058 100644
--- a/third_party/blink/web_tests/platform/linux/transforms/3d/general/perspective-non-layer-expected.png
+++ b/third_party/blink/web_tests/platform/linux/transforms/3d/general/perspective-non-layer-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/transforms/3d/point-mapping/3d-point-mapping-expected.png b/third_party/blink/web_tests/platform/linux/transforms/3d/point-mapping/3d-point-mapping-expected.png
index 53bb1aa..b0f4515 100644
--- a/third_party/blink/web_tests/platform/linux/transforms/3d/point-mapping/3d-point-mapping-expected.png
+++ b/third_party/blink/web_tests/platform/linux/transforms/3d/point-mapping/3d-point-mapping-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/transforms/3d/point-mapping/3d-point-mapping-origins-expected.png b/third_party/blink/web_tests/platform/linux/transforms/3d/point-mapping/3d-point-mapping-origins-expected.png
index 040de78..a77628c 100644
--- a/third_party/blink/web_tests/platform/linux/transforms/3d/point-mapping/3d-point-mapping-origins-expected.png
+++ b/third_party/blink/web_tests/platform/linux/transforms/3d/point-mapping/3d-point-mapping-origins-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/transforms/3d/point-mapping/3d-point-mapping-preserve-3d-expected.png b/third_party/blink/web_tests/platform/linux/transforms/3d/point-mapping/3d-point-mapping-preserve-3d-expected.png
index 11ee38a..c45a55b 100644
--- a/third_party/blink/web_tests/platform/linux/transforms/3d/point-mapping/3d-point-mapping-preserve-3d-expected.png
+++ b/third_party/blink/web_tests/platform/linux/transforms/3d/point-mapping/3d-point-mapping-preserve-3d-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/transforms/transformed-focused-text-input-expected.png b/third_party/blink/web_tests/platform/linux/transforms/transformed-focused-text-input-expected.png
index ecf5cce..c81d31bd 100644
--- a/third_party/blink/web_tests/platform/linux/transforms/transformed-focused-text-input-expected.png
+++ b/third_party/blink/web_tests/platform/linux/transforms/transformed-focused-text-input-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/audio-service/http/tests/media/video-frame-size-change-expected.png b/third_party/blink/web_tests/platform/linux/virtual/audio-service/http/tests/media/video-frame-size-change-expected.png
new file mode 100644
index 0000000..28e9abd
--- /dev/null
+++ b/third_party/blink/web_tests/platform/linux/virtual/audio-service/http/tests/media/video-frame-size-change-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-high-contrast/fast/forms/controls-new-ui-high-contrast/color-picker-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-high-contrast/fast/forms/controls-new-ui-high-contrast/color-picker-expected.png
index bced82a..3e48c5c7 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-high-contrast/fast/forms/controls-new-ui-high-contrast/color-picker-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-high-contrast/fast/forms/controls-new-ui-high-contrast/color-picker-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-high-contrast/fast/forms/controls-new-ui-high-contrast/date-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-high-contrast/fast/forms/controls-new-ui-high-contrast/date-suggestion-picker-appearance-expected.png
index 994851b9..023ccb2f 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-high-contrast/fast/forms/controls-new-ui-high-contrast/date-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-high-contrast/fast/forms/controls-new-ui-high-contrast/date-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-coarse-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-coarse-expected.png
index 03aeefab..ea9556db 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-coarse-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-coarse-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-disabled-previous-month-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-disabled-previous-month-expected.png
index 5d2adc9..d43b108 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-disabled-previous-month-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-disabled-previous-month-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-rtl-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-rtl-expected.png
index 313c392..ff75252 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-step-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-step-expected.png
index d1dae21..66cb156c 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-step-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-step-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-zoom150-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-zoom150-expected.png
index b842713..a8535b5 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-zoom150-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-zoom150-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-disabled-values-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-disabled-values-expected.png
index 63484f4..998cc53 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-disabled-values-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-disabled-values-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-month-appearance-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-month-appearance-expected.png
index 2af43257..861efd55 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-month-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-month-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-accelerated-keyboard-navigation-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-accelerated-keyboard-navigation-expected.png
index f9a8a05..d1308d0 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-accelerated-keyboard-navigation-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-accelerated-keyboard-navigation-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-click-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-click-expected.png
index 6de615c..564997c 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-click-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-accelerated-keyboard-navigation-from-top-left-corner-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-accelerated-keyboard-navigation-from-top-left-corner-expected.png
index c3c7108..6760c5b2 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-accelerated-keyboard-navigation-from-top-left-corner-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-accelerated-keyboard-navigation-from-top-left-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-accelerated-keyboard-navigation-from-top-right-corner-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-accelerated-keyboard-navigation-from-top-right-corner-expected.png
index 4c429ce2..74844ee 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-accelerated-keyboard-navigation-from-top-right-corner-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-accelerated-keyboard-navigation-from-top-right-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-left-corner-expected.png
index cbbabd8b..a55f681 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-right-corner-expected.png
index 8cd6f179..13a4921 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-drag-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-drag-expected.png
index 6de615c..564997c 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-drag-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-keyboard-navigation-after-drag-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-keyboard-navigation-after-drag-expected.png
index b6a72319..a82856eb 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-keyboard-navigation-after-drag-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-keyboard-navigation-after-drag-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-keyboard-navigation-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-keyboard-navigation-expected.png
index 17aeac4..b682542 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-keyboard-navigation-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-accelerated-keyboard-navigation-from-bottom-right-corner-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-accelerated-keyboard-navigation-from-bottom-right-corner-expected.png
index 70eddd6..8ce73bf4 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-accelerated-keyboard-navigation-from-bottom-right-corner-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-accelerated-keyboard-navigation-from-bottom-right-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-accelerated-keyboard-navigation-from-top-right-corner-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-accelerated-keyboard-navigation-from-top-right-corner-expected.png
index 4acc161..44970eee 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-accelerated-keyboard-navigation-from-top-right-corner-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-accelerated-keyboard-navigation-from-top-right-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-keyboard-navigation-from-bottom-right-corner-expected.png
index acd03db..79e5538e 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-keyboard-navigation-from-top-right-corner-expected.png
index 6a700cd..43b653b7 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-accelerated-keyboard-navigation-from-bottom-left-corner-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-accelerated-keyboard-navigation-from-bottom-left-corner-expected.png
index ad1a776..f63b74f 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-accelerated-keyboard-navigation-from-bottom-left-corner-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-accelerated-keyboard-navigation-from-bottom-left-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-accelerated-keyboard-navigation-from-top-left-corner-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-accelerated-keyboard-navigation-from-top-left-corner-expected.png
index aa9bb8f2..d8c4d700 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-accelerated-keyboard-navigation-from-top-left-corner-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-accelerated-keyboard-navigation-from-top-left-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-keyboard-navigation-from-bottom-left-corner-expected.png
index 8333abb..099e68d 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-keyboard-navigation-from-top-left-corner-expected.png
index 7cd9381..b0f5ed6 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-accelerated-keyboard-navigation-from-bottom-left-corner-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-accelerated-keyboard-navigation-from-bottom-left-corner-expected.png
index 1a2776e..0fb4952 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-accelerated-keyboard-navigation-from-bottom-left-corner-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-accelerated-keyboard-navigation-from-bottom-left-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-accelerated-keyboard-navigation-from-bottom-right-corner-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-accelerated-keyboard-navigation-from-bottom-right-corner-expected.png
index dd3ae569..0fe372b 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-accelerated-keyboard-navigation-from-bottom-right-corner-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-accelerated-keyboard-navigation-from-bottom-right-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-left-corner-expected.png
index 5a8e36825..d43052d 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-right-corner-expected.png
index aa3e9e3..7ba5489 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-hex-format-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hex-format-expected.png
index ae7dcc5b..104b805 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hex-format-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hex-format-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hsl-format-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hsl-format-expected.png
index b082cdb..9a9d451 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hsl-format-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hsl-format-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-accelerated-keyboard-navigation-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-accelerated-keyboard-navigation-expected.png
index e246b942..599297e 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-accelerated-keyboard-navigation-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-click-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-click-expected.png
index b6392941..095ba310 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-click-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-drag-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-drag-expected.png
index b6392941..095ba310 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-drag-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-keyboard-navigation-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-keyboard-navigation-expected.png
index 1e95f4d..10da3ce 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-keyboard-navigation-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-left-edge-zero-hue-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-left-edge-zero-hue-expected.png
index 27edc513..31f27eb 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-left-edge-zero-hue-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-right-edge-zero-hue-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-right-edge-zero-hue-expected.png
index 716b159..1761312c 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-right-edge-zero-hue-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-imperfect-match-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-imperfect-match-expected.png
index e70e07ad..42745379 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-imperfect-match-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-imperfect-match-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-manual-color-change-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-manual-color-change-expected.png
index bafb09b5..9adddf3 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-manual-color-change-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-set-value-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-set-value-expected.png
index db6aad3f..73dda9cf 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-set-value-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-set-value-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-value-attribute-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-value-attribute-expected.png
index a80a482..868806d 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-value-attribute-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-value-attribute-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-zoom125-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-zoom125-expected.png
index bdf3e12..3cc03e2 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-zoom125-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-zoom125-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-zoom200-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-zoom200-expected.png
index 0dc4ae62..b1cb1b0 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-zoom200-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-zoom200-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-empty-list-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-empty-list-expected.png
index f6e02ce..ad15d91 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-empty-list-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-one-row-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-one-row-expected.png
index e29a0ca..4c05da1 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-one-row-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-two-rows-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-two-rows-expected.png
index e7dedd8b..39084638 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-two-rows-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-value-attribute-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-value-attribute-expected.png
index 267127a8..24b8180 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-value-attribute-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-with-scrollbar-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-with-scrollbar-expected.png
index 8e16703..ae8c53a8 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-with-scrollbar-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom125-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom125-expected.png
index 996309b..6c91446 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom125-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom125-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom200-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom200-expected.png
index 57f1077..7dcf103 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom200-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom200-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-today-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-today-expected.png
index 161aade..0dcdd07f5 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-today-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-today-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-values-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-values-expected.png
index 3ae237f6..695431e 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-values-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/month-picker/month-picker-appearance-highlight-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-highlight-expected.png
index b36d273..ba6597a 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-highlight-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-highlight-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-rtl-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-rtl-expected.png
index 58ba16c8..e6c4718 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-value-not-in-interval-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-value-not-in-interval-expected.png
index 983d8c0..d65fa69 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-value-not-in-interval-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-value-not-in-interval-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-zoom150-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-zoom150-expected.png
index 92b1b3e..399b37b 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-zoom150-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-zoom150-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-alt-f8-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-alt-f8-expected.png
index af60577..13378729 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-alt-f8-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-alt-f8-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-alt-f8-twice-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-alt-f8-twice-expected.png
index 00d476a..018faab 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-alt-f8-twice-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-alt-f8-twice-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-eye-icon-font-size-48px-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-eye-icon-font-size-48px-expected.png
index 38891a3..c23bd15 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-eye-icon-font-size-48px-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/password/password-eye-icon-font-size-4px-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-eye-icon-font-size-4px-expected.png
index baa8e87..7151697 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-eye-icon-font-size-4px-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/password/password-eye-icon-zoom-0.5x-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-eye-icon-zoom-0.5x-expected.png
index 36fada2..1ba15f3 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-eye-icon-zoom-0.5x-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/password/password-eye-icon-zoom-4x-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-eye-icon-zoom-4x-expected.png
index 5c31388..4e8fd80 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-eye-icon-zoom-4x-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-eye-icon-zoom-4x-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-mismatched_glyph-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-mismatched_glyph-expected.png
index 00d476a..018faab 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-mismatched_glyph-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-mismatched_glyph-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-small-size-alt-f8-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-small-size-alt-f8-expected.png
index a5b48be..6132a29 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-small-size-alt-f8-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-small-size-alt-f8-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-with-reveal-button-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-with-reveal-button-expected.png
index 00d476a..018faab 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-with-reveal-button-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-with-reveal-button-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/date-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/date-suggestion-picker-appearance-expected.png
index d78c55e..689035d 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/date-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/date-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
index eb814343..b896c6ba 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/month-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/month-suggestion-picker-appearance-expected.png
index bb745fc..567e038 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/month-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/month-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/time-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/time-suggestion-picker-appearance-expected.png
index 0a10e17d..007f736d 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/time-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/time-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/week-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/week-suggestion-picker-appearance-expected.png
index 8bb07b29..44dcb309 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/week-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/week-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-AM-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-AM-expected.png
index 45d95fe3..c699e3a 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-AM-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-PM-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-PM-expected.png
index 7861d0459..dfd1b1b 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-PM-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/time-picker/time-picker-appearance-24-hour-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-24-hour-expected.png
index 5d264060..2ff1457 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-24-hour-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-24-hour-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowdown-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowdown-expected.png
index 0e52d0f4..bbbf95a 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowdown-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowdown-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowup-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowup-expected.png
index e9f2078..6e41100 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowup-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowup-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-expected.png
index 3999bd5..6dd1236 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-ko-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-ko-expected.png
index 22541a0..ca39bde 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-ko-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-ko-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-milliseconds-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-milliseconds-expected.png
index c525139c..5ba91f2 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-milliseconds-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-milliseconds-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-seconds-pm-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-seconds-pm-expected.png
index e5b5df7..5904457 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-seconds-pm-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-seconds-pm-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/disable-deferred-rendering/fast/canvas/canvas-composite-video-expected.png b/third_party/blink/web_tests/platform/linux/virtual/disable-deferred-rendering/fast/canvas/canvas-composite-video-expected.png
new file mode 100644
index 0000000..a3006f05f
--- /dev/null
+++ b/third_party/blink/web_tests/platform/linux/virtual/disable-deferred-rendering/fast/canvas/canvas-composite-video-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/disable-deferred-rendering/fast/canvas/canvas-composite-video-shadow-expected.png b/third_party/blink/web_tests/platform/linux/virtual/disable-deferred-rendering/fast/canvas/canvas-composite-video-shadow-expected.png
new file mode 100644
index 0000000..903d2982
--- /dev/null
+++ b/third_party/blink/web_tests/platform/linux/virtual/disable-deferred-rendering/fast/canvas/canvas-composite-video-shadow-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/12-55-expected.png b/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/12-55-expected.png
index f38df4d..814d3b9a 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/12-55-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/12-55-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/182-expected.png b/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/182-expected.png
index f9ea39f..779f7d9bd 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/182-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/182-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/2-dht-expected.png b/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/2-dht-expected.png
index 483b603..ecdc6ff 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/2-dht-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/2-dht-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/23-55-expected.png b/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/23-55-expected.png
index 06fa592..9045f85 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/23-55-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/23-55-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/55-expected.png b/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/55-expected.png
index 6782a284..dc8e9fa0 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/55-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/55-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/rendering-broken-0px-images-expected.png b/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/rendering-broken-0px-images-expected.png
index 4d25c81..b5e7e79 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/rendering-broken-0px-images-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/rendering-broken-0px-images-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/rendering-broken-0px-images-quirk-expected.png b/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/rendering-broken-0px-images-quirk-expected.png
index b51a00e7..9c28867b 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/rendering-broken-0px-images-quirk-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/rendering-broken-0px-images-quirk-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/rendering-broken-10px-images-expected.png b/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/rendering-broken-10px-images-expected.png
index 71e39e3d..3184c8c 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/rendering-broken-10px-images-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/rendering-broken-10px-images-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/rendering-broken-16px-images-expected.png b/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/rendering-broken-16px-images-expected.png
index bd4e03a..93ed38e0 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/rendering-broken-16px-images-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/rendering-broken-16px-images-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/rendering-broken-1px-images-expected.png b/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/rendering-broken-1px-images-expected.png
index dbc508e..5cae7cfc 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/rendering-broken-1px-images-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/rendering-broken-1px-images-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/rendering-broken-block-flow-images-expected.png b/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/rendering-broken-block-flow-images-expected.png
index 27d45f3..73de6f7 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/rendering-broken-block-flow-images-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/rendering-broken-block-flow-images-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/rendering-broken-images-empty-alt-expected.png b/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/rendering-broken-images-empty-alt-expected.png
index bcda162b..246ff86 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/rendering-broken-images-empty-alt-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/rendering-broken-images-empty-alt-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/rendering-broken-images-expected.png b/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/rendering-broken-images-expected.png
index 0ca21b1..6e770d6 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/rendering-broken-images-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/rendering-broken-images-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/12-55-expected.png b/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/12-55-expected.png
index cee0a04..29f4286 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/12-55-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/12-55-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/182-expected.png b/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/182-expected.png
index 607468c4..e9f1cf4 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/182-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/182-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/2-dht-expected.png b/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/2-dht-expected.png
index 1d3bcfbd..b623387 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/2-dht-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/2-dht-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/23-55-expected.png b/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/23-55-expected.png
index ac477e4..9dc1587 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/23-55-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/23-55-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/55-expected.png b/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/55-expected.png
index e5eec3f..0f6e95a 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/55-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/55-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/rendering-broken-0px-images-expected.png b/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/rendering-broken-0px-images-expected.png
index e48bbeb9..d174e13 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/rendering-broken-0px-images-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/rendering-broken-0px-images-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/rendering-broken-0px-images-quirk-expected.png b/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/rendering-broken-0px-images-quirk-expected.png
index 31f5556..cae7420 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/rendering-broken-0px-images-quirk-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/rendering-broken-0px-images-quirk-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/rendering-broken-10px-images-expected.png b/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/rendering-broken-10px-images-expected.png
index 834a42250e..bf07ed00 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/rendering-broken-10px-images-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/rendering-broken-10px-images-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/rendering-broken-16px-images-expected.png b/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/rendering-broken-16px-images-expected.png
index 08ff716..3f328b9 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/rendering-broken-16px-images-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/rendering-broken-16px-images-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/rendering-broken-1px-images-expected.png b/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/rendering-broken-1px-images-expected.png
index 4759d74a..190b2d7 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/rendering-broken-1px-images-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/rendering-broken-1px-images-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/rendering-broken-block-flow-images-expected.png b/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/rendering-broken-block-flow-images-expected.png
index ffde12d..5d73602 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/rendering-broken-block-flow-images-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/rendering-broken-block-flow-images-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/rendering-broken-images-empty-alt-expected.png b/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/rendering-broken-images-empty-alt-expected.png
index 537669dc..65e05d3 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/rendering-broken-images-empty-alt-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/rendering-broken-images-empty-alt-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/rendering-broken-images-expected.png b/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/rendering-broken-images-expected.png
index 66d6dbb..2b8d00a7 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/rendering-broken-images-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/rendering-broken-images-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/gpu/fast/canvas/canvas-composite-video-expected.png b/third_party/blink/web_tests/platform/linux/virtual/gpu/fast/canvas/canvas-composite-video-expected.png
index 05c18ef4..7af60dd 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/gpu/fast/canvas/canvas-composite-video-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/gpu/fast/canvas/canvas-composite-video-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/gpu/fast/canvas/canvas-composite-video-shadow-expected.png b/third_party/blink/web_tests/platform/linux/virtual/gpu/fast/canvas/canvas-composite-video-shadow-expected.png
index a3d1c3c6..ec321a9a 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/gpu/fast/canvas/canvas-composite-video-shadow-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/gpu/fast/canvas/canvas-composite-video-shadow-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/layout_ng_experimental/css3/flexbox/button-expected.png b/third_party/blink/web_tests/platform/linux/virtual/layout_ng_experimental/css3/flexbox/button-expected.png
new file mode 100644
index 0000000..160ea2d
--- /dev/null
+++ b/third_party/blink/web_tests/platform/linux/virtual/layout_ng_experimental/css3/flexbox/button-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/layout_ng_experimental/fast/multicol/input-with-overflow-second-column-expected.png b/third_party/blink/web_tests/platform/linux/virtual/layout_ng_experimental/fast/multicol/input-with-overflow-second-column-expected.png
new file mode 100644
index 0000000..d771d84a
--- /dev/null
+++ b/third_party/blink/web_tests/platform/linux/virtual/layout_ng_experimental/fast/multicol/input-with-overflow-second-column-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/layout_ng_experimental/fast/multicol/multicol-with-child-renderLayer-for-input-expected.png b/third_party/blink/web_tests/platform/linux/virtual/layout_ng_experimental/fast/multicol/multicol-with-child-renderLayer-for-input-expected.png
new file mode 100644
index 0000000..f47e9408
--- /dev/null
+++ b/third_party/blink/web_tests/platform/linux/virtual/layout_ng_experimental/fast/multicol/multicol-with-child-renderLayer-for-input-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/layout_ng_experimental/fragmentation/outline-crossing-columns-expected.png b/third_party/blink/web_tests/platform/linux/virtual/layout_ng_experimental/fragmentation/outline-crossing-columns-expected.png
index da42e7f..a5d4da55 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/layout_ng_experimental/fragmentation/outline-crossing-columns-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/layout_ng_experimental/fragmentation/outline-crossing-columns-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/layout_ng_experimental/printing/return-from-printing-mode-expected.png b/third_party/blink/web_tests/platform/linux/virtual/layout_ng_experimental/printing/return-from-printing-mode-expected.png
new file mode 100644
index 0000000..92288b5f
--- /dev/null
+++ b/third_party/blink/web_tests/platform/linux/virtual/layout_ng_experimental/printing/return-from-printing-mode-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 b900c7a..5bfe6ec 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/mouseevent_fractional/fast/events/updateLayoutForHitTest-expected.png b/third_party/blink/web_tests/platform/linux/virtual/mouseevent_fractional/fast/events/updateLayoutForHitTest-expected.png
index ef46d29c..b7b710e31 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/mouseevent_fractional/fast/events/updateLayoutForHitTest-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/mouseevent_fractional/fast/events/updateLayoutForHitTest-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 da8fbe92..a9dfa22 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 609d706..459948dd 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/prefer_compositing_to_lcd_text/scrollbars/border-box-rect-clips-scrollbars-expected.png b/third_party/blink/web_tests/platform/linux/virtual/prefer_compositing_to_lcd_text/scrollbars/border-box-rect-clips-scrollbars-expected.png
index 9ce94f9..fb11eac4 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/prefer_compositing_to_lcd_text/scrollbars/border-box-rect-clips-scrollbars-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/prefer_compositing_to_lcd_text/scrollbars/border-box-rect-clips-scrollbars-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/prefer_compositing_to_lcd_text/scrollbars/scrollbars-on-positioned-content-expected.png b/third_party/blink/web_tests/platform/linux/virtual/prefer_compositing_to_lcd_text/scrollbars/scrollbars-on-positioned-content-expected.png
index 69ae3312..8cbbfbea 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/prefer_compositing_to_lcd_text/scrollbars/scrollbars-on-positioned-content-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/prefer_compositing_to_lcd_text/scrollbars/scrollbars-on-positioned-content-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 74d11b5..a5c6163 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 3440904..a6c6faf 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 6cce6168..6a301fb 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 dc1b7ff3..c84e357e 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/calendar-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/virtual/scalefactor200/fast/hidpi/static/calendar-picker-appearance-expected.png
index 0353510..cc706a6c 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/scalefactor200/fast/hidpi/static/calendar-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/scalefactor200/fast/hidpi/static/calendar-picker-appearance-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 413d2f1..980e597 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/scalefactor200/fast/hidpi/static/popup-menu-appearance-expected.png b/third_party/blink/web_tests/platform/linux/virtual/scalefactor200/fast/hidpi/static/popup-menu-appearance-expected.png
index 80bbf93..72b344f 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/scalefactor200/fast/hidpi/static/popup-menu-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/scalefactor200/fast/hidpi/static/popup-menu-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/scalefactor200/fast/hidpi/static/validation-bubble-appearance-hidpi-expected.png b/third_party/blink/web_tests/platform/linux/virtual/scalefactor200/fast/hidpi/static/validation-bubble-appearance-hidpi-expected.png
index 4691d3c..fea4c74 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/scalefactor200/fast/hidpi/static/validation-bubble-appearance-hidpi-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/scalefactor200/fast/hidpi/static/validation-bubble-appearance-hidpi-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 0353510..cc706a6c 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 413d2f1..980e597 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 80bbf93..72b344f 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 4691d3c..fea4c74 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/threaded/printing/return-from-printing-mode-expected.png b/third_party/blink/web_tests/platform/linux/virtual/threaded/printing/return-from-printing-mode-expected.png
index a634b4002..92288b5f 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/threaded/printing/return-from-printing-mode-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/threaded/printing/return-from-printing-mode-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/compositing/gestures/gesture-tapHighlight-pixel-rotated-div-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/compositing/gestures/gesture-tapHighlight-pixel-rotated-div-expected.png
index b3deb01..366112b 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/compositing/gestures/gesture-tapHighlight-pixel-rotated-div-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/compositing/gestures/gesture-tapHighlight-pixel-rotated-div-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/compositing/gestures/gesture-tapHighlight-pixel-rotated-link-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/compositing/gestures/gesture-tapHighlight-pixel-rotated-link-expected.png
index 643828e..2f55cef 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/compositing/gestures/gesture-tapHighlight-pixel-rotated-link-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/compositing/gestures/gesture-tapHighlight-pixel-rotated-link-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/preload/onerror-event-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/preload/onerror-event-expected.txt
deleted file mode 100644
index aa88efb..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.10/external/wpt/preload/onerror-event-expected.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-This is a testharness.js-based test.
-FAIL Makes sure that preloaded resources trigger the onerror event Uncaught Error: assert_true: video triggered error event expected true got false
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png
index 5087ec1..bb67e7c 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-coarse-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-coarse-expected.png
index c30faa73..c9ef490 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-coarse-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-coarse-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-expected.png
index 5cb77202..ae4e839 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-minimum-date-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-minimum-date-expected.png
index 722109d..3c0f469 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-minimum-date-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-minimum-date-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png
index 1146b77a..4487c358 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png
index ae66310..adf8d6a 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png
index 14c52129..5288fc7 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-zoom200-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-zoom200-expected.png
index 30df4ec..41a72e7 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-zoom200-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/calendar-picker-appearance-zoom200-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/month-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/month-picker-appearance-expected.png
index 17b05ba..ca6a3ae 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/month-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/month-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/month-picker-appearance-step-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/month-picker-appearance-step-expected.png
index 05dd36ef..814ac41c 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/month-picker-appearance-step-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/month-picker-appearance-step-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/week-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/week-picker-appearance-expected.png
index abcf193..4090d32 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/week-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/calendar-picker/week-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/select/menulist-appearance-rtl-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/select/menulist-appearance-rtl-expected.png
index 83fb08ac..43a52d0 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/select/menulist-appearance-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/select/menulist-appearance-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/text/input-text-scroll-left-on-blur-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/text/input-text-scroll-left-on-blur-expected.png
index 7420fa2b..9884892 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/text/input-text-scroll-left-on-blur-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/fast/forms/text/input-text-scroll-left-on-blur-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/fast/overflow/clip-rects-fixed-ancestor-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/fast/overflow/clip-rects-fixed-ancestor-expected.png
new file mode 100644
index 0000000..554d14c
--- /dev/null
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/fast/overflow/clip-rects-fixed-ancestor-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/bugs/bug30692-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/bugs/bug30692-expected.png
index 903edc7d0..d01d783 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/bugs/bug30692-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/tables/mozilla/bugs/bug30692-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-high-contrast/fast/forms/controls-new-ui-high-contrast/color-picker-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-high-contrast/fast/forms/controls-new-ui-high-contrast/color-picker-expected.png
deleted file mode 100644
index 6aff6bd..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-high-contrast/fast/forms/controls-new-ui-high-contrast/color-picker-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-high-contrast/fast/forms/controls-new-ui-high-contrast/date-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-high-contrast/fast/forms/controls-new-ui-high-contrast/date-suggestion-picker-appearance-expected.png
index 1612bcc..750e488 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-high-contrast/fast/forms/controls-new-ui-high-contrast/date-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-high-contrast/fast/forms/controls-new-ui-high-contrast/date-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-coarse-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-coarse-expected.png
index 1b212ee..0ea0e240 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-coarse-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-disabled-previous-month-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-disabled-previous-month-expected.png
index 4b3dc92..e985a91 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-disabled-previous-month-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-rtl-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-rtl-expected.png
index 0dbcc0c..3fd0390 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-step-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-step-expected.png
index 62cc82e..d462333c 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-step-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-zoom150-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-zoom150-expected.png
index 284c522..726ff6f8 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-zoom150-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/calendar-picker/date-picker-disabled-values-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-disabled-values-expected.png
index e4af077..55a96d86 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-disabled-values-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/calendar-picker/date-picker-month-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-month-appearance-expected.png
index d619146..0062fd6 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-month-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-accelerated-keyboard-navigation-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-accelerated-keyboard-navigation-expected.png
deleted file mode 100644
index b83acae..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-accelerated-keyboard-navigation-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-click-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-click-expected.png
deleted file mode 100644
index 4be68be..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-click-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-accelerated-keyboard-navigation-from-top-left-corner-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-accelerated-keyboard-navigation-from-top-left-corner-expected.png
deleted file mode 100644
index 3000dc68..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-accelerated-keyboard-navigation-from-top-left-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-accelerated-keyboard-navigation-from-top-right-corner-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-accelerated-keyboard-navigation-from-top-right-corner-expected.png
deleted file mode 100644
index 78e91ed..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-accelerated-keyboard-navigation-from-top-right-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-left-corner-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-left-corner-expected.png
deleted file mode 100644
index 6ed11e0d..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-left-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-right-corner-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-right-corner-expected.png
deleted file mode 100644
index 9085c78de..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-right-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-drag-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-drag-expected.png
deleted file mode 100644
index 4be68be..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-drag-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-keyboard-navigation-after-drag-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-keyboard-navigation-after-drag-expected.png
deleted file mode 100644
index ab772dce..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-keyboard-navigation-after-drag-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-keyboard-navigation-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-keyboard-navigation-expected.png
deleted file mode 100644
index 69dad82..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-keyboard-navigation-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-accelerated-keyboard-navigation-from-bottom-right-corner-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-accelerated-keyboard-navigation-from-bottom-right-corner-expected.png
deleted file mode 100644
index 2cb5a48..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-accelerated-keyboard-navigation-from-bottom-right-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-accelerated-keyboard-navigation-from-top-right-corner-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-accelerated-keyboard-navigation-from-top-right-corner-expected.png
deleted file mode 100644
index a33ac29..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-accelerated-keyboard-navigation-from-top-right-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-keyboard-navigation-from-bottom-right-corner-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-keyboard-navigation-from-bottom-right-corner-expected.png
deleted file mode 100644
index 6069308..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-keyboard-navigation-from-bottom-right-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-keyboard-navigation-from-top-right-corner-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-keyboard-navigation-from-top-right-corner-expected.png
deleted file mode 100644
index c585a85..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-keyboard-navigation-from-top-right-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-accelerated-keyboard-navigation-from-bottom-left-corner-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-accelerated-keyboard-navigation-from-bottom-left-corner-expected.png
deleted file mode 100644
index 4d357db..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-accelerated-keyboard-navigation-from-bottom-left-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-accelerated-keyboard-navigation-from-top-left-corner-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-accelerated-keyboard-navigation-from-top-left-corner-expected.png
deleted file mode 100644
index b3cfa89d..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-accelerated-keyboard-navigation-from-top-left-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-keyboard-navigation-from-bottom-left-corner-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-keyboard-navigation-from-bottom-left-corner-expected.png
deleted file mode 100644
index d1e695b..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-keyboard-navigation-from-bottom-left-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-keyboard-navigation-from-top-left-corner-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-keyboard-navigation-from-top-left-corner-expected.png
deleted file mode 100644
index be67417..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-keyboard-navigation-from-top-left-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-accelerated-keyboard-navigation-from-bottom-left-corner-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-accelerated-keyboard-navigation-from-bottom-left-corner-expected.png
deleted file mode 100644
index f233a825..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-accelerated-keyboard-navigation-from-bottom-left-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-accelerated-keyboard-navigation-from-bottom-right-corner-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-accelerated-keyboard-navigation-from-bottom-right-corner-expected.png
deleted file mode 100644
index d744e0c..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-accelerated-keyboard-navigation-from-bottom-right-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-left-corner-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-left-corner-expected.png
deleted file mode 100644
index 7078f77..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-left-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-right-corner-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-right-corner-expected.png
deleted file mode 100644
index a594acb..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-right-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hex-format-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hex-format-expected.png
deleted file mode 100644
index 3eac0b7..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hex-format-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hsl-format-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hsl-format-expected.png
deleted file mode 100644
index eedf768..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hsl-format-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-accelerated-keyboard-navigation-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-accelerated-keyboard-navigation-expected.png
deleted file mode 100644
index 38d11dc..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-accelerated-keyboard-navigation-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-click-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-click-expected.png
deleted file mode 100644
index 5e99908..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-click-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-drag-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-drag-expected.png
deleted file mode 100644
index 5e99908..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-drag-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-keyboard-navigation-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-keyboard-navigation-expected.png
deleted file mode 100644
index a4127d4..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-keyboard-navigation-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-left-edge-zero-hue-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-left-edge-zero-hue-expected.png
deleted file mode 100644
index fa7ff6f..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-left-edge-zero-hue-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-right-edge-zero-hue-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-right-edge-zero-hue-expected.png
deleted file mode 100644
index 773d7c5..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-right-edge-zero-hue-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-imperfect-match-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-imperfect-match-expected.png
deleted file mode 100644
index da660854..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-imperfect-match-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-manual-color-change-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-manual-color-change-expected.png
deleted file mode 100644
index 33a9307d..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-manual-color-change-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-set-value-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-set-value-expected.png
deleted file mode 100644
index 473aec3..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-set-value-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-value-attribute-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-value-attribute-expected.png
deleted file mode 100644
index dddc4b1..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-value-attribute-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-zoom125-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-zoom125-expected.png
deleted file mode 100644
index 98bccd95..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-zoom125-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-zoom200-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-zoom200-expected.png
deleted file mode 100644
index 162c577e..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-zoom200-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-empty-list-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-empty-list-expected.png
deleted file mode 100644
index ac31224..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-empty-list-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-one-row-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-one-row-expected.png
deleted file mode 100644
index 41513c2..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-one-row-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-two-rows-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-two-rows-expected.png
deleted file mode 100644
index fc04bdc..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-two-rows-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-value-attribute-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-value-attribute-expected.png
deleted file mode 100644
index 935b75e..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-value-attribute-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-with-scrollbar-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-with-scrollbar-expected.png
deleted file mode 100644
index b856b269..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-with-scrollbar-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom125-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom125-expected.png
deleted file mode 100644
index 345a6de..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom125-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom200-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom200-expected.png
deleted file mode 100644
index 7a48bf7..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom200-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-today-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-today-expected.png
index 630d734..984cf8f 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-today-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-values-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-values-expected.png
index 0f74cb6..33f07e9 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-values-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/month-picker/month-picker-appearance-highlight-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-highlight-expected.png
index bac3876..fd46b8b2 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-highlight-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/month-picker/month-picker-appearance-rtl-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-rtl-expected.png
index 304b09c..be5f7f2 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/month-picker/month-picker-appearance-value-not-in-interval-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-value-not-in-interval-expected.png
index 3832fc4..4ffa301 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-value-not-in-interval-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/month-picker/month-picker-appearance-zoom150-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-zoom150-expected.png
index c57e4de..bea38e6 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-zoom150-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/password/password-alt-f8-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-alt-f8-expected.png
deleted file mode 100644
index 7baccd90..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-alt-f8-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-alt-f8-twice-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-alt-f8-twice-expected.png
deleted file mode 100644
index 018026f..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/password/password-eye-icon-font-size-48px-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-eye-icon-font-size-48px-expected.png
deleted file mode 100644
index 5a08332..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/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.10/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-eye-icon-font-size-4px-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-eye-icon-font-size-4px-expected.png
deleted file mode 100644
index f55b385..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/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.10/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-eye-icon-zoom-4x-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-eye-icon-zoom-4x-expected.png
deleted file mode 100644
index 59c5be8..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-eye-icon-zoom-4x-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-mismatched_glyph-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-mismatched_glyph-expected.png
deleted file mode 100644
index 018026f..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/password/password-small-size-alt-f8-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-small-size-alt-f8-expected.png
deleted file mode 100644
index bf38010..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-small-size-alt-f8-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-with-reveal-button-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-with-reveal-button-expected.png
deleted file mode 100644
index 018026f..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-with-reveal-button-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/date-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/date-suggestion-picker-appearance-expected.png
index cf7f1bd..4edd9cb 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/date-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
index 4046cd0e..92896b2 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/suggestion-picker/month-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/month-suggestion-picker-appearance-expected.png
index 93289bd5..90d9bb9 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/month-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/suggestion-picker/time-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/time-suggestion-picker-appearance-expected.png
index 32f8139..20e4df0a 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/time-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/suggestion-picker/week-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/week-suggestion-picker-appearance-expected.png
index cb88c00..a90fe1c 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/week-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-AM-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-AM-expected.png
index 1147736..8087dfd 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-AM-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-PM-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-PM-expected.png
index 7cfdf1f..1593e0d 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-PM-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/time-picker/time-picker-appearance-24-hour-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-24-hour-expected.png
index b97021a..f581d92 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-24-hour-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowdown-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowdown-expected.png
index f5e8f0a..48aa5b8 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowdown-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowup-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowup-expected.png
index e3f8731..ece65f0f 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowup-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/time-picker/time-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-expected.png
index f7111d6..9940db08 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/time-picker/time-picker-appearance-ko-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-ko-expected.png
index 13df557..1598997 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-ko-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/time-picker/time-picker-appearance-milliseconds-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-milliseconds-expected.png
index 9add0dce..2564bc90 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-milliseconds-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/time-picker/time-picker-appearance-seconds-pm-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-seconds-pm-expected.png
index 5f8708b..01b3c72 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-seconds-pm-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-seconds-pm-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/scalefactor200/fast/hidpi/static/calendar-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/scalefactor200/fast/hidpi/static/calendar-picker-appearance-expected.png
index 107c88e..533d697 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/scalefactor200/fast/hidpi/static/calendar-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/scalefactor200/fast/hidpi/static/calendar-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/scalefactor200/fast/hidpi/static/data-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/scalefactor200/fast/hidpi/static/data-suggestion-picker-appearance-expected.png
index a5edfaa..1092956e 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/scalefactor200/fast/hidpi/static/data-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/scalefactor200/fast/hidpi/static/data-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/css3/masking/mask-repeat-space-padding-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/css3/masking/mask-repeat-space-padding-expected.png
new file mode 100644
index 0000000..d2575e9
--- /dev/null
+++ b/third_party/blink/web_tests/platform/mac-mac10.11/css3/masking/mask-repeat-space-padding-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/editing/selection/inline-closest-leaf-child-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/editing/selection/inline-closest-leaf-child-expected.png
deleted file mode 100644
index f78d3f0..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/editing/selection/inline-closest-leaf-child-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/external/wpt/preload/onerror-event-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.11/external/wpt/preload/onerror-event-expected.txt
deleted file mode 100644
index aa88efb..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/external/wpt/preload/onerror-event-expected.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-This is a testharness.js-based test.
-FAIL Makes sure that preloaded resources trigger the onerror event Uncaught Error: assert_true: video triggered error event expected true got false
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/css/input-search-padding-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/css/input-search-padding-expected.png
index fabc1455..26aa9ae5 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/css/input-search-padding-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.11/fast/css/input-search-padding-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png
index 8067292f..f9aef8b 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/calendar-picker/calendar-picker-appearance-coarse-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/calendar-picker/calendar-picker-appearance-coarse-expected.png
index 38f7a86..336923ee 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/calendar-picker/calendar-picker-appearance-coarse-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/calendar-picker/calendar-picker-appearance-coarse-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/calendar-picker/calendar-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/calendar-picker/calendar-picker-appearance-expected.png
index 8f7005b1..62b88735 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/calendar-picker/calendar-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/calendar-picker/calendar-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/calendar-picker/calendar-picker-appearance-minimum-date-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/calendar-picker/calendar-picker-appearance-minimum-date-expected.png
index 9470365..89e55d4 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/calendar-picker/calendar-picker-appearance-minimum-date-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/calendar-picker/calendar-picker-appearance-minimum-date-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png
index 79e695a..a29c30f 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png
index 27aaa03..66f1baf7 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png
index 25d7210..93a7a37 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/calendar-picker/calendar-picker-appearance-zoom200-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/calendar-picker/calendar-picker-appearance-zoom200-expected.png
index ccc108c..126c68d 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/calendar-picker/calendar-picker-appearance-zoom200-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/calendar-picker/calendar-picker-appearance-zoom200-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/calendar-picker/month-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/calendar-picker/month-picker-appearance-expected.png
index e6651231..6df1e0f 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/calendar-picker/month-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/calendar-picker/month-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/calendar-picker/month-picker-appearance-step-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/calendar-picker/month-picker-appearance-step-expected.png
index 009398e0..6d85dc1d 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/calendar-picker/month-picker-appearance-step-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/calendar-picker/month-picker-appearance-step-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/calendar-picker/week-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/calendar-picker/week-picker-appearance-expected.png
index 5a73cda..608ae2b 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/calendar-picker/week-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/calendar-picker/week-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/select/listbox-with-display-none-option-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/select/listbox-with-display-none-option-expected.png
index eae60e1..48d568be 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/select/listbox-with-display-none-option-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/select/listbox-with-display-none-option-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/select/menulist-appearance-rtl-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/select/menulist-appearance-rtl-expected.png
index 99ecea45..1890bbea 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/select/menulist-appearance-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/select/menulist-appearance-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/text/input-table-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/text/input-table-expected.png
index 9179893..1c8d092 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/text/input-table-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/text/input-table-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/text/input-text-scroll-left-on-blur-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/text/input-text-scroll-left-on-blur-expected.png
index f8b5a9bee..e857565 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/text/input-text-scroll-left-on-blur-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.11/fast/forms/text/input-text-scroll-left-on-blur-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/fast/text/drawBidiText-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/fast/text/drawBidiText-expected.png
new file mode 100644
index 0000000..0b2b095
--- /dev/null
+++ b/third_party/blink/web_tests/platform/mac-mac10.11/fast/text/drawBidiText-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/tables/mozilla/bugs/bug30692-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/tables/mozilla/bugs/bug30692-expected.png
index 080230b..4be72134 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.11/tables/mozilla/bugs/bug30692-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.11/tables/mozilla/bugs/bug30692-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-high-contrast/fast/forms/controls-new-ui-high-contrast/color-picker-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-high-contrast/fast/forms/controls-new-ui-high-contrast/color-picker-expected.png
deleted file mode 100644
index 6aff6bd..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-high-contrast/fast/forms/controls-new-ui-high-contrast/color-picker-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-high-contrast/fast/forms/controls-new-ui-high-contrast/date-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-high-contrast/fast/forms/controls-new-ui-high-contrast/date-suggestion-picker-appearance-expected.png
deleted file mode 100644
index 6bfcf05..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-high-contrast/fast/forms/controls-new-ui-high-contrast/date-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/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-coarse-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-coarse-expected.png
deleted file mode 100644
index 2f7ef5a..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-coarse-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-disabled-previous-month-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-disabled-previous-month-expected.png
deleted file mode 100644
index d029fe2..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-disabled-previous-month-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-rtl-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-rtl-expected.png
deleted file mode 100644
index b950a228..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-rtl-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-step-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-step-expected.png
deleted file mode 100644
index 9334a7d3..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-step-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-zoom150-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-zoom150-expected.png
deleted file mode 100644
index 690d5eb..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-zoom150-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-disabled-values-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-disabled-values-expected.png
deleted file mode 100644
index 719f3eb3..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-disabled-values-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-month-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-month-appearance-expected.png
deleted file mode 100644
index 7cd2d2f..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-month-appearance-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-accelerated-keyboard-navigation-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-accelerated-keyboard-navigation-expected.png
deleted file mode 100644
index b83acae..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-accelerated-keyboard-navigation-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-click-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-click-expected.png
deleted file mode 100644
index 4be68be..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-click-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-accelerated-keyboard-navigation-from-top-left-corner-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-accelerated-keyboard-navigation-from-top-left-corner-expected.png
deleted file mode 100644
index 3000dc68..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-accelerated-keyboard-navigation-from-top-left-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-accelerated-keyboard-navigation-from-top-right-corner-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-accelerated-keyboard-navigation-from-top-right-corner-expected.png
deleted file mode 100644
index 78e91ed..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-accelerated-keyboard-navigation-from-top-right-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-left-corner-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-left-corner-expected.png
deleted file mode 100644
index 6ed11e0d..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-left-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-right-corner-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-right-corner-expected.png
deleted file mode 100644
index 9085c78de..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-right-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-drag-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-drag-expected.png
deleted file mode 100644
index 4be68be..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-drag-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-keyboard-navigation-after-drag-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-keyboard-navigation-after-drag-expected.png
deleted file mode 100644
index ab772dce..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-keyboard-navigation-after-drag-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-keyboard-navigation-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-keyboard-navigation-expected.png
deleted file mode 100644
index 69dad82..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-keyboard-navigation-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-accelerated-keyboard-navigation-from-bottom-right-corner-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-accelerated-keyboard-navigation-from-bottom-right-corner-expected.png
deleted file mode 100644
index 2cb5a48..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-accelerated-keyboard-navigation-from-bottom-right-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-accelerated-keyboard-navigation-from-top-right-corner-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-accelerated-keyboard-navigation-from-top-right-corner-expected.png
deleted file mode 100644
index a33ac29..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-accelerated-keyboard-navigation-from-top-right-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-keyboard-navigation-from-bottom-right-corner-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-keyboard-navigation-from-bottom-right-corner-expected.png
deleted file mode 100644
index 6069308..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-keyboard-navigation-from-bottom-right-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-keyboard-navigation-from-top-right-corner-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-keyboard-navigation-from-top-right-corner-expected.png
deleted file mode 100644
index c585a85..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-keyboard-navigation-from-top-right-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-accelerated-keyboard-navigation-from-bottom-left-corner-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-accelerated-keyboard-navigation-from-bottom-left-corner-expected.png
deleted file mode 100644
index 4d357db..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-accelerated-keyboard-navigation-from-bottom-left-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-accelerated-keyboard-navigation-from-top-left-corner-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-accelerated-keyboard-navigation-from-top-left-corner-expected.png
deleted file mode 100644
index b3cfa89d..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-accelerated-keyboard-navigation-from-top-left-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-keyboard-navigation-from-bottom-left-corner-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-keyboard-navigation-from-bottom-left-corner-expected.png
deleted file mode 100644
index d1e695b..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-keyboard-navigation-from-bottom-left-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-keyboard-navigation-from-top-left-corner-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-keyboard-navigation-from-top-left-corner-expected.png
deleted file mode 100644
index be67417..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-keyboard-navigation-from-top-left-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-accelerated-keyboard-navigation-from-bottom-left-corner-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-accelerated-keyboard-navigation-from-bottom-left-corner-expected.png
deleted file mode 100644
index f233a825..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-accelerated-keyboard-navigation-from-bottom-left-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-accelerated-keyboard-navigation-from-bottom-right-corner-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-accelerated-keyboard-navigation-from-bottom-right-corner-expected.png
deleted file mode 100644
index d744e0c..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-accelerated-keyboard-navigation-from-bottom-right-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-left-corner-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-left-corner-expected.png
deleted file mode 100644
index 7078f77..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-left-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-right-corner-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-right-corner-expected.png
deleted file mode 100644
index a594acb..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-right-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hex-format-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hex-format-expected.png
deleted file mode 100644
index 3eac0b7..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hex-format-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hsl-format-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hsl-format-expected.png
deleted file mode 100644
index eedf768..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hsl-format-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-accelerated-keyboard-navigation-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-accelerated-keyboard-navigation-expected.png
deleted file mode 100644
index 38d11dc..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-accelerated-keyboard-navigation-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-click-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-click-expected.png
deleted file mode 100644
index 5e99908..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-click-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-drag-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-drag-expected.png
deleted file mode 100644
index 5e99908..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-drag-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-keyboard-navigation-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-keyboard-navigation-expected.png
deleted file mode 100644
index a4127d4..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-keyboard-navigation-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-left-edge-zero-hue-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-left-edge-zero-hue-expected.png
deleted file mode 100644
index fa7ff6f..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-left-edge-zero-hue-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-right-edge-zero-hue-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-right-edge-zero-hue-expected.png
deleted file mode 100644
index 773d7c5..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-right-edge-zero-hue-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-imperfect-match-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-imperfect-match-expected.png
deleted file mode 100644
index da660854..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-imperfect-match-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-manual-color-change-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-manual-color-change-expected.png
deleted file mode 100644
index 33a9307d..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-manual-color-change-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-set-value-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-set-value-expected.png
deleted file mode 100644
index 473aec3..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-set-value-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-value-attribute-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-value-attribute-expected.png
deleted file mode 100644
index dddc4b1..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-value-attribute-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-zoom125-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-zoom125-expected.png
deleted file mode 100644
index 98bccd95..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-zoom125-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-zoom200-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-zoom200-expected.png
deleted file mode 100644
index 162c577e..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-zoom200-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-empty-list-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-empty-list-expected.png
deleted file mode 100644
index ac31224..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-empty-list-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-one-row-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-one-row-expected.png
deleted file mode 100644
index 41513c2..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-one-row-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-two-rows-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-two-rows-expected.png
deleted file mode 100644
index fc04bdc..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-two-rows-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-value-attribute-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-value-attribute-expected.png
deleted file mode 100644
index 935b75e..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-value-attribute-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-with-scrollbar-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-with-scrollbar-expected.png
deleted file mode 100644
index b856b269..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-with-scrollbar-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom125-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom125-expected.png
deleted file mode 100644
index 345a6de..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom125-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom200-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom200-expected.png
deleted file mode 100644
index 7a48bf7..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom200-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-today-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-today-expected.png
deleted file mode 100644
index bf8eb99..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-today-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-values-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-values-expected.png
deleted file mode 100644
index 20864f0ad..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-values-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-highlight-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-highlight-expected.png
deleted file mode 100644
index 540e7cde..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-highlight-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-rtl-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-rtl-expected.png
deleted file mode 100644
index 0061854..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-rtl-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-value-not-in-interval-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-value-not-in-interval-expected.png
deleted file mode 100644
index f9c76f4..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-value-not-in-interval-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-zoom150-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-zoom150-expected.png
deleted file mode 100644
index b43f5ff..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-zoom150-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-alt-f8-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-alt-f8-expected.png
deleted file mode 100644
index 7baccd90..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/password/password-alt-f8-twice-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-alt-f8-twice-expected.png
deleted file mode 100644
index 018026f..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/password/password-eye-icon-font-size-48px-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-eye-icon-font-size-48px-expected.png
deleted file mode 100644
index 5a08332..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/password/password-eye-icon-font-size-4px-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-eye-icon-font-size-4px-expected.png
deleted file mode 100644
index f55b385..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/password/password-eye-icon-zoom-4x-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-eye-icon-zoom-4x-expected.png
deleted file mode 100644
index 59c5be8..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/password/password-mismatched_glyph-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-mismatched_glyph-expected.png
deleted file mode 100644
index 018026f..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/password/password-small-size-alt-f8-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-small-size-alt-f8-expected.png
deleted file mode 100644
index bf38010..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-small-size-alt-f8-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-with-reveal-button-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-with-reveal-button-expected.png
deleted file mode 100644
index 018026f..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-with-reveal-button-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-AM-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-AM-expected.png
deleted file mode 100644
index 451d263..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-AM-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-PM-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-PM-expected.png
deleted file mode 100644
index fa57757..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-PM-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-24-hour-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-24-hour-expected.png
deleted file mode 100644
index 5fb54f2..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-24-hour-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowdown-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowdown-expected.png
deleted file mode 100644
index bd0ffa4e..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowdown-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowup-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowup-expected.png
deleted file mode 100644
index c3321e1..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowup-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-expected.png
deleted file mode 100644
index d5a9fcd3..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-ko-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-ko-expected.png
deleted file mode 100644
index 5b34f9e..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-ko-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-milliseconds-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-milliseconds-expected.png
deleted file mode 100644
index f6c0942..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-milliseconds-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-seconds-pm-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-seconds-pm-expected.png
deleted file mode 100644
index 530732e..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-seconds-pm-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/scalefactor200/fast/hidpi/static/calendar-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/scalefactor200/fast/hidpi/static/calendar-picker-appearance-expected.png
index dd187cf..6ddedb9 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/scalefactor200/fast/hidpi/static/calendar-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/scalefactor200/fast/hidpi/static/calendar-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/scalefactor200/fast/hidpi/static/data-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/scalefactor200/fast/hidpi/static/data-suggestion-picker-appearance-expected.png
index f0772517..2c84db24 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/scalefactor200/fast/hidpi/static/data-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/scalefactor200/fast/hidpi/static/data-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/editing/selection/inline-closest-leaf-child-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/editing/selection/inline-closest-leaf-child-expected.png
deleted file mode 100644
index f78d3f0..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.12/editing/selection/inline-closest-leaf-child-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/external/wpt/preload/onerror-event-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.12/external/wpt/preload/onerror-event-expected.txt
deleted file mode 100644
index aa88efb..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.12/external/wpt/preload/onerror-event-expected.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-This is a testharness.js-based test.
-FAIL Makes sure that preloaded resources trigger the onerror event Uncaught Error: assert_true: video triggered error event expected true got false
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/fast/css/input-search-padding-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/fast/css/input-search-padding-expected.png
index 515626a..df82cd2 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/fast/css/input-search-padding-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/fast/css/input-search-padding-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png
index ce8aba41..69c6e0b 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/fast/forms/calendar-picker/calendar-picker-appearance-coarse-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/fast/forms/calendar-picker/calendar-picker-appearance-coarse-expected.png
index 84ddd67..941db107 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/fast/forms/calendar-picker/calendar-picker-appearance-coarse-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/fast/forms/calendar-picker/calendar-picker-appearance-coarse-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/fast/forms/calendar-picker/calendar-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/fast/forms/calendar-picker/calendar-picker-appearance-expected.png
index 6e8f3b9..0a4928e 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/fast/forms/calendar-picker/calendar-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/fast/forms/calendar-picker/calendar-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/fast/forms/calendar-picker/calendar-picker-appearance-minimum-date-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/fast/forms/calendar-picker/calendar-picker-appearance-minimum-date-expected.png
index e51549c3..d75b749a 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/fast/forms/calendar-picker/calendar-picker-appearance-minimum-date-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/fast/forms/calendar-picker/calendar-picker-appearance-minimum-date-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png
index 0ade05d..46c2743 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png
index 6491df7..eed11ed 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png
index 158d79fd..043144c 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/fast/forms/calendar-picker/calendar-picker-appearance-zoom200-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/fast/forms/calendar-picker/calendar-picker-appearance-zoom200-expected.png
index 0e48ce40..a21a70c 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/fast/forms/calendar-picker/calendar-picker-appearance-zoom200-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/fast/forms/calendar-picker/calendar-picker-appearance-zoom200-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/fast/forms/calendar-picker/month-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/fast/forms/calendar-picker/month-picker-appearance-expected.png
index 26e8f98..ca4fc3d9 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/fast/forms/calendar-picker/month-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/fast/forms/calendar-picker/month-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/fast/forms/calendar-picker/month-picker-appearance-step-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/fast/forms/calendar-picker/month-picker-appearance-step-expected.png
index b3c53ea3f3..ba5c07f 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/fast/forms/calendar-picker/month-picker-appearance-step-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/fast/forms/calendar-picker/month-picker-appearance-step-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/fast/forms/calendar-picker/week-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/fast/forms/calendar-picker/week-picker-appearance-expected.png
index d4fa8b9..6c8552c 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/fast/forms/calendar-picker/week-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/fast/forms/calendar-picker/week-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/fast/forms/select/listbox-with-display-none-option-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/fast/forms/select/listbox-with-display-none-option-expected.png
index 5663188..29bd134 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/fast/forms/select/listbox-with-display-none-option-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/fast/forms/select/listbox-with-display-none-option-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/fast/forms/select/menulist-appearance-rtl-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/fast/forms/select/menulist-appearance-rtl-expected.png
index e76c5a7..b4194d4 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/fast/forms/select/menulist-appearance-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/fast/forms/select/menulist-appearance-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/fast/text/drawBidiText-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/fast/text/drawBidiText-expected.png
index 7421748..4d2e571 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/fast/text/drawBidiText-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/fast/text/drawBidiText-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/tables/mozilla/bugs/bug30692-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/tables/mozilla/bugs/bug30692-expected.png
index 8bf7eb41..0dbcbcd 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/tables/mozilla/bugs/bug30692-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/tables/mozilla/bugs/bug30692-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-high-contrast/fast/forms/controls-new-ui-high-contrast/color-picker-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-high-contrast/fast/forms/controls-new-ui-high-contrast/color-picker-expected.png
index 6aff6bd..01983a7 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-high-contrast/fast/forms/controls-new-ui-high-contrast/color-picker-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-high-contrast/fast/forms/controls-new-ui-high-contrast/color-picker-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-high-contrast/fast/forms/controls-new-ui-high-contrast/date-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-high-contrast/fast/forms/controls-new-ui-high-contrast/date-suggestion-picker-appearance-expected.png
deleted file mode 100644
index 6bfcf05..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-high-contrast/fast/forms/controls-new-ui-high-contrast/date-suggestion-picker-appearance-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-coarse-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-coarse-expected.png
index 2f7ef5a..a5bcec2 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-coarse-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-disabled-previous-month-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-disabled-previous-month-expected.png
index d029fe2..e44b2ae1 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-disabled-previous-month-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-rtl-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-rtl-expected.png
index b950a228..43ed8db 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-step-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-step-expected.png
index 9334a7d3..7b935ea 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-step-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-zoom150-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-zoom150-expected.png
index 690d5eb..3373720 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-zoom150-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/calendar-picker/date-picker-disabled-values-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-disabled-values-expected.png
index 719f3eb3..a0dff32 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-disabled-values-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/calendar-picker/date-picker-month-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-month-appearance-expected.png
index 7cd2d2f..f44096f8 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-month-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-accelerated-keyboard-navigation-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-accelerated-keyboard-navigation-expected.png
index b83acae..588e3c1 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-accelerated-keyboard-navigation-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-accelerated-keyboard-navigation-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-click-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-click-expected.png
index 4be68be..0da2707 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-click-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-accelerated-keyboard-navigation-from-top-left-corner-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-accelerated-keyboard-navigation-from-top-left-corner-expected.png
index 3000dc68..f35c1e9 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-accelerated-keyboard-navigation-from-top-left-corner-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-accelerated-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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-accelerated-keyboard-navigation-from-top-right-corner-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-accelerated-keyboard-navigation-from-top-right-corner-expected.png
index 78e91ed..d223f31 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-accelerated-keyboard-navigation-from-top-right-corner-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-accelerated-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/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-left-corner-expected.png
index 6ed11e0d..14de13b 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-right-corner-expected.png
index 9085c78de..ffb3e70 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-drag-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-drag-expected.png
index 4be68be..0da2707 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-drag-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-keyboard-navigation-after-drag-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-keyboard-navigation-after-drag-expected.png
index ab772dce..3df2b76f 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-keyboard-navigation-after-drag-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-keyboard-navigation-after-drag-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-keyboard-navigation-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-keyboard-navigation-expected.png
index 69dad82..691a734 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-keyboard-navigation-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-accelerated-keyboard-navigation-from-bottom-right-corner-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-accelerated-keyboard-navigation-from-bottom-right-corner-expected.png
index 2cb5a48..35788cce 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-accelerated-keyboard-navigation-from-bottom-right-corner-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-accelerated-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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-accelerated-keyboard-navigation-from-top-right-corner-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-accelerated-keyboard-navigation-from-top-right-corner-expected.png
index a33ac29..dd7acecb 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-accelerated-keyboard-navigation-from-top-right-corner-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-accelerated-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/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-keyboard-navigation-from-bottom-right-corner-expected.png
index 6069308..1ce598c 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-keyboard-navigation-from-top-right-corner-expected.png
index c585a85..2d693d1 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-accelerated-keyboard-navigation-from-bottom-left-corner-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-accelerated-keyboard-navigation-from-bottom-left-corner-expected.png
index 4d357db..22bb5460 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-accelerated-keyboard-navigation-from-bottom-left-corner-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-accelerated-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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-accelerated-keyboard-navigation-from-top-left-corner-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-accelerated-keyboard-navigation-from-top-left-corner-expected.png
index b3cfa89d..8b733cb 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-accelerated-keyboard-navigation-from-top-left-corner-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-accelerated-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/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-keyboard-navigation-from-bottom-left-corner-expected.png
index d1e695b..7a5cb9c 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-keyboard-navigation-from-top-left-corner-expected.png
index be67417..1e35869 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-accelerated-keyboard-navigation-from-bottom-left-corner-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-accelerated-keyboard-navigation-from-bottom-left-corner-expected.png
index f233a825..432827f 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-accelerated-keyboard-navigation-from-bottom-left-corner-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-accelerated-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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-accelerated-keyboard-navigation-from-bottom-right-corner-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-accelerated-keyboard-navigation-from-bottom-right-corner-expected.png
index d744e0c..178218e 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-accelerated-keyboard-navigation-from-bottom-right-corner-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-accelerated-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/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-left-corner-expected.png
index 7078f77..c52614d 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-right-corner-expected.png
index a594acb..5cbaa17 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-hex-format-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hex-format-expected.png
index 3eac0b7..ba40ba60 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hex-format-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-hsl-format-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hsl-format-expected.png
index eedf768..72a45e9 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hsl-format-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-accelerated-keyboard-navigation-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-accelerated-keyboard-navigation-expected.png
index 38d11dc..e0ddcf3 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-accelerated-keyboard-navigation-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-click-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-click-expected.png
index 5e99908..67e3d5d7d 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-click-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-drag-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-drag-expected.png
index 5e99908..67e3d5d7d 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-drag-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-keyboard-navigation-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-keyboard-navigation-expected.png
index a4127d4..06946ad 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-keyboard-navigation-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-left-edge-zero-hue-expected.png
index fa7ff6f..d4b0a3f 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-right-edge-zero-hue-expected.png
index 773d7c5..1f181be5 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-imperfect-match-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-imperfect-match-expected.png
index da660854..c8276d9 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-imperfect-match-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-manual-color-change-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-manual-color-change-expected.png
index 33a9307d..cdcffeb 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-manual-color-change-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-set-value-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-set-value-expected.png
index 473aec3..ce2ab1a 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-set-value-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-value-attribute-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-value-attribute-expected.png
index dddc4b1..b7726edd0 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-value-attribute-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-zoom125-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-zoom125-expected.png
index 98bccd95..30afa3f 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-zoom125-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-zoom200-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-zoom200-expected.png
index 162c577e..e96a386d 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-zoom200-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-empty-list-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-empty-list-expected.png
index ac31224..3cd1234 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-empty-list-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-one-row-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-one-row-expected.png
index 41513c2..186af6d 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-one-row-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-two-rows-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-two-rows-expected.png
index fc04bdc..0be013e4 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-two-rows-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-value-attribute-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-value-attribute-expected.png
index 935b75e..7180578 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-value-attribute-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-with-scrollbar-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-with-scrollbar-expected.png
index b856b269..8531eb63b5 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-with-scrollbar-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom125-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom125-expected.png
deleted file mode 100644
index 345a6de..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom125-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom200-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom200-expected.png
index 7a48bf7..7e31921 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom200-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-today-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-today-expected.png
index bf8eb99..ccc3d764 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-today-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-values-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-values-expected.png
index 20864f0ad..39eacc6 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-values-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/month-picker/month-picker-appearance-highlight-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-highlight-expected.png
index 540e7cde..5804df4 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-highlight-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/month-picker/month-picker-appearance-rtl-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-rtl-expected.png
index 0061854..ec473cc 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/month-picker/month-picker-appearance-value-not-in-interval-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-value-not-in-interval-expected.png
index f9c76f4..7cdb8bfd 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-value-not-in-interval-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/month-picker/month-picker-appearance-zoom150-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-zoom150-expected.png
index b43f5ff..81761110 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-zoom150-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/password/password-alt-f8-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-alt-f8-expected.png
deleted file mode 100644
index 7baccd90..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/password/password-alt-f8-twice-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-alt-f8-twice-expected.png
deleted file mode 100644
index 018026f..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/password/password-eye-icon-font-size-48px-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-eye-icon-font-size-48px-expected.png
deleted file mode 100644
index 5a08332..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/password/password-eye-icon-font-size-4px-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-eye-icon-font-size-4px-expected.png
deleted file mode 100644
index f55b385..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/password/password-eye-icon-zoom-4x-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-eye-icon-zoom-4x-expected.png
deleted file mode 100644
index 59c5be8..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/password/password-mismatched_glyph-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-mismatched_glyph-expected.png
deleted file mode 100644
index 018026f..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/password/password-small-size-alt-f8-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-small-size-alt-f8-expected.png
deleted file mode 100644
index bf38010..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/password/password-with-reveal-button-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-with-reveal-button-expected.png
deleted file mode 100644
index 018026f..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-with-reveal-button-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-AM-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-AM-expected.png
index 451d263..8cf5e99 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-AM-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-PM-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-PM-expected.png
index fa57757..5a7098b 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-PM-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/time-picker/time-picker-appearance-24-hour-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-24-hour-expected.png
index 5fb54f2..8d2f421 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-24-hour-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowdown-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowdown-expected.png
index bd0ffa4e..5e57f6acd 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowdown-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowup-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowup-expected.png
index c3321e1..a0f99300 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowup-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/time-picker/time-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-expected.png
index d5a9fcd3..90188d2 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/time-picker/time-picker-appearance-ko-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-ko-expected.png
index 5b34f9e..2a48d6f5 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-ko-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/time-picker/time-picker-appearance-milliseconds-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-milliseconds-expected.png
index f6c0942..01f1900b 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-milliseconds-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/time-picker/time-picker-appearance-seconds-pm-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-seconds-pm-expected.png
index 530732e..fe09503c 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-seconds-pm-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-seconds-pm-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/mouseevent_fractional/fast/events/reveal-link-when-focused-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/mouseevent_fractional/fast/events/reveal-link-when-focused-expected.png
deleted file mode 100644
index 8300195f..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/mouseevent_fractional/fast/events/reveal-link-when-focused-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/scalefactor200/fast/hidpi/static/calendar-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/scalefactor200/fast/hidpi/static/calendar-picker-appearance-expected.png
index 75b57cb..6c366eb 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/scalefactor200/fast/hidpi/static/calendar-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/scalefactor200/fast/hidpi/static/calendar-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/scalefactor200/fast/hidpi/static/data-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/scalefactor200/fast/hidpi/static/data-suggestion-picker-appearance-expected.png
index 58acef5..2e22601 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/scalefactor200/fast/hidpi/static/data-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/scalefactor200/fast/hidpi/static/data-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/scalefactor200/fast/hidpi/static/popup-menu-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/scalefactor200/fast/hidpi/static/popup-menu-appearance-expected.png
deleted file mode 100644
index cb5ae1c2..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/scalefactor200/fast/hidpi/static/popup-menu-appearance-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/scalefactor200/fast/hidpi/static/validation-bubble-appearance-hidpi-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/scalefactor200/fast/hidpi/static/validation-bubble-appearance-hidpi-expected.png
index 77e0b00..4b57e9f 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/scalefactor200/fast/hidpi/static/validation-bubble-appearance-hidpi-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/scalefactor200/fast/hidpi/static/validation-bubble-appearance-hidpi-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/external/wpt/preload/onerror-event-expected.txt b/third_party/blink/web_tests/platform/mac-retina/external/wpt/preload/onerror-event-expected.txt
deleted file mode 100644
index 0ef49adc..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/external/wpt/preload/onerror-event-expected.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-This is a testharness.js-based test.
-FAIL Makes sure that preloaded resources trigger the onerror event assert_true: video triggered error event expected true got false
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/platform/mac-retina/fast/forms/controls-new-ui-high-contrast/date-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-retina/fast/forms/controls-new-ui-high-contrast/date-suggestion-picker-appearance-expected.png
deleted file mode 100644
index 76365fa..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/fast/forms/controls-new-ui-high-contrast/date-suggestion-picker-appearance-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/fast/forms/validation-bubble-appearance-wrap-expected.png b/third_party/blink/web_tests/platform/mac-retina/fast/forms/validation-bubble-appearance-wrap-expected.png
deleted file mode 100644
index eb409a8a..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/fast/forms/validation-bubble-appearance-wrap-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/svg/custom/getscreenctm-in-scrollable-div-area-nested-expected.png b/third_party/blink/web_tests/platform/mac-retina/svg/custom/getscreenctm-in-scrollable-div-area-nested-expected.png
new file mode 100644
index 0000000..e05fc36a
--- /dev/null
+++ b/third_party/blink/web_tests/platform/mac-retina/svg/custom/getscreenctm-in-scrollable-div-area-nested-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/transforms/3d/point-mapping/3d-point-mapping-origins-expected.png b/third_party/blink/web_tests/platform/mac-retina/transforms/3d/point-mapping/3d-point-mapping-origins-expected.png
deleted file mode 100644
index cbf9655..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/transforms/3d/point-mapping/3d-point-mapping-origins-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-high-contrast/fast/forms/controls-new-ui-high-contrast/color-picker-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-high-contrast/fast/forms/controls-new-ui-high-contrast/color-picker-expected.png
deleted file mode 100644
index fe48aae0..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-high-contrast/fast/forms/controls-new-ui-high-contrast/color-picker-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-high-contrast/fast/forms/controls-new-ui-high-contrast/date-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-high-contrast/fast/forms/controls-new-ui-high-contrast/date-suggestion-picker-appearance-expected.png
deleted file mode 100644
index 6bfcf05..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-high-contrast/fast/forms/controls-new-ui-high-contrast/date-suggestion-picker-appearance-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-coarse-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-coarse-expected.png
deleted file mode 100644
index 0273f4b..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-coarse-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-disabled-previous-month-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-disabled-previous-month-expected.png
deleted file mode 100644
index 017b8cb..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-disabled-previous-month-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-rtl-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-rtl-expected.png
deleted file mode 100644
index ac32e202..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-rtl-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-step-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-step-expected.png
deleted file mode 100644
index 7fe5088c..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-step-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-zoom150-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-zoom150-expected.png
deleted file mode 100644
index d35e1f7b..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-zoom150-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-disabled-values-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-disabled-values-expected.png
deleted file mode 100644
index c0a957a4..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-disabled-values-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-month-appearance-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-month-appearance-expected.png
deleted file mode 100644
index 02dc4a0ac..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-month-appearance-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-accelerated-keyboard-navigation-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-accelerated-keyboard-navigation-expected.png
deleted file mode 100644
index 2d1c812..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-accelerated-keyboard-navigation-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-click-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-click-expected.png
deleted file mode 100644
index 06e4b4908..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-click-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-accelerated-keyboard-navigation-from-top-left-corner-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-accelerated-keyboard-navigation-from-top-left-corner-expected.png
deleted file mode 100644
index a6857c6..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-accelerated-keyboard-navigation-from-top-left-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-accelerated-keyboard-navigation-from-top-right-corner-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-accelerated-keyboard-navigation-from-top-right-corner-expected.png
deleted file mode 100644
index d0d147a..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-accelerated-keyboard-navigation-from-top-right-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-left-corner-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-left-corner-expected.png
deleted file mode 100644
index bab7096..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-left-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-right-corner-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-right-corner-expected.png
deleted file mode 100644
index 0e6e053..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-right-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-drag-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-drag-expected.png
deleted file mode 100644
index 06e4b4908..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-drag-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-keyboard-navigation-after-drag-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-keyboard-navigation-after-drag-expected.png
deleted file mode 100644
index 39b26faf..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-keyboard-navigation-after-drag-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-keyboard-navigation-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-keyboard-navigation-expected.png
deleted file mode 100644
index 988911e..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-keyboard-navigation-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-accelerated-keyboard-navigation-from-bottom-right-corner-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-accelerated-keyboard-navigation-from-bottom-right-corner-expected.png
deleted file mode 100644
index e3f86c5..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-accelerated-keyboard-navigation-from-bottom-right-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-accelerated-keyboard-navigation-from-top-right-corner-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-accelerated-keyboard-navigation-from-top-right-corner-expected.png
deleted file mode 100644
index 45bfa19..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-accelerated-keyboard-navigation-from-top-right-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-keyboard-navigation-from-bottom-right-corner-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-keyboard-navigation-from-bottom-right-corner-expected.png
deleted file mode 100644
index 790542d5..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-keyboard-navigation-from-bottom-right-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-keyboard-navigation-from-top-right-corner-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-keyboard-navigation-from-top-right-corner-expected.png
deleted file mode 100644
index f7e6b12..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-keyboard-navigation-from-top-right-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-accelerated-keyboard-navigation-from-bottom-left-corner-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-accelerated-keyboard-navigation-from-bottom-left-corner-expected.png
deleted file mode 100644
index f92d74a..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-accelerated-keyboard-navigation-from-bottom-left-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-accelerated-keyboard-navigation-from-top-left-corner-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-accelerated-keyboard-navigation-from-top-left-corner-expected.png
deleted file mode 100644
index 1232b69..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-accelerated-keyboard-navigation-from-top-left-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-keyboard-navigation-from-bottom-left-corner-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-keyboard-navigation-from-bottom-left-corner-expected.png
deleted file mode 100644
index 3b305e3..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-keyboard-navigation-from-bottom-left-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-keyboard-navigation-from-top-left-corner-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-keyboard-navigation-from-top-left-corner-expected.png
deleted file mode 100644
index 2c36acf..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-keyboard-navigation-from-top-left-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-accelerated-keyboard-navigation-from-bottom-left-corner-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-accelerated-keyboard-navigation-from-bottom-left-corner-expected.png
deleted file mode 100644
index aa83394e..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-accelerated-keyboard-navigation-from-bottom-left-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-accelerated-keyboard-navigation-from-bottom-right-corner-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-accelerated-keyboard-navigation-from-bottom-right-corner-expected.png
deleted file mode 100644
index 28616ac0..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-accelerated-keyboard-navigation-from-bottom-right-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-left-corner-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-left-corner-expected.png
deleted file mode 100644
index 41ea86f..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-left-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-right-corner-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-right-corner-expected.png
deleted file mode 100644
index ef95d34..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-right-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hex-format-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hex-format-expected.png
deleted file mode 100644
index e076d20..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hex-format-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hsl-format-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hsl-format-expected.png
deleted file mode 100644
index 7324cea..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hsl-format-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-accelerated-keyboard-navigation-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-accelerated-keyboard-navigation-expected.png
deleted file mode 100644
index dba60d6..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-accelerated-keyboard-navigation-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-click-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-click-expected.png
deleted file mode 100644
index 3fc14898..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-click-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-drag-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-drag-expected.png
deleted file mode 100644
index 3fc14898..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-drag-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-keyboard-navigation-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-keyboard-navigation-expected.png
deleted file mode 100644
index 016e65e..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-keyboard-navigation-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-left-edge-zero-hue-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-left-edge-zero-hue-expected.png
deleted file mode 100644
index a9f0941..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-left-edge-zero-hue-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-right-edge-zero-hue-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-right-edge-zero-hue-expected.png
deleted file mode 100644
index 251fde94..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-right-edge-zero-hue-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-imperfect-match-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-imperfect-match-expected.png
deleted file mode 100644
index 9123644..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-imperfect-match-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-manual-color-change-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-manual-color-change-expected.png
deleted file mode 100644
index b7aced7..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-manual-color-change-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-set-value-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-set-value-expected.png
deleted file mode 100644
index c1644f239..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-set-value-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-value-attribute-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-value-attribute-expected.png
deleted file mode 100644
index d6f6f2f..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-value-attribute-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-zoom125-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-zoom125-expected.png
deleted file mode 100644
index caba7b2..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-zoom125-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-zoom200-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-zoom200-expected.png
deleted file mode 100644
index aafb479b..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-zoom200-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-empty-list-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-empty-list-expected.png
deleted file mode 100644
index e00bafc7..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-empty-list-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-one-row-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-one-row-expected.png
deleted file mode 100644
index 5cf334b..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-one-row-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-two-rows-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-two-rows-expected.png
deleted file mode 100644
index 729ceac..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-two-rows-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-value-attribute-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-value-attribute-expected.png
deleted file mode 100644
index 6fa33e8..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-value-attribute-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-with-scrollbar-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-with-scrollbar-expected.png
deleted file mode 100644
index cda136a7..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-with-scrollbar-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom125-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom125-expected.png
deleted file mode 100644
index 345a6de..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom125-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom200-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom200-expected.png
deleted file mode 100644
index 5db0266..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom200-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-today-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-today-expected.png
deleted file mode 100644
index cf86000..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-today-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-values-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-values-expected.png
deleted file mode 100644
index c606234d..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-values-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-highlight-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-highlight-expected.png
deleted file mode 100644
index 386c560dd..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-highlight-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-rtl-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-rtl-expected.png
deleted file mode 100644
index 80232563..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-rtl-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-value-not-in-interval-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-value-not-in-interval-expected.png
deleted file mode 100644
index 63d294d..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-value-not-in-interval-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-zoom150-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-zoom150-expected.png
deleted file mode 100644
index 13a307b..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-zoom150-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-alt-f8-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-alt-f8-expected.png
deleted file mode 100644
index 7baccd90..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/password/password-alt-f8-twice-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-alt-f8-twice-expected.png
deleted file mode 100644
index 018026f..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/password/password-eye-icon-font-size-48px-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-eye-icon-font-size-48px-expected.png
deleted file mode 100644
index 5a08332..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/password/password-eye-icon-font-size-4px-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-eye-icon-font-size-4px-expected.png
deleted file mode 100644
index f55b385..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/password/password-eye-icon-zoom-4x-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-eye-icon-zoom-4x-expected.png
deleted file mode 100644
index 59c5be8..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/password/password-mismatched_glyph-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-mismatched_glyph-expected.png
deleted file mode 100644
index 018026f..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/password/password-small-size-alt-f8-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-small-size-alt-f8-expected.png
deleted file mode 100644
index bf38010..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-small-size-alt-f8-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-with-reveal-button-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-with-reveal-button-expected.png
deleted file mode 100644
index 018026f..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-with-reveal-button-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-AM-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-AM-expected.png
deleted file mode 100644
index b041444..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-AM-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-PM-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-PM-expected.png
deleted file mode 100644
index ba3950e..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-PM-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-24-hour-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-24-hour-expected.png
deleted file mode 100644
index fe6543a8..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-24-hour-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowdown-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowdown-expected.png
deleted file mode 100644
index 3831958..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowdown-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowup-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowup-expected.png
deleted file mode 100644
index 18a9f5af..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowup-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-expected.png
deleted file mode 100644
index 76b2ea0..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-ko-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-ko-expected.png
deleted file mode 100644
index ab136ff..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-ko-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-milliseconds-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-milliseconds-expected.png
deleted file mode 100644
index 9c2329d..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-milliseconds-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-seconds-pm-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-seconds-pm-expected.png
deleted file mode 100644
index 85466fc2..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-seconds-pm-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/mouseevent_fractional/fast/events/reveal-link-when-focused-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/mouseevent_fractional/fast/events/reveal-link-when-focused-expected.png
deleted file mode 100644
index 8300195f..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/mouseevent_fractional/fast/events/reveal-link-when-focused-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/scalefactor200/fast/hidpi/static/calendar-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/scalefactor200/fast/hidpi/static/calendar-picker-appearance-expected.png
new file mode 100644
index 0000000..48880638
--- /dev/null
+++ b/third_party/blink/web_tests/platform/mac-retina/virtual/scalefactor200/fast/hidpi/static/calendar-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/compositing/gestures/gesture-tapHighlight-pixel-rotated-div-expected.png b/third_party/blink/web_tests/platform/mac/compositing/gestures/gesture-tapHighlight-pixel-rotated-div-expected.png
index 714b5dbc..38731ec8 100644
--- a/third_party/blink/web_tests/platform/mac/compositing/gestures/gesture-tapHighlight-pixel-rotated-div-expected.png
+++ b/third_party/blink/web_tests/platform/mac/compositing/gestures/gesture-tapHighlight-pixel-rotated-div-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/compositing/gestures/gesture-tapHighlight-pixel-rotated-link-expected.png b/third_party/blink/web_tests/platform/mac/compositing/gestures/gesture-tapHighlight-pixel-rotated-link-expected.png
index e2f96fc..9aedd46 100644
--- a/third_party/blink/web_tests/platform/mac/compositing/gestures/gesture-tapHighlight-pixel-rotated-link-expected.png
+++ b/third_party/blink/web_tests/platform/mac/compositing/gestures/gesture-tapHighlight-pixel-rotated-link-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/compositing/gestures/gesture-tapHighlight-simple-scaledX-expected.png b/third_party/blink/web_tests/platform/mac/compositing/gestures/gesture-tapHighlight-simple-scaledX-expected.png
new file mode 100644
index 0000000..9dd9f3d
--- /dev/null
+++ b/third_party/blink/web_tests/platform/mac/compositing/gestures/gesture-tapHighlight-simple-scaledX-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/compositing/gestures/gesture-tapHighlight-with-squashing-expected.png b/third_party/blink/web_tests/platform/mac/compositing/gestures/gesture-tapHighlight-with-squashing-expected.png
index 0abc887..f8fe3c0a 100644
--- a/third_party/blink/web_tests/platform/mac/compositing/gestures/gesture-tapHighlight-with-squashing-expected.png
+++ b/third_party/blink/web_tests/platform/mac/compositing/gestures/gesture-tapHighlight-with-squashing-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/external/wpt/preload/onerror-event-expected.txt b/third_party/blink/web_tests/platform/mac/external/wpt/preload/onerror-event-expected.txt
deleted file mode 100644
index aa88efb..0000000
--- a/third_party/blink/web_tests/platform/mac/external/wpt/preload/onerror-event-expected.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-This is a testharness.js-based test.
-FAIL Makes sure that preloaded resources trigger the onerror event Uncaught Error: assert_true: video triggered error event expected true got false
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/platform/mac/fast/css/input-search-padding-expected.png b/third_party/blink/web_tests/platform/mac/fast/css/input-search-padding-expected.png
index 15ed0ed..732cabdf 100644
--- a/third_party/blink/web_tests/platform/mac/fast/css/input-search-padding-expected.png
+++ b/third_party/blink/web_tests/platform/mac/fast/css/input-search-padding-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png b/third_party/blink/web_tests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png
index 5cf7e71..0e3daf2 100644
--- a/third_party/blink/web_tests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png
+++ b/third_party/blink/web_tests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-coarse-expected.png b/third_party/blink/web_tests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-coarse-expected.png
index a3452d2..eaa5350 100644
--- a/third_party/blink/web_tests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-coarse-expected.png
+++ b/third_party/blink/web_tests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-coarse-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-expected.png
index 81bd7e9b..43671ad 100644
--- a/third_party/blink/web_tests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-minimum-date-expected.png b/third_party/blink/web_tests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-minimum-date-expected.png
index 0abb5c4..1a8c0d83 100644
--- a/third_party/blink/web_tests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-minimum-date-expected.png
+++ b/third_party/blink/web_tests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-minimum-date-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png b/third_party/blink/web_tests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png
index d402da2..5a058fe5 100644
--- a/third_party/blink/web_tests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png
+++ b/third_party/blink/web_tests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png b/third_party/blink/web_tests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png
index c997cf5..7a35d55 100644
--- a/third_party/blink/web_tests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png
+++ b/third_party/blink/web_tests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png b/third_party/blink/web_tests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png
index 6b05398..270dbca 100644
--- a/third_party/blink/web_tests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png
+++ b/third_party/blink/web_tests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-zoom200-expected.png b/third_party/blink/web_tests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-zoom200-expected.png
index 564ca78..fd2824c 100644
--- a/third_party/blink/web_tests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-zoom200-expected.png
+++ b/third_party/blink/web_tests/platform/mac/fast/forms/calendar-picker/calendar-picker-appearance-zoom200-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/fast/forms/calendar-picker/month-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac/fast/forms/calendar-picker/month-picker-appearance-expected.png
index c60050e7..bb5fa929 100644
--- a/third_party/blink/web_tests/platform/mac/fast/forms/calendar-picker/month-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac/fast/forms/calendar-picker/month-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/fast/forms/calendar-picker/month-picker-appearance-step-expected.png b/third_party/blink/web_tests/platform/mac/fast/forms/calendar-picker/month-picker-appearance-step-expected.png
index ee6367dc..c86072ca 100644
--- a/third_party/blink/web_tests/platform/mac/fast/forms/calendar-picker/month-picker-appearance-step-expected.png
+++ b/third_party/blink/web_tests/platform/mac/fast/forms/calendar-picker/month-picker-appearance-step-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/fast/forms/calendar-picker/week-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac/fast/forms/calendar-picker/week-picker-appearance-expected.png
index c396001..746c3b5 100644
--- a/third_party/blink/web_tests/platform/mac/fast/forms/calendar-picker/week-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac/fast/forms/calendar-picker/week-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/fast/forms/datalist/input-appearance-range-with-transform-expected.png b/third_party/blink/web_tests/platform/mac/fast/forms/datalist/input-appearance-range-with-transform-expected.png
index a473192..b0d561f 100644
--- a/third_party/blink/web_tests/platform/mac/fast/forms/datalist/input-appearance-range-with-transform-expected.png
+++ b/third_party/blink/web_tests/platform/mac/fast/forms/datalist/input-appearance-range-with-transform-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/fast/forms/select/listbox-with-display-none-option-expected.png b/third_party/blink/web_tests/platform/mac/fast/forms/select/listbox-with-display-none-option-expected.png
index 9fb1688..6838f71 100644
--- a/third_party/blink/web_tests/platform/mac/fast/forms/select/listbox-with-display-none-option-expected.png
+++ b/third_party/blink/web_tests/platform/mac/fast/forms/select/listbox-with-display-none-option-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/fast/forms/select/menulist-appearance-rtl-expected.png b/third_party/blink/web_tests/platform/mac/fast/forms/select/menulist-appearance-rtl-expected.png
index efe8b61..43155d3 100644
--- a/third_party/blink/web_tests/platform/mac/fast/forms/select/menulist-appearance-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/mac/fast/forms/select/menulist-appearance-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/fast/forms/select/menulist-narrow-width-expected.png b/third_party/blink/web_tests/platform/mac/fast/forms/select/menulist-narrow-width-expected.png
index 53659643..23c4201 100644
--- a/third_party/blink/web_tests/platform/mac/fast/forms/select/menulist-narrow-width-expected.png
+++ b/third_party/blink/web_tests/platform/mac/fast/forms/select/menulist-narrow-width-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/fast/forms/text/input-text-scroll-left-on-blur-expected.png b/third_party/blink/web_tests/platform/mac/fast/forms/text/input-text-scroll-left-on-blur-expected.png
index c7449ab6..519e9f8 100644
--- a/third_party/blink/web_tests/platform/mac/fast/forms/text/input-text-scroll-left-on-blur-expected.png
+++ b/third_party/blink/web_tests/platform/mac/fast/forms/text/input-text-scroll-left-on-blur-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/fast/text/drawBidiText-expected.png b/third_party/blink/web_tests/platform/mac/fast/text/drawBidiText-expected.png
index 1220e94f..64eb3560 100644
--- a/third_party/blink/web_tests/platform/mac/fast/text/drawBidiText-expected.png
+++ b/third_party/blink/web_tests/platform/mac/fast/text/drawBidiText-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/tables/mozilla/bugs/bug30692-expected.png b/third_party/blink/web_tests/platform/mac/tables/mozilla/bugs/bug30692-expected.png
index d4e2380..df4ee4d 100644
--- a/third_party/blink/web_tests/platform/mac/tables/mozilla/bugs/bug30692-expected.png
+++ b/third_party/blink/web_tests/platform/mac/tables/mozilla/bugs/bug30692-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-high-contrast/fast/forms/controls-new-ui-high-contrast/color-picker-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-high-contrast/fast/forms/controls-new-ui-high-contrast/color-picker-expected.png
index fe48aae0..7f2e3b7 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-high-contrast/fast/forms/controls-new-ui-high-contrast/color-picker-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-high-contrast/fast/forms/controls-new-ui-high-contrast/color-picker-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-high-contrast/fast/forms/controls-new-ui-high-contrast/date-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-high-contrast/fast/forms/controls-new-ui-high-contrast/date-suggestion-picker-appearance-expected.png
index 6bfcf05..9b2bfee 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-high-contrast/fast/forms/controls-new-ui-high-contrast/date-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-high-contrast/fast/forms/controls-new-ui-high-contrast/date-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-coarse-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-coarse-expected.png
index 0273f4b..ab0beee2 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-coarse-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-coarse-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-disabled-previous-month-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-disabled-previous-month-expected.png
index 017b8cb..97577d77 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-disabled-previous-month-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-rtl-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-rtl-expected.png
index ac32e202..392b718 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-step-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-step-expected.png
index 7fe5088c..01305c4 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-step-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-step-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-zoom150-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-zoom150-expected.png
index d35e1f7b..a91d6e6 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-zoom150-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-zoom150-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-disabled-values-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-disabled-values-expected.png
index c0a957a4..ff6dfcae 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-disabled-values-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-disabled-values-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-month-appearance-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-month-appearance-expected.png
index 02dc4a0ac..82446e0a 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-month-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-month-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-accelerated-keyboard-navigation-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-accelerated-keyboard-navigation-expected.png
index 2d1c812..97f3e0ba 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-accelerated-keyboard-navigation-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-accelerated-keyboard-navigation-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-click-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-click-expected.png
index 06e4b4908..eb920755 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-click-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-accelerated-keyboard-navigation-from-top-left-corner-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-accelerated-keyboard-navigation-from-top-left-corner-expected.png
index a6857c6..339c358c 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-accelerated-keyboard-navigation-from-top-left-corner-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-accelerated-keyboard-navigation-from-top-left-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-accelerated-keyboard-navigation-from-top-right-corner-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-accelerated-keyboard-navigation-from-top-right-corner-expected.png
index d0d147a..bea5af6 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-accelerated-keyboard-navigation-from-top-right-corner-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-accelerated-keyboard-navigation-from-top-right-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-left-corner-expected.png
index bab7096..484795ac 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-right-corner-expected.png
index 0e6e053..17f9cd7 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-drag-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-drag-expected.png
index 06e4b4908..eb920755 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-drag-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-keyboard-navigation-after-drag-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-keyboard-navigation-after-drag-expected.png
index 39b26faf..810ed4f4 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-keyboard-navigation-after-drag-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-keyboard-navigation-after-drag-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-keyboard-navigation-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-keyboard-navigation-expected.png
index 988911e..3299373 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-keyboard-navigation-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-accelerated-keyboard-navigation-from-bottom-right-corner-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-accelerated-keyboard-navigation-from-bottom-right-corner-expected.png
index e3f86c5..fb3d7a8 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-accelerated-keyboard-navigation-from-bottom-right-corner-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-accelerated-keyboard-navigation-from-bottom-right-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-accelerated-keyboard-navigation-from-top-right-corner-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-accelerated-keyboard-navigation-from-top-right-corner-expected.png
index 45bfa19..a3cd7c6 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-accelerated-keyboard-navigation-from-top-right-corner-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-accelerated-keyboard-navigation-from-top-right-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-keyboard-navigation-from-bottom-right-corner-expected.png
index 790542d5..65f86c9 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-keyboard-navigation-from-top-right-corner-expected.png
index f7e6b12..8dfb7a7 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-accelerated-keyboard-navigation-from-bottom-left-corner-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-accelerated-keyboard-navigation-from-bottom-left-corner-expected.png
index f92d74a..dc34cfe 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-accelerated-keyboard-navigation-from-bottom-left-corner-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-accelerated-keyboard-navigation-from-bottom-left-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-accelerated-keyboard-navigation-from-top-left-corner-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-accelerated-keyboard-navigation-from-top-left-corner-expected.png
index 1232b69..9af846a 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-accelerated-keyboard-navigation-from-top-left-corner-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-accelerated-keyboard-navigation-from-top-left-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-keyboard-navigation-from-bottom-left-corner-expected.png
index 3b305e3..8568a674 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-keyboard-navigation-from-top-left-corner-expected.png
index 2c36acf..3dc809c 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-accelerated-keyboard-navigation-from-bottom-left-corner-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-accelerated-keyboard-navigation-from-bottom-left-corner-expected.png
index aa83394e..8120b1e 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-accelerated-keyboard-navigation-from-bottom-left-corner-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-accelerated-keyboard-navigation-from-bottom-left-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-accelerated-keyboard-navigation-from-bottom-right-corner-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-accelerated-keyboard-navigation-from-bottom-right-corner-expected.png
index 28616ac0..dda6fc30 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-accelerated-keyboard-navigation-from-bottom-right-corner-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-accelerated-keyboard-navigation-from-bottom-right-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-left-corner-expected.png
index 41ea86f..56e1713 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-right-corner-expected.png
index ef95d34..e1f6b98 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-hex-format-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hex-format-expected.png
index e076d20..2c0ba31 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hex-format-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hex-format-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hsl-format-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hsl-format-expected.png
index 7324cea..8fdb481 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hsl-format-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hsl-format-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-accelerated-keyboard-navigation-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-accelerated-keyboard-navigation-expected.png
index dba60d6..3b9d1ecd 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-accelerated-keyboard-navigation-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-click-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-click-expected.png
index 3fc14898..dea7434 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-click-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-drag-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-drag-expected.png
index 3fc14898..dea7434 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-drag-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-keyboard-navigation-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-keyboard-navigation-expected.png
index 016e65e..c56ebc4 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-keyboard-navigation-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-left-edge-zero-hue-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-left-edge-zero-hue-expected.png
index a9f0941..aa94c58b 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-left-edge-zero-hue-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-right-edge-zero-hue-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-right-edge-zero-hue-expected.png
index 251fde94..9638e7e 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-right-edge-zero-hue-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-imperfect-match-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-imperfect-match-expected.png
index 9123644..1a74089 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-imperfect-match-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-imperfect-match-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-manual-color-change-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-manual-color-change-expected.png
index b7aced7..b806e1b 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-manual-color-change-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-set-value-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-set-value-expected.png
index c1644f239..cecb4c4 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-set-value-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-set-value-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-value-attribute-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-value-attribute-expected.png
index d6f6f2f..57cb166 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-value-attribute-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-value-attribute-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-zoom125-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-zoom125-expected.png
index caba7b2..7feb288 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-zoom125-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-zoom125-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-zoom200-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-zoom200-expected.png
index aafb479b..cfbe390b4 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-zoom200-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-zoom200-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-empty-list-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-empty-list-expected.png
index e00bafc7..5734410 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-empty-list-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-one-row-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-one-row-expected.png
index 5cf334b..83899c26 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-one-row-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-two-rows-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-two-rows-expected.png
index 729ceac..1ee83f0 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-two-rows-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-value-attribute-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-value-attribute-expected.png
index 6fa33e8..ff3a2e5 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-value-attribute-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-with-scrollbar-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-with-scrollbar-expected.png
index cda136a7..e5179ef 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-with-scrollbar-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom125-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom125-expected.png
index 345a6de..bbd3e2e 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom125-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom125-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom200-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom200-expected.png
index 5db0266..eaa2c3c 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom200-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom200-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-today-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-today-expected.png
index cf86000..818a6d29 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-today-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-values-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-values-expected.png
index c606234d..dafeba2 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-values-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/month-picker/month-picker-appearance-highlight-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-highlight-expected.png
index 386c560dd..28c4c04 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-highlight-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-highlight-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-rtl-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-rtl-expected.png
index 80232563..91b12fd 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-value-not-in-interval-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-value-not-in-interval-expected.png
index 63d294d..d08d5262 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-value-not-in-interval-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/month-picker/month-picker-appearance-zoom150-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-zoom150-expected.png
index 13a307b..5b8119b 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-zoom150-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-zoom150-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-alt-f8-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-alt-f8-expected.png
index 7baccd90..bf7fa6b71 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-alt-f8-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-alt-f8-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-alt-f8-twice-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-alt-f8-twice-expected.png
index 018026f..481760b 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-alt-f8-twice-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-alt-f8-twice-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-eye-icon-font-size-48px-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-eye-icon-font-size-48px-expected.png
index 5a08332..f7f80f3e 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-eye-icon-font-size-48px-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/password/password-eye-icon-font-size-4px-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-eye-icon-font-size-4px-expected.png
index f55b385..7f079205 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-eye-icon-font-size-4px-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/password/password-eye-icon-zoom-0.5x-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-eye-icon-zoom-0.5x-expected.png
index 5af8f04..51a6c40 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-eye-icon-zoom-0.5x-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/password/password-eye-icon-zoom-4x-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-eye-icon-zoom-4x-expected.png
index 59c5be8..a4d150e 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-eye-icon-zoom-4x-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-eye-icon-zoom-4x-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-mismatched_glyph-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-mismatched_glyph-expected.png
index 018026f..481760b 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-mismatched_glyph-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-mismatched_glyph-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-small-size-alt-f8-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-small-size-alt-f8-expected.png
index bf38010..30f1a450 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-small-size-alt-f8-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-small-size-alt-f8-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-with-reveal-button-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-with-reveal-button-expected.png
index 018026f..481760b 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-with-reveal-button-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-with-reveal-button-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/date-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/date-suggestion-picker-appearance-expected.png
index cbb9e49..365887fe 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/date-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/date-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
index b28ba8e..9abc10f 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/month-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/month-suggestion-picker-appearance-expected.png
index 74a35c3..b623f0402 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/month-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/month-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/time-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/time-suggestion-picker-appearance-expected.png
index d8ec023..00c2ab8 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/time-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/time-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/week-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/week-suggestion-picker-appearance-expected.png
index 06ed187..ca8e293 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/week-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/week-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-AM-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-AM-expected.png
index b041444..d4062ea7 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-AM-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-PM-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-PM-expected.png
index ba3950e..0bac746f 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-PM-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/time-picker/time-picker-appearance-24-hour-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-24-hour-expected.png
index fe6543a8..93c432b8 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-24-hour-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowdown-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowdown-expected.png
index 3831958..64110b6 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowdown-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowdown-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowup-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowup-expected.png
index 18a9f5af..eec59c7 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowup-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowup-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-expected.png
index 76b2ea0..4379d326 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-ko-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-ko-expected.png
index ab136ff..ecb58f8 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-ko-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-ko-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-milliseconds-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-milliseconds-expected.png
index 9c2329d..49df9544 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-milliseconds-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-milliseconds-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-seconds-pm-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-seconds-pm-expected.png
index 85466fc2..9347799 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-seconds-pm-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-seconds-pm-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/mouseevent_fractional/fast/events/reveal-link-when-focused-expected.png b/third_party/blink/web_tests/platform/mac/virtual/mouseevent_fractional/fast/events/reveal-link-when-focused-expected.png
deleted file mode 100644
index 8300195f..0000000
--- a/third_party/blink/web_tests/platform/mac/virtual/mouseevent_fractional/fast/events/reveal-link-when-focused-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/scalefactor200/fast/hidpi/static/calendar-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac/virtual/scalefactor200/fast/hidpi/static/calendar-picker-appearance-expected.png
index 3e70db1..99ff049 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/scalefactor200/fast/hidpi/static/calendar-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/scalefactor200/fast/hidpi/static/calendar-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/scalefactor200/fast/hidpi/static/data-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac/virtual/scalefactor200/fast/hidpi/static/data-suggestion-picker-appearance-expected.png
index de9db9c..ed7323d 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/scalefactor200/fast/hidpi/static/data-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/scalefactor200/fast/hidpi/static/data-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/scalefactor200/fast/hidpi/static/popup-menu-appearance-expected.png b/third_party/blink/web_tests/platform/mac/virtual/scalefactor200/fast/hidpi/static/popup-menu-appearance-expected.png
index 003114f..cb5ae1c2 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/scalefactor200/fast/hidpi/static/popup-menu-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/scalefactor200/fast/hidpi/static/popup-menu-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/scalefactor200/fast/hidpi/static/validation-bubble-appearance-hidpi-expected.png b/third_party/blink/web_tests/platform/mac/virtual/scalefactor200/fast/hidpi/static/validation-bubble-appearance-hidpi-expected.png
index f0830d1..9cea92c 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/scalefactor200/fast/hidpi/static/validation-bubble-appearance-hidpi-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/scalefactor200/fast/hidpi/static/validation-bubble-appearance-hidpi-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/compositing/gestures/gesture-tapHighlight-pixel-rotated-div-expected.png b/third_party/blink/web_tests/platform/win/compositing/gestures/gesture-tapHighlight-pixel-rotated-div-expected.png
index 33e1ed6..8f4039b 100644
--- a/third_party/blink/web_tests/platform/win/compositing/gestures/gesture-tapHighlight-pixel-rotated-div-expected.png
+++ b/third_party/blink/web_tests/platform/win/compositing/gestures/gesture-tapHighlight-pixel-rotated-div-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/compositing/gestures/gesture-tapHighlight-pixel-rotated-link-expected.png b/third_party/blink/web_tests/platform/win/compositing/gestures/gesture-tapHighlight-pixel-rotated-link-expected.png
index c148b7b7..fd60f6b 100644
--- a/third_party/blink/web_tests/platform/win/compositing/gestures/gesture-tapHighlight-pixel-rotated-link-expected.png
+++ b/third_party/blink/web_tests/platform/win/compositing/gestures/gesture-tapHighlight-pixel-rotated-link-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/compositing/gestures/gesture-tapHighlight-simple-scaledX-expected.png b/third_party/blink/web_tests/platform/win/compositing/gestures/gesture-tapHighlight-simple-scaledX-expected.png
new file mode 100644
index 0000000..2331128f
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/compositing/gestures/gesture-tapHighlight-simple-scaledX-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/compositing/gestures/gesture-tapHighlight-with-squashing-expected.png b/third_party/blink/web_tests/platform/win/compositing/gestures/gesture-tapHighlight-with-squashing-expected.png
index 55cd7a5..278117a 100644
--- a/third_party/blink/web_tests/platform/win/compositing/gestures/gesture-tapHighlight-with-squashing-expected.png
+++ b/third_party/blink/web_tests/platform/win/compositing/gestures/gesture-tapHighlight-with-squashing-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png b/third_party/blink/web_tests/platform/win/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png
index 90b3f2d..1f9ec15 100644
--- a/third_party/blink/web_tests/platform/win/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png
+++ b/third_party/blink/web_tests/platform/win/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/compositing/overflow/theme-affects-visual-overflow-expected.png b/third_party/blink/web_tests/platform/win/compositing/overflow/theme-affects-visual-overflow-expected.png
index d9ad8bd..3b8aefce 100644
--- a/third_party/blink/web_tests/platform/win/compositing/overflow/theme-affects-visual-overflow-expected.png
+++ b/third_party/blink/web_tests/platform/win/compositing/overflow/theme-affects-visual-overflow-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.png b/third_party/blink/web_tests/platform/win/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.png
index 5b0a234f..3557a59 100644
--- a/third_party/blink/web_tests/platform/win/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.png
+++ b/third_party/blink/web_tests/platform/win/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/compositing/squashing/selection-repaint-with-gaps-expected.png b/third_party/blink/web_tests/platform/win/compositing/squashing/selection-repaint-with-gaps-expected.png
index 0a1af04..e72d914 100644
--- a/third_party/blink/web_tests/platform/win/compositing/squashing/selection-repaint-with-gaps-expected.png
+++ b/third_party/blink/web_tests/platform/win/compositing/squashing/selection-repaint-with-gaps-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css1/basic/comments-expected.png b/third_party/blink/web_tests/platform/win/css1/basic/comments-expected.png
index aaaaf63..b598f7c1 100644
--- a/third_party/blink/web_tests/platform/win/css1/basic/comments-expected.png
+++ b/third_party/blink/web_tests/platform/win/css1/basic/comments-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css1/basic/containment-expected.png b/third_party/blink/web_tests/platform/win/css1/basic/containment-expected.png
index 8586981e..99c7422f 100644
--- a/third_party/blink/web_tests/platform/win/css1/basic/containment-expected.png
+++ b/third_party/blink/web_tests/platform/win/css1/basic/containment-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css1/basic/id_as_selector-expected.png b/third_party/blink/web_tests/platform/win/css1/basic/id_as_selector-expected.png
index 71f9cf09..e96d2e8 100644
--- a/third_party/blink/web_tests/platform/win/css1/basic/id_as_selector-expected.png
+++ b/third_party/blink/web_tests/platform/win/css1/basic/id_as_selector-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css1/box_properties/acid_test-expected.png b/third_party/blink/web_tests/platform/win/css1/box_properties/acid_test-expected.png
index c09020a8..180122d10 100644
--- a/third_party/blink/web_tests/platform/win/css1/box_properties/acid_test-expected.png
+++ b/third_party/blink/web_tests/platform/win/css1/box_properties/acid_test-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css1/box_properties/border-expected.png b/third_party/blink/web_tests/platform/win/css1/box_properties/border-expected.png
index ded3379..7a30516 100644
--- a/third_party/blink/web_tests/platform/win/css1/box_properties/border-expected.png
+++ b/third_party/blink/web_tests/platform/win/css1/box_properties/border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css1/box_properties/border_bottom-expected.png b/third_party/blink/web_tests/platform/win/css1/box_properties/border_bottom-expected.png
index 3ad59ac..5d7f6de 100644
--- a/third_party/blink/web_tests/platform/win/css1/box_properties/border_bottom-expected.png
+++ b/third_party/blink/web_tests/platform/win/css1/box_properties/border_bottom-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css1/box_properties/border_bottom_width-expected.png b/third_party/blink/web_tests/platform/win/css1/box_properties/border_bottom_width-expected.png
index 2a252c8..3467b38 100644
--- a/third_party/blink/web_tests/platform/win/css1/box_properties/border_bottom_width-expected.png
+++ b/third_party/blink/web_tests/platform/win/css1/box_properties/border_bottom_width-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css1/box_properties/border_left-expected.png b/third_party/blink/web_tests/platform/win/css1/box_properties/border_left-expected.png
index 8c8f0907..df074fe 100644
--- a/third_party/blink/web_tests/platform/win/css1/box_properties/border_left-expected.png
+++ b/third_party/blink/web_tests/platform/win/css1/box_properties/border_left-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css1/box_properties/border_left_width-expected.png b/third_party/blink/web_tests/platform/win/css1/box_properties/border_left_width-expected.png
index 9d8fc0d..5441df61 100644
--- a/third_party/blink/web_tests/platform/win/css1/box_properties/border_left_width-expected.png
+++ b/third_party/blink/web_tests/platform/win/css1/box_properties/border_left_width-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css1/box_properties/border_right_inline-expected.png b/third_party/blink/web_tests/platform/win/css1/box_properties/border_right_inline-expected.png
index 32801c7f..3fb3d8d 100644
--- a/third_party/blink/web_tests/platform/win/css1/box_properties/border_right_inline-expected.png
+++ b/third_party/blink/web_tests/platform/win/css1/box_properties/border_right_inline-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css1/box_properties/border_right_width-expected.png b/third_party/blink/web_tests/platform/win/css1/box_properties/border_right_width-expected.png
index 7ecc8cc2..3c6a6f83 100644
--- a/third_party/blink/web_tests/platform/win/css1/box_properties/border_right_width-expected.png
+++ b/third_party/blink/web_tests/platform/win/css1/box_properties/border_right_width-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css1/box_properties/border_style-expected.png b/third_party/blink/web_tests/platform/win/css1/box_properties/border_style-expected.png
index 2a49743..59336db 100644
--- a/third_party/blink/web_tests/platform/win/css1/box_properties/border_style-expected.png
+++ b/third_party/blink/web_tests/platform/win/css1/box_properties/border_style-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css1/box_properties/border_top-expected.png b/third_party/blink/web_tests/platform/win/css1/box_properties/border_top-expected.png
index edad0bf..9c7a50a 100644
--- a/third_party/blink/web_tests/platform/win/css1/box_properties/border_top-expected.png
+++ b/third_party/blink/web_tests/platform/win/css1/box_properties/border_top-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css1/box_properties/border_top_width-expected.png b/third_party/blink/web_tests/platform/win/css1/box_properties/border_top_width-expected.png
index db1106dc..69e1b28 100644
--- a/third_party/blink/web_tests/platform/win/css1/box_properties/border_top_width-expected.png
+++ b/third_party/blink/web_tests/platform/win/css1/box_properties/border_top_width-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css1/box_properties/border_width-expected.png b/third_party/blink/web_tests/platform/win/css1/box_properties/border_width-expected.png
index d18b2b4e4..760ad6e 100644
--- a/third_party/blink/web_tests/platform/win/css1/box_properties/border_width-expected.png
+++ b/third_party/blink/web_tests/platform/win/css1/box_properties/border_width-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css1/box_properties/clear-expected.png b/third_party/blink/web_tests/platform/win/css1/box_properties/clear-expected.png
index 24bbe2c6..f46ca30 100644
--- a/third_party/blink/web_tests/platform/win/css1/box_properties/clear-expected.png
+++ b/third_party/blink/web_tests/platform/win/css1/box_properties/clear-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css1/box_properties/float_elements_in_series-expected.png b/third_party/blink/web_tests/platform/win/css1/box_properties/float_elements_in_series-expected.png
index 03426c7..211d77c 100644
--- a/third_party/blink/web_tests/platform/win/css1/box_properties/float_elements_in_series-expected.png
+++ b/third_party/blink/web_tests/platform/win/css1/box_properties/float_elements_in_series-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css1/box_properties/float_margin-expected.png b/third_party/blink/web_tests/platform/win/css1/box_properties/float_margin-expected.png
index a76c748..b14fcf09 100644
--- a/third_party/blink/web_tests/platform/win/css1/box_properties/float_margin-expected.png
+++ b/third_party/blink/web_tests/platform/win/css1/box_properties/float_margin-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css1/box_properties/float_on_text_elements-expected.png b/third_party/blink/web_tests/platform/win/css1/box_properties/float_on_text_elements-expected.png
index 7c2e217..b272616 100644
--- a/third_party/blink/web_tests/platform/win/css1/box_properties/float_on_text_elements-expected.png
+++ b/third_party/blink/web_tests/platform/win/css1/box_properties/float_on_text_elements-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css1/box_properties/height-expected.png b/third_party/blink/web_tests/platform/win/css1/box_properties/height-expected.png
index fec70bb..f8fbbbc7 100644
--- a/third_party/blink/web_tests/platform/win/css1/box_properties/height-expected.png
+++ b/third_party/blink/web_tests/platform/win/css1/box_properties/height-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css1/box_properties/margin_bottom-expected.png b/third_party/blink/web_tests/platform/win/css1/box_properties/margin_bottom-expected.png
index 64ddb89..3611642 100644
--- a/third_party/blink/web_tests/platform/win/css1/box_properties/margin_bottom-expected.png
+++ b/third_party/blink/web_tests/platform/win/css1/box_properties/margin_bottom-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css1/box_properties/margin_left-expected.png b/third_party/blink/web_tests/platform/win/css1/box_properties/margin_left-expected.png
index 4239b68..0cb027ec 100644
--- a/third_party/blink/web_tests/platform/win/css1/box_properties/margin_left-expected.png
+++ b/third_party/blink/web_tests/platform/win/css1/box_properties/margin_left-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css1/box_properties/margin_top-expected.png b/third_party/blink/web_tests/platform/win/css1/box_properties/margin_top-expected.png
index daa6c15..c832fbf 100644
--- a/third_party/blink/web_tests/platform/win/css1/box_properties/margin_top-expected.png
+++ b/third_party/blink/web_tests/platform/win/css1/box_properties/margin_top-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css1/box_properties/padding-expected.png b/third_party/blink/web_tests/platform/win/css1/box_properties/padding-expected.png
index 03e1257..13f5137 100644
--- a/third_party/blink/web_tests/platform/win/css1/box_properties/padding-expected.png
+++ b/third_party/blink/web_tests/platform/win/css1/box_properties/padding-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css1/box_properties/padding_bottom-expected.png b/third_party/blink/web_tests/platform/win/css1/box_properties/padding_bottom-expected.png
index 15081963..3319bbc 100644
--- a/third_party/blink/web_tests/platform/win/css1/box_properties/padding_bottom-expected.png
+++ b/third_party/blink/web_tests/platform/win/css1/box_properties/padding_bottom-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css1/box_properties/padding_inline-expected.png b/third_party/blink/web_tests/platform/win/css1/box_properties/padding_inline-expected.png
index 4a6fa40..c0e6551 100644
--- a/third_party/blink/web_tests/platform/win/css1/box_properties/padding_inline-expected.png
+++ b/third_party/blink/web_tests/platform/win/css1/box_properties/padding_inline-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css1/box_properties/padding_left-expected.png b/third_party/blink/web_tests/platform/win/css1/box_properties/padding_left-expected.png
index 286acc3..0c729cfcf 100644
--- a/third_party/blink/web_tests/platform/win/css1/box_properties/padding_left-expected.png
+++ b/third_party/blink/web_tests/platform/win/css1/box_properties/padding_left-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css1/box_properties/padding_right-expected.png b/third_party/blink/web_tests/platform/win/css1/box_properties/padding_right-expected.png
index 654839a4..21261172 100644
--- a/third_party/blink/web_tests/platform/win/css1/box_properties/padding_right-expected.png
+++ b/third_party/blink/web_tests/platform/win/css1/box_properties/padding_right-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css1/box_properties/padding_top-expected.png b/third_party/blink/web_tests/platform/win/css1/box_properties/padding_top-expected.png
index 8ed50c94..5ef6479 100644
--- a/third_party/blink/web_tests/platform/win/css1/box_properties/padding_top-expected.png
+++ b/third_party/blink/web_tests/platform/win/css1/box_properties/padding_top-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css1/box_properties/width-expected.png b/third_party/blink/web_tests/platform/win/css1/box_properties/width-expected.png
index 4fd63c2..a57f45f9 100644
--- a/third_party/blink/web_tests/platform/win/css1/box_properties/width-expected.png
+++ b/third_party/blink/web_tests/platform/win/css1/box_properties/width-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css1/cascade/cascade_order-expected.png b/third_party/blink/web_tests/platform/win/css1/cascade/cascade_order-expected.png
index 99336f2..ce24cb0 100644
--- a/third_party/blink/web_tests/platform/win/css1/cascade/cascade_order-expected.png
+++ b/third_party/blink/web_tests/platform/win/css1/cascade/cascade_order-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css1/classification/display-expected.png b/third_party/blink/web_tests/platform/win/css1/classification/display-expected.png
index ac6025e..d9d1e35 100644
--- a/third_party/blink/web_tests/platform/win/css1/classification/display-expected.png
+++ b/third_party/blink/web_tests/platform/win/css1/classification/display-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css1/classification/list_style_type-expected.png b/third_party/blink/web_tests/platform/win/css1/classification/list_style_type-expected.png
index 81ede0a..c3f708f 100644
--- a/third_party/blink/web_tests/platform/win/css1/classification/list_style_type-expected.png
+++ b/third_party/blink/web_tests/platform/win/css1/classification/list_style_type-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css1/color_and_background/background-expected.png b/third_party/blink/web_tests/platform/win/css1/color_and_background/background-expected.png
index ab66a30..d93bd1d 100644
--- a/third_party/blink/web_tests/platform/win/css1/color_and_background/background-expected.png
+++ b/third_party/blink/web_tests/platform/win/css1/color_and_background/background-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css1/color_and_background/background_position-expected.png b/third_party/blink/web_tests/platform/win/css1/color_and_background/background_position-expected.png
index dbb98b84..8517b18 100644
--- a/third_party/blink/web_tests/platform/win/css1/color_and_background/background_position-expected.png
+++ b/third_party/blink/web_tests/platform/win/css1/color_and_background/background_position-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css1/conformance/forward_compatible_parsing-expected.png b/third_party/blink/web_tests/platform/win/css1/conformance/forward_compatible_parsing-expected.png
index c25112d..6d6b279 100644
--- a/third_party/blink/web_tests/platform/win/css1/conformance/forward_compatible_parsing-expected.png
+++ b/third_party/blink/web_tests/platform/win/css1/conformance/forward_compatible_parsing-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css1/font_properties/font-expected.png b/third_party/blink/web_tests/platform/win/css1/font_properties/font-expected.png
index b0313f5f..a5f7f4d8 100644
--- a/third_party/blink/web_tests/platform/win/css1/font_properties/font-expected.png
+++ b/third_party/blink/web_tests/platform/win/css1/font_properties/font-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css1/font_properties/font_family-expected.png b/third_party/blink/web_tests/platform/win/css1/font_properties/font_family-expected.png
index 2e9f43f..f01758fa 100644
--- a/third_party/blink/web_tests/platform/win/css1/font_properties/font_family-expected.png
+++ b/third_party/blink/web_tests/platform/win/css1/font_properties/font_family-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css1/font_properties/font_size-expected.png b/third_party/blink/web_tests/platform/win/css1/font_properties/font_size-expected.png
index 412f79fb..a60d013 100644
--- a/third_party/blink/web_tests/platform/win/css1/font_properties/font_size-expected.png
+++ b/third_party/blink/web_tests/platform/win/css1/font_properties/font_size-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css1/font_properties/font_weight-expected.png b/third_party/blink/web_tests/platform/win/css1/font_properties/font_weight-expected.png
index 9819bde..5e49ce2 100644
--- a/third_party/blink/web_tests/platform/win/css1/font_properties/font_weight-expected.png
+++ b/third_party/blink/web_tests/platform/win/css1/font_properties/font_weight-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css1/formatting_model/floating_elements-expected.png b/third_party/blink/web_tests/platform/win/css1/formatting_model/floating_elements-expected.png
index ac4b360..95621b7 100644
--- a/third_party/blink/web_tests/platform/win/css1/formatting_model/floating_elements-expected.png
+++ b/third_party/blink/web_tests/platform/win/css1/formatting_model/floating_elements-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css1/formatting_model/height_of_lines-expected.png b/third_party/blink/web_tests/platform/win/css1/formatting_model/height_of_lines-expected.png
index 5d53c51..f5a25d7 100644
--- a/third_party/blink/web_tests/platform/win/css1/formatting_model/height_of_lines-expected.png
+++ b/third_party/blink/web_tests/platform/win/css1/formatting_model/height_of_lines-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css1/formatting_model/inline_elements-expected.png b/third_party/blink/web_tests/platform/win/css1/formatting_model/inline_elements-expected.png
index 79c1dc7e..635ca62 100644
--- a/third_party/blink/web_tests/platform/win/css1/formatting_model/inline_elements-expected.png
+++ b/third_party/blink/web_tests/platform/win/css1/formatting_model/inline_elements-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css1/formatting_model/replaced_elements-expected.png b/third_party/blink/web_tests/platform/win/css1/formatting_model/replaced_elements-expected.png
index fac07a90..8bcf0bbf 100644
--- a/third_party/blink/web_tests/platform/win/css1/formatting_model/replaced_elements-expected.png
+++ b/third_party/blink/web_tests/platform/win/css1/formatting_model/replaced_elements-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css1/formatting_model/vertical_formatting-expected.png b/third_party/blink/web_tests/platform/win/css1/formatting_model/vertical_formatting-expected.png
index 081d4bb..ff528fb 100644
--- a/third_party/blink/web_tests/platform/win/css1/formatting_model/vertical_formatting-expected.png
+++ b/third_party/blink/web_tests/platform/win/css1/formatting_model/vertical_formatting-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css1/pseudo/anchor-expected.png b/third_party/blink/web_tests/platform/win/css1/pseudo/anchor-expected.png
index c77cf41..c00c3ee 100644
--- a/third_party/blink/web_tests/platform/win/css1/pseudo/anchor-expected.png
+++ b/third_party/blink/web_tests/platform/win/css1/pseudo/anchor-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css1/pseudo/firstletter-expected.png b/third_party/blink/web_tests/platform/win/css1/pseudo/firstletter-expected.png
index ce77573..edbae50 100644
--- a/third_party/blink/web_tests/platform/win/css1/pseudo/firstletter-expected.png
+++ b/third_party/blink/web_tests/platform/win/css1/pseudo/firstletter-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css1/pseudo/firstline-expected.png b/third_party/blink/web_tests/platform/win/css1/pseudo/firstline-expected.png
index c5366279..c35abd4d 100644
--- a/third_party/blink/web_tests/platform/win/css1/pseudo/firstline-expected.png
+++ b/third_party/blink/web_tests/platform/win/css1/pseudo/firstline-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css1/pseudo/multiple_pseudo_elements-expected.png b/third_party/blink/web_tests/platform/win/css1/pseudo/multiple_pseudo_elements-expected.png
index 79b7509..7f1fb448 100644
--- a/third_party/blink/web_tests/platform/win/css1/pseudo/multiple_pseudo_elements-expected.png
+++ b/third_party/blink/web_tests/platform/win/css1/pseudo/multiple_pseudo_elements-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css1/pseudo/pseudo_elements_in_selectors-expected.png b/third_party/blink/web_tests/platform/win/css1/pseudo/pseudo_elements_in_selectors-expected.png
index 95ca80a9..e2a21fbd 100644
--- a/third_party/blink/web_tests/platform/win/css1/pseudo/pseudo_elements_in_selectors-expected.png
+++ b/third_party/blink/web_tests/platform/win/css1/pseudo/pseudo_elements_in_selectors-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css1/text_properties/letter_spacing-expected.png b/third_party/blink/web_tests/platform/win/css1/text_properties/letter_spacing-expected.png
index d14bfeb4..ada944b 100644
--- a/third_party/blink/web_tests/platform/win/css1/text_properties/letter_spacing-expected.png
+++ b/third_party/blink/web_tests/platform/win/css1/text_properties/letter_spacing-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css1/text_properties/line_height-expected.png b/third_party/blink/web_tests/platform/win/css1/text_properties/line_height-expected.png
index dca6c0c..f335a47 100644
--- a/third_party/blink/web_tests/platform/win/css1/text_properties/line_height-expected.png
+++ b/third_party/blink/web_tests/platform/win/css1/text_properties/line_height-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css1/text_properties/text_decoration-expected.png b/third_party/blink/web_tests/platform/win/css1/text_properties/text_decoration-expected.png
index d35f6cb..a68f8b4 100644
--- a/third_party/blink/web_tests/platform/win/css1/text_properties/text_decoration-expected.png
+++ b/third_party/blink/web_tests/platform/win/css1/text_properties/text_decoration-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css1/text_properties/text_indent-expected.png b/third_party/blink/web_tests/platform/win/css1/text_properties/text_indent-expected.png
index d44b1d1..067d151 100644
--- a/third_party/blink/web_tests/platform/win/css1/text_properties/text_indent-expected.png
+++ b/third_party/blink/web_tests/platform/win/css1/text_properties/text_indent-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css1/text_properties/text_transform-expected.png b/third_party/blink/web_tests/platform/win/css1/text_properties/text_transform-expected.png
index 0277680..cc0747abc 100644
--- a/third_party/blink/web_tests/platform/win/css1/text_properties/text_transform-expected.png
+++ b/third_party/blink/web_tests/platform/win/css1/text_properties/text_transform-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css1/text_properties/vertical_align-expected.png b/third_party/blink/web_tests/platform/win/css1/text_properties/vertical_align-expected.png
index 89dbb74..d518b21 100644
--- a/third_party/blink/web_tests/platform/win/css1/text_properties/vertical_align-expected.png
+++ b/third_party/blink/web_tests/platform/win/css1/text_properties/vertical_align-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css1/text_properties/word_spacing-expected.png b/third_party/blink/web_tests/platform/win/css1/text_properties/word_spacing-expected.png
index fc2db37..fb53973 100644
--- a/third_party/blink/web_tests/platform/win/css1/text_properties/word_spacing-expected.png
+++ b/third_party/blink/web_tests/platform/win/css1/text_properties/word_spacing-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css1/units/color_units-expected.png b/third_party/blink/web_tests/platform/win/css1/units/color_units-expected.png
index 0bebd3f..a803ed1 100644
--- a/third_party/blink/web_tests/platform/win/css1/units/color_units-expected.png
+++ b/third_party/blink/web_tests/platform/win/css1/units/color_units-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css1/units/length_units-expected.png b/third_party/blink/web_tests/platform/win/css1/units/length_units-expected.png
index 8d69b32e..9677dc07 100644
--- a/third_party/blink/web_tests/platform/win/css1/units/length_units-expected.png
+++ b/third_party/blink/web_tests/platform/win/css1/units/length_units-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css2.1/t0803-c5502-mrgn-r-02-c-expected.png b/third_party/blink/web_tests/platform/win/css2.1/t0803-c5502-mrgn-r-02-c-expected.png
index 466f5b42..a7497068 100644
--- a/third_party/blink/web_tests/platform/win/css2.1/t0803-c5502-mrgn-r-02-c-expected.png
+++ b/third_party/blink/web_tests/platform/win/css2.1/t0803-c5502-mrgn-r-02-c-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css2.1/t0803-c5505-mrgn-02-c-expected.png b/third_party/blink/web_tests/platform/win/css2.1/t0803-c5505-mrgn-02-c-expected.png
index 08abdae..5506b976 100644
--- a/third_party/blink/web_tests/platform/win/css2.1/t0803-c5505-mrgn-02-c-expected.png
+++ b/third_party/blink/web_tests/platform/win/css2.1/t0803-c5505-mrgn-02-c-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css2.1/t080301-c411-vt-mrgn-00-b-expected.png b/third_party/blink/web_tests/platform/win/css2.1/t080301-c411-vt-mrgn-00-b-expected.png
index b899bf73a..eb7e67dc 100644
--- a/third_party/blink/web_tests/platform/win/css2.1/t080301-c411-vt-mrgn-00-b-expected.png
+++ b/third_party/blink/web_tests/platform/win/css2.1/t080301-c411-vt-mrgn-00-b-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css2.1/t09-c5526c-display-00-e-expected.png b/third_party/blink/web_tests/platform/win/css2.1/t09-c5526c-display-00-e-expected.png
index 1a48082..d9808df 100644
--- a/third_party/blink/web_tests/platform/win/css2.1/t09-c5526c-display-00-e-expected.png
+++ b/third_party/blink/web_tests/platform/win/css2.1/t09-c5526c-display-00-e-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css2.1/t0905-c5525-fltwidth-00-c-g-expected.png b/third_party/blink/web_tests/platform/win/css2.1/t0905-c5525-fltwidth-00-c-g-expected.png
index eba83e9..8c9f4ec 100644
--- a/third_party/blink/web_tests/platform/win/css2.1/t0905-c5525-fltwidth-00-c-g-expected.png
+++ b/third_party/blink/web_tests/platform/win/css2.1/t0905-c5525-fltwidth-00-c-g-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css2.1/t1002-c5523-width-02-b-g-expected.png b/third_party/blink/web_tests/platform/win/css2.1/t1002-c5523-width-02-b-g-expected.png
index a3668a7a..5cd3f13 100644
--- a/third_party/blink/web_tests/platform/win/css2.1/t1002-c5523-width-02-b-g-expected.png
+++ b/third_party/blink/web_tests/platform/win/css2.1/t1002-c5523-width-02-b-g-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css2.1/t140201-c535-bg-fixd-00-b-g-expected.png b/third_party/blink/web_tests/platform/win/css2.1/t140201-c535-bg-fixd-00-b-g-expected.png
index 18baf693..6e8aca6c 100644
--- a/third_party/blink/web_tests/platform/win/css2.1/t140201-c535-bg-fixd-00-b-g-expected.png
+++ b/third_party/blink/web_tests/platform/win/css2.1/t140201-c535-bg-fixd-00-b-g-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css2.1/t140201-c537-bgfxps-00-c-ag-expected.png b/third_party/blink/web_tests/platform/win/css2.1/t140201-c537-bgfxps-00-c-ag-expected.png
index 7bc2568..5e89e56 100644
--- a/third_party/blink/web_tests/platform/win/css2.1/t140201-c537-bgfxps-00-c-ag-expected.png
+++ b/third_party/blink/web_tests/platform/win/css2.1/t140201-c537-bgfxps-00-c-ag-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css3/background/background-repeat-round-auto1-expected.png b/third_party/blink/web_tests/platform/win/css3/background/background-repeat-round-auto1-expected.png
index 6a186c3..a7e2b88d 100644
--- a/third_party/blink/web_tests/platform/win/css3/background/background-repeat-round-auto1-expected.png
+++ b/third_party/blink/web_tests/platform/win/css3/background/background-repeat-round-auto1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css3/background/background-repeat-round-border-expected.png b/third_party/blink/web_tests/platform/win/css3/background/background-repeat-round-border-expected.png
index 26efbfc..02348fb5 100644
--- a/third_party/blink/web_tests/platform/win/css3/background/background-repeat-round-border-expected.png
+++ b/third_party/blink/web_tests/platform/win/css3/background/background-repeat-round-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css3/background/background-repeat-round-content-expected.png b/third_party/blink/web_tests/platform/win/css3/background/background-repeat-round-content-expected.png
index 579458b..67d3f14 100644
--- a/third_party/blink/web_tests/platform/win/css3/background/background-repeat-round-content-expected.png
+++ b/third_party/blink/web_tests/platform/win/css3/background/background-repeat-round-content-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css3/background/background-repeat-round-padding-expected.png b/third_party/blink/web_tests/platform/win/css3/background/background-repeat-round-padding-expected.png
index db5f851..861ef92 100644
--- a/third_party/blink/web_tests/platform/win/css3/background/background-repeat-round-padding-expected.png
+++ b/third_party/blink/web_tests/platform/win/css3/background/background-repeat-round-padding-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css3/filters/backdrop-filter-plus-mask-large-expected.png b/third_party/blink/web_tests/platform/win/css3/filters/backdrop-filter-plus-mask-large-expected.png
new file mode 100644
index 0000000..69feb8c
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/css3/filters/backdrop-filter-plus-mask-large-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css3/flexbox/button-expected.png b/third_party/blink/web_tests/platform/win/css3/flexbox/button-expected.png
index f826c7039..1151921a 100644
--- a/third_party/blink/web_tests/platform/win/css3/flexbox/button-expected.png
+++ b/third_party/blink/web_tests/platform/win/css3/flexbox/button-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css3/flexbox/flexbox-baseline-expected.png b/third_party/blink/web_tests/platform/win/css3/flexbox/flexbox-baseline-expected.png
index 68563a99..0a0df404 100644
--- a/third_party/blink/web_tests/platform/win/css3/flexbox/flexbox-baseline-expected.png
+++ b/third_party/blink/web_tests/platform/win/css3/flexbox/flexbox-baseline-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css3/flexbox/flexbox-baseline-margins-expected.png b/third_party/blink/web_tests/platform/win/css3/flexbox/flexbox-baseline-margins-expected.png
index 6ec45d8..2bf169b 100644
--- a/third_party/blink/web_tests/platform/win/css3/flexbox/flexbox-baseline-margins-expected.png
+++ b/third_party/blink/web_tests/platform/win/css3/flexbox/flexbox-baseline-margins-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css3/masking/mask-luminance-gradient-expected.png b/third_party/blink/web_tests/platform/win/css3/masking/mask-luminance-gradient-expected.png
index 80ef5b7f..29f70ea 100644
--- a/third_party/blink/web_tests/platform/win/css3/masking/mask-luminance-gradient-expected.png
+++ b/third_party/blink/web_tests/platform/win/css3/masking/mask-luminance-gradient-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css3/masking/mask-luminance-svg-expected.png b/third_party/blink/web_tests/platform/win/css3/masking/mask-luminance-svg-expected.png
index 8e47f02..842f4da3 100644
--- a/third_party/blink/web_tests/platform/win/css3/masking/mask-luminance-svg-expected.png
+++ b/third_party/blink/web_tests/platform/win/css3/masking/mask-luminance-svg-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css3/masking/mask-repeat-round-auto1-expected.png b/third_party/blink/web_tests/platform/win/css3/masking/mask-repeat-round-auto1-expected.png
index 6e9a95f..bd218ef5 100644
--- a/third_party/blink/web_tests/platform/win/css3/masking/mask-repeat-round-auto1-expected.png
+++ b/third_party/blink/web_tests/platform/win/css3/masking/mask-repeat-round-auto1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css3/masking/mask-repeat-round-border-expected.png b/third_party/blink/web_tests/platform/win/css3/masking/mask-repeat-round-border-expected.png
index ce5758e..04e0dda 100644
--- a/third_party/blink/web_tests/platform/win/css3/masking/mask-repeat-round-border-expected.png
+++ b/third_party/blink/web_tests/platform/win/css3/masking/mask-repeat-round-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css3/masking/mask-repeat-round-content-expected.png b/third_party/blink/web_tests/platform/win/css3/masking/mask-repeat-round-content-expected.png
index 0671a1c..9ab478c 100644
--- a/third_party/blink/web_tests/platform/win/css3/masking/mask-repeat-round-content-expected.png
+++ b/third_party/blink/web_tests/platform/win/css3/masking/mask-repeat-round-content-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css3/masking/mask-repeat-round-padding-expected.png b/third_party/blink/web_tests/platform/win/css3/masking/mask-repeat-round-padding-expected.png
index 56ee824..5c24191 100644
--- a/third_party/blink/web_tests/platform/win/css3/masking/mask-repeat-round-padding-expected.png
+++ b/third_party/blink/web_tests/platform/win/css3/masking/mask-repeat-round-padding-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css3/masking/mask-repeat-space-border-expected.png b/third_party/blink/web_tests/platform/win/css3/masking/mask-repeat-space-border-expected.png
index 0065400..2af624b0 100644
--- a/third_party/blink/web_tests/platform/win/css3/masking/mask-repeat-space-border-expected.png
+++ b/third_party/blink/web_tests/platform/win/css3/masking/mask-repeat-space-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css3/masking/mask-repeat-space-content-expected.png b/third_party/blink/web_tests/platform/win/css3/masking/mask-repeat-space-content-expected.png
index b7076a7..1b1ad769 100644
--- a/third_party/blink/web_tests/platform/win/css3/masking/mask-repeat-space-content-expected.png
+++ b/third_party/blink/web_tests/platform/win/css3/masking/mask-repeat-space-content-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css3/masking/mask-repeat-space-padding-expected.png b/third_party/blink/web_tests/platform/win/css3/masking/mask-repeat-space-padding-expected.png
index 0f7ecb4..7e95196 100644
--- a/third_party/blink/web_tests/platform/win/css3/masking/mask-repeat-space-padding-expected.png
+++ b/third_party/blink/web_tests/platform/win/css3/masking/mask-repeat-space-padding-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css3/selectors3/html/css3-modsel-161-expected.png b/third_party/blink/web_tests/platform/win/css3/selectors3/html/css3-modsel-161-expected.png
index 77f6f24..7c7fed86 100644
--- a/third_party/blink/web_tests/platform/win/css3/selectors3/html/css3-modsel-161-expected.png
+++ b/third_party/blink/web_tests/platform/win/css3/selectors3/html/css3-modsel-161-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css3/selectors3/html/css3-modsel-19b-expected.png b/third_party/blink/web_tests/platform/win/css3/selectors3/html/css3-modsel-19b-expected.png
index a3230b85..4d8e3fb 100644
--- a/third_party/blink/web_tests/platform/win/css3/selectors3/html/css3-modsel-19b-expected.png
+++ b/third_party/blink/web_tests/platform/win/css3/selectors3/html/css3-modsel-19b-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css3/selectors3/html/css3-modsel-23-expected.png b/third_party/blink/web_tests/platform/win/css3/selectors3/html/css3-modsel-23-expected.png
index 1528e65..b588e80 100644
--- a/third_party/blink/web_tests/platform/win/css3/selectors3/html/css3-modsel-23-expected.png
+++ b/third_party/blink/web_tests/platform/win/css3/selectors3/html/css3-modsel-23-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css3/selectors3/html/css3-modsel-24-expected.png b/third_party/blink/web_tests/platform/win/css3/selectors3/html/css3-modsel-24-expected.png
index c677c6c..aabf317 100644
--- a/third_party/blink/web_tests/platform/win/css3/selectors3/html/css3-modsel-24-expected.png
+++ b/third_party/blink/web_tests/platform/win/css3/selectors3/html/css3-modsel-24-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css3/selectors3/html/css3-modsel-25-expected.png b/third_party/blink/web_tests/platform/win/css3/selectors3/html/css3-modsel-25-expected.png
index 72ac82e9..d286998 100644
--- a/third_party/blink/web_tests/platform/win/css3/selectors3/html/css3-modsel-25-expected.png
+++ b/third_party/blink/web_tests/platform/win/css3/selectors3/html/css3-modsel-25-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css3/selectors3/html/css3-modsel-64-expected.png b/third_party/blink/web_tests/platform/win/css3/selectors3/html/css3-modsel-64-expected.png
index 29123b3..832908c 100644
--- a/third_party/blink/web_tests/platform/win/css3/selectors3/html/css3-modsel-64-expected.png
+++ b/third_party/blink/web_tests/platform/win/css3/selectors3/html/css3-modsel-64-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css3/selectors3/html/css3-modsel-68-expected.png b/third_party/blink/web_tests/platform/win/css3/selectors3/html/css3-modsel-68-expected.png
index c677c6c..aabf317 100644
--- a/third_party/blink/web_tests/platform/win/css3/selectors3/html/css3-modsel-68-expected.png
+++ b/third_party/blink/web_tests/platform/win/css3/selectors3/html/css3-modsel-68-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css3/selectors3/html/css3-modsel-69-expected.png b/third_party/blink/web_tests/platform/win/css3/selectors3/html/css3-modsel-69-expected.png
index 1528e65..b588e80 100644
--- a/third_party/blink/web_tests/platform/win/css3/selectors3/html/css3-modsel-69-expected.png
+++ b/third_party/blink/web_tests/platform/win/css3/selectors3/html/css3-modsel-69-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css3/selectors3/html/css3-modsel-70-expected.png b/third_party/blink/web_tests/platform/win/css3/selectors3/html/css3-modsel-70-expected.png
index cfa8a59..449c4a8 100644
--- a/third_party/blink/web_tests/platform/win/css3/selectors3/html/css3-modsel-70-expected.png
+++ b/third_party/blink/web_tests/platform/win/css3/selectors3/html/css3-modsel-70-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css3/selectors3/xhtml/css3-modsel-161-expected.png b/third_party/blink/web_tests/platform/win/css3/selectors3/xhtml/css3-modsel-161-expected.png
index 77f6f24..7c7fed86 100644
--- a/third_party/blink/web_tests/platform/win/css3/selectors3/xhtml/css3-modsel-161-expected.png
+++ b/third_party/blink/web_tests/platform/win/css3/selectors3/xhtml/css3-modsel-161-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css3/selectors3/xhtml/css3-modsel-19b-expected.png b/third_party/blink/web_tests/platform/win/css3/selectors3/xhtml/css3-modsel-19b-expected.png
index a3230b85..4d8e3fb 100644
--- a/third_party/blink/web_tests/platform/win/css3/selectors3/xhtml/css3-modsel-19b-expected.png
+++ b/third_party/blink/web_tests/platform/win/css3/selectors3/xhtml/css3-modsel-19b-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css3/selectors3/xhtml/css3-modsel-23-expected.png b/third_party/blink/web_tests/platform/win/css3/selectors3/xhtml/css3-modsel-23-expected.png
index 1528e65..b588e80 100644
--- a/third_party/blink/web_tests/platform/win/css3/selectors3/xhtml/css3-modsel-23-expected.png
+++ b/third_party/blink/web_tests/platform/win/css3/selectors3/xhtml/css3-modsel-23-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css3/selectors3/xhtml/css3-modsel-24-expected.png b/third_party/blink/web_tests/platform/win/css3/selectors3/xhtml/css3-modsel-24-expected.png
index c677c6c..aabf317 100644
--- a/third_party/blink/web_tests/platform/win/css3/selectors3/xhtml/css3-modsel-24-expected.png
+++ b/third_party/blink/web_tests/platform/win/css3/selectors3/xhtml/css3-modsel-24-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css3/selectors3/xhtml/css3-modsel-25-expected.png b/third_party/blink/web_tests/platform/win/css3/selectors3/xhtml/css3-modsel-25-expected.png
index 72ac82e9..d286998 100644
--- a/third_party/blink/web_tests/platform/win/css3/selectors3/xhtml/css3-modsel-25-expected.png
+++ b/third_party/blink/web_tests/platform/win/css3/selectors3/xhtml/css3-modsel-25-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css3/selectors3/xhtml/css3-modsel-64-expected.png b/third_party/blink/web_tests/platform/win/css3/selectors3/xhtml/css3-modsel-64-expected.png
index 29123b3..832908c 100644
--- a/third_party/blink/web_tests/platform/win/css3/selectors3/xhtml/css3-modsel-64-expected.png
+++ b/third_party/blink/web_tests/platform/win/css3/selectors3/xhtml/css3-modsel-64-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css3/selectors3/xhtml/css3-modsel-68-expected.png b/third_party/blink/web_tests/platform/win/css3/selectors3/xhtml/css3-modsel-68-expected.png
index c677c6c..aabf317 100644
--- a/third_party/blink/web_tests/platform/win/css3/selectors3/xhtml/css3-modsel-68-expected.png
+++ b/third_party/blink/web_tests/platform/win/css3/selectors3/xhtml/css3-modsel-68-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css3/selectors3/xhtml/css3-modsel-69-expected.png b/third_party/blink/web_tests/platform/win/css3/selectors3/xhtml/css3-modsel-69-expected.png
index 1528e65..b588e80 100644
--- a/third_party/blink/web_tests/platform/win/css3/selectors3/xhtml/css3-modsel-69-expected.png
+++ b/third_party/blink/web_tests/platform/win/css3/selectors3/xhtml/css3-modsel-69-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css3/selectors3/xhtml/css3-modsel-70-expected.png b/third_party/blink/web_tests/platform/win/css3/selectors3/xhtml/css3-modsel-70-expected.png
index cfa8a59..449c4a8 100644
--- a/third_party/blink/web_tests/platform/win/css3/selectors3/xhtml/css3-modsel-70-expected.png
+++ b/third_party/blink/web_tests/platform/win/css3/selectors3/xhtml/css3-modsel-70-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css3/selectors3/xml/css3-modsel-161-expected.png b/third_party/blink/web_tests/platform/win/css3/selectors3/xml/css3-modsel-161-expected.png
index f62bc68..de2219b 100644
--- a/third_party/blink/web_tests/platform/win/css3/selectors3/xml/css3-modsel-161-expected.png
+++ b/third_party/blink/web_tests/platform/win/css3/selectors3/xml/css3-modsel-161-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css3/selectors3/xml/css3-modsel-19b-expected.png b/third_party/blink/web_tests/platform/win/css3/selectors3/xml/css3-modsel-19b-expected.png
index 01a46b73..a26fb115 100644
--- a/third_party/blink/web_tests/platform/win/css3/selectors3/xml/css3-modsel-19b-expected.png
+++ b/third_party/blink/web_tests/platform/win/css3/selectors3/xml/css3-modsel-19b-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css3/selectors3/xml/css3-modsel-23-expected.png b/third_party/blink/web_tests/platform/win/css3/selectors3/xml/css3-modsel-23-expected.png
index 2fdca1e..a2d16cf8 100644
--- a/third_party/blink/web_tests/platform/win/css3/selectors3/xml/css3-modsel-23-expected.png
+++ b/third_party/blink/web_tests/platform/win/css3/selectors3/xml/css3-modsel-23-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css3/selectors3/xml/css3-modsel-24-expected.png b/third_party/blink/web_tests/platform/win/css3/selectors3/xml/css3-modsel-24-expected.png
index 15e53b00..9eaa5b9 100644
--- a/third_party/blink/web_tests/platform/win/css3/selectors3/xml/css3-modsel-24-expected.png
+++ b/third_party/blink/web_tests/platform/win/css3/selectors3/xml/css3-modsel-24-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css3/selectors3/xml/css3-modsel-25-expected.png b/third_party/blink/web_tests/platform/win/css3/selectors3/xml/css3-modsel-25-expected.png
index 9b6c2be1..d09b197 100644
--- a/third_party/blink/web_tests/platform/win/css3/selectors3/xml/css3-modsel-25-expected.png
+++ b/third_party/blink/web_tests/platform/win/css3/selectors3/xml/css3-modsel-25-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css3/selectors3/xml/css3-modsel-64-expected.png b/third_party/blink/web_tests/platform/win/css3/selectors3/xml/css3-modsel-64-expected.png
index bbcfcfd7..3001dded 100644
--- a/third_party/blink/web_tests/platform/win/css3/selectors3/xml/css3-modsel-64-expected.png
+++ b/third_party/blink/web_tests/platform/win/css3/selectors3/xml/css3-modsel-64-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css3/selectors3/xml/css3-modsel-68-expected.png b/third_party/blink/web_tests/platform/win/css3/selectors3/xml/css3-modsel-68-expected.png
index 15e53b00..9eaa5b9 100644
--- a/third_party/blink/web_tests/platform/win/css3/selectors3/xml/css3-modsel-68-expected.png
+++ b/third_party/blink/web_tests/platform/win/css3/selectors3/xml/css3-modsel-68-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css3/selectors3/xml/css3-modsel-69-expected.png b/third_party/blink/web_tests/platform/win/css3/selectors3/xml/css3-modsel-69-expected.png
index 2fdca1e..a2d16cf8 100644
--- a/third_party/blink/web_tests/platform/win/css3/selectors3/xml/css3-modsel-69-expected.png
+++ b/third_party/blink/web_tests/platform/win/css3/selectors3/xml/css3-modsel-69-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/css3/selectors3/xml/css3-modsel-70-expected.png b/third_party/blink/web_tests/platform/win/css3/selectors3/xml/css3-modsel-70-expected.png
index 036ae59..9cb56aec 100644
--- a/third_party/blink/web_tests/platform/win/css3/selectors3/xml/css3-modsel-70-expected.png
+++ b/third_party/blink/web_tests/platform/win/css3/selectors3/xml/css3-modsel-70-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/caret/caret-color-004-expected.png b/third_party/blink/web_tests/platform/win/editing/caret/caret-color-004-expected.png
index 62a6ea0..76b1f9f 100644
--- a/third_party/blink/web_tests/platform/win/editing/caret/caret-color-004-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/caret/caret-color-004-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/caret/caret-position-expected.png b/third_party/blink/web_tests/platform/win/editing/caret/caret-position-expected.png
index f9d9ceb..f768b1c0 100644
--- a/third_party/blink/web_tests/platform/win/editing/caret/caret-position-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/caret/caret-position-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 34663ba8..0d64ee4 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 b5c13723..af105d2 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/5190926-expected.png b/third_party/blink/web_tests/platform/win/editing/execCommand/5190926-expected.png
index c379fa0..c480aa6 100644
--- a/third_party/blink/web_tests/platform/win/editing/execCommand/5190926-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/execCommand/5190926-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/execCommand/findString-2-expected.png b/third_party/blink/web_tests/platform/win/editing/execCommand/findString-2-expected.png
index 0508227..1d839876 100644
--- a/third_party/blink/web_tests/platform/win/editing/execCommand/findString-2-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/execCommand/findString-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/input/caret-at-the-edge-of-input-expected.png b/third_party/blink/web_tests/platform/win/editing/input/caret-at-the-edge-of-input-expected.png
index de5405f..b0c8b3c1d 100644
--- a/third_party/blink/web_tests/platform/win/editing/input/caret-at-the-edge-of-input-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/input/caret-at-the-edge-of-input-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 8d261bd..474b9294 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/input/reveal-caret-of-multiline-input-expected.png b/third_party/blink/web_tests/platform/win/editing/input/reveal-caret-of-multiline-input-expected.png
index 2a86a15..fecdb61 100644
--- a/third_party/blink/web_tests/platform/win/editing/input/reveal-caret-of-multiline-input-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/input/reveal-caret-of-multiline-input-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/inserting/4960120-1-expected.png b/third_party/blink/web_tests/platform/win/editing/inserting/4960120-1-expected.png
index c21d370..a310639 100644
--- a/third_party/blink/web_tests/platform/win/editing/inserting/4960120-1-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/inserting/4960120-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/pasteboard/4806874-expected.png b/third_party/blink/web_tests/platform/win/editing/pasteboard/4806874-expected.png
index 6bf62735..aa4d3b3 100644
--- a/third_party/blink/web_tests/platform/win/editing/pasteboard/4806874-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/pasteboard/4806874-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 7f36175..e0e0137 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/drag-image-to-contenteditable-in-iframe-expected.png b/third_party/blink/web_tests/platform/win/editing/pasteboard/drag-image-to-contenteditable-in-iframe-expected.png
index faac241b..cc73be4 100644
--- a/third_party/blink/web_tests/platform/win/editing/pasteboard/drag-image-to-contenteditable-in-iframe-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/pasteboard/drag-image-to-contenteditable-in-iframe-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 5c75e23f..14108a8 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 b09923f1..0fad8beb 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/pasting-tabs-expected.png b/third_party/blink/web_tests/platform/win/editing/pasteboard/pasting-tabs-expected.png
index ff7c3596..7aff11b 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/selection/4402375-expected.png b/third_party/blink/web_tests/platform/win/editing/selection/4402375-expected.png
index deda822..8f439eea 100644
--- a/third_party/blink/web_tests/platform/win/editing/selection/4402375-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/selection/4402375-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/selection/4975120-expected.png b/third_party/blink/web_tests/platform/win/editing/selection/4975120-expected.png
index 7cda8d6..d672340 100644
--- a/third_party/blink/web_tests/platform/win/editing/selection/4975120-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/selection/4975120-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 efb771d..0c16f955 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 5bfb8f2..39fdf35 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/5232159-expected.png b/third_party/blink/web_tests/platform/win/editing/selection/5232159-expected.png
index 70d07542..a96229a679 100644
--- a/third_party/blink/web_tests/platform/win/editing/selection/5232159-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/selection/5232159-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 7a100f2c..981a60f1 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/display-table-text-expected.png b/third_party/blink/web_tests/platform/win/editing/selection/display-table-text-expected.png
index 8b977a1..d28dd9bc 100644
--- a/third_party/blink/web_tests/platform/win/editing/selection/display-table-text-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/selection/display-table-text-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/selection/dont-select-text-overflow-ellipsis-when-wrapping-expected.png b/third_party/blink/web_tests/platform/win/editing/selection/dont-select-text-overflow-ellipsis-when-wrapping-expected.png
index aa38ffe4..2bc56b9 100644
--- a/third_party/blink/web_tests/platform/win/editing/selection/dont-select-text-overflow-ellipsis-when-wrapping-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/selection/dont-select-text-overflow-ellipsis-when-wrapping-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/selection/dont-select-text-overflow-ellipsis-when-wrapping-ltr-mixed-expected.png b/third_party/blink/web_tests/platform/win/editing/selection/dont-select-text-overflow-ellipsis-when-wrapping-ltr-mixed-expected.png
index 6185cad..fa90ae04 100644
--- a/third_party/blink/web_tests/platform/win/editing/selection/dont-select-text-overflow-ellipsis-when-wrapping-ltr-mixed-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/selection/dont-select-text-overflow-ellipsis-when-wrapping-ltr-mixed-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/selection/dont-select-text-overflow-ellipsis-when-wrapping-rtl-expected.png b/third_party/blink/web_tests/platform/win/editing/selection/dont-select-text-overflow-ellipsis-when-wrapping-rtl-expected.png
index c2598ac..fc26404 100644
--- a/third_party/blink/web_tests/platform/win/editing/selection/dont-select-text-overflow-ellipsis-when-wrapping-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/selection/dont-select-text-overflow-ellipsis-when-wrapping-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/selection/dont-select-text-overflow-ellipsis-when-wrapping-rtl-mixed-expected.png b/third_party/blink/web_tests/platform/win/editing/selection/dont-select-text-overflow-ellipsis-when-wrapping-rtl-mixed-expected.png
index e63a88a..e368f33 100644
--- a/third_party/blink/web_tests/platform/win/editing/selection/dont-select-text-overflow-ellipsis-when-wrapping-rtl-mixed-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/selection/dont-select-text-overflow-ellipsis-when-wrapping-rtl-mixed-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/selection/drag-to-contenteditable-iframe-expected.png b/third_party/blink/web_tests/platform/win/editing/selection/drag-to-contenteditable-iframe-expected.png
index e9485a3..09ab278 100644
--- a/third_party/blink/web_tests/platform/win/editing/selection/drag-to-contenteditable-iframe-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/selection/drag-to-contenteditable-iframe-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 c01ef44..e159b73 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/inline-closest-leaf-child-expected.png b/third_party/blink/web_tests/platform/win/editing/selection/inline-closest-leaf-child-expected.png
index fb57c65..7c1378e 100644
--- a/third_party/blink/web_tests/platform/win/editing/selection/inline-closest-leaf-child-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/selection/inline-closest-leaf-child-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/selection/japanese-lr-selection-expected.png b/third_party/blink/web_tests/platform/win/editing/selection/japanese-lr-selection-expected.png
index 2d59d795..7f1b33d 100644
--- a/third_party/blink/web_tests/platform/win/editing/selection/japanese-lr-selection-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/selection/japanese-lr-selection-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/selection/japanese-rl-selection-expected.png b/third_party/blink/web_tests/platform/win/editing/selection/japanese-rl-selection-expected.png
index 900eddb9..890f66d 100644
--- a/third_party/blink/web_tests/platform/win/editing/selection/japanese-rl-selection-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/selection/japanese-rl-selection-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 e7b1539..7065b14 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/line-wrap-1-expected.png b/third_party/blink/web_tests/platform/win/editing/selection/line-wrap-1-expected.png
index 8955dafb..f456d8f4a 100644
--- a/third_party/blink/web_tests/platform/win/editing/selection/line-wrap-1-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/selection/line-wrap-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/selection/line-wrap-2-expected.png b/third_party/blink/web_tests/platform/win/editing/selection/line-wrap-2-expected.png
index 9ef8dd73..450abb2 100644
--- a/third_party/blink/web_tests/platform/win/editing/selection/line-wrap-2-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/selection/line-wrap-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/selection/range-between-block-and-inline-expected.png b/third_party/blink/web_tests/platform/win/editing/selection/range-between-block-and-inline-expected.png
index dc8f4da9e..4fae533 100644
--- a/third_party/blink/web_tests/platform/win/editing/selection/range-between-block-and-inline-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/selection/range-between-block-and-inline-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 1b850154..6b111b3 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 89de212..1bfa9cbb 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 98aaa701..9ab3ecf 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/replaced-boundaries-3-expected.txt b/third_party/blink/web_tests/platform/win/editing/selection/replaced-boundaries-3-expected.txt
index 80d1a2d..568d8f9b 100644
--- a/third_party/blink/web_tests/platform/win/editing/selection/replaced-boundaries-3-expected.txt
+++ b/third_party/blink/web_tests/platform/win/editing/selection/replaced-boundaries-3-expected.txt
@@ -16,8 +16,8 @@
         LayoutText {#text} at (0,0) size 22x19
           text run at (0,0) width 22: "abc"
         LayoutBR {BR} at (22,15) size 0x0
-        LayoutMenuList {SELECT} at (0,20) size 233x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 231x18
+        LayoutMenuList {SELECT} at (0,20) size 235x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 233x18
             LayoutText (anonymous) at (4,1) size 211x16
               text run at (4,1) width 211: "this select box shouldn't be selected"
         LayoutText {#text} at (0,0) size 0x0
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 f0be85d..6cac889 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-box-expected.txt b/third_party/blink/web_tests/platform/win/editing/selection/select-box-expected.txt
index 6fdd393..3383fd2 100644
--- a/third_party/blink/web_tests/platform/win/editing/selection/select-box-expected.txt
+++ b/third_party/blink/web_tests/platform/win/editing/selection/select-box-expected.txt
@@ -62,10 +62,10 @@
         LayoutBlockFlow {DIV} at (0,0) size 784x20
           LayoutText {#text} at (0,0) size 68x19
             text run at (0,0) width 68: "select box: "
-          LayoutMenuList {SELECT} at (68,0) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-            LayoutBlockFlow (anonymous) at (1,1) size 27x18
+          LayoutMenuList {SELECT} at (68,0) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+            LayoutBlockFlow (anonymous) at (1,1) size 29x18
               LayoutText (anonymous) at (4,1) size 7x16
                 text run at (4,1) width 7: "1"
-          LayoutText {#text} at (97,0) size 64x19
-            text run at (97,0) width 64: " the end ..."
+          LayoutText {#text} at (99,0) size 64x19
+            text run at (99,0) width 64: " the end ..."
 caret: position 1 of child 0 {#text} of child 1 {DIV} of child 3 {DIV} of body
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 27119b5..8ccf267 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-element-paragraph-boundary-expected.txt b/third_party/blink/web_tests/platform/win/editing/selection/select-element-paragraph-boundary-expected.txt
index 244b10e..dc09273 100644
--- a/third_party/blink/web_tests/platform/win/editing/selection/select-element-paragraph-boundary-expected.txt
+++ b/third_party/blink/web_tests/platform/win/editing/selection/select-element-paragraph-boundary-expected.txt
@@ -10,8 +10,8 @@
           text run at (0,0) width 308: "This tests paragraphBoundary selection navigation. "
           text run at (308,0) width 476: "The caret should be at the end of the paragraph below, just after the select box."
       LayoutBlockFlow {DIV} at (0,36) size 784x20
-        LayoutMenuList {SELECT} at (0,0) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 27x18
+        LayoutMenuList {SELECT} at (0,0) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 29x18
             LayoutText (anonymous) at (4,1) size 7x16
               text run at (4,1) width 7: "1"
 caret: position 1 of child 0 {SELECT} of child 2 {DIV} of body
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 2aa7058..aed3f80 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/select-text-overflow-ellipsis-expected.png b/third_party/blink/web_tests/platform/win/editing/selection/select-text-overflow-ellipsis-expected.png
index 668e8b8..ad9def9 100644
--- a/third_party/blink/web_tests/platform/win/editing/selection/select-text-overflow-ellipsis-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/selection/select-text-overflow-ellipsis-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/selection/select-text-overflow-ellipsis-mixed-in-ltr-2-expected.png b/third_party/blink/web_tests/platform/win/editing/selection/select-text-overflow-ellipsis-mixed-in-ltr-2-expected.png
index b3de7ee..5ea87966 100644
--- a/third_party/blink/web_tests/platform/win/editing/selection/select-text-overflow-ellipsis-mixed-in-ltr-2-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/selection/select-text-overflow-ellipsis-mixed-in-ltr-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/selection/select-text-overflow-ellipsis-mixed-in-ltr-expected.png b/third_party/blink/web_tests/platform/win/editing/selection/select-text-overflow-ellipsis-mixed-in-ltr-expected.png
index c490fa08..3678406 100644
--- a/third_party/blink/web_tests/platform/win/editing/selection/select-text-overflow-ellipsis-mixed-in-ltr-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/selection/select-text-overflow-ellipsis-mixed-in-ltr-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/selection/select-text-overflow-ellipsis-mixed-in-rtl-2-expected.png b/third_party/blink/web_tests/platform/win/editing/selection/select-text-overflow-ellipsis-mixed-in-rtl-2-expected.png
index 7d4610a..c087def 100644
--- a/third_party/blink/web_tests/platform/win/editing/selection/select-text-overflow-ellipsis-mixed-in-rtl-2-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/selection/select-text-overflow-ellipsis-mixed-in-rtl-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/selection/select-text-overflow-ellipsis-mixed-in-rtl-expected.png b/third_party/blink/web_tests/platform/win/editing/selection/select-text-overflow-ellipsis-mixed-in-rtl-expected.png
index 23bbdead..884d743 100644
--- a/third_party/blink/web_tests/platform/win/editing/selection/select-text-overflow-ellipsis-mixed-in-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/selection/select-text-overflow-ellipsis-mixed-in-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/selection/selection-background-expected.png b/third_party/blink/web_tests/platform/win/editing/selection/selection-background-expected.png
index dd1489d2..42233e4 100644
--- a/third_party/blink/web_tests/platform/win/editing/selection/selection-background-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/selection/selection-background-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/selection/selection-button-text-expected.png b/third_party/blink/web_tests/platform/win/editing/selection/selection-button-text-expected.png
index eae3871..0851088 100644
--- a/third_party/blink/web_tests/platform/win/editing/selection/selection-button-text-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/selection/selection-button-text-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/selection/selection-linebreaks-rtl-writing-modes-expected.png b/third_party/blink/web_tests/platform/win/editing/selection/selection-linebreaks-rtl-writing-modes-expected.png
index 5b668d7..8f8b8c1 100644
--- a/third_party/blink/web_tests/platform/win/editing/selection/selection-linebreaks-rtl-writing-modes-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/selection/selection-linebreaks-rtl-writing-modes-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/selection/transformed-selection-rects-expected.png b/third_party/blink/web_tests/platform/win/editing/selection/transformed-selection-rects-expected.png
index 0dff292..69d50bf 100644
--- a/third_party/blink/web_tests/platform/win/editing/selection/transformed-selection-rects-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/selection/transformed-selection-rects-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 5bc5a6b96..261857f 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/vertical-lr-replaced-selection-expected.png b/third_party/blink/web_tests/platform/win/editing/selection/vertical-lr-replaced-selection-expected.png
index 2f44f072..dc7696a 100644
--- a/third_party/blink/web_tests/platform/win/editing/selection/vertical-lr-replaced-selection-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/selection/vertical-lr-replaced-selection-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/selection/vertical-rl-replaced-selection-expected.png b/third_party/blink/web_tests/platform/win/editing/selection/vertical-rl-replaced-selection-expected.png
index aab7ebb..353db31f 100644
--- a/third_party/blink/web_tests/platform/win/editing/selection/vertical-rl-replaced-selection-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/selection/vertical-rl-replaced-selection-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 ba49a80..a785d82 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/5228141-expected.png b/third_party/blink/web_tests/platform/win/editing/style/5228141-expected.png
index 2f5240c..2a0444a 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 059e3a4..f38f46b 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-style-003-expected.png b/third_party/blink/web_tests/platform/win/editing/style/block-style-003-expected.png
index e6552975..6ed8846f 100644
--- a/third_party/blink/web_tests/platform/win/editing/style/block-style-003-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/style/block-style-003-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/style/designmode-expected.png b/third_party/blink/web_tests/platform/win/editing/style/designmode-expected.png
index f70fc19..434ad55 100644
--- a/third_party/blink/web_tests/platform/win/editing/style/designmode-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/style/designmode-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/style/table-selection-expected.png b/third_party/blink/web_tests/platform/win/editing/style/table-selection-expected.png
index bfb625208..c096241 100644
--- a/third_party/blink/web_tests/platform/win/editing/style/table-selection-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/style/table-selection-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/external/wpt/preload/onerror-event-expected.txt b/third_party/blink/web_tests/platform/win/external/wpt/preload/onerror-event-expected.txt
deleted file mode 100644
index aa88efb..0000000
--- a/third_party/blink/web_tests/platform/win/external/wpt/preload/onerror-event-expected.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-This is a testharness.js-based test.
-FAIL Makes sure that preloaded resources trigger the onerror event Uncaught Error: assert_true: video triggered error event expected true got false
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/platform/win/fast/backgrounds/background-inherit-color-bug-expected.png b/third_party/blink/web_tests/platform/win/fast/backgrounds/background-inherit-color-bug-expected.png
index 991e347..eab44d8 100644
--- a/third_party/blink/web_tests/platform/win/fast/backgrounds/background-inherit-color-bug-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/backgrounds/background-inherit-color-bug-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/backgrounds/background-leakage-transforms-expected.png b/third_party/blink/web_tests/platform/win/fast/backgrounds/background-leakage-transforms-expected.png
index 8036f09..5b1cc32 100644
--- a/third_party/blink/web_tests/platform/win/fast/backgrounds/background-leakage-transforms-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/backgrounds/background-leakage-transforms-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/block/basic/011-expected.png b/third_party/blink/web_tests/platform/win/fast/block/basic/011-expected.png
index c09020a8..180122d10 100644
--- a/third_party/blink/web_tests/platform/win/fast/block/basic/011-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/block/basic/011-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/block/basic/016-expected.png b/third_party/blink/web_tests/platform/win/fast/block/basic/016-expected.png
index 68ba76d..3c255ac 100644
--- a/third_party/blink/web_tests/platform/win/fast/block/basic/016-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/block/basic/016-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/block/basic/fieldset-stretch-to-legend-expected.png b/third_party/blink/web_tests/platform/win/fast/block/basic/fieldset-stretch-to-legend-expected.png
index 73dd10e..d8a439c3 100644
--- a/third_party/blink/web_tests/platform/win/fast/block/basic/fieldset-stretch-to-legend-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/block/basic/fieldset-stretch-to-legend-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/block/float/008-expected.png b/third_party/blink/web_tests/platform/win/fast/block/float/008-expected.png
index 2ec0c69..cd49c57 100644
--- a/third_party/blink/web_tests/platform/win/fast/block/float/008-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/block/float/008-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/block/float/021-expected.png b/third_party/blink/web_tests/platform/win/fast/block/float/021-expected.png
index 8753e1c..34b7d16 100644
--- a/third_party/blink/web_tests/platform/win/fast/block/float/021-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/block/float/021-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/block/float/025-expected.png b/third_party/blink/web_tests/platform/win/fast/block/float/025-expected.png
index 784b72bb..a4f129c9 100644
--- a/third_party/blink/web_tests/platform/win/fast/block/float/025-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/block/float/025-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/block/float/026-expected.png b/third_party/blink/web_tests/platform/win/fast/block/float/026-expected.png
index 1a5f9d0d..3083d43e 100644
--- a/third_party/blink/web_tests/platform/win/fast/block/float/026-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/block/float/026-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/block/float/027-expected.png b/third_party/blink/web_tests/platform/win/fast/block/float/027-expected.png
index 784b72bb..a4f129c9 100644
--- a/third_party/blink/web_tests/platform/win/fast/block/float/027-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/block/float/027-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/block/float/028-expected.png b/third_party/blink/web_tests/platform/win/fast/block/float/028-expected.png
index 1a5f9d0d..3083d43e 100644
--- a/third_party/blink/web_tests/platform/win/fast/block/float/028-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/block/float/028-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/block/float/032-expected.png b/third_party/blink/web_tests/platform/win/fast/block/float/032-expected.png
index aab5133..05028a4 100644
--- a/third_party/blink/web_tests/platform/win/fast/block/float/032-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/block/float/032-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/block/float/033-expected.png b/third_party/blink/web_tests/platform/win/fast/block/float/033-expected.png
index 3c9777a..5a162766 100644
--- a/third_party/blink/web_tests/platform/win/fast/block/float/033-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/block/float/033-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/block/float/035-expected.png b/third_party/blink/web_tests/platform/win/fast/block/float/035-expected.png
index e0be0f91..52ff50a 100644
--- a/third_party/blink/web_tests/platform/win/fast/block/float/035-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/block/float/035-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/block/float/br-with-clear-2-expected.png b/third_party/blink/web_tests/platform/win/fast/block/float/br-with-clear-2-expected.png
index b17d363..812fe50 100644
--- a/third_party/blink/web_tests/platform/win/fast/block/float/br-with-clear-2-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/block/float/br-with-clear-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/block/float/centered-float-avoidance-complexity-expected.png b/third_party/blink/web_tests/platform/win/fast/block/float/centered-float-avoidance-complexity-expected.png
index 098f08784..521e1cb 100644
--- a/third_party/blink/web_tests/platform/win/fast/block/float/centered-float-avoidance-complexity-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/block/float/centered-float-avoidance-complexity-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/block/float/float-avoidance-expected.png b/third_party/blink/web_tests/platform/win/fast/block/float/float-avoidance-expected.png
index fd490f61..f88f8e2 100644
--- a/third_party/blink/web_tests/platform/win/fast/block/float/float-avoidance-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/block/float/float-avoidance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/block/float/nested-clearance-expected.png b/third_party/blink/web_tests/platform/win/fast/block/float/nested-clearance-expected.png
index 69147943..f2e97ae 100644
--- a/third_party/blink/web_tests/platform/win/fast/block/float/nested-clearance-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/block/float/nested-clearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/block/float/overhanging-tall-block-expected.png b/third_party/blink/web_tests/platform/win/fast/block/float/overhanging-tall-block-expected.png
index 2736d74..208ec010 100644
--- a/third_party/blink/web_tests/platform/win/fast/block/float/overhanging-tall-block-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/block/float/overhanging-tall-block-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/block/float/relative-painted-twice-expected.png b/third_party/blink/web_tests/platform/win/fast/block/float/relative-painted-twice-expected.png
index 92cd3a3..bcff0dc 100644
--- a/third_party/blink/web_tests/platform/win/fast/block/float/relative-painted-twice-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/block/float/relative-painted-twice-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/block/float/shrink-to-avoid-float-complexity-expected.png b/third_party/blink/web_tests/platform/win/fast/block/float/shrink-to-avoid-float-complexity-expected.png
index 9f20ad31..ba4949af 100644
--- a/third_party/blink/web_tests/platform/win/fast/block/float/shrink-to-avoid-float-complexity-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/block/float/shrink-to-avoid-float-complexity-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/block/margin-collapse/103-expected.png b/third_party/blink/web_tests/platform/win/fast/block/margin-collapse/103-expected.png
index 229738eeec..189a6f8a 100644
--- a/third_party/blink/web_tests/platform/win/fast/block/margin-collapse/103-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/block/margin-collapse/103-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/block/margin-collapse/104-expected.png b/third_party/blink/web_tests/platform/win/fast/block/margin-collapse/104-expected.png
index 344f760..e8607d49 100644
--- a/third_party/blink/web_tests/platform/win/fast/block/margin-collapse/104-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/block/margin-collapse/104-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/block/margin-collapse/empty-clear-blocks-expected.png b/third_party/blink/web_tests/platform/win/fast/block/margin-collapse/empty-clear-blocks-expected.png
index e36123689..7bd480e 100644
--- a/third_party/blink/web_tests/platform/win/fast/block/margin-collapse/empty-clear-blocks-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/block/margin-collapse/empty-clear-blocks-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/block/positioning/047-expected.png b/third_party/blink/web_tests/platform/win/fast/block/positioning/047-expected.png
index 3507c6e..2904790f 100644
--- a/third_party/blink/web_tests/platform/win/fast/block/positioning/047-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/block/positioning/047-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/block/positioning/051-expected.png b/third_party/blink/web_tests/platform/win/fast/block/positioning/051-expected.png
index 05ea836..87645f2 100644
--- a/third_party/blink/web_tests/platform/win/fast/block/positioning/051-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/block/positioning/051-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/block/positioning/055-expected.png b/third_party/blink/web_tests/platform/win/fast/block/positioning/055-expected.png
index 0bc0727f..6e3873f 100644
--- a/third_party/blink/web_tests/platform/win/fast/block/positioning/055-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/block/positioning/055-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/block/positioning/auto/007-expected.png b/third_party/blink/web_tests/platform/win/fast/block/positioning/auto/007-expected.png
index a2d80b2..b078c4c 100644
--- a/third_party/blink/web_tests/platform/win/fast/block/positioning/auto/007-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/block/positioning/auto/007-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/block/positioning/auto/vertical-lr/005-expected.png b/third_party/blink/web_tests/platform/win/fast/block/positioning/auto/vertical-lr/005-expected.png
index 0357532..cc70f86d 100644
--- a/third_party/blink/web_tests/platform/win/fast/block/positioning/auto/vertical-lr/005-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/block/positioning/auto/vertical-lr/005-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/block/positioning/auto/vertical-rl/005-expected.png b/third_party/blink/web_tests/platform/win/fast/block/positioning/auto/vertical-rl/005-expected.png
index 7e766ca..6375a6b 100644
--- a/third_party/blink/web_tests/platform/win/fast/block/positioning/auto/vertical-rl/005-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/block/positioning/auto/vertical-rl/005-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/block/positioning/fixed-positioning-scrollbar-bug-expected.png b/third_party/blink/web_tests/platform/win/fast/block/positioning/fixed-positioning-scrollbar-bug-expected.png
index c259d84..a44531d2 100644
--- a/third_party/blink/web_tests/platform/win/fast/block/positioning/fixed-positioning-scrollbar-bug-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/block/positioning/fixed-positioning-scrollbar-bug-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/block/positioning/inline-block-relposition-expected.png b/third_party/blink/web_tests/platform/win/fast/block/positioning/inline-block-relposition-expected.png
index 17536311..a762a8fa 100644
--- a/third_party/blink/web_tests/platform/win/fast/block/positioning/inline-block-relposition-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/block/positioning/inline-block-relposition-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/block/positioning/relative-overflow-block-expected.png b/third_party/blink/web_tests/platform/win/fast/block/positioning/relative-overflow-block-expected.png
index 839c3ef..dc4edfd 100644
--- a/third_party/blink/web_tests/platform/win/fast/block/positioning/relative-overflow-block-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/block/positioning/relative-overflow-block-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/block/positioning/relative-overflow-replaced-expected.png b/third_party/blink/web_tests/platform/win/fast/block/positioning/relative-overflow-replaced-expected.png
index 42d10b2..91b57392 100644
--- a/third_party/blink/web_tests/platform/win/fast/block/positioning/relative-overflow-replaced-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/block/positioning/relative-overflow-replaced-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/block/positioning/relative-overflow-replaced-float-expected.png b/third_party/blink/web_tests/platform/win/fast/block/positioning/relative-overflow-replaced-float-expected.png
index ae476dc..04bfb9e 100644
--- a/third_party/blink/web_tests/platform/win/fast/block/positioning/relative-overflow-replaced-float-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/block/positioning/relative-overflow-replaced-float-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/block/positioning/vertical-lr/002-expected.png b/third_party/blink/web_tests/platform/win/fast/block/positioning/vertical-lr/002-expected.png
index 7928ab5..4aa94af 100644
--- a/third_party/blink/web_tests/platform/win/fast/block/positioning/vertical-lr/002-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/block/positioning/vertical-lr/002-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/block/positioning/vertical-rl/002-expected.png b/third_party/blink/web_tests/platform/win/fast/block/positioning/vertical-rl/002-expected.png
index 4228028..24e82b0 100644
--- a/third_party/blink/web_tests/platform/win/fast/block/positioning/vertical-rl/002-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/block/positioning/vertical-rl/002-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/001-expected.png b/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/001-expected.png
index 11530d45e..e2a126b 100644
--- a/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/001-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/001-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/001-xhtml-expected.png b/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/001-xhtml-expected.png
index 11530d45e..e2a126b 100644
--- a/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/001-xhtml-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/001-xhtml-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/002-expected.png b/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/002-expected.png
index fdf6ddd..f8c54f0 100644
--- a/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/002-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/002-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/002-xhtml-expected.png b/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/002-xhtml-expected.png
index fdf6ddd..f8c54f0 100644
--- a/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/002-xhtml-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/002-xhtml-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/003-declarative-expected.png b/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/003-declarative-expected.png
index fdf6ddd..f8c54f0 100644
--- a/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/003-declarative-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/003-declarative-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/003-expected.png b/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/003-expected.png
index fdf6ddd..f8c54f0 100644
--- a/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/003-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/003-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/003-xhtml-expected.png b/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/003-xhtml-expected.png
index fdf6ddd..f8c54f0 100644
--- a/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/003-xhtml-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/003-xhtml-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/004-declarative-expected.png b/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/004-declarative-expected.png
index ac6ca1e..d08ffee1 100644
--- a/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/004-declarative-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/004-declarative-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/004-expected.png b/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/004-expected.png
index ac6ca1e..d08ffee1 100644
--- a/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/004-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/004-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/004-xhtml-expected.png b/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/004-xhtml-expected.png
index ac6ca1e..d08ffee1 100644
--- a/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/004-xhtml-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/004-xhtml-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/005-declarative-expected.png b/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/005-declarative-expected.png
index fb0e4af..7a9a321 100644
--- a/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/005-declarative-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/005-declarative-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/005-expected.png b/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/005-expected.png
index fb0e4af..7a9a321 100644
--- a/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/005-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/005-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/005-xhtml-expected.png b/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/005-xhtml-expected.png
index fb0e4af..7a9a321 100644
--- a/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/005-xhtml-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/005-xhtml-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/006-declarative-expected.png b/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/006-declarative-expected.png
index ca899ed..148781d 100644
--- a/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/006-declarative-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/006-declarative-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/006-expected.png b/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/006-expected.png
index ca899ed..148781d 100644
--- a/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/006-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/006-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/006-xhtml-expected.png b/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/006-xhtml-expected.png
index ca899ed..148781d 100644
--- a/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/006-xhtml-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/006-xhtml-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/007-declarative-expected.png b/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/007-declarative-expected.png
index fdf6ddd..f8c54f0 100644
--- a/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/007-declarative-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/007-declarative-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/007-expected.png b/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/007-expected.png
index fdf6ddd..f8c54f0 100644
--- a/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/007-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/007-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/007-xhtml-expected.png b/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/007-xhtml-expected.png
index fdf6ddd..f8c54f0 100644
--- a/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/007-xhtml-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/body-propagation/overflow/007-xhtml-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/borders/inline-mask-overlay-image-expected.png b/third_party/blink/web_tests/platform/win/fast/borders/inline-mask-overlay-image-expected.png
index 3c9cc3d..b00ab52 100644
--- a/third_party/blink/web_tests/platform/win/fast/borders/inline-mask-overlay-image-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/borders/inline-mask-overlay-image-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/borders/rtl-border-01-expected.png b/third_party/blink/web_tests/platform/win/fast/borders/rtl-border-01-expected.png
index edac12c..b0060b53 100644
--- a/third_party/blink/web_tests/platform/win/fast/borders/rtl-border-01-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/borders/rtl-border-01-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/borders/rtl-border-02-expected.png b/third_party/blink/web_tests/platform/win/fast/borders/rtl-border-02-expected.png
index 1693d14..5914d18 100644
--- a/third_party/blink/web_tests/platform/win/fast/borders/rtl-border-02-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/borders/rtl-border-02-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/borders/rtl-border-03-expected.png b/third_party/blink/web_tests/platform/win/fast/borders/rtl-border-03-expected.png
index 88071583..63da09d 100644
--- a/third_party/blink/web_tests/platform/win/fast/borders/rtl-border-03-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/borders/rtl-border-03-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/box-shadow/basic-shadows-expected.png b/third_party/blink/web_tests/platform/win/fast/box-shadow/basic-shadows-expected.png
index 6b7b6a27..ab76695 100644
--- a/third_party/blink/web_tests/platform/win/fast/box-shadow/basic-shadows-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/box-shadow/basic-shadows-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/box-sizing/box-sizing-expected.png b/third_party/blink/web_tests/platform/win/fast/box-sizing/box-sizing-expected.png
index 3cccbe2..a1823a3 100644
--- a/third_party/blink/web_tests/platform/win/fast/box-sizing/box-sizing-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/box-sizing/box-sizing-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/canvas/canvas-composite-video-expected.png b/third_party/blink/web_tests/platform/win/fast/canvas/canvas-composite-video-expected.png
index 5754aae..38e6d6d 100644
--- a/third_party/blink/web_tests/platform/win/fast/canvas/canvas-composite-video-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/canvas/canvas-composite-video-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/canvas/canvas-composite-video-shadow-expected.png b/third_party/blink/web_tests/platform/win/fast/canvas/canvas-composite-video-shadow-expected.png
index cbbdf17..595a3f0 100644
--- a/third_party/blink/web_tests/platform/win/fast/canvas/canvas-composite-video-shadow-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/canvas/canvas-composite-video-shadow-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/clip/014-expected.png b/third_party/blink/web_tests/platform/win/fast/clip/014-expected.png
index 8858c76..8e9e7db9 100644
--- a/third_party/blink/web_tests/platform/win/fast/clip/014-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/clip/014-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/css-generated-content/014-expected.png b/third_party/blink/web_tests/platform/win/fast/css-generated-content/014-expected.png
index 84f70b3..bf833bf 100644
--- a/third_party/blink/web_tests/platform/win/fast/css-generated-content/014-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/css-generated-content/014-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/css-generated-content/table-parts-before-and-after-expected.png b/third_party/blink/web_tests/platform/win/fast/css-generated-content/table-parts-before-and-after-expected.png
index 019afa93..38fc0bc 100644
--- a/third_party/blink/web_tests/platform/win/fast/css-generated-content/table-parts-before-and-after-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/css-generated-content/table-parts-before-and-after-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/css/bidi-override-in-anonymous-block-expected.png b/third_party/blink/web_tests/platform/win/fast/css/bidi-override-in-anonymous-block-expected.png
index 7f6d8b5..c2c9f28 100644
--- a/third_party/blink/web_tests/platform/win/fast/css/bidi-override-in-anonymous-block-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/css/bidi-override-in-anonymous-block-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/css/border-height-expected.png b/third_party/blink/web_tests/platform/win/fast/css/border-height-expected.png
index af67404..a16187a 100644
--- a/third_party/blink/web_tests/platform/win/fast/css/border-height-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/css/border-height-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/css/color-correction-backgrounds-and-text-expected.png b/third_party/blink/web_tests/platform/win/fast/css/color-correction-backgrounds-and-text-expected.png
index fecb4d6..2b4079e 100644
--- a/third_party/blink/web_tests/platform/win/fast/css/color-correction-backgrounds-and-text-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/css/color-correction-backgrounds-and-text-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/css/color-correction-on-background-image-expected.png b/third_party/blink/web_tests/platform/win/fast/css/color-correction-on-background-image-expected.png
index cc55bf5..68bc7fc 100644
--- a/third_party/blink/web_tests/platform/win/fast/css/color-correction-on-background-image-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/css/color-correction-on-background-image-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/css/continuationCrash-expected.png b/third_party/blink/web_tests/platform/win/fast/css/continuationCrash-expected.png
index 3ab3678d..af3fb97 100644
--- a/third_party/blink/web_tests/platform/win/fast/css/continuationCrash-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/css/continuationCrash-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/css/css2-system-color-expected.html b/third_party/blink/web_tests/platform/win/fast/css/css2-system-color-expected.html
deleted file mode 100644
index 13b60f3e..0000000
--- a/third_party/blink/web_tests/platform/win/fast/css/css2-system-color-expected.html
+++ /dev/null
@@ -1,57 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<title>Color Test</title>
-<style>
-  html {
-    font-size: 12px;
-    width: 750px;
-  }
-  .box:after {
-    content: " ";
-    clear: both;
-    display: block;
-  }
-  .inner {
-    border-top: solid 1px;
-    float: right;
-    width: 620px;
-  }
-  .text {
-    float: left;
-  }
-</style>
-</head>
-<body>
-  <div class="box"><div class="text">ActiveBorder</div><div class="inner" style="background-color: rgb(255, 255, 255)">&nbsp;</div></div>
-  <div class="box"><div class="text">ActiveCaption</div><div class="inner" style="background-color: rgb(204, 204, 204)">&nbsp;</div></div>
-  <div class="box"><div class="text">AppWorkspace</div><div class="inner" style="background-color: rgb(255, 255, 255)">&nbsp;</div></div>
-  <div class="box"><div class="text">Background</div><div class="inner" style="background-color: rgb(99, 99, 206)">&nbsp;</div></div>
-  <div class="box"><div class="text">ButtonFace</div><div class="inner" style="background-color: rgb(192, 192, 192)">&nbsp;</div></div>
-  <div class="box"><div class="text">ButtonHighlight</div><div class="inner" style="background-color: rgb(221, 221, 221)">&nbsp;</div></div>
-  <div class="box"><div class="text">ButtonShadow</div><div class="inner" style="background-color: rgb(136, 136, 136)">&nbsp;</div></div>
-  <div class="box"><div class="text">ButtonText</div><div class="inner" style="background-color: rgb(0, 0, 0)">&nbsp;</div></div>
-  <div class="box"><div class="text">CaptionText</div><div class="inner" style="background-color: rgb(0, 0, 0)">&nbsp;</div></div>
-  <div class="box"><div class="text">GrayText</div><div class="inner" style="background-color: rgb(128, 128, 128)">&nbsp;</div></div>
-  <div class="box"><div class="text">Highlight</div><div class="inner" style="background-color: rgb(181, 213, 255)">&nbsp;</div></div>
-  <div class="box"><div class="text">HighlightText</div><div class="inner" style="background-color: rgb(0, 0, 0)">&nbsp;</div></div>
-  <div class="box"><div class="text">InactiveBorder</div><div class="inner" style="background-color: rgb(255, 255, 255)">&nbsp;</div></div>
-  <div class="box"><div class="text">InactiveCaption</div><div class="inner" style="background-color: rgb(255, 255, 255)">&nbsp;</div></div>
-  <div class="box"><div class="text">InactiveCaptionText</div><div class="inner" style="background-color: rgb(127, 127, 127)">&nbsp;</div></div>
-  <div class="box"><div class="text">InfoBackground</div><div class="inner" style="background-color: rgb(251, 252, 197)">&nbsp;</div></div>
-  <div class="box"><div class="text">InfoText</div><div class="inner" style="background-color: rgb(0, 0, 0)">&nbsp;</div></div>
-  <div class="box"><div class="text">LinkText</div><div class="inner" style="background-color: rgb(0, 0, 238)">&nbsp;</div></div>
-  <div class="box"><div class="text">Menu</div><div class="inner" style="background-color: rgb(247, 247, 247)">&nbsp;</div></div>
-  <div class="box"><div class="text">MenuText</div><div class="inner" style="background-color: rgb(0, 0, 0)">&nbsp;</div></div>
-  <div class="box"><div class="text">Scrollbar</div><div class="inner" style="background-color: rgb(255, 255, 255)">&nbsp;</div></div>
-  <div class="box"><div class="text">ThreeDDarkShadow</div><div class="inner" style="background-color: rgb(102, 102, 102)">&nbsp;</div></div>
-  <div class="box"><div class="text">ThreeDFace</div><div class="inner" style="background-color: rgb(192, 192, 192)">&nbsp;</div></div>
-  <div class="box"><div class="text">ThreeDHighlight</div><div class="inner" style="background-color: rgb(221, 221, 221)">&nbsp;</div></div>
-  <div class="box"><div class="text">ThreeDLightShadow</div><div class="inner" style="background-color: rgb(192, 192, 192)">&nbsp;</div></div>
-  <div class="box"><div class="text">ThreeDShadow</div><div class="inner" style="background-color: rgb(136, 136, 136)">&nbsp;</div></div>
-  <div class="box"><div class="text">VisitedText</div><div class="inner" style="background-color: rgb(85, 26, 139)">&nbsp;</div></div>
-  <div class="box"><div class="text">Window</div><div class="inner" style="background-color: rgb(255, 255, 255)">&nbsp;</div></div>
-  <div class="box"><div class="text">WindowFrame</div><div class="inner" style="background-color: rgb(204, 204, 204)">&nbsp;</div></div>
-  <div class="box"><div class="text">WindowText</div><div class="inner" style="background-color: rgb(0, 0, 0)">&nbsp;</div></div>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/platform/win/fast/css/first-child-pseudo-class-expected.png b/third_party/blink/web_tests/platform/win/fast/css/first-child-pseudo-class-expected.png
index 979b9a7..0e20754c 100644
--- a/third_party/blink/web_tests/platform/win/fast/css/first-child-pseudo-class-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/css/first-child-pseudo-class-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/css/first-of-type-pseudo-class-expected.png b/third_party/blink/web_tests/platform/win/fast/css/first-of-type-pseudo-class-expected.png
index a04f3bf..c55592c 100644
--- a/third_party/blink/web_tests/platform/win/fast/css/first-of-type-pseudo-class-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/css/first-of-type-pseudo-class-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/css/hsl-color-expected.png b/third_party/blink/web_tests/platform/win/fast/css/hsl-color-expected.png
index 3e9ef7d..68795e3 100644
--- a/third_party/blink/web_tests/platform/win/fast/css/hsl-color-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/css/hsl-color-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/css/input-search-padding-expected.png b/third_party/blink/web_tests/platform/win/fast/css/input-search-padding-expected.png
index 96e1e5bf5..03aa721 100644
--- a/third_party/blink/web_tests/platform/win/fast/css/input-search-padding-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/css/input-search-padding-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/css/last-child-pseudo-class-expected.png b/third_party/blink/web_tests/platform/win/fast/css/last-child-pseudo-class-expected.png
index 87370e3..132a30c3 100644
--- a/third_party/blink/web_tests/platform/win/fast/css/last-child-pseudo-class-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/css/last-child-pseudo-class-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/css/last-of-type-pseudo-class-expected.png b/third_party/blink/web_tests/platform/win/fast/css/last-of-type-pseudo-class-expected.png
index 46a6543..9316b006 100644
--- a/third_party/blink/web_tests/platform/win/fast/css/last-of-type-pseudo-class-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/css/last-of-type-pseudo-class-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/css/line-height-expected.png b/third_party/blink/web_tests/platform/win/fast/css/line-height-expected.png
index 049a2a71..0a4fdb3 100644
--- a/third_party/blink/web_tests/platform/win/fast/css/line-height-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/css/line-height-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/css/line-height-overflow-expected.png b/third_party/blink/web_tests/platform/win/fast/css/line-height-overflow-expected.png
index b43bf51..0dc7027 100644
--- a/third_party/blink/web_tests/platform/win/fast/css/line-height-overflow-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/css/line-height-overflow-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/css/margin-top-bottom-dynamic-expected.png b/third_party/blink/web_tests/platform/win/fast/css/margin-top-bottom-dynamic-expected.png
index 6edd63f..eedcd33 100644
--- a/third_party/blink/web_tests/platform/win/fast/css/margin-top-bottom-dynamic-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/css/margin-top-bottom-dynamic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/css/nested-rounded-corners-expected.png b/third_party/blink/web_tests/platform/win/fast/css/nested-rounded-corners-expected.png
index 10150984..dfd8bb5 100644
--- a/third_party/blink/web_tests/platform/win/fast/css/nested-rounded-corners-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/css/nested-rounded-corners-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/css/non-standard-checkbox-size-expected.png b/third_party/blink/web_tests/platform/win/fast/css/non-standard-checkbox-size-expected.png
index d21f26782..c2e05bd 100644
--- a/third_party/blink/web_tests/platform/win/fast/css/non-standard-checkbox-size-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/css/non-standard-checkbox-size-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/css/only-child-pseudo-class-expected.png b/third_party/blink/web_tests/platform/win/fast/css/only-child-pseudo-class-expected.png
index e0f6cec..a148a260 100644
--- a/third_party/blink/web_tests/platform/win/fast/css/only-child-pseudo-class-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/css/only-child-pseudo-class-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/css/only-of-type-pseudo-class-expected.png b/third_party/blink/web_tests/platform/win/fast/css/only-of-type-pseudo-class-expected.png
index 9bab552..98cadd2 100644
--- a/third_party/blink/web_tests/platform/win/fast/css/only-of-type-pseudo-class-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/css/only-of-type-pseudo-class-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/css/resize-corner-tracking-expected.png b/third_party/blink/web_tests/platform/win/fast/css/resize-corner-tracking-expected.png
index 5d6676d..db4fed8 100644
--- a/third_party/blink/web_tests/platform/win/fast/css/resize-corner-tracking-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/css/resize-corner-tracking-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/css/rtl-ordering-expected.png b/third_party/blink/web_tests/platform/win/fast/css/rtl-ordering-expected.png
index c5eaf458..97cb832 100644
--- a/third_party/blink/web_tests/platform/win/fast/css/rtl-ordering-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/css/rtl-ordering-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/css/text-overflow-ellipsis-text-align-center-expected.png b/third_party/blink/web_tests/platform/win/fast/css/text-overflow-ellipsis-text-align-center-expected.png
index 8dd1b12..c0ed3f6 100644
--- a/third_party/blink/web_tests/platform/win/fast/css/text-overflow-ellipsis-text-align-center-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/css/text-overflow-ellipsis-text-align-center-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/css/text-overflow-ellipsis-text-align-justify-expected.png b/third_party/blink/web_tests/platform/win/fast/css/text-overflow-ellipsis-text-align-justify-expected.png
index a64c341..c9cc628d 100644
--- a/third_party/blink/web_tests/platform/win/fast/css/text-overflow-ellipsis-text-align-justify-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/css/text-overflow-ellipsis-text-align-justify-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/css/text-overflow-ellipsis-text-align-left-expected.png b/third_party/blink/web_tests/platform/win/fast/css/text-overflow-ellipsis-text-align-left-expected.png
index 27caec9..677148f 100644
--- a/third_party/blink/web_tests/platform/win/fast/css/text-overflow-ellipsis-text-align-left-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/css/text-overflow-ellipsis-text-align-left-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/css/text-overflow-ellipsis-text-align-right-expected.png b/third_party/blink/web_tests/platform/win/fast/css/text-overflow-ellipsis-text-align-right-expected.png
index 649b7c1..b96b5141 100644
--- a/third_party/blink/web_tests/platform/win/fast/css/text-overflow-ellipsis-text-align-right-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/css/text-overflow-ellipsis-text-align-right-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/css/text-overflow-input-expected.png b/third_party/blink/web_tests/platform/win/fast/css/text-overflow-input-expected.png
index 5b451f7..cabe0e7 100644
--- a/third_party/blink/web_tests/platform/win/fast/css/text-overflow-input-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/css/text-overflow-input-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.png b/third_party/blink/web_tests/platform/win/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.png
index 743e45c..1ed9359 100644
--- a/third_party/blink/web_tests/platform/win/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/css/vertical-text-overflow-ellipsis-text-align-justify-expected.png b/third_party/blink/web_tests/platform/win/fast/css/vertical-text-overflow-ellipsis-text-align-justify-expected.png
index 743e45c..1ed9359 100644
--- a/third_party/blink/web_tests/platform/win/fast/css/vertical-text-overflow-ellipsis-text-align-justify-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/css/vertical-text-overflow-ellipsis-text-align-justify-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/css/vertical-text-overflow-ellipsis-text-align-left-expected.png b/third_party/blink/web_tests/platform/win/fast/css/vertical-text-overflow-ellipsis-text-align-left-expected.png
index 743e45c..1ed9359 100644
--- a/third_party/blink/web_tests/platform/win/fast/css/vertical-text-overflow-ellipsis-text-align-left-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/css/vertical-text-overflow-ellipsis-text-align-left-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/css/vertical-text-overflow-ellipsis-text-align-right-expected.png b/third_party/blink/web_tests/platform/win/fast/css/vertical-text-overflow-ellipsis-text-align-right-expected.png
index 743e45c..1ed9359 100644
--- a/third_party/blink/web_tests/platform/win/fast/css/vertical-text-overflow-ellipsis-text-align-right-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/css/vertical-text-overflow-ellipsis-text-align-right-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/css3-text/css3-text-decoration/text-decoration-style-inherit-expected.png b/third_party/blink/web_tests/platform/win/fast/css3-text/css3-text-decoration/text-decoration-style-inherit-expected.png
index 7762821..9d41a09 100644
--- a/third_party/blink/web_tests/platform/win/fast/css3-text/css3-text-decoration/text-decoration-style-inherit-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/css3-text/css3-text-decoration/text-decoration-style-inherit-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/deprecated-flexbox/009-expected.png b/third_party/blink/web_tests/platform/win/fast/deprecated-flexbox/009-expected.png
index 50f53df..89b4adc1 100644
--- a/third_party/blink/web_tests/platform/win/fast/deprecated-flexbox/009-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/deprecated-flexbox/009-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/deprecated-flexbox/009-horizontal-expected.png b/third_party/blink/web_tests/platform/win/fast/deprecated-flexbox/009-horizontal-expected.png
index c596bfc..16f904c 100644
--- a/third_party/blink/web_tests/platform/win/fast/deprecated-flexbox/009-horizontal-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/deprecated-flexbox/009-horizontal-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/dom/34176-expected.png b/third_party/blink/web_tests/platform/win/fast/dom/34176-expected.png
index f877e85..90477c35 100644
--- a/third_party/blink/web_tests/platform/win/fast/dom/34176-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/dom/34176-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 29f4877..6b6f166 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/HTMLProgressElement/progress-element-expected.png b/third_party/blink/web_tests/platform/win/fast/dom/HTMLProgressElement/progress-element-expected.png
index 35221b04..bdcae9f9 100644
--- a/third_party/blink/web_tests/platform/win/fast/dom/HTMLProgressElement/progress-element-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/dom/HTMLProgressElement/progress-element-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 18c749e..52c185e 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/dom/rtl-scroll-to-leftmost-and-resize-expected.png b/third_party/blink/web_tests/platform/win/fast/dom/rtl-scroll-to-leftmost-and-resize-expected.png
index 2579b44b2..b28a5573 100644
--- a/third_party/blink/web_tests/platform/win/fast/dom/rtl-scroll-to-leftmost-and-resize-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/dom/rtl-scroll-to-leftmost-and-resize-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/dynamic/008-expected.png b/third_party/blink/web_tests/platform/win/fast/dynamic/008-expected.png
index 47ad1f3..eb08d4e 100644
--- a/third_party/blink/web_tests/platform/win/fast/dynamic/008-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/dynamic/008-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/dynamic/anchor-lock-expected.png b/third_party/blink/web_tests/platform/win/fast/dynamic/anchor-lock-expected.png
index a0a6cf5..4b62030 100644
--- a/third_party/blink/web_tests/platform/win/fast/dynamic/anchor-lock-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/dynamic/anchor-lock-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/dynamic/selection-highlight-adjust-expected.png b/third_party/blink/web_tests/platform/win/fast/dynamic/selection-highlight-adjust-expected.png
index 64898b3..4c00a875 100644
--- a/third_party/blink/web_tests/platform/win/fast/dynamic/selection-highlight-adjust-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/dynamic/selection-highlight-adjust-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 a386d3d..3bb5511 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/events/updateLayoutForHitTest-expected.png b/third_party/blink/web_tests/platform/win/fast/events/updateLayoutForHitTest-expected.png
index 4885bcc..3fa3bb8 100644
--- a/third_party/blink/web_tests/platform/win/fast/events/updateLayoutForHitTest-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/events/updateLayoutForHitTest-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/files/file-in-input-display-expected.png b/third_party/blink/web_tests/platform/win/fast/files/file-in-input-display-expected.png
index 2637173..2637248 100644
--- a/third_party/blink/web_tests/platform/win/fast/files/file-in-input-display-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/files/file-in-input-display-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/001-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/001-expected.png
index 779ffdd..a5d73f0f 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/001-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/001-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/basic-buttons-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/basic-buttons-expected.png
index 645f71a..33c16ef 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/basic-buttons-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/basic-buttons-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/basic-inputs-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/basic-inputs-expected.png
index 83255d0..faf5e37 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/basic-inputs-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/basic-inputs-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/blankbuttons-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/blankbuttons-expected.png
index 00f7d79a..1c77022 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/blankbuttons-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/blankbuttons-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/button-default-title-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/button-default-title-expected.png
index 5572754..dfe29dd 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/button-default-title-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/button-default-title-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/button-positioned-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/button-positioned-expected.png
index 2c613b4..81e907b3 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/button-positioned-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/button-positioned-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/button-sizes-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/button-sizes-expected.png
index 7e971c1..8d6b683 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/button-sizes-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/button-sizes-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/button-style-color-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/button-style-color-expected.png
index a2d83667..f8ef9c4 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/button-style-color-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/button-style-color-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/button-table-styles-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/button-table-styles-expected.png
index a93975b..94ba820 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/button-table-styles-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/button-table-styles-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/button-text-transform-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/button-text-transform-expected.png
index cab71715..e2699bf 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/button-text-transform-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/button-text-transform-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/button/button-align-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/button/button-align-expected.png
index c65997a..bd2920c 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/button/button-align-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/button/button-align-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/button/button-cannot-be-nested-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/button/button-cannot-be-nested-expected.png
index d677b6f5..8df3f421 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/button/button-cannot-be-nested-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/button/button-cannot-be-nested-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/button/button-inner-block-reuse-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/button/button-inner-block-reuse-expected.png
index 1b6f41e5..711fe89d 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/button/button-inner-block-reuse-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/button/button-inner-block-reuse-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/button/button-white-space-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/button/button-white-space-expected.png
index 2b9e2ac..6211ac7 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/button/button-white-space-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/button/button-white-space-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png
index 9fe4c243..b6881de 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-coarse-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-coarse-expected.png
index d285d1e..9fe2c52f 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-coarse-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-coarse-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-expected.png
index ae943f8..13d12f25 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-minimum-date-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-minimum-date-expected.png
index d06a4d0..cf8747d5 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-minimum-date-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-minimum-date-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png
index d719311b..f61038f 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-required-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-required-expected.png
index 22f4b50..24bf280 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-required-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-required-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png
index 31fcd49..1759bdb 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png
index dabdf05b..99df4f4c 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png
index 1bec35c..3f1e2fe 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-zoom200-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-zoom200-expected.png
index d8fdf35..e418c06 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-zoom200-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/calendar-picker/calendar-picker-appearance-zoom200-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/calendar-picker/month-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/calendar-picker/month-picker-appearance-expected.png
index 08cb890..db3b5ca 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/calendar-picker/month-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/calendar-picker/month-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/calendar-picker/month-picker-appearance-step-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/calendar-picker/month-picker-appearance-step-expected.png
index fa213b4..884fc22 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/calendar-picker/month-picker-appearance-step-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/calendar-picker/month-picker-appearance-step-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/calendar-picker/week-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/calendar-picker/week-picker-appearance-expected.png
index 04503610..0d797ca 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/calendar-picker/week-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/calendar-picker/week-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/calendar-picker/week-picker-appearance-step-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/calendar-picker/week-picker-appearance-step-expected.png
index 1b779e3..a0507b0 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/calendar-picker/week-picker-appearance-step-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/calendar-picker/week-picker-appearance-step-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/checkbox/checkbox-appearance-basic-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/checkbox/checkbox-appearance-basic-expected.png
index f60574b..ce4f76a4 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/checkbox/checkbox-appearance-basic-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/checkbox/checkbox-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/color/color-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/color/color-suggestion-picker-appearance-expected.png
index 63605ab..519c627d 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/color/color-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/color/color-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/color/color-suggestion-picker-appearance-zoom125-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/color/color-suggestion-picker-appearance-zoom125-expected.png
index 5ad6f70..9195565 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/color/color-suggestion-picker-appearance-zoom125-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/color/color-suggestion-picker-appearance-zoom125-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/color/color-suggestion-picker-one-row-appearance-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/color/color-suggestion-picker-one-row-appearance-expected.png
index a95d8ba..bb912c6 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/color/color-suggestion-picker-one-row-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/color/color-suggestion-picker-one-row-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/color/color-suggestion-picker-two-row-appearance-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/color/color-suggestion-picker-two-row-appearance-expected.png
index b2198c6..11b4797 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/color/color-suggestion-picker-two-row-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/color/color-suggestion-picker-two-row-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/color/color-suggestion-picker-with-scrollbar-appearance-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/color/color-suggestion-picker-with-scrollbar-appearance-expected.png
index 9ab3bc9..c144e4a0 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/color/color-suggestion-picker-with-scrollbar-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/color/color-suggestion-picker-with-scrollbar-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/control-clip-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/control-clip-expected.png
index 1ee77dc..5f1d42e 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/control-clip-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/control-clip-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/control-clip-overflow-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/control-clip-overflow-expected.png
index d6170cf2..dc76caf 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/control-clip-overflow-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/control-clip-overflow-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/control-restrict-line-height-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/control-restrict-line-height-expected.png
index 3406670c..b055e8f 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/control-restrict-line-height-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/control-restrict-line-height-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui-high-contrast/color-picker-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui-high-contrast/color-picker-expected.png
new file mode 100644
index 0000000..01646946
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui-high-contrast/color-picker-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui-high-contrast/date-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui-high-contrast/date-suggestion-picker-appearance-expected.png
new file mode 100644
index 0000000..b4c41e3
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui-high-contrast/date-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-coarse-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-coarse-expected.png
new file mode 100644
index 0000000..9fe2c52f
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-coarse-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-disabled-previous-month-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-disabled-previous-month-expected.png
new file mode 100644
index 0000000..c70c44d
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-disabled-previous-month-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-rtl-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-rtl-expected.png
new file mode 100644
index 0000000..b6881de
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-step-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-step-expected.png
new file mode 100644
index 0000000..10e5d62
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-step-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-zoom150-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-zoom150-expected.png
new file mode 100644
index 0000000..2e52d8f
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-zoom150-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/calendar-picker/date-picker-disabled-values-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/calendar-picker/date-picker-disabled-values-expected.png
new file mode 100644
index 0000000..f8b63e9
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/calendar-picker/date-picker-disabled-values-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/calendar-picker/date-picker-month-appearance-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/calendar-picker/date-picker-month-appearance-expected.png
new file mode 100644
index 0000000..33d6918
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/calendar-picker/date-picker-month-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-accelerated-keyboard-navigation-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-accelerated-keyboard-navigation-expected.png
index 6a3b490..01646946 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-accelerated-keyboard-navigation-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-accelerated-keyboard-navigation-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-click-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-click-expected.png
index 6a3b490..01646946 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-click-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-accelerated-keyboard-navigation-from-top-left-corner-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-accelerated-keyboard-navigation-from-top-left-corner-expected.png
index 2d8ca591..6a88d971 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-accelerated-keyboard-navigation-from-top-left-corner-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-accelerated-keyboard-navigation-from-top-left-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-accelerated-keyboard-navigation-from-top-right-corner-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-accelerated-keyboard-navigation-from-top-right-corner-expected.png
index 2d8ca591..6a88d971 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-accelerated-keyboard-navigation-from-top-right-corner-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-accelerated-keyboard-navigation-from-top-right-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-left-corner-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-left-corner-expected.png
index 2d8ca591..6a88d971 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-left-corner-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-right-corner-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-right-corner-expected.png
index 2d8ca591..6a88d971 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-right-corner-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-drag-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-drag-expected.png
index 6a3b490..01646946 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-drag-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-drag-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-keyboard-navigation-after-drag-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-keyboard-navigation-after-drag-expected.png
index af330a81..b846542 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-keyboard-navigation-after-drag-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-keyboard-navigation-after-drag-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-keyboard-navigation-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-keyboard-navigation-expected.png
index 6a3b490..01646946 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-keyboard-navigation-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-keyboard-navigation-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-accelerated-keyboard-navigation-from-bottom-right-corner-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-accelerated-keyboard-navigation-from-bottom-right-corner-expected.png
index 2d8ca591..6a88d971 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-accelerated-keyboard-navigation-from-bottom-right-corner-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-accelerated-keyboard-navigation-from-bottom-right-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-accelerated-keyboard-navigation-from-top-right-corner-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-accelerated-keyboard-navigation-from-top-right-corner-expected.png
index 2d8ca591..6a88d971 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-accelerated-keyboard-navigation-from-top-right-corner-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-accelerated-keyboard-navigation-from-top-right-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-keyboard-navigation-from-bottom-right-corner-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-keyboard-navigation-from-bottom-right-corner-expected.png
index 2d8ca591..6a88d971 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-keyboard-navigation-from-bottom-right-corner-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-keyboard-navigation-from-top-right-corner-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-keyboard-navigation-from-top-right-corner-expected.png
index 2d8ca591..6a88d971 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-keyboard-navigation-from-top-right-corner-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-accelerated-keyboard-navigation-from-bottom-left-corner-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-accelerated-keyboard-navigation-from-bottom-left-corner-expected.png
index 2d8ca591..6a88d971 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-accelerated-keyboard-navigation-from-bottom-left-corner-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-accelerated-keyboard-navigation-from-bottom-left-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-accelerated-keyboard-navigation-from-top-left-corner-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-accelerated-keyboard-navigation-from-top-left-corner-expected.png
index 2d8ca591..6a88d971 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-accelerated-keyboard-navigation-from-top-left-corner-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-accelerated-keyboard-navigation-from-top-left-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-keyboard-navigation-from-bottom-left-corner-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-keyboard-navigation-from-bottom-left-corner-expected.png
index 2d8ca591..6a88d971 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-keyboard-navigation-from-bottom-left-corner-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-keyboard-navigation-from-top-left-corner-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-keyboard-navigation-from-top-left-corner-expected.png
index 2d8ca591..6a88d971 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-keyboard-navigation-from-top-left-corner-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-accelerated-keyboard-navigation-from-bottom-left-corner-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-accelerated-keyboard-navigation-from-bottom-left-corner-expected.png
index 2d8ca591..6a88d971 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-accelerated-keyboard-navigation-from-bottom-left-corner-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-accelerated-keyboard-navigation-from-bottom-left-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-accelerated-keyboard-navigation-from-bottom-right-corner-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-accelerated-keyboard-navigation-from-bottom-right-corner-expected.png
index 2d8ca591..6a88d971 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-accelerated-keyboard-navigation-from-bottom-right-corner-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-accelerated-keyboard-navigation-from-bottom-right-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-left-corner-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-left-corner-expected.png
index 2d8ca591..6a88d971 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-left-corner-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-right-corner-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-right-corner-expected.png
index 2d8ca591..6a88d971 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-right-corner-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-hex-format-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-hex-format-expected.png
index 52b6c085..28ed0b3 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-hex-format-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-hex-format-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-hsl-format-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-hsl-format-expected.png
index 52b6c085..28ed0b3 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-hsl-format-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-hsl-format-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-accelerated-keyboard-navigation-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-accelerated-keyboard-navigation-expected.png
index 67a02d35..d5370777 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-accelerated-keyboard-navigation-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-accelerated-keyboard-navigation-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-click-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-click-expected.png
index 67a02d35..d5370777 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-click-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-drag-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-drag-expected.png
index 67a02d35..d5370777 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-drag-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-drag-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-keyboard-navigation-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-keyboard-navigation-expected.png
index 67a02d35..d5370777 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-keyboard-navigation-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-keyboard-navigation-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-left-edge-zero-hue-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-left-edge-zero-hue-expected.png
index 127267b..dae8a211 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-left-edge-zero-hue-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-right-edge-zero-hue-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-right-edge-zero-hue-expected.png
index 127267b..dae8a211 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-right-edge-zero-hue-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-imperfect-match-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-imperfect-match-expected.png
index af330a81..b846542 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-imperfect-match-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-imperfect-match-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-manual-color-change-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-manual-color-change-expected.png
index af330a81..b846542 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-manual-color-change-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-manual-color-change-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-set-value-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-set-value-expected.png
index 52b6c085..28ed0b3 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-set-value-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-set-value-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-value-attribute-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-value-attribute-expected.png
index 52b6c085..28ed0b3 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-value-attribute-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-value-attribute-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-zoom125-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-zoom125-expected.png
index 33356cc..816abce 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-zoom125-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-zoom125-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-zoom200-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-zoom200-expected.png
index 21a94b3..1009037 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-zoom200-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-picker-appearance-zoom200-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-empty-list-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-empty-list-expected.png
new file mode 100644
index 0000000..6e15cc83
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-empty-list-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-one-row-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-one-row-expected.png
new file mode 100644
index 0000000..8f51433c
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-one-row-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-two-rows-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-two-rows-expected.png
new file mode 100644
index 0000000..d9e25f8
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-two-rows-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-value-attribute-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-value-attribute-expected.png
new file mode 100644
index 0000000..e55dcad
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-value-attribute-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-with-scrollbar-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-with-scrollbar-expected.png
new file mode 100644
index 0000000..c144e4a0
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-with-scrollbar-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom125-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom125-expected.png
new file mode 100644
index 0000000..d4d5acd5
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom125-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom200-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom200-expected.png
new file mode 100644
index 0000000..880a3b2
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom200-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-today-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-today-expected.png
new file mode 100644
index 0000000..b8f04b51
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-today-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-values-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-values-expected.png
new file mode 100644
index 0000000..826fd1c
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-values-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/month-picker/month-picker-appearance-highlight-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/month-picker/month-picker-appearance-highlight-expected.png
new file mode 100644
index 0000000..826fd1c
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/month-picker/month-picker-appearance-highlight-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/month-picker/month-picker-appearance-rtl-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/month-picker/month-picker-appearance-rtl-expected.png
new file mode 100644
index 0000000..86d5107
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/month-picker/month-picker-appearance-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/month-picker/month-picker-appearance-value-not-in-interval-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/month-picker/month-picker-appearance-value-not-in-interval-expected.png
new file mode 100644
index 0000000..7c333f8e
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/month-picker/month-picker-appearance-value-not-in-interval-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/month-picker/month-picker-appearance-zoom150-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/month-picker/month-picker-appearance-zoom150-expected.png
new file mode 100644
index 0000000..2e67e44
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/month-picker/month-picker-appearance-zoom150-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/password/password-alt-f8-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/password/password-alt-f8-expected.png
new file mode 100644
index 0000000..af636b6
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/password/password-alt-f8-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/password/password-alt-f8-twice-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/password/password-alt-f8-twice-expected.png
new file mode 100644
index 0000000..af636b6
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/password/password-alt-f8-twice-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/password/password-eye-icon-font-size-48px-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/password/password-eye-icon-font-size-48px-expected.png
new file mode 100644
index 0000000..3e2e47dd
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/password/password-eye-icon-font-size-48px-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/password/password-eye-icon-font-size-4px-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/password/password-eye-icon-font-size-4px-expected.png
new file mode 100644
index 0000000..b4d925b
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/password/password-eye-icon-font-size-4px-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/password/password-eye-icon-zoom-0.5x-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/password/password-eye-icon-zoom-0.5x-expected.png
new file mode 100644
index 0000000..a09c2449
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/password/password-eye-icon-zoom-0.5x-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/password/password-eye-icon-zoom-4x-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/password/password-eye-icon-zoom-4x-expected.png
new file mode 100644
index 0000000..47466e4
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/password/password-eye-icon-zoom-4x-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/password/password-mismatched_glyph-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/password/password-mismatched_glyph-expected.png
new file mode 100644
index 0000000..af636b6
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/password/password-mismatched_glyph-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/password/password-small-size-alt-f8-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/password/password-small-size-alt-f8-expected.png
new file mode 100644
index 0000000..0bcbfdf
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/password/password-small-size-alt-f8-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/password/password-with-reveal-button-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/password/password-with-reveal-button-expected.png
new file mode 100644
index 0000000..af636b6
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/password/password-with-reveal-button-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/select/select-multiple-appearance-basic-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/select/select-multiple-appearance-basic-expected.png
new file mode 100644
index 0000000..ba932fa
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/select/select-multiple-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/suggestion-picker/date-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/suggestion-picker/date-suggestion-picker-appearance-expected.png
new file mode 100644
index 0000000..b4c41e3
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/suggestion-picker/date-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
new file mode 100644
index 0000000..d59dee8
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/suggestion-picker/month-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/suggestion-picker/month-suggestion-picker-appearance-expected.png
new file mode 100644
index 0000000..611ac1f5
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/suggestion-picker/month-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/suggestion-picker/time-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/suggestion-picker/time-suggestion-picker-appearance-expected.png
new file mode 100644
index 0000000..820e17a
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/suggestion-picker/time-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/suggestion-picker/week-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/suggestion-picker/week-suggestion-picker-appearance-expected.png
new file mode 100644
index 0000000..4c28e077
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/suggestion-picker/week-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-AM-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-AM-expected.png
new file mode 100644
index 0000000..48ff943
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-AM-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-PM-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-PM-expected.png
new file mode 100644
index 0000000..4574a70
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-PM-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/time-picker/time-picker-appearance-24-hour-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/time-picker/time-picker-appearance-24-hour-expected.png
new file mode 100644
index 0000000..ae0c604
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/time-picker/time-picker-appearance-24-hour-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowdown-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowdown-expected.png
new file mode 100644
index 0000000..616d206
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowdown-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowup-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowup-expected.png
new file mode 100644
index 0000000..616d206
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowup-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/time-picker/time-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/time-picker/time-picker-appearance-expected.png
new file mode 100644
index 0000000..616d206
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/time-picker/time-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/time-picker/time-picker-appearance-ko-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/time-picker/time-picker-appearance-ko-expected.png
new file mode 100644
index 0000000..996414a
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/time-picker/time-picker-appearance-ko-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/time-picker/time-picker-appearance-milliseconds-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/time-picker/time-picker-appearance-milliseconds-expected.png
new file mode 100644
index 0000000..2df42bdf
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/time-picker/time-picker-appearance-milliseconds-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/time-picker/time-picker-appearance-seconds-pm-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/time-picker/time-picker-appearance-seconds-pm-expected.png
new file mode 100644
index 0000000..1886eccb
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/fast/forms/controls-new-ui/time-picker/time-picker-appearance-seconds-pm-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/datalist/input-appearance-range-with-datalist-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/datalist/input-appearance-range-with-datalist-expected.png
index 891b3537..508fdcd 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/datalist/input-appearance-range-with-datalist-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/datalist/input-appearance-range-with-datalist-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/datalist/input-appearance-range-with-datalist-zoomed-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/datalist/input-appearance-range-with-datalist-zoomed-expected.png
index 4d7bdf3..9545bfb 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/datalist/input-appearance-range-with-datalist-zoomed-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/datalist/input-appearance-range-with-datalist-zoomed-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/datalist/input-appearance-range-with-padding-with-datalist-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/datalist/input-appearance-range-with-padding-with-datalist-expected.png
index 6e4ff18..c9e997c 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/datalist/input-appearance-range-with-padding-with-datalist-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/datalist/input-appearance-range-with-padding-with-datalist-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/datalist/input-appearance-range-with-transform-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/datalist/input-appearance-range-with-transform-expected.png
index be53e3a..bb9b890 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/datalist/input-appearance-range-with-transform-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/datalist/input-appearance-range-with-transform-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/date/date-appearance-basic-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/date/date-appearance-basic-expected.png
index 030682d..344ab83 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/date/date-appearance-basic-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/date/date-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/date/date-appearance-l10n-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/date/date-appearance-l10n-expected.png
index e6265d8..3464ea7 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/date/date-appearance-l10n-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/date/date-appearance-l10n-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/date/date-appearance-pseudo-elements-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/date/date-appearance-pseudo-elements-expected.png
index b227a64..22d1970 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/date/date-appearance-pseudo-elements-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/date/date-appearance-pseudo-elements-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/datetimelocal/datetimelocal-appearance-basic-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/datetimelocal/datetimelocal-appearance-basic-expected.png
index 6671ab48..d4f670ef 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/datetimelocal/datetimelocal-appearance-basic-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/datetimelocal/datetimelocal-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/datetimelocal/datetimelocal-appearance-l10n-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/datetimelocal/datetimelocal-appearance-l10n-expected.png
index 27c2f6c0..c8411f0 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/datetimelocal/datetimelocal-appearance-l10n-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/datetimelocal/datetimelocal-appearance-l10n-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/encoding-test-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/encoding-test-expected.png
index ff1097786..fece1514 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/encoding-test-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/encoding-test-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/fieldset/fieldset-align-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/fieldset/fieldset-align-expected.png
index 732165a..27d841d 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/fieldset/fieldset-align-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/fieldset/fieldset-align-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/file/file-input-direction-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/file/file-input-direction-expected.png
index 15d8a7a13..bcbebe48 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/file/file-input-direction-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/file/file-input-direction-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/file/file-input-disabled-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/file/file-input-disabled-expected.png
index 2526722..fc14e234 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/file/file-input-disabled-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/file/file-input-disabled-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/file/file-input-pressed-state-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/file/file-input-pressed-state-expected.png
index d8bbdba..faa81557 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/file/file-input-pressed-state-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/file/file-input-pressed-state-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/file/input-file-re-render-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/file/input-file-re-render-expected.png
index f922abb..c3da07e4 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/file/input-file-re-render-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/file/input-file-re-render-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/floating-textfield-relayout-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/floating-textfield-relayout-expected.png
index 60e768838..3eb3eb0 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/floating-textfield-relayout-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/floating-textfield-relayout-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/form-element-geometry-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/form-element-geometry-expected.png
index 4a3f595..5211331d 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/form-element-geometry-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/form-element-geometry-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/formmove-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/formmove-expected.png
index 9d6eeda..4169e83 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/formmove-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/formmove-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/formmove2-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/formmove2-expected.png
index 1c59edc..ebde47c 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/formmove2-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/formmove2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/formmove3-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/formmove3-expected.png
index 2a29367..eca9f0e4 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/formmove3-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/formmove3-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/huge-mac-input-clamped-height-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/huge-mac-input-clamped-height-expected.png
index ce9f3b57..876603f 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/huge-mac-input-clamped-height-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/huge-mac-input-clamped-height-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/huge-mac-input-clamped-width-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/huge-mac-input-clamped-width-expected.png
index 5017e42a..374b4e3 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/huge-mac-input-clamped-width-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/huge-mac-input-clamped-width-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/indeterminate-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/indeterminate-expected.png
index f598030..8854479c 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/indeterminate-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/indeterminate-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/input-align-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/input-align-expected.png
index 2fa092b..de6c4ab 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/input-align-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/input-align-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/input-appearance-height-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/input-appearance-height-expected.png
index 8371436..7c85197 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/input-appearance-height-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/input-appearance-height-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/input-button-sizes-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/input-button-sizes-expected.png
index 5921b664..dc77672 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/input-button-sizes-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/input-button-sizes-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/input-first-letter-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/input-first-letter-expected.png
index 7fd866c..0aca65f 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/input-first-letter-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/input-first-letter-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/input-type-text-min-width-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/input-type-text-min-width-expected.png
index 6b4da36..a1ff280 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/input-type-text-min-width-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/input-type-text-min-width-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/input-value-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/input-value-expected.png
index be057f3..721c9162 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/input-value-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/input-value-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/minWidthPercent-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/minWidthPercent-expected.png
index 18bedc9..368fba9 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/minWidthPercent-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/minWidthPercent-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/month/month-appearance-basic-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/month/month-appearance-basic-expected.png
index 129e652..a478503 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/month/month-appearance-basic-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/month/month-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/month/month-appearance-l10n-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/month/month-appearance-l10n-expected.png
index ea80f85..07d19d0 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/month/month-appearance-l10n-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/month/month-appearance-l10n-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/month/month-appearance-pseudo-elements-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/month/month-appearance-pseudo-elements-expected.png
index 8b9b2b4..e661c06 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/month/month-appearance-pseudo-elements-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/month/month-appearance-pseudo-elements-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/number/number-appearance-datalist-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/number/number-appearance-datalist-expected.png
index 8123cd0d..f3553da 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/number/number-appearance-datalist-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/number/number-appearance-datalist-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/number/number-appearance-rtl-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/number/number-appearance-rtl-expected.png
index 3f5890e8..181a340 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/number/number-appearance-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/number/number-appearance-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/number/number-appearance-spinbutton-layer-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/number/number-appearance-spinbutton-layer-expected.png
index bce7e5fe5..91e8059 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/number/number-appearance-spinbutton-layer-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/number/number-appearance-spinbutton-layer-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/placeholder-position-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/placeholder-position-expected.png
index 559635f..592ed80 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/placeholder-position-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/placeholder-position-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/plaintext-mode-2-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/plaintext-mode-2-expected.png
index ac6e06b..ec7f5fb5 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/plaintext-mode-2-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/plaintext-mode-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/radio/radio-appearance-basic-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/radio/radio-appearance-basic-expected.png
index 10b8d37..138f0267 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/radio/radio-appearance-basic-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/radio/radio-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/range/input-appearance-range-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/range/input-appearance-range-expected.png
index 5e856299..4cd8333 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/range/input-appearance-range-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/range/input-appearance-range-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/range/range-appearance-basic-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/range/range-appearance-basic-expected.png
index cfc3f46..d768032e 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/range/range-appearance-basic-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/range/range-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/range/range-update-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/range/range-update-expected.png
index 5cd8917..f6051db7 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/range/range-update-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/range/range-update-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/range/slider-padding-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/range/slider-padding-expected.png
index 3aec49f..589a880 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/range/slider-padding-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/range/slider-padding-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/range/slider-thumb-shared-style-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/range/slider-thumb-shared-style-expected.png
index 85d4e9b..8950d35d 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/range/slider-thumb-shared-style-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/range/slider-thumb-shared-style-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/search/search-cancel-button-style-sharing-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/search/search-cancel-button-style-sharing-expected.png
index ae54e5a..8cb7241 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/search/search-cancel-button-style-sharing-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/search/search-cancel-button-style-sharing-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/search/search-display-none-cancel-button-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/search/search-display-none-cancel-button-expected.png
index 5de2cac..2db7319 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/search/search-display-none-cancel-button-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/search/search-display-none-cancel-button-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/search/search-rtl-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/search/search-rtl-expected.png
index 44cac638..fe258f9 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/search/search-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/search/search-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/search/searchfield-heights-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/search/searchfield-heights-expected.png
index 26ccb00..d29e9a8b 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/search/searchfield-heights-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/search/searchfield-heights-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-coarse-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-coarse-expected.png
index 8656a5a..21eca57 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-coarse-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-coarse-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-empty-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-empty-expected.png
index 91ff866..1187182a 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-empty-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-empty-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-expected.png
index 28dae94b..a61a5edc 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-fractional-width-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-fractional-width-expected.png
index 5b73625..fb42ef3 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-fractional-width-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-fractional-width-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-long-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-long-expected.png
index 4772f8c0..6960a30b7 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-long-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-long-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-many-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-many-expected.png
index 146c7926..94d31c08 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-many-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-many-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-minimum-font-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-minimum-font-expected.png
index f308257..2c2812a2 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-minimum-font-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-minimum-font-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-rtl-default-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-rtl-default-expected.png
index f74b1d6..f31395b 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-rtl-default-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-rtl-default-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-rtl-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-rtl-expected.png
index c1c607e..7543f25c 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-single-option-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-single-option-expected.png
index 7db1876..82447d4 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-single-option-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-single-option-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-styled-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-styled-expected.png
index ca7ca584..fab177a7 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-styled-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-styled-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-texttransform-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-texttransform-expected.png
index 76f0d040..b5ce5b71 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-texttransform-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-texttransform-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-transform-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-transform-expected.png
index 37d68a42..c8802b4 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-transform-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-transform-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-zoom-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-zoom-expected.png
index 1aa3f89..ebbc001 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-zoom-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-zoom-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-zoom090-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-zoom090-expected.png
index aa70ad1..b5657be 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-zoom090-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-zoom090-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-zoom110-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-zoom110-expected.png
index 30378997..8a21520 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-zoom110-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select-popup/popup-menu-appearance-zoom110-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select/003-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select/003-expected.png
index a8f95d1..e168102 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select/003-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select/003-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select/004-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select/004-expected.png
index dc41127..c79b860 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select/004-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select/004-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select/HTMLOptionElement_label01-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select/HTMLOptionElement_label01-expected.png
index 4f03323..fd90d59d 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select/HTMLOptionElement_label01-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select/HTMLOptionElement_label01-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select/HTMLOptionElement_label02-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select/HTMLOptionElement_label02-expected.png
index bd6b343..c357c1ac 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select/HTMLOptionElement_label02-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select/HTMLOptionElement_label02-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select/HTMLOptionElement_label03-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select/HTMLOptionElement_label03-expected.png
index 4eb5bc6..1a81d4d 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select/HTMLOptionElement_label03-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select/HTMLOptionElement_label03-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select/HTMLOptionElement_label04-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select/HTMLOptionElement_label04-expected.png
index 530d1f3..eebbf45 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select/HTMLOptionElement_label04-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select/HTMLOptionElement_label04-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select/HTMLOptionElement_label05-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select/HTMLOptionElement_label05-expected.png
index b35aadb..bf86fec 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select/HTMLOptionElement_label05-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select/HTMLOptionElement_label05-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select/HTMLOptionElement_label06-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select/HTMLOptionElement_label06-expected.png
index 8aff0a7d..311c73b 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select/HTMLOptionElement_label06-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select/HTMLOptionElement_label06-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select/HTMLOptionElement_label07-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select/HTMLOptionElement_label07-expected.png
index ecc9a52e..167bcb3 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select/HTMLOptionElement_label07-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select/HTMLOptionElement_label07-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select/disabled-select-change-index-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select/disabled-select-change-index-expected.png
index ca001617..78ba710 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select/disabled-select-change-index-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select/disabled-select-change-index-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select/input-select-after-resize-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select/input-select-after-resize-expected.png
index 9439e33..ad3e5fd 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select/input-select-after-resize-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select/input-select-after-resize-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select/listbox-bidi-align-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select/listbox-bidi-align-expected.png
index fc3a78d9..c4cab64 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select/listbox-bidi-align-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select/listbox-bidi-align-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select/listbox-clip-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select/listbox-clip-expected.png
index bb8339e..b1b0e29 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select/listbox-clip-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select/listbox-clip-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select/listbox-scrollbar-incremental-load-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select/listbox-scrollbar-incremental-load-expected.png
index 233e1c0..a929b83a3 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select/listbox-scrollbar-incremental-load-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select/listbox-scrollbar-incremental-load-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select/listbox-width-change-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select/listbox-width-change-expected.png
index 840a914..807b26eb 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select/listbox-width-change-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select/listbox-width-change-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select/listbox-with-display-none-option-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select/listbox-with-display-none-option-expected.png
index dfa8c78..e74f41a 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select/listbox-with-display-none-option-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select/listbox-with-display-none-option-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select/menulist-appearance-rtl-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select/menulist-appearance-rtl-expected.png
index 5f6c50f..7e8ab9d1 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select/menulist-appearance-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select/menulist-appearance-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select/menulist-deselect-update-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select/menulist-deselect-update-expected.png
index 00de79753..e80b21d 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select/menulist-deselect-update-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select/menulist-deselect-update-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select/menulist-narrow-width-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select/menulist-narrow-width-expected.png
index 4d0d583..7bc889c 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select/menulist-narrow-width-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select/menulist-narrow-width-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select/menulist-no-overflow-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select/menulist-no-overflow-expected.png
index 4be2f573..c7a3921c 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select/menulist-no-overflow-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select/menulist-no-overflow-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select/menulist-restrict-line-height-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select/menulist-restrict-line-height-expected.png
index 4e0f2f0..33605b83 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select/menulist-restrict-line-height-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select/menulist-restrict-line-height-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select/menulist-separator-painting-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select/menulist-separator-painting-expected.png
index 6ea6160..8018bb4 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select/menulist-separator-painting-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select/menulist-separator-painting-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select/menulist-style-color-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select/menulist-style-color-expected.png
index cc89a185..d9a00107 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select/menulist-style-color-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select/menulist-style-color-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select/menulist-update-text-popup-expected.txt b/third_party/blink/web_tests/platform/win/fast/forms/select/menulist-update-text-popup-expected.txt
index d3a2841..c1b38931 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select/menulist-update-text-popup-expected.txt
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select/menulist-update-text-popup-expected.txt
@@ -4,10 +4,10 @@
 A
 B
 C
-layer at (0,0) size 31x20
-  LayoutBlockFlow (positioned) {DIV} at (8,50) size 31x20
-    LayoutMenuList {SELECT} at (0,0) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-      LayoutBlockFlow (anonymous) at (1,1) size 29x18
+layer at (0,0) size 33x20
+  LayoutNGBlockFlow (positioned) {DIV} at (8,50) size 33x20
+    LayoutMenuList {SELECT} at (0,0) size 33x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+      LayoutBlockFlow (anonymous) at (1,1) size 31x18
         LayoutText (anonymous) at (4,1) size 9x16
           text run at (4,1) width 9: "C"
     LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select/menulist-width-change-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select/menulist-width-change-expected.png
index 0956434e..c8601d1 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select/menulist-width-change-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select/menulist-width-change-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select/optgroup-rendering-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select/optgroup-rendering-expected.png
index 37db546..fcb26e4 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select/optgroup-rendering-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select/optgroup-rendering-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select/option-script-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select/option-script-expected.png
index 5f85c6cb..308456d 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select/option-script-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select/option-script-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select/option-strip-whitespace-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select/option-strip-whitespace-expected.png
index 2f9cbdb..f9a2c75 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select/option-strip-whitespace-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select/option-strip-whitespace-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select/option-text-clip-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select/option-text-clip-expected.png
index 36e2a2b..74c0fec 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select/option-text-clip-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select/option-text-clip-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select/select-align-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select/select-align-expected.png
index ff90a3ef..266c3a5ae 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select/select-align-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select/select-align-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select/select-background-none-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select/select-background-none-expected.png
index ce6535c..ac6a0a1e 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select/select-background-none-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select/select-background-none-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select/select-baseline-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select/select-baseline-expected.png
index 9a6fcb50..015bd5c 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select/select-baseline-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select/select-baseline-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select/select-block-background-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select/select-block-background-expected.png
index d9e5dc9..f73e97c7 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select/select-block-background-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select/select-block-background-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select/select-change-listbox-size-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select/select-change-listbox-size-expected.png
index b0e66c1..a13a9a7 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select/select-change-listbox-size-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select/select-change-listbox-size-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select/select-change-listbox-to-popup-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select/select-change-listbox-to-popup-expected.png
index 86c3608..83fd0af0 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select/select-change-listbox-to-popup-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select/select-change-listbox-to-popup-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select/select-change-popup-to-listbox-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select/select-change-popup-to-listbox-expected.png
index e1fbc9e..ff899a6d 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select/select-change-popup-to-listbox-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select/select-change-popup-to-listbox-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select/select-dirty-parent-pref-widths-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select/select-dirty-parent-pref-widths-expected.png
index 7f75023..256aa6c0 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select/select-dirty-parent-pref-widths-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select/select-dirty-parent-pref-widths-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select/select-disabled-appearance-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select/select-disabled-appearance-expected.png
index 39ee6ce5..548dfc7 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select/select-disabled-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select/select-disabled-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select/select-initial-position-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select/select-initial-position-expected.png
index c00e1ec8..ef52ed3b3 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select/select-initial-position-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select/select-initial-position-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select/select-item-background-clip-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select/select-item-background-clip-expected.png
index c2720d6..d46cc39 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select/select-item-background-clip-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select/select-item-background-clip-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select/select-list-box-with-height-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select/select-list-box-with-height-expected.png
index 4e448dd..65abf44 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select/select-list-box-with-height-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select/select-list-box-with-height-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select/select-listbox-multiple-no-focusring-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select/select-listbox-multiple-no-focusring-expected.png
index 7538c3c..c8138d58 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select/select-listbox-multiple-no-focusring-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select/select-listbox-multiple-no-focusring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select/select-multiple-rtl-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select/select-multiple-rtl-expected.png
index 43cba459..2c9d97b 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select/select-multiple-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select/select-multiple-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select/select-overflow-scroll-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select/select-overflow-scroll-expected.png
index 38351af..ff0f20f5 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select/select-overflow-scroll-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select/select-overflow-scroll-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select/select-overflow-scroll-inherited-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select/select-overflow-scroll-inherited-expected.png
index a6a0541..5ade25a 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select/select-overflow-scroll-inherited-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select/select-overflow-scroll-inherited-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select/select-selected-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select/select-selected-expected.png
index cd4b475..a3a6efa 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select/select-selected-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select/select-selected-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select/select-size-invalid-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select/select-size-invalid-expected.png
index 0d0d940..f79925d1 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select/select-size-invalid-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select/select-size-invalid-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select/select-style-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select/select-style-expected.png
index 6325006..701a38f 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select/select-style-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select/select-style-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select/select-visual-hebrew-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select/select-visual-hebrew-expected.png
index 1c8ac69..f01726b0 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select/select-visual-hebrew-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select/select-visual-hebrew-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select/select-writing-direction-natural-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select/select-writing-direction-natural-expected.png
index 3526e469..7458ccf 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select/select-writing-direction-natural-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select/select-writing-direction-natural-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/select/selectlist-minsize-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/select/selectlist-minsize-expected.png
index e070975d..c98eb50 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/select/selectlist-minsize-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/select/selectlist-minsize-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/stuff-on-my-optgroup-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/stuff-on-my-optgroup-expected.png
index 65356eb..d1861a74 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/stuff-on-my-optgroup-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/stuff-on-my-optgroup-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/submit/submit-appearance-basic-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/submit/submit-appearance-basic-expected.png
index 5b8caec..7eb3874d 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/submit/submit-appearance-basic-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/submit/submit-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/date-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/date-suggestion-picker-appearance-expected.png
index 978c797..b4fc4645 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/date-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/date-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/date-suggestion-picker-appearance-rtl-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/date-suggestion-picker-appearance-rtl-expected.png
index 3bfd052..778fc4a5 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/date-suggestion-picker-appearance-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/date-suggestion-picker-appearance-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/date-suggestion-picker-appearance-with-scroll-bar-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/date-suggestion-picker-appearance-with-scroll-bar-expected.png
index 84de5743..3e56de92 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/date-suggestion-picker-appearance-with-scroll-bar-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/date-suggestion-picker-appearance-with-scroll-bar-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
index 3edfa3d..66c01d1 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-locale-hebrew-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-locale-hebrew-expected.png
index 6f9fd0f..d540103 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-locale-hebrew-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-locale-hebrew-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-rtl-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-rtl-expected.png
index 16d830e3..1ad4dc3 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-with-scroll-bar-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-with-scroll-bar-expected.png
index 7844d3b..db5becf 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-with-scroll-bar-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-with-scroll-bar-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/month-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/month-suggestion-picker-appearance-expected.png
index 2cd0a37..4cb8ad2 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/month-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/month-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/month-suggestion-picker-appearance-rtl-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/month-suggestion-picker-appearance-rtl-expected.png
index 133e6c4..baefd39 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/month-suggestion-picker-appearance-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/month-suggestion-picker-appearance-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/month-suggestion-picker-appearance-with-scroll-bar-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/month-suggestion-picker-appearance-with-scroll-bar-expected.png
index 0dd9e50..24afbda 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/month-suggestion-picker-appearance-with-scroll-bar-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/month-suggestion-picker-appearance-with-scroll-bar-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/time-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/time-suggestion-picker-appearance-expected.png
index 796ee54..2dcc7a9 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/time-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/time-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/time-suggestion-picker-appearance-locale-hebrew-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/time-suggestion-picker-appearance-locale-hebrew-expected.png
index fd61716..2e3b91b 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/time-suggestion-picker-appearance-locale-hebrew-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/time-suggestion-picker-appearance-locale-hebrew-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/time-suggestion-picker-appearance-rtl-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/time-suggestion-picker-appearance-rtl-expected.png
index 6cb5e865..9b755186 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/time-suggestion-picker-appearance-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/time-suggestion-picker-appearance-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/time-suggestion-picker-appearance-with-scroll-bar-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/time-suggestion-picker-appearance-with-scroll-bar-expected.png
index 6bec25102..b26438d5 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/time-suggestion-picker-appearance-with-scroll-bar-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/time-suggestion-picker-appearance-with-scroll-bar-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/week-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/week-suggestion-picker-appearance-expected.png
index 29ca1e3..02e8ca0 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/week-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/week-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/week-suggestion-picker-appearance-rtl-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/week-suggestion-picker-appearance-rtl-expected.png
index 4f107b6b..f656637 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/week-suggestion-picker-appearance-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/week-suggestion-picker-appearance-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/week-suggestion-picker-appearance-with-scroll-bar-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/week-suggestion-picker-appearance-with-scroll-bar-expected.png
index 3c08764..4b21b50 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/week-suggestion-picker-appearance-with-scroll-bar-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/suggestion-picker/week-suggestion-picker-appearance-with-scroll-bar-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/tabbing-input-iframe-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/tabbing-input-iframe-expected.png
index d75831b2..3a85d97f 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/tabbing-input-iframe-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/tabbing-input-iframe-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/targeted-frame-submission-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/targeted-frame-submission-expected.png
index 60306c4..0ff445e 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/targeted-frame-submission-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/targeted-frame-submission-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/text-style-color-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/text-style-color-expected.png
index 89a9a65..d4e051b 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/text-style-color-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/text-style-color-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/text/input-appearance-default-bkcolor-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/text/input-appearance-default-bkcolor-expected.png
index 9442eb46..21aafd0 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/text/input-appearance-default-bkcolor-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/text/input-appearance-default-bkcolor-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/text/input-appearance-disabled-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/text/input-appearance-disabled-expected.png
index 531d5c3..6df4532 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/text/input-appearance-disabled-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/text/input-appearance-disabled-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/text/input-appearance-focus-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/text/input-appearance-focus-expected.png
index 73a54bad..2e12a14 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/text/input-appearance-focus-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/text/input-appearance-focus-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/text/input-appearance-preventDefault-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/text/input-appearance-preventDefault-expected.png
index fdfcbf2..3a45f2a 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/text/input-appearance-preventDefault-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/text/input-appearance-preventDefault-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/text/input-appearance-readonly-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/text/input-appearance-readonly-expected.png
index 3b4a450..7951b32 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/text/input-appearance-readonly-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/text/input-appearance-readonly-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/text/input-appearance-selection-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/text/input-appearance-selection-expected.png
index db51827..77e5b5b9 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/text/input-appearance-selection-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/text/input-appearance-selection-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/text/input-appearance-visibility-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/text/input-appearance-visibility-expected.png
index ba4a4919..f0b89ad 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/text/input-appearance-visibility-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/text/input-appearance-visibility-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/text/input-appearance-width-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/text/input-appearance-width-expected.png
index cface31..e24fb10c 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/text/input-appearance-width-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/text/input-appearance-width-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/text/input-baseline-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/text/input-baseline-expected.png
index a67897a..dff689b 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/text/input-baseline-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/text/input-baseline-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/text/input-disabled-color-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/text/input-disabled-color-expected.png
index 2ba19a6..12f0615a 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/text/input-disabled-color-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/text/input-disabled-color-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/text/input-double-click-selection-gap-bug-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/text/input-double-click-selection-gap-bug-expected.png
index 6e2a039..45adf402 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/text/input-double-click-selection-gap-bug-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/text/input-double-click-selection-gap-bug-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/text/input-field-text-truncated-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/text/input-field-text-truncated-expected.png
index d2bbae3..8972217 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/text/input-field-text-truncated-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/text/input-field-text-truncated-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/text/input-placeholder-visibility-1-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/text/input-placeholder-visibility-1-expected.png
index b7a0ba92..70df196 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/text/input-placeholder-visibility-1-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/text/input-placeholder-visibility-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/text/input-placeholder-visibility-3-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/text/input-placeholder-visibility-3-expected.png
index a049dfd7..684347d2 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/text/input-placeholder-visibility-3-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/text/input-placeholder-visibility-3-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/text/input-readonly-autoscroll-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/text/input-readonly-autoscroll-expected.png
index 9cd9117..9a551ee 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/text/input-readonly-autoscroll-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/text/input-readonly-autoscroll-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/text/input-readonly-dimmed-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/text/input-readonly-dimmed-expected.png
index d732c16..4fc5717 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/text/input-readonly-dimmed-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/text/input-readonly-dimmed-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/text/input-readonly-empty-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/text/input-readonly-empty-expected.png
index 4b7fa35..d2d14f7 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/text/input-readonly-empty-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/text/input-readonly-empty-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/text/input-spaces-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/text/input-spaces-expected.png
index f4b6417..f90add1 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/text/input-spaces-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/text/input-spaces-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/text/input-tab-shows-caret-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/text/input-tab-shows-caret-expected.png
index 39edb73..fee7d48 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/text/input-tab-shows-caret-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/text/input-tab-shows-caret-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/text/input-table-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/text/input-table-expected.png
index 3a74772..9975da38 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/text/input-table-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/text/input-table-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/text/input-text-click-inside-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/text/input-text-click-inside-expected.png
index 86c09dd..dade169 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/text/input-text-click-inside-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/text/input-text-click-inside-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/text/input-text-click-outside-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/text/input-text-click-outside-expected.png
index 68a57416..4b0cb11 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/text/input-text-click-outside-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/text/input-text-click-outside-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/text/input-text-double-click-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/text/input-text-double-click-expected.png
index 137509c..49a091f7 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/text/input-text-double-click-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/text/input-text-double-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/text/input-text-drag-down-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/text/input-text-drag-down-expected.png
index aa7dfb2..8929b09 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/text/input-text-drag-down-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/text/input-text-drag-down-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/text/input-text-option-delete-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/text/input-text-option-delete-expected.png
index 5e250b7..6902d4a 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/text/input-text-option-delete-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/text/input-text-option-delete-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/text/input-text-scroll-left-on-blur-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/text/input-text-scroll-left-on-blur-expected.png
index 92461294..7650eaf2 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/text/input-text-scroll-left-on-blur-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/text/input-text-scroll-left-on-blur-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/text/input-text-self-emptying-click-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/text/input-text-self-emptying-click-expected.png
index e42d0dc0..8bd9960 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/text/input-text-self-emptying-click-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/text/input-text-self-emptying-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/text/input-text-word-wrap-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/text/input-text-word-wrap-expected.png
index ee3f8fa..29d2db1 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/text/input-text-word-wrap-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/text/input-text-word-wrap-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/text/input-width-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/text/input-width-expected.png
index c1c78da..4938b73f 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/text/input-width-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/text/input-width-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/text/text-appearance-basic-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/text/text-appearance-basic-expected.png
index 8a75ed6..0d8f43d 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/text/text-appearance-basic-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/text/text-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/text/text-appearance-datalist-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/text/text-appearance-datalist-expected.png
index b790f76d..ad6241b 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/text/text-appearance-datalist-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/text/text-appearance-datalist-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/text/text-font-height-mismatch-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/text/text-font-height-mismatch-expected.png
index 9b36490f..0b30b72 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/text/text-font-height-mismatch-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/text/text-font-height-mismatch-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/text/textfield-focus-ring-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/text/textfield-focus-ring-expected.png
index ca7cd56..993b5cd 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/text/textfield-focus-ring-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/text/textfield-focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/text/textfield-overflow-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/text/textfield-overflow-expected.png
index 24a325b3..86aded5 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/text/textfield-overflow-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/text/textfield-overflow-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/textarea/basic-textareas-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/textarea/basic-textareas-expected.png
index 7f09d44..8c231975 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/textarea/basic-textareas-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/textarea/basic-textareas-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/textarea/basic-textareas-quirks-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/textarea/basic-textareas-quirks-expected.png
index 25793b0..fb36fa8 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/textarea/basic-textareas-quirks-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/textarea/basic-textareas-quirks-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/textarea/placeholder-appearance-textarea-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/textarea/placeholder-appearance-textarea-expected.png
index f270d1a..be3f9c1 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/textarea/placeholder-appearance-textarea-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/textarea/placeholder-appearance-textarea-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/textarea/reset-textarea-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/textarea/reset-textarea-expected.png
index 872bf57..1466431 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/textarea/reset-textarea-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/textarea/reset-textarea-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/textarea/textAreaLineHeight-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/textarea/textAreaLineHeight-expected.png
index 91c68ddb..782aea0 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/textarea/textAreaLineHeight-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/textarea/textAreaLineHeight-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/textarea/textarea-align-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/textarea/textarea-align-expected.png
index 0d5316deb..79fa0408 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/textarea/textarea-align-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/textarea/textarea-align-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/textarea/textarea-placeholder-visibility-1-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/textarea/textarea-placeholder-visibility-1-expected.png
index c79b237..0e81562d 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/textarea/textarea-placeholder-visibility-1-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/textarea/textarea-placeholder-visibility-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/textarea/textarea-placeholder-visibility-2-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/textarea/textarea-placeholder-visibility-2-expected.png
index 604abab..40f37fd6 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/textarea/textarea-placeholder-visibility-2-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/textarea/textarea-placeholder-visibility-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/textarea/textarea-scroll-height-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/textarea/textarea-scroll-height-expected.png
index 14f5c4f70..e99ced4 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/textarea/textarea-scroll-height-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/textarea/textarea-scroll-height-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/textarea/textarea-scrollbar-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/textarea/textarea-scrollbar-expected.png
index 82bd13a..ea57da9 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/textarea/textarea-scrollbar-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/textarea/textarea-scrollbar-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/textarea/textarea-scrolled-focus-ring-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/textarea/textarea-scrolled-focus-ring-expected.png
index 9e26f35..ac4af11 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/textarea/textarea-scrolled-focus-ring-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/textarea/textarea-scrolled-focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/textarea/textarea-scrolled-type-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/textarea/textarea-scrolled-type-expected.png
index 38af5a4..68cfa4d 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/textarea/textarea-scrolled-type-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/textarea/textarea-scrolled-type-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/textarea/textarea-setinnerhtml-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/textarea/textarea-setinnerhtml-expected.png
index 95ae970..7d2cb66 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/textarea/textarea-setinnerhtml-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/textarea/textarea-setinnerhtml-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/textarea/textarea-width-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/textarea/textarea-width-expected.png
index c49a6743..62747d9 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/textarea/textarea-width-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/textarea/textarea-width-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/time/time-appearance-basic-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/time/time-appearance-basic-expected.png
index a2386447d..40cbb90c 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/time/time-appearance-basic-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/time/time-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/time/time-appearance-pseudo-elements-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/time/time-appearance-pseudo-elements-expected.png
index b3d0d8f3..9a058a0 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/time/time-appearance-pseudo-elements-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/time/time-appearance-pseudo-elements-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/validation-bubble-appearance-edge-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/validation-bubble-appearance-edge-expected.png
index 3fffe77..9898cc3 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/validation-bubble-appearance-edge-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/validation-bubble-appearance-edge-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/validation-bubble-appearance-escape-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/validation-bubble-appearance-escape-expected.png
index f3d3cdf..8b3ed6b 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/validation-bubble-appearance-escape-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/validation-bubble-appearance-escape-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/validation-bubble-appearance-iframe-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/validation-bubble-appearance-iframe-expected.png
index d0c88f8..a480f07c 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/validation-bubble-appearance-iframe-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/validation-bubble-appearance-iframe-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/validation-bubble-appearance-rtl-ui-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/validation-bubble-appearance-rtl-ui-expected.png
index e9687752..6304707 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/validation-bubble-appearance-rtl-ui-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/validation-bubble-appearance-rtl-ui-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/validation-bubble-appearance-wrap-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/validation-bubble-appearance-wrap-expected.png
index 15417b5..be9e133 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/validation-bubble-appearance-wrap-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/validation-bubble-appearance-wrap-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/validation-bubble-device-emulation-change-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/validation-bubble-device-emulation-change-expected.png
index 0210a59..1179083 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/validation-bubble-device-emulation-change-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/validation-bubble-device-emulation-change-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/validation-bubble-device-emulation-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/validation-bubble-device-emulation-expected.png
index 0210a59..1179083 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/validation-bubble-device-emulation-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/validation-bubble-device-emulation-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/visual-hebrew-text-field-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/visual-hebrew-text-field-expected.png
index 4fa196b..1c6d2b03 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/visual-hebrew-text-field-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/visual-hebrew-text-field-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/week/week-appearance-basic-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/week/week-appearance-basic-expected.png
index eb71d6b..1b4e015 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/week/week-appearance-basic-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/week/week-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/week/week-appearance-pseudo-elements-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/week/week-appearance-pseudo-elements-expected.png
index 16eaf62..d52e8d8 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/week/week-appearance-pseudo-elements-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/week/week-appearance-pseudo-elements-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/frames/frame-scrolling-attribute-expected.png b/third_party/blink/web_tests/platform/win/fast/frames/frame-scrolling-attribute-expected.png
index bb5e941..ae8a65a2 100644
--- a/third_party/blink/web_tests/platform/win/fast/frames/frame-scrolling-attribute-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/frames/frame-scrolling-attribute-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/frames/iframe-scaling-with-scroll-expected.png b/third_party/blink/web_tests/platform/win/fast/frames/iframe-scaling-with-scroll-expected.png
index 874c82b..81fb38a 100644
--- a/third_party/blink/web_tests/platform/win/fast/frames/iframe-scaling-with-scroll-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/frames/iframe-scaling-with-scroll-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/frames/iframe-scrolling-attribute-expected.png b/third_party/blink/web_tests/platform/win/fast/frames/iframe-scrolling-attribute-expected.png
index d0ab2055..0c02db55 100644
--- a/third_party/blink/web_tests/platform/win/fast/frames/iframe-scrolling-attribute-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/frames/iframe-scrolling-attribute-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/frames/invalid-expected.png b/third_party/blink/web_tests/platform/win/fast/frames/invalid-expected.png
index ddf66d1..3c34b4a 100644
--- a/third_party/blink/web_tests/platform/win/fast/frames/invalid-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/frames/invalid-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/frames/onlyCommentInIFrame-expected.png b/third_party/blink/web_tests/platform/win/fast/frames/onlyCommentInIFrame-expected.png
index 347afa5..994e6ac 100644
--- a/third_party/blink/web_tests/platform/win/fast/frames/onlyCommentInIFrame-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/frames/onlyCommentInIFrame-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/frames/valid-expected.png b/third_party/blink/web_tests/platform/win/fast/frames/valid-expected.png
index ddf66d1..3c34b4a 100644
--- a/third_party/blink/web_tests/platform/win/fast/frames/valid-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/frames/valid-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/gradients/css3-color-stop-units-expected.png b/third_party/blink/web_tests/platform/win/fast/gradients/css3-color-stop-units-expected.png
index e617582f..41679cd3 100644
--- a/third_party/blink/web_tests/platform/win/fast/gradients/css3-color-stop-units-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/gradients/css3-color-stop-units-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/hidpi/resize-corner-hidpi-expected.png b/third_party/blink/web_tests/platform/win/fast/hidpi/resize-corner-hidpi-expected.png
index bd408a56..21a89bf2 100644
--- a/third_party/blink/web_tests/platform/win/fast/hidpi/resize-corner-hidpi-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/hidpi/resize-corner-hidpi-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/hidpi/scrollbar-appearance-decrease-device-scale-factor-expected.png b/third_party/blink/web_tests/platform/win/fast/hidpi/scrollbar-appearance-decrease-device-scale-factor-expected.png
index f18d8a56..eb1b93b 100644
--- a/third_party/blink/web_tests/platform/win/fast/hidpi/scrollbar-appearance-decrease-device-scale-factor-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/hidpi/scrollbar-appearance-decrease-device-scale-factor-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/hidpi/scrollbar-appearance-increase-device-scale-factor-expected.png b/third_party/blink/web_tests/platform/win/fast/hidpi/scrollbar-appearance-increase-device-scale-factor-expected.png
index 4a220d7..905cb127 100644
--- a/third_party/blink/web_tests/platform/win/fast/hidpi/scrollbar-appearance-increase-device-scale-factor-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/hidpi/scrollbar-appearance-increase-device-scale-factor-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/inline-block/tricky-baseline-expected.png b/third_party/blink/web_tests/platform/win/fast/inline-block/tricky-baseline-expected.png
index 00470ae..a2f6671 100644
--- a/third_party/blink/web_tests/platform/win/fast/inline-block/tricky-baseline-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/inline-block/tricky-baseline-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/inline/inline-borders-with-bidi-override-expected.png b/third_party/blink/web_tests/platform/win/fast/inline/inline-borders-with-bidi-override-expected.png
index c89504ea..59c326b 100644
--- a/third_party/blink/web_tests/platform/win/fast/inline/inline-borders-with-bidi-override-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/inline/inline-borders-with-bidi-override-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/inline/inline-continuation-borders-expected.png b/third_party/blink/web_tests/platform/win/fast/inline/inline-continuation-borders-expected.png
index 38fd679..35716af 100644
--- a/third_party/blink/web_tests/platform/win/fast/inline/inline-continuation-borders-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/inline/inline-continuation-borders-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/inline/positionedLifetime-expected.png b/third_party/blink/web_tests/platform/win/fast/inline/positionedLifetime-expected.png
index 34f6023..9ad0451b8 100644
--- a/third_party/blink/web_tests/platform/win/fast/inline/positionedLifetime-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/inline/positionedLifetime-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/invalid/014-expected.png b/third_party/blink/web_tests/platform/win/fast/invalid/014-expected.png
index e8fe0e2..76bfc14 100644
--- a/third_party/blink/web_tests/platform/win/fast/invalid/014-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/invalid/014-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/layers/overflow-scroll-auto-switch-expected.png b/third_party/blink/web_tests/platform/win/fast/layers/overflow-scroll-auto-switch-expected.png
index 33650b7..8f89dcee 100644
--- a/third_party/blink/web_tests/platform/win/fast/layers/overflow-scroll-auto-switch-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/layers/overflow-scroll-auto-switch-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/layers/scroll-rect-to-visible-expected.png b/third_party/blink/web_tests/platform/win/fast/layers/scroll-rect-to-visible-expected.png
index 5b0abf7..cdd03b5 100644
--- a/third_party/blink/web_tests/platform/win/fast/layers/scroll-rect-to-visible-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/layers/scroll-rect-to-visible-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/layers/scroll-with-transform-composited-layer-expected.png b/third_party/blink/web_tests/platform/win/fast/layers/scroll-with-transform-composited-layer-expected.png
index c24521a..209d13bc 100644
--- a/third_party/blink/web_tests/platform/win/fast/layers/scroll-with-transform-composited-layer-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/layers/scroll-with-transform-composited-layer-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/layers/scroll-with-transform-layer-expected.png b/third_party/blink/web_tests/platform/win/fast/layers/scroll-with-transform-layer-expected.png
index 8bc106ba..209d13bc 100644
--- a/third_party/blink/web_tests/platform/win/fast/layers/scroll-with-transform-layer-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/layers/scroll-with-transform-layer-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/lists/008-expected.png b/third_party/blink/web_tests/platform/win/fast/lists/008-expected.png
index 49be63b2..fed5bdec 100644
--- a/third_party/blink/web_tests/platform/win/fast/lists/008-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/lists/008-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/lists/drag-into-marker-expected.png b/third_party/blink/web_tests/platform/win/fast/lists/drag-into-marker-expected.png
index 7f04953..34eb2e0 100644
--- a/third_party/blink/web_tests/platform/win/fast/lists/drag-into-marker-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/lists/drag-into-marker-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/lists/dynamic-marker-crash-expected.png b/third_party/blink/web_tests/platform/win/fast/lists/dynamic-marker-crash-expected.png
index ec219d1..f4387ff5 100644
--- a/third_party/blink/web_tests/platform/win/fast/lists/dynamic-marker-crash-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/lists/dynamic-marker-crash-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/lists/markers-in-selection-expected.png b/third_party/blink/web_tests/platform/win/fast/lists/markers-in-selection-expected.png
index d57a8a6..0bde1b0 100644
--- a/third_party/blink/web_tests/platform/win/fast/lists/markers-in-selection-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/lists/markers-in-selection-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/lists/ol-start-parsing-expected.png b/third_party/blink/web_tests/platform/win/fast/lists/ol-start-parsing-expected.png
index 89f930c..7c9edf98 100644
--- a/third_party/blink/web_tests/platform/win/fast/lists/ol-start-parsing-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/lists/ol-start-parsing-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/lists/olstart-expected.png b/third_party/blink/web_tests/platform/win/fast/lists/olstart-expected.png
index 0a87b598..161cee0 100644
--- a/third_party/blink/web_tests/platform/win/fast/lists/olstart-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/lists/olstart-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/multicol/input-with-overflow-second-column-expected.png b/third_party/blink/web_tests/platform/win/fast/multicol/input-with-overflow-second-column-expected.png
index 0e349363..9c4b3c3 100644
--- a/third_party/blink/web_tests/platform/win/fast/multicol/input-with-overflow-second-column-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/multicol/input-with-overflow-second-column-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/multicol/multicol-with-child-renderLayer-for-input-expected.png b/third_party/blink/web_tests/platform/win/fast/multicol/multicol-with-child-renderLayer-for-input-expected.png
index 0035d23..deb702a 100644
--- a/third_party/blink/web_tests/platform/win/fast/multicol/multicol-with-child-renderLayer-for-input-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/multicol/multicol-with-child-renderLayer-for-input-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/overflow/002-expected.png b/third_party/blink/web_tests/platform/win/fast/overflow/002-expected.png
index 0b54ab2..5c49292 100644
--- a/third_party/blink/web_tests/platform/win/fast/overflow/002-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/overflow/002-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/overflow/003-expected.png b/third_party/blink/web_tests/platform/win/fast/overflow/003-expected.png
index 9999fa56..fc06cf6 100644
--- a/third_party/blink/web_tests/platform/win/fast/overflow/003-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/overflow/003-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/overflow/005-expected.png b/third_party/blink/web_tests/platform/win/fast/overflow/005-expected.png
index 444e7cf..5825c3f 100644
--- a/third_party/blink/web_tests/platform/win/fast/overflow/005-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/overflow/005-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/overflow/006-expected.png b/third_party/blink/web_tests/platform/win/fast/overflow/006-expected.png
index 778d054..8411e6969 100644
--- a/third_party/blink/web_tests/platform/win/fast/overflow/006-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/overflow/006-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/overflow/007-expected.png b/third_party/blink/web_tests/platform/win/fast/overflow/007-expected.png
index 3a8703b..26803c1a 100644
--- a/third_party/blink/web_tests/platform/win/fast/overflow/007-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/overflow/007-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/overflow/008-expected.png b/third_party/blink/web_tests/platform/win/fast/overflow/008-expected.png
index 3ddc89b..c42b9ee 100644
--- a/third_party/blink/web_tests/platform/win/fast/overflow/008-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/overflow/008-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/overflow/childFocusRingClip-expected.png b/third_party/blink/web_tests/platform/win/fast/overflow/childFocusRingClip-expected.png
index e363b89..c5ccd8f 100644
--- a/third_party/blink/web_tests/platform/win/fast/overflow/childFocusRingClip-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/overflow/childFocusRingClip-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/overflow/clip-rects-fixed-ancestor-expected.png b/third_party/blink/web_tests/platform/win/fast/overflow/clip-rects-fixed-ancestor-expected.png
index b1cce59..2581489 100644
--- a/third_party/blink/web_tests/platform/win/fast/overflow/clip-rects-fixed-ancestor-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/overflow/clip-rects-fixed-ancestor-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/overflow/float-in-relpositioned-expected.png b/third_party/blink/web_tests/platform/win/fast/overflow/float-in-relpositioned-expected.png
index dde51e3..1a81d68 100644
--- a/third_party/blink/web_tests/platform/win/fast/overflow/float-in-relpositioned-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/overflow/float-in-relpositioned-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/overflow/hit-test-overflow-controls-expected.png b/third_party/blink/web_tests/platform/win/fast/overflow/hit-test-overflow-controls-expected.png
index 478b21e..60f89b8 100644
--- a/third_party/blink/web_tests/platform/win/fast/overflow/hit-test-overflow-controls-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/overflow/hit-test-overflow-controls-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/overflow/image-selection-highlight-expected.png b/third_party/blink/web_tests/platform/win/fast/overflow/image-selection-highlight-expected.png
index c42807c9..8659407d 100644
--- a/third_party/blink/web_tests/platform/win/fast/overflow/image-selection-highlight-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/overflow/image-selection-highlight-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/overflow/overflow-auto-position-absolute-expected.png b/third_party/blink/web_tests/platform/win/fast/overflow/overflow-auto-position-absolute-expected.png
index 94aca94d..4c60a62 100644
--- a/third_party/blink/web_tests/platform/win/fast/overflow/overflow-auto-position-absolute-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/overflow/overflow-auto-position-absolute-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/overflow/overflow-float-stacking-expected.png b/third_party/blink/web_tests/platform/win/fast/overflow/overflow-float-stacking-expected.png
index 1efbf2f7..d5a39889 100644
--- a/third_party/blink/web_tests/platform/win/fast/overflow/overflow-float-stacking-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/overflow/overflow-float-stacking-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/overflow/overflow-rtl-expected.png b/third_party/blink/web_tests/platform/win/fast/overflow/overflow-rtl-expected.png
index 73fbc75..5e162d0a 100644
--- a/third_party/blink/web_tests/platform/win/fast/overflow/overflow-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/overflow/overflow-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/overflow/overflow-rtl-vertical-expected.png b/third_party/blink/web_tests/platform/win/fast/overflow/overflow-rtl-vertical-expected.png
index edd171f..6ddbc8b 100644
--- a/third_party/blink/web_tests/platform/win/fast/overflow/overflow-rtl-vertical-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/overflow/overflow-rtl-vertical-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/overflow/overflow-stacking-expected.png b/third_party/blink/web_tests/platform/win/fast/overflow/overflow-stacking-expected.png
index eaa48aa1..6663a0c 100644
--- a/third_party/blink/web_tests/platform/win/fast/overflow/overflow-stacking-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/overflow/overflow-stacking-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/overflow/overflow-text-hit-testing-expected.png b/third_party/blink/web_tests/platform/win/fast/overflow/overflow-text-hit-testing-expected.png
index d502dd3..aa336932 100644
--- a/third_party/blink/web_tests/platform/win/fast/overflow/overflow-text-hit-testing-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/overflow/overflow-text-hit-testing-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/overflow/overflow-update-transform-expected.png b/third_party/blink/web_tests/platform/win/fast/overflow/overflow-update-transform-expected.png
index 9c58860e..dd92256 100644
--- a/third_party/blink/web_tests/platform/win/fast/overflow/overflow-update-transform-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/overflow/overflow-update-transform-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/overflow/overflow-with-local-background-attachment-expected.png b/third_party/blink/web_tests/platform/win/fast/overflow/overflow-with-local-background-attachment-expected.png
index 40ff31b..fd7e5234 100644
--- a/third_party/blink/web_tests/platform/win/fast/overflow/overflow-with-local-background-attachment-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/overflow/overflow-with-local-background-attachment-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/overflow/overflow-x-y-expected.png b/third_party/blink/web_tests/platform/win/fast/overflow/overflow-x-y-expected.png
index 3780869e..82f4f19 100644
--- a/third_party/blink/web_tests/platform/win/fast/overflow/overflow-x-y-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/overflow/overflow-x-y-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/overflow/position-fixed-transform-clipping-expected.png b/third_party/blink/web_tests/platform/win/fast/overflow/position-fixed-transform-clipping-expected.png
index 335ebb78..258c6ea 100644
--- a/third_party/blink/web_tests/platform/win/fast/overflow/position-fixed-transform-clipping-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/overflow/position-fixed-transform-clipping-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.png b/third_party/blink/web_tests/platform/win/fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.png
index 568a054..b944ec9 100644
--- a/third_party/blink/web_tests/platform/win/fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/overflow/scrollRevealButton-expected.png b/third_party/blink/web_tests/platform/win/fast/overflow/scrollRevealButton-expected.png
index 240b30e..498354b 100644
--- a/third_party/blink/web_tests/platform/win/fast/overflow/scrollRevealButton-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/overflow/scrollRevealButton-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/overflow/scrollbar-position-update-expected.png b/third_party/blink/web_tests/platform/win/fast/overflow/scrollbar-position-update-expected.png
index 3b04365a5..6b2c835 100644
--- a/third_party/blink/web_tests/platform/win/fast/overflow/scrollbar-position-update-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/overflow/scrollbar-position-update-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/overflow/table-overflow-float-expected.png b/third_party/blink/web_tests/platform/win/fast/overflow/table-overflow-float-expected.png
index 00b7c5a7..1392d351 100644
--- a/third_party/blink/web_tests/platform/win/fast/overflow/table-overflow-float-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/overflow/table-overflow-float-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/overflow/unreachable-overflow-rtl-bug-expected.png b/third_party/blink/web_tests/platform/win/fast/overflow/unreachable-overflow-rtl-bug-expected.png
index 32ce43a..0114783 100644
--- a/third_party/blink/web_tests/platform/win/fast/overflow/unreachable-overflow-rtl-bug-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/overflow/unreachable-overflow-rtl-bug-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/parser/bad-xml-slash-expected.png b/third_party/blink/web_tests/platform/win/fast/parser/bad-xml-slash-expected.png
index f76c6fd..1f67ca6 100644
--- a/third_party/blink/web_tests/platform/win/fast/parser/bad-xml-slash-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/parser/bad-xml-slash-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/parser/document-write-option-expected.png b/third_party/blink/web_tests/platform/win/fast/parser/document-write-option-expected.png
index f4c41a4..f4045f4a 100644
--- a/third_party/blink/web_tests/platform/win/fast/parser/document-write-option-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/parser/document-write-option-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/parser/entity-comment-in-textarea-expected.png b/third_party/blink/web_tests/platform/win/fast/parser/entity-comment-in-textarea-expected.png
index 9c7b966..d36ce40 100644
--- a/third_party/blink/web_tests/platform/win/fast/parser/entity-comment-in-textarea-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/parser/entity-comment-in-textarea-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/parser/open-comment-in-textarea-expected.png b/third_party/blink/web_tests/platform/win/fast/parser/open-comment-in-textarea-expected.png
index 980dedf..4f552b17 100644
--- a/third_party/blink/web_tests/platform/win/fast/parser/open-comment-in-textarea-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/parser/open-comment-in-textarea-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/reflections/inline-crash-expected.png b/third_party/blink/web_tests/platform/win/fast/reflections/inline-crash-expected.png
index ce21a7c3..d0e160a03 100644
--- a/third_party/blink/web_tests/platform/win/fast/reflections/inline-crash-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/reflections/inline-crash-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/replaced/border-radius-clip-expected.png b/third_party/blink/web_tests/platform/win/fast/replaced/border-radius-clip-expected.png
index 7bce349..517e299e 100644
--- a/third_party/blink/web_tests/platform/win/fast/replaced/border-radius-clip-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/replaced/border-radius-clip-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/replaced/replaced-breaking-expected.png b/third_party/blink/web_tests/platform/win/fast/replaced/replaced-breaking-expected.png
index 3049b11..a12437b 100644
--- a/third_party/blink/web_tests/platform/win/fast/replaced/replaced-breaking-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/replaced/replaced-breaking-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/replaced/replaced-breaking-mixture-expected.png b/third_party/blink/web_tests/platform/win/fast/replaced/replaced-breaking-mixture-expected.png
index 8e24487..b209257 100644
--- a/third_party/blink/web_tests/platform/win/fast/replaced/replaced-breaking-mixture-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/replaced/replaced-breaking-mixture-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/replaced/three-selects-break-expected.png b/third_party/blink/web_tests/platform/win/fast/replaced/three-selects-break-expected.png
index 050b716..966c907 100644
--- a/third_party/blink/web_tests/platform/win/fast/replaced/three-selects-break-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/replaced/three-selects-break-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/replaced/width100percent-button-expected.png b/third_party/blink/web_tests/platform/win/fast/replaced/width100percent-button-expected.png
index 023e31d..41cda98b 100644
--- a/third_party/blink/web_tests/platform/win/fast/replaced/width100percent-button-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/replaced/width100percent-button-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/replaced/width100percent-checkbox-expected.png b/third_party/blink/web_tests/platform/win/fast/replaced/width100percent-checkbox-expected.png
index 76f15b9..408cbc2 100644
--- a/third_party/blink/web_tests/platform/win/fast/replaced/width100percent-checkbox-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/replaced/width100percent-checkbox-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/replaced/width100percent-menulist-expected.png b/third_party/blink/web_tests/platform/win/fast/replaced/width100percent-menulist-expected.png
index b18e828..a4aa009 100644
--- a/third_party/blink/web_tests/platform/win/fast/replaced/width100percent-menulist-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/replaced/width100percent-menulist-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/replaced/width100percent-radio-expected.png b/third_party/blink/web_tests/platform/win/fast/replaced/width100percent-radio-expected.png
index c3719e936..a3abbb3c 100644
--- a/third_party/blink/web_tests/platform/win/fast/replaced/width100percent-radio-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/replaced/width100percent-radio-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/replaced/width100percent-searchfield-expected.png b/third_party/blink/web_tests/platform/win/fast/replaced/width100percent-searchfield-expected.png
index 78d373f..6ec363a 100644
--- a/third_party/blink/web_tests/platform/win/fast/replaced/width100percent-searchfield-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/replaced/width100percent-searchfield-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/replaced/width100percent-textarea-expected.png b/third_party/blink/web_tests/platform/win/fast/replaced/width100percent-textarea-expected.png
index 4213dff5..912076f 100644
--- a/third_party/blink/web_tests/platform/win/fast/replaced/width100percent-textarea-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/replaced/width100percent-textarea-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/replaced/width100percent-textfield-expected.png b/third_party/blink/web_tests/platform/win/fast/replaced/width100percent-textfield-expected.png
index 88d29e7e..e077fb01 100644
--- a/third_party/blink/web_tests/platform/win/fast/replaced/width100percent-textfield-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/replaced/width100percent-textfield-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/ruby/select-ruby-expected.png b/third_party/blink/web_tests/platform/win/fast/ruby/select-ruby-expected.png
index 4fd5138..89d6da8 100644
--- a/third_party/blink/web_tests/platform/win/fast/ruby/select-ruby-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/ruby/select-ruby-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/selectors/064-expected.png b/third_party/blink/web_tests/platform/win/fast/selectors/064-expected.png
index 29123b3..832908c 100644
--- a/third_party/blink/web_tests/platform/win/fast/selectors/064-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/selectors/064-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/selectors/166-expected.png b/third_party/blink/web_tests/platform/win/fast/selectors/166-expected.png
index 6691d73..91a4f426 100644
--- a/third_party/blink/web_tests/platform/win/fast/selectors/166-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/selectors/166-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/selectors/177a-expected.png b/third_party/blink/web_tests/platform/win/fast/selectors/177a-expected.png
index 38b912c..d71292b 100644
--- a/third_party/blink/web_tests/platform/win/fast/selectors/177a-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/selectors/177a-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/spatial-navigation/snav-multiple-select-focusring-expected.png b/third_party/blink/web_tests/platform/win/fast/spatial-navigation/snav-multiple-select-focusring-expected.png
index cfea70b..b172d61 100644
--- a/third_party/blink/web_tests/platform/win/fast/spatial-navigation/snav-multiple-select-focusring-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/spatial-navigation/snav-multiple-select-focusring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/table/003-expected.png b/third_party/blink/web_tests/platform/win/fast/table/003-expected.png
index 0def4301..9982e14 100644
--- a/third_party/blink/web_tests/platform/win/fast/table/003-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/table/003-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/table/023-expected.png b/third_party/blink/web_tests/platform/win/fast/table/023-expected.png
index a53b6f329..f6d55b8 100644
--- a/third_party/blink/web_tests/platform/win/fast/table/023-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/table/023-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/table/027-vertical-expected.png b/third_party/blink/web_tests/platform/win/fast/table/027-vertical-expected.png
index 0738cf5..b8f11af 100644
--- a/third_party/blink/web_tests/platform/win/fast/table/027-vertical-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/table/027-vertical-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/table/040-expected.png b/third_party/blink/web_tests/platform/win/fast/table/040-expected.png
index 88d4720..8795eb0 100644
--- a/third_party/blink/web_tests/platform/win/fast/table/040-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/table/040-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/table/040-vertical-expected.png b/third_party/blink/web_tests/platform/win/fast/table/040-vertical-expected.png
index e1a690ed..8e7c2f4c 100644
--- a/third_party/blink/web_tests/platform/win/fast/table/040-vertical-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/table/040-vertical-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/table/append-cells2-expected.png b/third_party/blink/web_tests/platform/win/fast/table/append-cells2-expected.png
index 9dbbd81..ee7c93b 100644
--- a/third_party/blink/web_tests/platform/win/fast/table/append-cells2-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/table/append-cells2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/table/backgr_border-table-cell-collapsed-border-expected.png b/third_party/blink/web_tests/platform/win/fast/table/backgr_border-table-cell-collapsed-border-expected.png
index d3981db..7c0ad94 100644
--- a/third_party/blink/web_tests/platform/win/fast/table/backgr_border-table-cell-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/table/backgr_border-table-cell-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/table/backgr_border-table-cell-expected.png b/third_party/blink/web_tests/platform/win/fast/table/backgr_border-table-cell-expected.png
index 74f7d87..c3205e1 100644
--- a/third_party/blink/web_tests/platform/win/fast/table/backgr_border-table-cell-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/table/backgr_border-table-cell-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/table/backgr_border-table-column-collapsed-border-expected.png b/third_party/blink/web_tests/platform/win/fast/table/backgr_border-table-column-collapsed-border-expected.png
index 3fe7807..33a0c6d5 100644
--- a/third_party/blink/web_tests/platform/win/fast/table/backgr_border-table-column-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/table/backgr_border-table-column-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/table/backgr_border-table-column-expected.png b/third_party/blink/web_tests/platform/win/fast/table/backgr_border-table-column-expected.png
index c2636b3..ee9016e 100644
--- a/third_party/blink/web_tests/platform/win/fast/table/backgr_border-table-column-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/table/backgr_border-table-column-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/table/backgr_border-table-column-group-collapsed-border-expected.png b/third_party/blink/web_tests/platform/win/fast/table/backgr_border-table-column-group-collapsed-border-expected.png
index b31e3a1..2cb4b512c 100644
--- a/third_party/blink/web_tests/platform/win/fast/table/backgr_border-table-column-group-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/table/backgr_border-table-column-group-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/table/backgr_border-table-column-group-expected.png b/third_party/blink/web_tests/platform/win/fast/table/backgr_border-table-column-group-expected.png
index 1d15e1c..f441839 100644
--- a/third_party/blink/web_tests/platform/win/fast/table/backgr_border-table-column-group-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/table/backgr_border-table-column-group-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/table/backgr_border-table-expected.png b/third_party/blink/web_tests/platform/win/fast/table/backgr_border-table-expected.png
index 0ab6c13..42590a5c 100644
--- a/third_party/blink/web_tests/platform/win/fast/table/backgr_border-table-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/table/backgr_border-table-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/table/backgr_border-table-quirks-expected.png b/third_party/blink/web_tests/platform/win/fast/table/backgr_border-table-quirks-expected.png
index 2c8cec0..89a4dfc 100644
--- a/third_party/blink/web_tests/platform/win/fast/table/backgr_border-table-quirks-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/table/backgr_border-table-quirks-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/table/backgr_border-table-row-collapsed-border-expected.png b/third_party/blink/web_tests/platform/win/fast/table/backgr_border-table-row-collapsed-border-expected.png
index a7e95be..39e874d 100644
--- a/third_party/blink/web_tests/platform/win/fast/table/backgr_border-table-row-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/table/backgr_border-table-row-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/table/backgr_border-table-row-expected.png b/third_party/blink/web_tests/platform/win/fast/table/backgr_border-table-row-expected.png
index bda9000b..77923df 100644
--- a/third_party/blink/web_tests/platform/win/fast/table/backgr_border-table-row-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/table/backgr_border-table-row-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/table/backgr_border-table-row-group-collapsed-border-expected.png b/third_party/blink/web_tests/platform/win/fast/table/backgr_border-table-row-group-collapsed-border-expected.png
index f6ebc9f..dc7977b4 100644
--- a/third_party/blink/web_tests/platform/win/fast/table/backgr_border-table-row-group-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/table/backgr_border-table-row-group-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/table/backgr_border-table-row-group-expected.png b/third_party/blink/web_tests/platform/win/fast/table/backgr_border-table-row-group-expected.png
index febe12a9..5bbba04 100644
--- a/third_party/blink/web_tests/platform/win/fast/table/backgr_border-table-row-group-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/table/backgr_border-table-row-group-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/table/backgr_layers-hide-collapsed-border-expected.png b/third_party/blink/web_tests/platform/win/fast/table/backgr_layers-hide-collapsed-border-expected.png
index d7e5e23..bdf6b3d 100644
--- a/third_party/blink/web_tests/platform/win/fast/table/backgr_layers-hide-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/table/backgr_layers-hide-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/table/backgr_layers-hide-expected.png b/third_party/blink/web_tests/platform/win/fast/table/backgr_layers-hide-expected.png
index ac9ac6e0..9a0d402 100644
--- a/third_party/blink/web_tests/platform/win/fast/table/backgr_layers-hide-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/table/backgr_layers-hide-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/table/backgr_layers-show-collapsed-border-expected.png b/third_party/blink/web_tests/platform/win/fast/table/backgr_layers-show-collapsed-border-expected.png
index cae1e3b0..e58c5f7 100644
--- a/third_party/blink/web_tests/platform/win/fast/table/backgr_layers-show-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/table/backgr_layers-show-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/table/backgr_layers-show-expected.png b/third_party/blink/web_tests/platform/win/fast/table/backgr_layers-show-expected.png
index 1ad5600..3b4e98f 100644
--- a/third_party/blink/web_tests/platform/win/fast/table/backgr_layers-show-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/table/backgr_layers-show-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/table/backgr_position-table-cell-collapsed-border-expected.png b/third_party/blink/web_tests/platform/win/fast/table/backgr_position-table-cell-collapsed-border-expected.png
index 72f73579..baf0cb4a 100644
--- a/third_party/blink/web_tests/platform/win/fast/table/backgr_position-table-cell-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/table/backgr_position-table-cell-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/table/backgr_position-table-cell-expected.png b/third_party/blink/web_tests/platform/win/fast/table/backgr_position-table-cell-expected.png
index fcaa8f6..d928d18 100644
--- a/third_party/blink/web_tests/platform/win/fast/table/backgr_position-table-cell-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/table/backgr_position-table-cell-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/table/backgr_position-table-column-collapsed-border-expected.png b/third_party/blink/web_tests/platform/win/fast/table/backgr_position-table-column-collapsed-border-expected.png
index 76a3eaf8..6bb3563 100644
--- a/third_party/blink/web_tests/platform/win/fast/table/backgr_position-table-column-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/table/backgr_position-table-column-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/table/backgr_position-table-column-expected.png b/third_party/blink/web_tests/platform/win/fast/table/backgr_position-table-column-expected.png
index b603d4e..d6bc803 100644
--- a/third_party/blink/web_tests/platform/win/fast/table/backgr_position-table-column-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/table/backgr_position-table-column-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/table/backgr_position-table-column-group-collapsed-border-expected.png b/third_party/blink/web_tests/platform/win/fast/table/backgr_position-table-column-group-collapsed-border-expected.png
index 456b71d..d7597274 100644
--- a/third_party/blink/web_tests/platform/win/fast/table/backgr_position-table-column-group-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/table/backgr_position-table-column-group-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/table/backgr_position-table-column-group-expected.png b/third_party/blink/web_tests/platform/win/fast/table/backgr_position-table-column-group-expected.png
index 6c0b69e..349f048 100644
--- a/third_party/blink/web_tests/platform/win/fast/table/backgr_position-table-column-group-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/table/backgr_position-table-column-group-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/table/backgr_position-table-expected.png b/third_party/blink/web_tests/platform/win/fast/table/backgr_position-table-expected.png
index 1223854..bdeedb9 100644
--- a/third_party/blink/web_tests/platform/win/fast/table/backgr_position-table-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/table/backgr_position-table-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/table/backgr_position-table-row-collapsed-border-expected.png b/third_party/blink/web_tests/platform/win/fast/table/backgr_position-table-row-collapsed-border-expected.png
index 9cdc6ad..9438f72 100644
--- a/third_party/blink/web_tests/platform/win/fast/table/backgr_position-table-row-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/table/backgr_position-table-row-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/table/backgr_position-table-row-expected.png b/third_party/blink/web_tests/platform/win/fast/table/backgr_position-table-row-expected.png
index 04b9b76b..aa44dd0f 100644
--- a/third_party/blink/web_tests/platform/win/fast/table/backgr_position-table-row-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/table/backgr_position-table-row-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/table/backgr_position-table-row-group-collapsed-border-expected.png b/third_party/blink/web_tests/platform/win/fast/table/backgr_position-table-row-group-collapsed-border-expected.png
index 8113c8a..3edd8e6 100644
--- a/third_party/blink/web_tests/platform/win/fast/table/backgr_position-table-row-group-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/table/backgr_position-table-row-group-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/table/backgr_position-table-row-group-expected.png b/third_party/blink/web_tests/platform/win/fast/table/backgr_position-table-row-group-expected.png
index 184449f..88b244be 100644
--- a/third_party/blink/web_tests/platform/win/fast/table/backgr_position-table-row-group-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/table/backgr_position-table-row-group-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/table/backgr_simple-table-cell-collapsed-border-expected.png b/third_party/blink/web_tests/platform/win/fast/table/backgr_simple-table-cell-collapsed-border-expected.png
index 6051351f..01e94134 100644
--- a/third_party/blink/web_tests/platform/win/fast/table/backgr_simple-table-cell-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/table/backgr_simple-table-cell-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/table/backgr_simple-table-cell-expected.png b/third_party/blink/web_tests/platform/win/fast/table/backgr_simple-table-cell-expected.png
index 36a1a71..9fee0d5 100644
--- a/third_party/blink/web_tests/platform/win/fast/table/backgr_simple-table-cell-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/table/backgr_simple-table-cell-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/table/backgr_simple-table-collapsed-border-expected.png b/third_party/blink/web_tests/platform/win/fast/table/backgr_simple-table-collapsed-border-expected.png
index 6b69901..abaff72 100644
--- a/third_party/blink/web_tests/platform/win/fast/table/backgr_simple-table-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/table/backgr_simple-table-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/table/backgr_simple-table-column-collapsed-border-expected.png b/third_party/blink/web_tests/platform/win/fast/table/backgr_simple-table-column-collapsed-border-expected.png
index 7fda2b6..bd6fb72 100644
--- a/third_party/blink/web_tests/platform/win/fast/table/backgr_simple-table-column-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/table/backgr_simple-table-column-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/table/backgr_simple-table-column-expected.png b/third_party/blink/web_tests/platform/win/fast/table/backgr_simple-table-column-expected.png
index c307e2b..ab23bad 100644
--- a/third_party/blink/web_tests/platform/win/fast/table/backgr_simple-table-column-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/table/backgr_simple-table-column-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/table/backgr_simple-table-column-group-collapsed-border-expected.png b/third_party/blink/web_tests/platform/win/fast/table/backgr_simple-table-column-group-collapsed-border-expected.png
index 04665d38..fd26b19 100644
--- a/third_party/blink/web_tests/platform/win/fast/table/backgr_simple-table-column-group-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/table/backgr_simple-table-column-group-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/table/backgr_simple-table-column-group-expected.png b/third_party/blink/web_tests/platform/win/fast/table/backgr_simple-table-column-group-expected.png
index e44d4d1..514d7c89 100644
--- a/third_party/blink/web_tests/platform/win/fast/table/backgr_simple-table-column-group-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/table/backgr_simple-table-column-group-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/table/backgr_simple-table-expected.png b/third_party/blink/web_tests/platform/win/fast/table/backgr_simple-table-expected.png
index 3ea1624b..e939297 100644
--- a/third_party/blink/web_tests/platform/win/fast/table/backgr_simple-table-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/table/backgr_simple-table-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/table/backgr_simple-table-row-collapsed-border-expected.png b/third_party/blink/web_tests/platform/win/fast/table/backgr_simple-table-row-collapsed-border-expected.png
index 3dde8d8..1ddd6b5 100644
--- a/third_party/blink/web_tests/platform/win/fast/table/backgr_simple-table-row-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/table/backgr_simple-table-row-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/table/backgr_simple-table-row-expected.png b/third_party/blink/web_tests/platform/win/fast/table/backgr_simple-table-row-expected.png
index 6a37272..b8357b24 100644
--- a/third_party/blink/web_tests/platform/win/fast/table/backgr_simple-table-row-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/table/backgr_simple-table-row-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/table/backgr_simple-table-row-group-collapsed-border-expected.png b/third_party/blink/web_tests/platform/win/fast/table/backgr_simple-table-row-group-collapsed-border-expected.png
index f7ad966..2c4af4d 100644
--- a/third_party/blink/web_tests/platform/win/fast/table/backgr_simple-table-row-group-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/table/backgr_simple-table-row-group-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/table/backgr_simple-table-row-group-expected.png b/third_party/blink/web_tests/platform/win/fast/table/backgr_simple-table-row-group-expected.png
index 031b73c..e6c4e2f 100644
--- a/third_party/blink/web_tests/platform/win/fast/table/backgr_simple-table-row-group-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/table/backgr_simple-table-row-group-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/table/border-collapsing/004-expected.png b/third_party/blink/web_tests/platform/win/fast/table/border-collapsing/004-expected.png
index db389f2b..ae5aa74 100644
--- a/third_party/blink/web_tests/platform/win/fast/table/border-collapsing/004-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/table/border-collapsing/004-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/table/colspanMinWidth-expected.png b/third_party/blink/web_tests/platform/win/fast/table/colspanMinWidth-expected.png
index 8212248..02ee59b 100644
--- a/third_party/blink/web_tests/platform/win/fast/table/colspanMinWidth-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/table/colspanMinWidth-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/table/colspanMinWidth-vertical-expected.png b/third_party/blink/web_tests/platform/win/fast/table/colspanMinWidth-vertical-expected.png
index 0473d50..64f2650 100644
--- a/third_party/blink/web_tests/platform/win/fast/table/colspanMinWidth-vertical-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/table/colspanMinWidth-vertical-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/table/edge-offsets-expected.png b/third_party/blink/web_tests/platform/win/fast/table/edge-offsets-expected.png
index 178b8ef6..a47a966b 100644
--- a/third_party/blink/web_tests/platform/win/fast/table/edge-offsets-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/table/edge-offsets-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/table/empty-cells-expected.png b/third_party/blink/web_tests/platform/win/fast/table/empty-cells-expected.png
index 9eaa688..511bb21 100644
--- a/third_party/blink/web_tests/platform/win/fast/table/empty-cells-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/table/empty-cells-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/table/frame-and-rules-expected.png b/third_party/blink/web_tests/platform/win/fast/table/frame-and-rules-expected.png
index a63056b..2110ed1 100644
--- a/third_party/blink/web_tests/platform/win/fast/table/frame-and-rules-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/table/frame-and-rules-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/table/height-percent-test-expected.png b/third_party/blink/web_tests/platform/win/fast/table/height-percent-test-expected.png
index a6c8d65..a6c3468 100644
--- a/third_party/blink/web_tests/platform/win/fast/table/height-percent-test-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/table/height-percent-test-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/table/overflowHidden-expected.png b/third_party/blink/web_tests/platform/win/fast/table/overflowHidden-expected.png
index 6a149cfd..c8cd027c 100644
--- a/third_party/blink/web_tests/platform/win/fast/table/overflowHidden-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/table/overflowHidden-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/table/prepend-in-anonymous-table-expected.png b/third_party/blink/web_tests/platform/win/fast/table/prepend-in-anonymous-table-expected.png
index 42bf155..8fcdd3f 100644
--- a/third_party/blink/web_tests/platform/win/fast/table/prepend-in-anonymous-table-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/table/prepend-in-anonymous-table-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/table/remove-td-display-none-expected.png b/third_party/blink/web_tests/platform/win/fast/table/remove-td-display-none-expected.png
index b8df791..edb8db8 100644
--- a/third_party/blink/web_tests/platform/win/fast/table/remove-td-display-none-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/table/remove-td-display-none-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/table/spanOverlapRepaint-expected.png b/third_party/blink/web_tests/platform/win/fast/table/spanOverlapRepaint-expected.png
index 4c8c7d10..b92e03e 100644
--- a/third_party/blink/web_tests/platform/win/fast/table/spanOverlapRepaint-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/table/spanOverlapRepaint-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/table/table-display-types-vertical-expected.png b/third_party/blink/web_tests/platform/win/fast/table/table-display-types-vertical-expected.png
index bb7e116f..09affc20d 100644
--- a/third_party/blink/web_tests/platform/win/fast/table/table-display-types-vertical-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/table/table-display-types-vertical-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/table/text-field-baseline-expected.png b/third_party/blink/web_tests/platform/win/fast/table/text-field-baseline-expected.png
index 43692200..b00e7ca 100644
--- a/third_party/blink/web_tests/platform/win/fast/table/text-field-baseline-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/table/text-field-baseline-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/text-autosizing/hackernews-comments-expected.png b/third_party/blink/web_tests/platform/win/fast/text-autosizing/hackernews-comments-expected.png
index d2c104f..6b5c7f8 100644
--- a/third_party/blink/web_tests/platform/win/fast/text-autosizing/hackernews-comments-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/text-autosizing/hackernews-comments-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/text/capitalize-boundaries-expected.png b/third_party/blink/web_tests/platform/win/fast/text/capitalize-boundaries-expected.png
index 7977d8b4..1e205cb 100644
--- a/third_party/blink/web_tests/platform/win/fast/text/capitalize-boundaries-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/text/capitalize-boundaries-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/text/caps-lock-indicator-disabled-expected.png b/third_party/blink/web_tests/platform/win/fast/text/caps-lock-indicator-disabled-expected.png
index 875f9aa..bccf68f 100644
--- a/third_party/blink/web_tests/platform/win/fast/text/caps-lock-indicator-disabled-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/text/caps-lock-indicator-disabled-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/text/caps-lock-indicator-enabled-expected.png b/third_party/blink/web_tests/platform/win/fast/text/caps-lock-indicator-enabled-expected.png
index dc84d46..7aaa1ca 100644
--- a/third_party/blink/web_tests/platform/win/fast/text/caps-lock-indicator-enabled-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/text/caps-lock-indicator-enabled-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/text/caps-lock-indicator-enabled-rtl-expected.png b/third_party/blink/web_tests/platform/win/fast/text/caps-lock-indicator-enabled-rtl-expected.png
index 3017fc3..537bfda 100644
--- a/third_party/blink/web_tests/platform/win/fast/text/caps-lock-indicator-enabled-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/text/caps-lock-indicator-enabled-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/text/drawBidiText-expected.png b/third_party/blink/web_tests/platform/win/fast/text/drawBidiText-expected.png
index 631183b..db9c9fb1 100644
--- a/third_party/blink/web_tests/platform/win/fast/text/drawBidiText-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/text/drawBidiText-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/text/font-format-support-color-cff2-expected.png b/third_party/blink/web_tests/platform/win/fast/text/font-format-support-color-cff2-expected.png
index 77583e5..fc45fd4 100644
--- a/third_party/blink/web_tests/platform/win/fast/text/font-format-support-color-cff2-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/text/font-format-support-color-cff2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/text/font-stretch-variant-expected.png b/third_party/blink/web_tests/platform/win/fast/text/font-stretch-variant-expected.png
index 2fdbb5c..44289fd 100644
--- a/third_party/blink/web_tests/platform/win/fast/text/font-stretch-variant-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/text/font-stretch-variant-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/text/font-weight-variant-expected.png b/third_party/blink/web_tests/platform/win/fast/text/font-weight-variant-expected.png
index 9872475f..aaa93c0 100644
--- a/third_party/blink/web_tests/platform/win/fast/text/font-weight-variant-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/text/font-weight-variant-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/text/international/003-expected.png b/third_party/blink/web_tests/platform/win/fast/text/international/003-expected.png
index 9bc877b8..ee61a80 100644
--- a/third_party/blink/web_tests/platform/win/fast/text/international/003-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/text/international/003-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/text/international/bidi-listbox-atsui-expected.png b/third_party/blink/web_tests/platform/win/fast/text/international/bidi-listbox-atsui-expected.png
index e24e90e..becc992 100644
--- a/third_party/blink/web_tests/platform/win/fast/text/international/bidi-listbox-atsui-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/text/international/bidi-listbox-atsui-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/text/international/bidi-listbox-expected.png b/third_party/blink/web_tests/platform/win/fast/text/international/bidi-listbox-expected.png
index 4ba4f96e..5619ec2 100644
--- a/third_party/blink/web_tests/platform/win/fast/text/international/bidi-listbox-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/text/international/bidi-listbox-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/text/international/bidi-neutral-run-expected.png b/third_party/blink/web_tests/platform/win/fast/text/international/bidi-neutral-run-expected.png
index 73ab6f9a..33ec803 100644
--- a/third_party/blink/web_tests/platform/win/fast/text/international/bidi-neutral-run-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/text/international/bidi-neutral-run-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/text/international/hindi-spacing-expected.png b/third_party/blink/web_tests/platform/win/fast/text/international/hindi-spacing-expected.png
index 979b1a45..af56f03 100644
--- a/third_party/blink/web_tests/platform/win/fast/text/international/hindi-spacing-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/text/international/hindi-spacing-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/text/international/rtl-white-space-pre-wrap-expected.png b/third_party/blink/web_tests/platform/win/fast/text/international/rtl-white-space-pre-wrap-expected.png
index a336c6fd..a157a43 100644
--- a/third_party/blink/web_tests/platform/win/fast/text/international/rtl-white-space-pre-wrap-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/text/international/rtl-white-space-pre-wrap-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/text/international/unicode-bidi-plaintext-in-textarea-expected.png b/third_party/blink/web_tests/platform/win/fast/text/international/unicode-bidi-plaintext-in-textarea-expected.png
index 05d6d87f..3315ee2 100644
--- a/third_party/blink/web_tests/platform/win/fast/text/international/unicode-bidi-plaintext-in-textarea-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/text/international/unicode-bidi-plaintext-in-textarea-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/text/letter-spacing-leading-and-trailing-expected.png b/third_party/blink/web_tests/platform/win/fast/text/letter-spacing-leading-and-trailing-expected.png
index 877e949..d3052667 100644
--- a/third_party/blink/web_tests/platform/win/fast/text/letter-spacing-leading-and-trailing-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/text/letter-spacing-leading-and-trailing-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/text/selection/atsui-kerning-and-ligatures-expected.png b/third_party/blink/web_tests/platform/win/fast/text/selection/atsui-kerning-and-ligatures-expected.png
index 1ec24b3d..47b421e 100644
--- a/third_party/blink/web_tests/platform/win/fast/text/selection/atsui-kerning-and-ligatures-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/text/selection/atsui-kerning-and-ligatures-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/text/selection/atsui-rtl-override-selection-expected.png b/third_party/blink/web_tests/platform/win/fast/text/selection/atsui-rtl-override-selection-expected.png
index 266230d..edc4864 100644
--- a/third_party/blink/web_tests/platform/win/fast/text/selection/atsui-rtl-override-selection-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/text/selection/atsui-rtl-override-selection-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/text/selection/complex-text-rtl-selection-repaint-expected.png b/third_party/blink/web_tests/platform/win/fast/text/selection/complex-text-rtl-selection-repaint-expected.png
index e2282c7..f3800269 100644
--- a/third_party/blink/web_tests/platform/win/fast/text/selection/complex-text-rtl-selection-repaint-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/text/selection/complex-text-rtl-selection-repaint-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/text/selection/emphasis-expected.png b/third_party/blink/web_tests/platform/win/fast/text/selection/emphasis-expected.png
index a4d0a058..8c19cf23 100644
--- a/third_party/blink/web_tests/platform/win/fast/text/selection/emphasis-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/text/selection/emphasis-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/text/selection/flexbox-selection-expected.png b/third_party/blink/web_tests/platform/win/fast/text/selection/flexbox-selection-expected.png
index 8bd505a0..7f6ced3 100644
--- a/third_party/blink/web_tests/platform/win/fast/text/selection/flexbox-selection-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/text/selection/flexbox-selection-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/text/selection/flexbox-selection-nested-expected.png b/third_party/blink/web_tests/platform/win/fast/text/selection/flexbox-selection-nested-expected.png
index 34a4c37..2d4edc6 100644
--- a/third_party/blink/web_tests/platform/win/fast/text/selection/flexbox-selection-nested-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/text/selection/flexbox-selection-nested-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/text/selection/khmer-selection-expected.png b/third_party/blink/web_tests/platform/win/fast/text/selection/khmer-selection-expected.png
index 2a9f8427..3e2bafd 100644
--- a/third_party/blink/web_tests/platform/win/fast/text/selection/khmer-selection-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/text/selection/khmer-selection-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/text/selection/mixed-directionality-selection-expected.png b/third_party/blink/web_tests/platform/win/fast/text/selection/mixed-directionality-selection-expected.png
index 08e2d4be..77da2273 100644
--- a/third_party/blink/web_tests/platform/win/fast/text/selection/mixed-directionality-selection-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/text/selection/mixed-directionality-selection-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/text/selection/pre-wrap-overflow-selection-expected.png b/third_party/blink/web_tests/platform/win/fast/text/selection/pre-wrap-overflow-selection-expected.png
index 7daccd1..b09739e 100644
--- a/third_party/blink/web_tests/platform/win/fast/text/selection/pre-wrap-overflow-selection-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/text/selection/pre-wrap-overflow-selection-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/text/selection/selection-hard-linebreak-expected.png b/third_party/blink/web_tests/platform/win/fast/text/selection/selection-hard-linebreak-expected.png
index 087dc7f..f495c93 100644
--- a/third_party/blink/web_tests/platform/win/fast/text/selection/selection-hard-linebreak-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/text/selection/selection-hard-linebreak-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/text/selection/selection-painting-hidpi-expected.png b/third_party/blink/web_tests/platform/win/fast/text/selection/selection-painting-hidpi-expected.png
index f373a8ba..20a91dd8 100644
--- a/third_party/blink/web_tests/platform/win/fast/text/selection/selection-painting-hidpi-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/text/selection/selection-painting-hidpi-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/text/selection/selection-with-inline-padding-expected.png b/third_party/blink/web_tests/platform/win/fast/text/selection/selection-with-inline-padding-expected.png
index aea06a51..af1888c 100644
--- a/third_party/blink/web_tests/platform/win/fast/text/selection/selection-with-inline-padding-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/text/selection/selection-with-inline-padding-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/text/selection/shaping-selection-rect-expected.png b/third_party/blink/web_tests/platform/win/fast/text/selection/shaping-selection-rect-expected.png
index cdec107a..b57c535 100644
--- a/third_party/blink/web_tests/platform/win/fast/text/selection/shaping-selection-rect-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/text/selection/shaping-selection-rect-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/text/selection/should-use-atsui-expected.png b/third_party/blink/web_tests/platform/win/fast/text/selection/should-use-atsui-expected.png
index 444cdb9..7bf2a4cd 100644
--- a/third_party/blink/web_tests/platform/win/fast/text/selection/should-use-atsui-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/text/selection/should-use-atsui-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/text/softHyphen-expected.png b/third_party/blink/web_tests/platform/win/fast/text/softHyphen-expected.png
index c4d881a..5349697 100644
--- a/third_party/blink/web_tests/platform/win/fast/text/softHyphen-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/text/softHyphen-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/text/textIteratorNilRenderer-expected.png b/third_party/blink/web_tests/platform/win/fast/text/textIteratorNilRenderer-expected.png
index 570bd1e..7fd24c63 100644
--- a/third_party/blink/web_tests/platform/win/fast/text/textIteratorNilRenderer-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/text/textIteratorNilRenderer-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/text/unicode-fallback-font-expected.png b/third_party/blink/web_tests/platform/win/fast/text/unicode-fallback-font-expected.png
index 6b4e0fe..ed12a333 100644
--- a/third_party/blink/web_tests/platform/win/fast/text/unicode-fallback-font-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/text/unicode-fallback-font-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/text/updateNewFont-expected.png b/third_party/blink/web_tests/platform/win/fast/text/updateNewFont-expected.png
index ca9bb978..2af17ee5 100644
--- a/third_party/blink/web_tests/platform/win/fast/text/updateNewFont-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/text/updateNewFont-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/text/whitespace/024-expected.png b/third_party/blink/web_tests/platform/win/fast/text/whitespace/024-expected.png
index df1003f..f787b84 100644
--- a/third_party/blink/web_tests/platform/win/fast/text/whitespace/024-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/text/whitespace/024-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/text/whitespace/normal-after-nowrap-breaking-expected.png b/third_party/blink/web_tests/platform/win/fast/text/whitespace/normal-after-nowrap-breaking-expected.png
index 157dd01c..aa414caa 100644
--- a/third_party/blink/web_tests/platform/win/fast/text/whitespace/normal-after-nowrap-breaking-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/text/whitespace/normal-after-nowrap-breaking-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/text/word-break-expected.png b/third_party/blink/web_tests/platform/win/fast/text/word-break-expected.png
index 135f7990..6f1337a 100644
--- a/third_party/blink/web_tests/platform/win/fast/text/word-break-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/text/word-break-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/writing-mode/border-radius-clipping-vertical-lr-expected.png b/third_party/blink/web_tests/platform/win/fast/writing-mode/border-radius-clipping-vertical-lr-expected.png
index 163f93d6..5532c410 100644
--- a/third_party/blink/web_tests/platform/win/fast/writing-mode/border-radius-clipping-vertical-lr-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/writing-mode/border-radius-clipping-vertical-lr-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/writing-mode/fieldsets-expected.png b/third_party/blink/web_tests/platform/win/fast/writing-mode/fieldsets-expected.png
index 7096cd2..86544a8c 100644
--- a/third_party/blink/web_tests/platform/win/fast/writing-mode/fieldsets-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/writing-mode/fieldsets-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fonts/cursive-expected.png b/third_party/blink/web_tests/platform/win/fonts/cursive-expected.png
index 799d2756..8537bb0db 100644
--- a/third_party/blink/web_tests/platform/win/fonts/cursive-expected.png
+++ b/third_party/blink/web_tests/platform/win/fonts/cursive-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fonts/default-expected.png b/third_party/blink/web_tests/platform/win/fonts/default-expected.png
index 8120416..4c686e8 100644
--- a/third_party/blink/web_tests/platform/win/fonts/default-expected.png
+++ b/third_party/blink/web_tests/platform/win/fonts/default-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fonts/fantasy-expected.png b/third_party/blink/web_tests/platform/win/fonts/fantasy-expected.png
index 600bd23..48ca903 100644
--- a/third_party/blink/web_tests/platform/win/fonts/fantasy-expected.png
+++ b/third_party/blink/web_tests/platform/win/fonts/fantasy-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fonts/monospace-expected.png b/third_party/blink/web_tests/platform/win/fonts/monospace-expected.png
index e97cea6..5245e89 100644
--- a/third_party/blink/web_tests/platform/win/fonts/monospace-expected.png
+++ b/third_party/blink/web_tests/platform/win/fonts/monospace-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fonts/sans-serif-expected.png b/third_party/blink/web_tests/platform/win/fonts/sans-serif-expected.png
index 0d8a269b..d04fcd9 100644
--- a/third_party/blink/web_tests/platform/win/fonts/sans-serif-expected.png
+++ b/third_party/blink/web_tests/platform/win/fonts/sans-serif-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fonts/serif-expected.png b/third_party/blink/web_tests/platform/win/fonts/serif-expected.png
index 24f7c9ca..5307af3 100644
--- a/third_party/blink/web_tests/platform/win/fonts/serif-expected.png
+++ b/third_party/blink/web_tests/platform/win/fonts/serif-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fragmentation/outline-crossing-columns-expected.png b/third_party/blink/web_tests/platform/win/fragmentation/outline-crossing-columns-expected.png
index e2c0c1d..9d99fba 100644
--- a/third_party/blink/web_tests/platform/win/fragmentation/outline-crossing-columns-expected.png
+++ b/third_party/blink/web_tests/platform/win/fragmentation/outline-crossing-columns-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/html/details_summary/details-no-summary4-expected.png b/third_party/blink/web_tests/platform/win/html/details_summary/details-no-summary4-expected.png
index 41a1b62..081d3bbd 100644
--- a/third_party/blink/web_tests/platform/win/html/details_summary/details-no-summary4-expected.png
+++ b/third_party/blink/web_tests/platform/win/html/details_summary/details-no-summary4-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/html/details_summary/details-open-javascript-expected.png b/third_party/blink/web_tests/platform/win/html/details_summary/details-open-javascript-expected.png
index 531841b..af16622d 100644
--- a/third_party/blink/web_tests/platform/win/html/details_summary/details-open-javascript-expected.png
+++ b/third_party/blink/web_tests/platform/win/html/details_summary/details-open-javascript-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/html/details_summary/details-open2-expected.png b/third_party/blink/web_tests/platform/win/html/details_summary/details-open2-expected.png
index 0ac99a2..f5c9022 100644
--- a/third_party/blink/web_tests/platform/win/html/details_summary/details-open2-expected.png
+++ b/third_party/blink/web_tests/platform/win/html/details_summary/details-open2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/html/details_summary/details-open4-expected.png b/third_party/blink/web_tests/platform/win/html/details_summary/details-open4-expected.png
index 0ac99a2..f5c9022 100644
--- a/third_party/blink/web_tests/platform/win/html/details_summary/details-open4-expected.png
+++ b/third_party/blink/web_tests/platform/win/html/details_summary/details-open4-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/html/details_summary/details-replace-summary-child-expected.png b/third_party/blink/web_tests/platform/win/html/details_summary/details-replace-summary-child-expected.png
index b8f7777..a2ba64ce 100644
--- a/third_party/blink/web_tests/platform/win/html/details_summary/details-replace-summary-child-expected.png
+++ b/third_party/blink/web_tests/platform/win/html/details_summary/details-replace-summary-child-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/html/details_summary/details-replace-text-expected.png b/third_party/blink/web_tests/platform/win/html/details_summary/details-replace-text-expected.png
index bb0a7c8..0f19091 100644
--- a/third_party/blink/web_tests/platform/win/html/details_summary/details-replace-text-expected.png
+++ b/third_party/blink/web_tests/platform/win/html/details_summary/details-replace-text-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/http/tests/filesystem/input-display-expected.png b/third_party/blink/web_tests/platform/win/http/tests/filesystem/input-display-expected.png
index 2637173..2637248 100644
--- a/third_party/blink/web_tests/platform/win/http/tests/filesystem/input-display-expected.png
+++ b/third_party/blink/web_tests/platform/win/http/tests/filesystem/input-display-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/http/tests/media/video-frame-size-change-expected.png b/third_party/blink/web_tests/platform/win/http/tests/media/video-frame-size-change-expected.png
index cf21510..28e9abd 100644
--- a/third_party/blink/web_tests/platform/win/http/tests/media/video-frame-size-change-expected.png
+++ b/third_party/blink/web_tests/platform/win/http/tests/media/video-frame-size-change-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/http/tests/misc/object-embedding-svg-delayed-size-negotiation-expected.png b/third_party/blink/web_tests/platform/win/http/tests/misc/object-embedding-svg-delayed-size-negotiation-expected.png
index 436f1b5..75570f2 100644
--- a/third_party/blink/web_tests/platform/win/http/tests/misc/object-embedding-svg-delayed-size-negotiation-expected.png
+++ b/third_party/blink/web_tests/platform/win/http/tests/misc/object-embedding-svg-delayed-size-negotiation-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/http/tests/webfont/popup-menu-load-webfont-after-open-expected.png b/third_party/blink/web_tests/platform/win/http/tests/webfont/popup-menu-load-webfont-after-open-expected.png
index c06cbcd..e6f3b22 100644
--- a/third_party/blink/web_tests/platform/win/http/tests/webfont/popup-menu-load-webfont-after-open-expected.png
+++ b/third_party/blink/web_tests/platform/win/http/tests/webfont/popup-menu-load-webfont-after-open-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/ietestcenter/css3/bordersbackgrounds/background-attachment-local-scrolling-expected.png b/third_party/blink/web_tests/platform/win/ietestcenter/css3/bordersbackgrounds/background-attachment-local-scrolling-expected.png
index 4685a5c9..5466323 100644
--- a/third_party/blink/web_tests/platform/win/ietestcenter/css3/bordersbackgrounds/background-attachment-local-scrolling-expected.png
+++ b/third_party/blink/web_tests/platform/win/ietestcenter/css3/bordersbackgrounds/background-attachment-local-scrolling-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/ietestcenter/css3/bordersbackgrounds/background-size-aspect-ratio-expected.png b/third_party/blink/web_tests/platform/win/ietestcenter/css3/bordersbackgrounds/background-size-aspect-ratio-expected.png
index 90d844d..2f9e836 100644
--- a/third_party/blink/web_tests/platform/win/ietestcenter/css3/bordersbackgrounds/background-size-aspect-ratio-expected.png
+++ b/third_party/blink/web_tests/platform/win/ietestcenter/css3/bordersbackgrounds/background-size-aspect-ratio-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/ietestcenter/css3/bordersbackgrounds/background_position_three_four_values-expected.png b/third_party/blink/web_tests/platform/win/ietestcenter/css3/bordersbackgrounds/background_position_three_four_values-expected.png
index faa5dae..3126a9c 100644
--- a/third_party/blink/web_tests/platform/win/ietestcenter/css3/bordersbackgrounds/background_position_three_four_values-expected.png
+++ b/third_party/blink/web_tests/platform/win/ietestcenter/css3/bordersbackgrounds/background_position_three_four_values-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/images/12-55-expected.png b/third_party/blink/web_tests/platform/win/images/12-55-expected.png
index e8a2d810..6ab20f5 100644
--- a/third_party/blink/web_tests/platform/win/images/12-55-expected.png
+++ b/third_party/blink/web_tests/platform/win/images/12-55-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/images/182-expected.png b/third_party/blink/web_tests/platform/win/images/182-expected.png
index f23935c2..1e8c443 100644
--- a/third_party/blink/web_tests/platform/win/images/182-expected.png
+++ b/third_party/blink/web_tests/platform/win/images/182-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/images/2-dht-expected.png b/third_party/blink/web_tests/platform/win/images/2-dht-expected.png
index 792e9f3..49a398f 100644
--- a/third_party/blink/web_tests/platform/win/images/2-dht-expected.png
+++ b/third_party/blink/web_tests/platform/win/images/2-dht-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/images/23-55-expected.png b/third_party/blink/web_tests/platform/win/images/23-55-expected.png
index 5ff59203..c9f1bbd 100644
--- a/third_party/blink/web_tests/platform/win/images/23-55-expected.png
+++ b/third_party/blink/web_tests/platform/win/images/23-55-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/images/55-expected.png b/third_party/blink/web_tests/platform/win/images/55-expected.png
index 10db434a..9eaec3d 100644
--- a/third_party/blink/web_tests/platform/win/images/55-expected.png
+++ b/third_party/blink/web_tests/platform/win/images/55-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/images/rendering-broken-0px-images-expected.png b/third_party/blink/web_tests/platform/win/images/rendering-broken-0px-images-expected.png
index 3a4d1e4..aa0501c 100644
--- a/third_party/blink/web_tests/platform/win/images/rendering-broken-0px-images-expected.png
+++ b/third_party/blink/web_tests/platform/win/images/rendering-broken-0px-images-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/images/rendering-broken-0px-images-quirk-expected.png b/third_party/blink/web_tests/platform/win/images/rendering-broken-0px-images-quirk-expected.png
index 2cae77e..114eec3 100644
--- a/third_party/blink/web_tests/platform/win/images/rendering-broken-0px-images-quirk-expected.png
+++ b/third_party/blink/web_tests/platform/win/images/rendering-broken-0px-images-quirk-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/images/rendering-broken-10px-images-expected.png b/third_party/blink/web_tests/platform/win/images/rendering-broken-10px-images-expected.png
index b67a1440..d76809f 100644
--- a/third_party/blink/web_tests/platform/win/images/rendering-broken-10px-images-expected.png
+++ b/third_party/blink/web_tests/platform/win/images/rendering-broken-10px-images-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/images/rendering-broken-16px-images-expected.png b/third_party/blink/web_tests/platform/win/images/rendering-broken-16px-images-expected.png
index e208a5f..48b59dab 100644
--- a/third_party/blink/web_tests/platform/win/images/rendering-broken-16px-images-expected.png
+++ b/third_party/blink/web_tests/platform/win/images/rendering-broken-16px-images-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/images/rendering-broken-1px-images-expected.png b/third_party/blink/web_tests/platform/win/images/rendering-broken-1px-images-expected.png
index 20f0318..f04621a 100644
--- a/third_party/blink/web_tests/platform/win/images/rendering-broken-1px-images-expected.png
+++ b/third_party/blink/web_tests/platform/win/images/rendering-broken-1px-images-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/images/rendering-broken-block-flow-images-expected.png b/third_party/blink/web_tests/platform/win/images/rendering-broken-block-flow-images-expected.png
index 49de66b3..4222d57 100644
--- a/third_party/blink/web_tests/platform/win/images/rendering-broken-block-flow-images-expected.png
+++ b/third_party/blink/web_tests/platform/win/images/rendering-broken-block-flow-images-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/images/rendering-broken-images-empty-alt-expected.png b/third_party/blink/web_tests/platform/win/images/rendering-broken-images-empty-alt-expected.png
index 1cd7e150..5ebb07d1 100644
--- a/third_party/blink/web_tests/platform/win/images/rendering-broken-images-empty-alt-expected.png
+++ b/third_party/blink/web_tests/platform/win/images/rendering-broken-images-empty-alt-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/images/rendering-broken-images-expected.png b/third_party/blink/web_tests/platform/win/images/rendering-broken-images-expected.png
index d241d5e..90f1162 100644
--- a/third_party/blink/web_tests/platform/win/images/rendering-broken-images-expected.png
+++ b/third_party/blink/web_tests/platform/win/images/rendering-broken-images-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/media/video-poster-scale-expected.png b/third_party/blink/web_tests/platform/win/media/video-poster-scale-expected.png
index ab03a962..7607428 100644
--- a/third_party/blink/web_tests/platform/win/media/video-poster-scale-expected.png
+++ b/third_party/blink/web_tests/platform/win/media/video-poster-scale-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/overflow/overflow-transform-perspective-expected.png b/third_party/blink/web_tests/platform/win/overflow/overflow-transform-perspective-expected.png
index d3c3a86d..4bf4902 100644
--- a/third_party/blink/web_tests/platform/win/overflow/overflow-transform-perspective-expected.png
+++ b/third_party/blink/web_tests/platform/win/overflow/overflow-transform-perspective-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/dark-mode/grayscale-images/desaturate-before-inversion-expected.png b/third_party/blink/web_tests/platform/win/paint/dark-mode/grayscale-images/desaturate-before-inversion-expected.png
new file mode 100644
index 0000000..6a896e9
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/paint/dark-mode/grayscale-images/desaturate-before-inversion-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/dark-mode/native-theme-on/text-input-elements-expected.png b/third_party/blink/web_tests/platform/win/paint/dark-mode/native-theme-on/text-input-elements-expected.png
index c52b4fd..3678569 100644
--- a/third_party/blink/web_tests/platform/win/paint/dark-mode/native-theme-on/text-input-elements-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/dark-mode/native-theme-on/text-input-elements-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/dark-mode/svg-invert-all/svg-as-image-expected.png b/third_party/blink/web_tests/platform/win/paint/dark-mode/svg-invert-all/svg-as-image-expected.png
index 89592fe..f4665b5 100644
--- a/third_party/blink/web_tests/platform/win/paint/dark-mode/svg-invert-all/svg-as-image-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/dark-mode/svg-invert-all/svg-as-image-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/dark-mode/svg-invert-all/svg-in-html-expected.png b/third_party/blink/web_tests/platform/win/paint/dark-mode/svg-invert-all/svg-in-html-expected.png
index 89592fe..f4665b5 100644
--- a/third_party/blink/web_tests/platform/win/paint/dark-mode/svg-invert-all/svg-in-html-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/dark-mode/svg-invert-all/svg-in-html-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/4774354-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/4774354-expected.png
index 6201f842..892410a3 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/4774354-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/4774354-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/background/background-image-paint-invalidation-large-abspos-div-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/background/background-image-paint-invalidation-large-abspos-div-expected.png
index 03c93a3..9a324c3 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/background/background-image-paint-invalidation-large-abspos-div-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/background/background-image-paint-invalidation-large-abspos-div-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/background/full-viewport-repaint-for-background-attachment-fixed-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/background/full-viewport-repaint-for-background-attachment-fixed-expected.png
index 095cdd1..9cf654dc 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/background/full-viewport-repaint-for-background-attachment-fixed-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/background/full-viewport-repaint-for-background-attachment-fixed-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/caret-subpixel-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/caret-subpixel-expected.png
new file mode 100644
index 0000000..489425d
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/caret-subpixel-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/filters/filter-on-html-element-with-fixed-position-child-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/filters/filter-on-html-element-with-fixed-position-child-expected.png
index 8afbccc8..2da68de 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/filters/filter-on-html-element-with-fixed-position-child-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/filters/filter-on-html-element-with-fixed-position-child-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/forms/button-checkbox-click-method-repaint-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/forms/button-checkbox-click-method-repaint-expected.png
index 67926f81..16af582 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/forms/button-checkbox-click-method-repaint-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/forms/button-checkbox-click-method-repaint-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/forms/button-reset-focus-by-mouse-then-keydown-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/forms/button-reset-focus-by-mouse-then-keydown-expected.png
index 93ec4d34..80936462 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/forms/button-reset-focus-by-mouse-then-keydown-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/forms/button-reset-focus-by-mouse-then-keydown-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/forms/checkbox-focus-by-mouse-then-keydown-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/forms/checkbox-focus-by-mouse-then-keydown-expected.png
index 32d2deb..22c0aa5f 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/forms/checkbox-focus-by-mouse-then-keydown-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/forms/checkbox-focus-by-mouse-then-keydown-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/forms/radio-focus-by-mouse-then-keydown-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/forms/radio-focus-by-mouse-then-keydown-expected.png
index a873b21..f8eda322 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/forms/radio-focus-by-mouse-then-keydown-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/forms/radio-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.png b/third_party/blink/web_tests/platform/win/paint/invalidation/forms/range-focus-by-mouse-then-keydown-expected.png
index 42f8191..b39e495 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/slider-thumb-drag-release-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/forms/slider-thumb-drag-release-expected.png
index 5cd8917..f6051db7 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/forms/slider-thumb-drag-release-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/forms/slider-thumb-drag-release-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 e28928e1..8dead32 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 d5711b1..1deb4c8c 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
@@ -12,6 +12,11 @@
           "reason": "subtree"
         },
         {
+          "object": "LayoutButton INPUT",
+          "rect": [7, 7, 59, 24],
+          "reason": "chunk appeared"
+        },
+        {
           "object": "InlineTextBox 'Submit'",
           "rect": [16, 10, 41, 18],
           "reason": "subtree"
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/forms/textarea-caret-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/forms/textarea-caret-expected.png
index b461f467..21d9fb7 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/forms/textarea-caret-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/forms/textarea-caret-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/invalidation-after-opacity-change-subtree-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/invalidation-after-opacity-change-subtree-expected.png
index 5b1ff7d..f9973d39 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/invalidation-after-opacity-change-subtree-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/invalidation-after-opacity-change-subtree-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/invalidation-on-foreground-graphics-layer-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/invalidation-on-foreground-graphics-layer-expected.png
new file mode 100644
index 0000000..a023c8a
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/invalidation-on-foreground-graphics-layer-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/line-flow-with-floats-1-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/line-flow-with-floats-1-expected.png
index 12eee68..55aeb68 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/line-flow-with-floats-1-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/line-flow-with-floats-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/line-flow-with-floats-10-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/line-flow-with-floats-10-expected.png
index dc92366..59078d9 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/line-flow-with-floats-10-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/line-flow-with-floats-10-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/line-flow-with-floats-2-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/line-flow-with-floats-2-expected.png
index e730025..8d7db75 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/line-flow-with-floats-2-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/line-flow-with-floats-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/line-flow-with-floats-3-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/line-flow-with-floats-3-expected.png
index 0202d40..769943c 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/line-flow-with-floats-3-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/line-flow-with-floats-3-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/line-flow-with-floats-4-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/line-flow-with-floats-4-expected.png
index c0a8230..4cadd201 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/line-flow-with-floats-4-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/line-flow-with-floats-4-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/line-flow-with-floats-5-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/line-flow-with-floats-5-expected.png
index 74b8414..b67ca9b 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/line-flow-with-floats-5-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/line-flow-with-floats-5-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/line-flow-with-floats-6-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/line-flow-with-floats-6-expected.png
index e191c86..e17daf6 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/line-flow-with-floats-6-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/line-flow-with-floats-6-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/line-flow-with-floats-7-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/line-flow-with-floats-7-expected.png
index cc54636..dd5a3d1 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/line-flow-with-floats-7-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/line-flow-with-floats-7-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/line-flow-with-floats-8-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/line-flow-with-floats-8-expected.png
index eac7a44..e9bdf9a 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/line-flow-with-floats-8-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/line-flow-with-floats-8-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/line-flow-with-floats-9-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/line-flow-with-floats-9-expected.png
index 5f8debe..1883d25 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/line-flow-with-floats-9-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/line-flow-with-floats-9-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/overflow/composited-overflow-with-borderbox-background-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/overflow/composited-overflow-with-borderbox-background-expected.png
new file mode 100644
index 0000000..77788ce
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/overflow/composited-overflow-with-borderbox-background-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/overflow/composited-overflow-with-local-background-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/overflow/composited-overflow-with-local-background-expected.png
new file mode 100644
index 0000000..00f64dc
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/overflow/composited-overflow-with-local-background-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/overflow/composited-overflow-with-negative-offset-outline-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/overflow/composited-overflow-with-negative-offset-outline-expected.png
new file mode 100644
index 0000000..63b5df9
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/overflow/composited-overflow-with-negative-offset-outline-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/overflow/overflow-outline-repaint-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/overflow/overflow-outline-repaint-expected.png
index caa1b2b..0889f06f 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/overflow/overflow-outline-repaint-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/overflow/overflow-outline-repaint-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/overflow/vertical-overflow-child-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/overflow/vertical-overflow-child-expected.png
index d65d90a..699111d 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/overflow/vertical-overflow-child-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/overflow/vertical-overflow-child-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/overflow/vertical-overflow-parent-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/overflow/vertical-overflow-parent-expected.png
index 6ea86b3..2129c32 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/overflow/vertical-overflow-parent-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/overflow/vertical-overflow-parent-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/overflow/vertical-overflow-same-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/overflow/vertical-overflow-same-expected.png
index 4c5a16a..14426c9 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/overflow/vertical-overflow-same-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/overflow/vertical-overflow-same-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/position/fixed-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/position/fixed-expected.png
index 3d0827a..89bedf9 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/position/fixed-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/position/fixed-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/position/fixed-tranformed-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/position/fixed-tranformed-expected.png
index 9a72af13..b4e365e 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/position/fixed-tranformed-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/position/fixed-tranformed-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/renderer-destruction-by-invalidateSelection-crash-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/renderer-destruction-by-invalidateSelection-crash-expected.png
index 39edb73..fee7d48 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/renderer-destruction-by-invalidateSelection-crash-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/renderer-destruction-by-invalidateSelection-crash-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/repaint-across-writing-mode-boundary-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/repaint-across-writing-mode-boundary-expected.png
index 4e808a1..b4fba8ab 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/repaint-across-writing-mode-boundary-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/repaint-across-writing-mode-boundary-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/caret-invalidation-in-overflow-scroll-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/caret-invalidation-in-overflow-scroll-expected.png
index a4f4f4b..44743af 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/caret-invalidation-in-overflow-scroll-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/caret-invalidation-in-overflow-scroll-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/caret-with-composited-scroll-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/caret-with-composited-scroll-expected.png
index d76702a..6642435c 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/caret-with-composited-scroll-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/caret-with-composited-scroll-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/document-flipped-blocks-writing-mode-scroll-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/document-flipped-blocks-writing-mode-scroll-expected.png
new file mode 100644
index 0000000..0b0ec86
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/document-flipped-blocks-writing-mode-scroll-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/fixed-child-move-after-scroll-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/fixed-child-move-after-scroll-expected.png
index 959decd2..f0131602 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/fixed-child-move-after-scroll-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/fixed-child-move-after-scroll-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/fixed-child-of-fixed-move-after-scroll-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/fixed-child-of-fixed-move-after-scroll-expected.png
index 959decd2..f0131602 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/fixed-child-of-fixed-move-after-scroll-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/fixed-child-of-fixed-move-after-scroll-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/fixed-child-of-transformed-move-after-scroll-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/fixed-child-of-transformed-move-after-scroll-expected.png
index 90d3edc8..0bcef6d 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/fixed-child-of-transformed-move-after-scroll-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/fixed-child-of-transformed-move-after-scroll-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/fixed-child-of-transformed-scrolled-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/fixed-child-of-transformed-scrolled-expected.png
index 0b15fbdc..ae8f83f 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/fixed-child-of-transformed-scrolled-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/fixed-child-of-transformed-scrolled-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/fixed-descendant-of-transformed-scrolled-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/fixed-descendant-of-transformed-scrolled-expected.png
index 0ea5651..994a6a9f 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/fixed-descendant-of-transformed-scrolled-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/fixed-descendant-of-transformed-scrolled-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/fixed-move-after-scroll-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/fixed-move-after-scroll-expected.png
index 959decd2..f0131602 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/fixed-move-after-scroll-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/fixed-move-after-scroll-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/fixed-under-composited-absolute-scrolled-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/fixed-under-composited-absolute-scrolled-expected.png
new file mode 100644
index 0000000..c001649
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/fixed-under-composited-absolute-scrolled-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/fixed-with-border-under-composited-absolute-scrolled-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/fixed-with-border-under-composited-absolute-scrolled-expected.png
new file mode 100644
index 0000000..adc40cd
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/fixed-with-border-under-composited-absolute-scrolled-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/flipped-blocks-writing-mode-scroll-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/flipped-blocks-writing-mode-scroll-expected.png
new file mode 100644
index 0000000..0124ecc
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/flipped-blocks-writing-mode-scroll-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/inline-style-change-in-scrolled-view-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/inline-style-change-in-scrolled-view-expected.png
index dad15f511..d3f0998 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/inline-style-change-in-scrolled-view-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/inline-style-change-in-scrolled-view-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/nested-fixed-iframe-scrolled-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/nested-fixed-iframe-scrolled-expected.png
index 50fe8a8..5985072 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/nested-fixed-iframe-scrolled-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/nested-fixed-iframe-scrolled-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/overflow-auto-in-overflow-auto-scrolled-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/overflow-auto-in-overflow-auto-scrolled-expected.png
index a93bff90..decc654 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/overflow-auto-in-overflow-auto-scrolled-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/overflow-auto-in-overflow-auto-scrolled-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/overflow-move-after-scroll-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/overflow-move-after-scroll-expected.png
index 3081bc5..b62fb19 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/overflow-move-after-scroll-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/overflow-move-after-scroll-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/overflow-scroll-after-move-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/overflow-scroll-after-move-expected.png
index 9264d2e8..d65ffe6 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/overflow-scroll-after-move-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/overflow-scroll-after-move-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/overflow-scroll-body-appear-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/overflow-scroll-body-appear-expected.png
index ecb44d3..7c4beed7 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/overflow-scroll-body-appear-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/overflow-scroll-body-appear-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/overflow-scroll-delete-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/overflow-scroll-delete-expected.png
index 765c887..d85d97cf 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/overflow-scroll-delete-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/overflow-scroll-delete-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/overflow-scroll-in-overflow-scroll-scrolled-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/overflow-scroll-in-overflow-scroll-scrolled-expected.png
index a93bff90..decc654 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/overflow-scroll-in-overflow-scroll-scrolled-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/overflow-scroll-in-overflow-scroll-scrolled-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/overflow-scroll-local-background-text-color-change-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/overflow-scroll-local-background-text-color-change-expected.png
index 541971ec..753a39c 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/overflow-scroll-local-background-text-color-change-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/overflow-scroll-local-background-text-color-change-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/repaint-composited-child-in-scrolled-container-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/repaint-composited-child-in-scrolled-container-expected.png
new file mode 100644
index 0000000..d518204
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/repaint-composited-child-in-scrolled-container-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/repaint-during-scroll-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/repaint-during-scroll-expected.png
index a70d222..d5bed15 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/repaint-during-scroll-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/repaint-during-scroll-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/repaint-during-scroll-with-zoom-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/repaint-during-scroll-with-zoom-expected.png
index f894021..ab0bdcd 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/repaint-during-scroll-with-zoom-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/repaint-during-scroll-with-zoom-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/resize-scrollable-div-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/resize-scrollable-div-expected.png
index bd6300a..308d4feb 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/resize-scrollable-div-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/resize-scrollable-div-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/resize-scrollable-iframe-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/resize-scrollable-iframe-expected.png
index f85c570..2c3d63fb 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/resize-scrollable-iframe-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/resize-scrollable-iframe-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/scroll-descendant-with-cached-cliprects-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/scroll-descendant-with-cached-cliprects-expected.png
new file mode 100644
index 0000000..a26d5901
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/scroll-descendant-with-cached-cliprects-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/scroll-stacking-context-backface-visiblity-leaves-traces-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/scroll-stacking-context-backface-visiblity-leaves-traces-expected.png
new file mode 100644
index 0000000..a2b8f22f
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/scroll-stacking-context-backface-visiblity-leaves-traces-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/scrollbar-damage-and-full-viewport-repaint-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/scrollbar-damage-and-full-viewport-repaint-expected.png
index 9ed183b..44ea2e7e 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/scrollbar-damage-and-full-viewport-repaint-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/scrollbar-damage-and-full-viewport-repaint-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/scrollbar-invalidation-on-resize-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/scrollbar-invalidation-on-resize-expected.png
index 76d2c5c..fdf83c1 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/scrollbar-invalidation-on-resize-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/scrollbar-invalidation-on-resize-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/scrollbar-invalidation-on-resize-with-border-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/scrollbar-invalidation-on-resize-with-border-expected.png
index 69f669b..45c5c081 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/scrollbar-invalidation-on-resize-with-border-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/scrollbar-invalidation-on-resize-with-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/scrollbar-parts-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/scrollbar-parts-expected.png
index c50837ba..0c8eaeb 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/scrollbar-parts-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/scrollbar-parts-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/selection/block-selection-gap-stale-cache-2-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/selection/block-selection-gap-stale-cache-2-expected.png
index 1e41e0e1..5e850b8 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/selection/block-selection-gap-stale-cache-2-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/selection/block-selection-gap-stale-cache-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/selection/invalidation-rect-includes-newline-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/selection/invalidation-rect-includes-newline-expected.png
index 956d8017..9a64a677 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/selection/invalidation-rect-includes-newline-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/selection/invalidation-rect-includes-newline-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/selection/invalidation-rect-includes-newline-for-rtl-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/selection/invalidation-rect-includes-newline-for-rtl-expected.png
index 29d786f..9bee1be 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/selection/invalidation-rect-includes-newline-for-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/selection/invalidation-rect-includes-newline-for-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/selection/invalidation-rect-includes-newline-for-vertical-lr-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/selection/invalidation-rect-includes-newline-for-vertical-lr-expected.png
index b1ee98b..c3a8e70 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/selection/invalidation-rect-includes-newline-for-vertical-lr-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/selection/invalidation-rect-includes-newline-for-vertical-lr-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/selection/invalidation-rect-includes-newline-for-vertical-rl-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/selection/invalidation-rect-includes-newline-for-vertical-rl-expected.png
index ab2ad5e1..957f971 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/selection/invalidation-rect-includes-newline-for-vertical-rl-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/selection/invalidation-rect-includes-newline-for-vertical-rl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/selection/invalidation-rect-with-br-includes-newline-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/selection/invalidation-rect-with-br-includes-newline-expected.png
index ae94bee..e2fdd24 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/selection/invalidation-rect-with-br-includes-newline-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/selection/invalidation-rect-with-br-includes-newline-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/selection/repaint-rect-for-vertical-writing-mode-with-positioned-root-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/selection/repaint-rect-for-vertical-writing-mode-with-positioned-root-expected.png
index 9e480ac..26b5e76c 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/selection/repaint-rect-for-vertical-writing-mode-with-positioned-root-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/selection/repaint-rect-for-vertical-writing-mode-with-positioned-root-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/selection/selection-after-remove-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/selection/selection-after-remove-expected.png
index 6cd4abb..db31354 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/selection/selection-after-remove-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/selection/selection-after-remove-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/selection/selection-change-in-iframe-with-relative-parent-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/selection/selection-change-in-iframe-with-relative-parent-expected.png
index 4dd6f49aa..bd11bde4e 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/selection/selection-change-in-iframe-with-relative-parent-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/selection/selection-change-in-iframe-with-relative-parent-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/selection/selection-in-composited-scrolling-container-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/selection/selection-in-composited-scrolling-container-expected.png
index 59ebd4a..28a82b2b 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/selection/selection-in-composited-scrolling-container-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/selection/selection-in-composited-scrolling-container-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/selection/selection-in-non-composited-scrolling-container-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/selection/selection-in-non-composited-scrolling-container-expected.png
index 209e87d..6007150 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/selection/selection-in-non-composited-scrolling-container-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/selection/selection-in-non-composited-scrolling-container-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/selection/selection-partial-invalidation-between-blocks-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/selection/selection-partial-invalidation-between-blocks-expected.png
index da7f5f03..533a005 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/selection/selection-partial-invalidation-between-blocks-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/selection/selection-partial-invalidation-between-blocks-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/selection/selection-rl-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/selection/selection-rl-expected.png
index 106ae9e..d8dcd71e 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/selection/selection-rl-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/selection/selection-rl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/selection/selection-within-composited-scroller-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/selection/selection-within-composited-scroller-expected.png
index 8230257..11ebc2c 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/selection/selection-within-composited-scroller-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/selection/selection-within-composited-scroller-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/selection/text-selection-rect-in-overflow-2-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/selection/text-selection-rect-in-overflow-2-expected.png
index e9d2fc5..cf89230e 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/selection/text-selection-rect-in-overflow-2-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/selection/text-selection-rect-in-overflow-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/subtree-root-skipped-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/subtree-root-skipped-expected.png
index a58b356..a2c1111 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/subtree-root-skipped-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/subtree-root-skipped-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/svg/repaint-in-scrolled-view-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/svg/repaint-in-scrolled-view-expected.png
index 7dda390..5d9b6f1 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/svg/repaint-in-scrolled-view-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/svg/repaint-in-scrolled-view-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.png b/third_party/blink/web_tests/platform/win/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png
index b350f0b..149b424 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/text-selection-text-05-t-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/svg/text-selection-text-05-t-expected.png
index 82f9127..674b7a2ed 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/svg/text-selection-text-05-t-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/svg/text-selection-text-05-t-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/svg/text-selection-update-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/svg/text-selection-update-expected.png
index 1d0b298..68239ff 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/svg/text-selection-update-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/svg/text-selection-update-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/svg/text-xy-updates-SVGList-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/svg/text-xy-updates-SVGList-expected.png
index 34e2fab4..f6d093a 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/svg/text-xy-updates-SVGList-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/svg/text-xy-updates-SVGList-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/table/scroll-inside-table-cell-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/table/scroll-inside-table-cell-expected.png
new file mode 100644
index 0000000..e6079d8
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/table/scroll-inside-table-cell-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/table/scroll-relative-table-inside-table-cell-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/table/scroll-relative-table-inside-table-cell-expected.png
new file mode 100644
index 0000000..9860950
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/table/scroll-relative-table-inside-table-cell-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/table/single-line-cells-repeating-thead-break-inside-on-thead-only-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/table/single-line-cells-repeating-thead-break-inside-on-thead-only-expected.png
index 7b23e25..1819032 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/table/single-line-cells-repeating-thead-break-inside-on-thead-only-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/table/single-line-cells-repeating-thead-break-inside-on-thead-only-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/table/table-overflow-auto-in-overflow-auto-scrolled-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/table/table-overflow-auto-in-overflow-auto-scrolled-expected.png
index 7306cdcb..355ebbc 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/table/table-overflow-auto-in-overflow-auto-scrolled-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/table/table-overflow-auto-in-overflow-auto-scrolled-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/table/table-overflow-scroll-in-overflow-scroll-scrolled-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/table/table-overflow-scroll-in-overflow-scroll-scrolled-expected.png
index 7306cdcb..355ebbc 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/table/table-overflow-scroll-in-overflow-scroll-scrolled-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/table/table-overflow-scroll-in-overflow-scroll-scrolled-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/text-match-document-change-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/text-match-document-change-expected.png
index 1ae5695..95b2356 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/text-match-document-change-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/text-match-document-change-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 adf97c8..5924594 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 e3765c7..3c3a340a 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 dd2c8db..80db476 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 054eecc..f00b8fb 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 cfd8a90..79cb6a2 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 4e6f4d8e..c3447fa 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 a003811a..32fea82 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 251e248..7642fc254 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 769404f41..a81c833 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/paint/selection/image-writing-modes-expected.png b/third_party/blink/web_tests/platform/win/paint/selection/image-writing-modes-expected.png
index c03ad412..249984be 100644
--- a/third_party/blink/web_tests/platform/win/paint/selection/image-writing-modes-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/selection/image-writing-modes-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/selection/text-selection-inline-block-expected.png b/third_party/blink/web_tests/platform/win/paint/selection/text-selection-inline-block-expected.png
index 9ce8f24..a5f7e52 100644
--- a/third_party/blink/web_tests/platform/win/paint/selection/text-selection-inline-block-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/selection/text-selection-inline-block-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/selection/text-selection-inline-block-rtl-expected.png b/third_party/blink/web_tests/platform/win/paint/selection/text-selection-inline-block-rtl-expected.png
index e5158d5..24257b7 100644
--- a/third_party/blink/web_tests/platform/win/paint/selection/text-selection-inline-block-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/selection/text-selection-inline-block-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/selection/text-selection-newline-across-blocks-expected.png b/third_party/blink/web_tests/platform/win/paint/selection/text-selection-newline-across-blocks-expected.png
index ae94bee..e2fdd24 100644
--- a/third_party/blink/web_tests/platform/win/paint/selection/text-selection-newline-across-blocks-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/selection/text-selection-newline-across-blocks-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/selection/text-selection-newline-across-blocks-line-beginning-end-expected.png b/third_party/blink/web_tests/platform/win/paint/selection/text-selection-newline-across-blocks-line-beginning-end-expected.png
deleted file mode 100644
index 4fcd36d..0000000
--- a/third_party/blink/web_tests/platform/win/paint/selection/text-selection-newline-across-blocks-line-beginning-end-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/selection/text-selection-newline-br-expected.png b/third_party/blink/web_tests/platform/win/paint/selection/text-selection-newline-br-expected.png
index ae94bee..e2fdd24 100644
--- a/third_party/blink/web_tests/platform/win/paint/selection/text-selection-newline-br-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/selection/text-selection-newline-br-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/selection/text-selection-newline-clipped-by-overflow-expected.png b/third_party/blink/web_tests/platform/win/paint/selection/text-selection-newline-clipped-by-overflow-expected.png
index 107558d..473a1aa 100644
--- a/third_party/blink/web_tests/platform/win/paint/selection/text-selection-newline-clipped-by-overflow-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/selection/text-selection-newline-clipped-by-overflow-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/selection/text-selection-newline-expected.png b/third_party/blink/web_tests/platform/win/paint/selection/text-selection-newline-expected.png
index 956d8017..9a64a677 100644
--- a/third_party/blink/web_tests/platform/win/paint/selection/text-selection-newline-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/selection/text-selection-newline-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/selection/text-selection-newline-mixed-ltr-rtl-expected.png b/third_party/blink/web_tests/platform/win/paint/selection/text-selection-newline-mixed-ltr-rtl-expected.png
index 7da1a90..77eeb18 100644
--- a/third_party/blink/web_tests/platform/win/paint/selection/text-selection-newline-mixed-ltr-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/selection/text-selection-newline-mixed-ltr-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/selection/text-selection-newline-rtl-double-linebreak-expected.png b/third_party/blink/web_tests/platform/win/paint/selection/text-selection-newline-rtl-double-linebreak-expected.png
index 50e0c0b4..23b1f79 100644
--- a/third_party/blink/web_tests/platform/win/paint/selection/text-selection-newline-rtl-double-linebreak-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/selection/text-selection-newline-rtl-double-linebreak-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/selection/text-selection-newline-rtl-expected.png b/third_party/blink/web_tests/platform/win/paint/selection/text-selection-newline-rtl-expected.png
index 29d786f..9bee1be 100644
--- a/third_party/blink/web_tests/platform/win/paint/selection/text-selection-newline-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/selection/text-selection-newline-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/selection/text-selection-newline-span-across-line-expected.png b/third_party/blink/web_tests/platform/win/paint/selection/text-selection-newline-span-across-line-expected.png
index 4dcedcab..1d2dd77 100644
--- a/third_party/blink/web_tests/platform/win/paint/selection/text-selection-newline-span-across-line-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/selection/text-selection-newline-span-across-line-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/selection/text-selection-newline-span-expected.png b/third_party/blink/web_tests/platform/win/paint/selection/text-selection-newline-span-expected.png
index c200cb4..1168a12 100644
--- a/third_party/blink/web_tests/platform/win/paint/selection/text-selection-newline-span-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/selection/text-selection-newline-span-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/selection/text-selection-newline-vertical-lr-expected.png b/third_party/blink/web_tests/platform/win/paint/selection/text-selection-newline-vertical-lr-expected.png
index b1ee98b..c3a8e70 100644
--- a/third_party/blink/web_tests/platform/win/paint/selection/text-selection-newline-vertical-lr-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/selection/text-selection-newline-vertical-lr-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/selection/text-selection-newline-vertical-rl-expected.png b/third_party/blink/web_tests/platform/win/paint/selection/text-selection-newline-vertical-rl-expected.png
index ab2ad5e1..957f971 100644
--- a/third_party/blink/web_tests/platform/win/paint/selection/text-selection-newline-vertical-rl-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/selection/text-selection-newline-vertical-rl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/selection/text-selection-update-style-expected.png b/third_party/blink/web_tests/platform/win/paint/selection/text-selection-update-style-expected.png
index 4bcf4c7..50bd4b2 100644
--- a/third_party/blink/web_tests/platform/win/paint/selection/text-selection-update-style-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/selection/text-selection-update-style-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/selection/text-selection-with-composition-expected.png b/third_party/blink/web_tests/platform/win/paint/selection/text-selection-with-composition-expected.png
index 603e24f..9c8b9af 100644
--- a/third_party/blink/web_tests/platform/win/paint/selection/text-selection-with-composition-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/selection/text-selection-with-composition-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/text/selection-no-clip-text-expected.png b/third_party/blink/web_tests/platform/win/paint/text/selection-no-clip-text-expected.png
index 2abb40b1..914aa8e 100644
--- a/third_party/blink/web_tests/platform/win/paint/text/selection-no-clip-text-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/text/selection-no-clip-text-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/theme/adjust-progress-bar-size-expected.png b/third_party/blink/web_tests/platform/win/paint/theme/adjust-progress-bar-size-expected.png
index 2acb2d40..40b82506 100644
--- a/third_party/blink/web_tests/platform/win/paint/theme/adjust-progress-bar-size-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/theme/adjust-progress-bar-size-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/plugins/webview-plugin-nested-iframe-scroll-expected.png b/third_party/blink/web_tests/platform/win/plugins/webview-plugin-nested-iframe-scroll-expected.png
index 636223f..80ae069 100644
--- a/third_party/blink/web_tests/platform/win/plugins/webview-plugin-nested-iframe-scroll-expected.png
+++ b/third_party/blink/web_tests/platform/win/plugins/webview-plugin-nested-iframe-scroll-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/printing/return-from-printing-mode-expected.png b/third_party/blink/web_tests/platform/win/printing/return-from-printing-mode-expected.png
index ae3895d..1a90a73 100644
--- a/third_party/blink/web_tests/platform/win/printing/return-from-printing-mode-expected.png
+++ b/third_party/blink/web_tests/platform/win/printing/return-from-printing-mode-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/scrollbars/border-box-rect-clips-scrollbars-expected.png b/third_party/blink/web_tests/platform/win/scrollbars/border-box-rect-clips-scrollbars-expected.png
index c314a2d..1e9c66a 100644
--- a/third_party/blink/web_tests/platform/win/scrollbars/border-box-rect-clips-scrollbars-expected.png
+++ b/third_party/blink/web_tests/platform/win/scrollbars/border-box-rect-clips-scrollbars-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/scrollbars/scrollbars-on-positioned-content-expected.png b/third_party/blink/web_tests/platform/win/scrollbars/scrollbars-on-positioned-content-expected.png
index 455109a..67c2274 100644
--- a/third_party/blink/web_tests/platform/win/scrollbars/scrollbars-on-positioned-content-expected.png
+++ b/third_party/blink/web_tests/platform/win/scrollbars/scrollbars-on-positioned-content-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/scrollbars/short-scrollbar-expected.png b/third_party/blink/web_tests/platform/win/scrollbars/short-scrollbar-expected.png
index 44c68395..f8a35cd 100644
--- a/third_party/blink/web_tests/platform/win/scrollbars/short-scrollbar-expected.png
+++ b/third_party/blink/web_tests/platform/win/scrollbars/short-scrollbar-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/W3C-SVG-1.1/text-tselect-02-f-expected.png b/third_party/blink/web_tests/platform/win/svg/W3C-SVG-1.1/text-tselect-02-f-expected.png
index 665f2aaa..ece5446e 100644
--- a/third_party/blink/web_tests/platform/win/svg/W3C-SVG-1.1/text-tselect-02-f-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/W3C-SVG-1.1/text-tselect-02-f-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/custom/bug45331-expected.png b/third_party/blink/web_tests/platform/win/svg/custom/bug45331-expected.png
index 1f78876b..1cf4664 100644
--- a/third_party/blink/web_tests/platform/win/svg/custom/bug45331-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/custom/bug45331-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/custom/foreign-object-skew-expected.png b/third_party/blink/web_tests/platform/win/svg/custom/foreign-object-skew-expected.png
index 29aed966..6b395d5 100644
--- a/third_party/blink/web_tests/platform/win/svg/custom/foreign-object-skew-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/custom/foreign-object-skew-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/custom/getscreenctm-in-scrollable-div-area-expected.png b/third_party/blink/web_tests/platform/win/svg/custom/getscreenctm-in-scrollable-div-area-expected.png
index adf04df..713fda9 100644
--- a/third_party/blink/web_tests/platform/win/svg/custom/getscreenctm-in-scrollable-div-area-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/custom/getscreenctm-in-scrollable-div-area-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/custom/getscreenctm-in-scrollable-div-area-nested-expected.png b/third_party/blink/web_tests/platform/win/svg/custom/getscreenctm-in-scrollable-div-area-nested-expected.png
index 68f6b1781..baa73a43 100644
--- a/third_party/blink/web_tests/platform/win/svg/custom/getscreenctm-in-scrollable-div-area-nested-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/custom/getscreenctm-in-scrollable-div-area-nested-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/custom/getscreenctm-in-scrollable-svg-area-expected.png b/third_party/blink/web_tests/platform/win/svg/custom/getscreenctm-in-scrollable-svg-area-expected.png
index 36dabba..4125a3aa 100644
--- a/third_party/blink/web_tests/platform/win/svg/custom/getscreenctm-in-scrollable-svg-area-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/custom/getscreenctm-in-scrollable-svg-area-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/custom/inline-svg-in-xhtml-expected.png b/third_party/blink/web_tests/platform/win/svg/custom/inline-svg-in-xhtml-expected.png
index a9bc172..8bbf476eb 100644
--- a/third_party/blink/web_tests/platform/win/svg/custom/inline-svg-in-xhtml-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/custom/inline-svg-in-xhtml-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/custom/invisible-text-after-scrolling-expected.png b/third_party/blink/web_tests/platform/win/svg/custom/invisible-text-after-scrolling-expected.png
index a73d391..4db96cb 100644
--- a/third_party/blink/web_tests/platform/win/svg/custom/invisible-text-after-scrolling-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/custom/invisible-text-after-scrolling-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/custom/junk-data-expected.png b/third_party/blink/web_tests/platform/win/svg/custom/junk-data-expected.png
index 0976037f..502104c 100644
--- a/third_party/blink/web_tests/platform/win/svg/custom/junk-data-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/custom/junk-data-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/custom/load-non-wellformed-expected.png b/third_party/blink/web_tests/platform/win/svg/custom/load-non-wellformed-expected.png
index 2a6b6d7..fcd42361 100644
--- a/third_party/blink/web_tests/platform/win/svg/custom/load-non-wellformed-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/custom/load-non-wellformed-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/custom/missing-xlink-expected.png b/third_party/blink/web_tests/platform/win/svg/custom/missing-xlink-expected.png
index 06efaec..729e599 100644
--- a/third_party/blink/web_tests/platform/win/svg/custom/missing-xlink-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/custom/missing-xlink-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/custom/mouse-move-on-svg-container-expected.png b/third_party/blink/web_tests/platform/win/svg/custom/mouse-move-on-svg-container-expected.png
index 842d60b..9cdd2ea 100644
--- a/third_party/blink/web_tests/platform/win/svg/custom/mouse-move-on-svg-container-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/custom/mouse-move-on-svg-container-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/custom/mouse-move-on-svg-container-standalone-expected.png b/third_party/blink/web_tests/platform/win/svg/custom/mouse-move-on-svg-container-standalone-expected.png
index 842d60b..9cdd2ea 100644
--- a/third_party/blink/web_tests/platform/win/svg/custom/mouse-move-on-svg-container-standalone-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/custom/mouse-move-on-svg-container-standalone-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/custom/object-sizing-no-width-height-expected.png b/third_party/blink/web_tests/platform/win/svg/custom/object-sizing-no-width-height-expected.png
index 436f1b5..75570f2 100644
--- a/third_party/blink/web_tests/platform/win/svg/custom/object-sizing-no-width-height-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/custom/object-sizing-no-width-height-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/custom/path-bad-data-expected.png b/third_party/blink/web_tests/platform/win/svg/custom/path-bad-data-expected.png
index 56ba21b..5886a48 100644
--- a/third_party/blink/web_tests/platform/win/svg/custom/path-bad-data-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/custom/path-bad-data-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/custom/text-dom-01-f-expected.png b/third_party/blink/web_tests/platform/win/svg/custom/text-dom-01-f-expected.png
index 03b70ac..e1c5e89 100644
--- a/third_party/blink/web_tests/platform/win/svg/custom/text-dom-01-f-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/custom/text-dom-01-f-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/custom/use-font-face-crash-expected.png b/third_party/blink/web_tests/platform/win/svg/custom/use-font-face-crash-expected.png
index e6fdd8df..1652db1 100644
--- a/third_party/blink/web_tests/platform/win/svg/custom/use-font-face-crash-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/custom/use-font-face-crash-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/dom/SVGStringList-basics-expected.png b/third_party/blink/web_tests/platform/win/svg/dom/SVGStringList-basics-expected.png
index 069e118..27197cd9 100644
--- a/third_party/blink/web_tests/platform/win/svg/dom/SVGStringList-basics-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/dom/SVGStringList-basics-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/dom/css-transforms-expected.png b/third_party/blink/web_tests/platform/win/svg/dom/css-transforms-expected.png
index 48ec52a8..d0d5a18 100644
--- a/third_party/blink/web_tests/platform/win/svg/dom/css-transforms-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/dom/css-transforms-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-objectBoundingBox-expected.png b/third_party/blink/web_tests/platform/win/svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-objectBoundingBox-expected.png
index 4f758a2..536f4ff 100644
--- a/third_party/blink/web_tests/platform/win/svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-objectBoundingBox-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-objectBoundingBox-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-userSpaceOnUse-expected.png b/third_party/blink/web_tests/platform/win/svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-userSpaceOnUse-expected.png
index c2caec33..d7b2047 100644
--- a/third_party/blink/web_tests/platform/win/svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-userSpaceOnUse-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-userSpaceOnUse-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-objectBoundingBox-expected.png b/third_party/blink/web_tests/platform/win/svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-objectBoundingBox-expected.png
index 4f758a2..536f4ff 100644
--- a/third_party/blink/web_tests/platform/win/svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-objectBoundingBox-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-objectBoundingBox-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-userSpaceOnUse-expected.png b/third_party/blink/web_tests/platform/win/svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-userSpaceOnUse-expected.png
index c2caec33..d7b2047 100644
--- a/third_party/blink/web_tests/platform/win/svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-userSpaceOnUse-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-userSpaceOnUse-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/hixie/error/012-expected.png b/third_party/blink/web_tests/platform/win/svg/hixie/error/012-expected.png
index 34bbe46c9..8a60135 100644
--- a/third_party/blink/web_tests/platform/win/svg/hixie/error/012-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/hixie/error/012-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/hixie/mixed/003-expected.png b/third_party/blink/web_tests/platform/win/svg/hixie/mixed/003-expected.png
index 4e0196e9..80f5a5ab 100644
--- a/third_party/blink/web_tests/platform/win/svg/hixie/mixed/003-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/hixie/mixed/003-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/overflow/overflow-on-outermost-svg-element-defaults-expected.png b/third_party/blink/web_tests/platform/win/svg/overflow/overflow-on-outermost-svg-element-defaults-expected.png
index bf56faf..0315a600 100644
--- a/third_party/blink/web_tests/platform/win/svg/overflow/overflow-on-outermost-svg-element-defaults-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/overflow/overflow-on-outermost-svg-element-defaults-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-2-expected.png b/third_party/blink/web_tests/platform/win/svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-2-expected.png
index bf56faf..0315a600 100644
--- a/third_party/blink/web_tests/platform/win/svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-2-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-3-expected.png b/third_party/blink/web_tests/platform/win/svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-3-expected.png
index bf56faf..0315a600 100644
--- a/third_party/blink/web_tests/platform/win/svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-3-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-3-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-defaults-expected.png b/third_party/blink/web_tests/platform/win/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-defaults-expected.png
index 8b83618..84edb2b 100644
--- a/third_party/blink/web_tests/platform/win/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-defaults-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-defaults-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/text/foreignObject-text-clipping-bug-expected.png b/third_party/blink/web_tests/platform/win/svg/text/foreignObject-text-clipping-bug-expected.png
index 02bc307..278240c 100644
--- a/third_party/blink/web_tests/platform/win/svg/text/foreignObject-text-clipping-bug-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/text/foreignObject-text-clipping-bug-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacing-squeeze-1-expected.png b/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacing-squeeze-1-expected.png
index c0ab402b..386a0bf3 100644
--- a/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacing-squeeze-1-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacing-squeeze-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacing-squeeze-2-expected.png b/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacing-squeeze-2-expected.png
index 03ed987..9a8b68bc 100644
--- a/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacing-squeeze-2-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacing-squeeze-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacing-squeeze-3-expected.png b/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacing-squeeze-3-expected.png
index da31920..6dc3903 100644
--- a/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacing-squeeze-3-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacing-squeeze-3-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacing-squeeze-4-expected.png b/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacing-squeeze-4-expected.png
index b6a679a..3197da6 100644
--- a/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacing-squeeze-4-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacing-squeeze-4-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacing-stretch-1-expected.png b/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacing-stretch-1-expected.png
index e0126f6f..0f065175 100644
--- a/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacing-stretch-1-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacing-stretch-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacing-stretch-2-expected.png b/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacing-stretch-2-expected.png
index 45b0d24..43df12e 100644
--- a/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacing-stretch-2-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacing-stretch-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacing-stretch-3-expected.png b/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacing-stretch-3-expected.png
index 4306ad0..edac7a5 100644
--- a/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacing-stretch-3-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacing-stretch-3-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacing-stretch-4-expected.png b/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacing-stretch-4-expected.png
index 53de0ba..c39a138 100644
--- a/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacing-stretch-4-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacing-stretch-4-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacingAndGlyphs-squeeze-1-expected.png b/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacingAndGlyphs-squeeze-1-expected.png
index fe476d2..54ccf9d0 100644
--- a/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacingAndGlyphs-squeeze-1-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacingAndGlyphs-squeeze-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacingAndGlyphs-squeeze-2-expected.png b/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacingAndGlyphs-squeeze-2-expected.png
index 5db9a9a..c321e5b8 100644
--- a/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacingAndGlyphs-squeeze-2-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacingAndGlyphs-squeeze-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacingAndGlyphs-squeeze-3-expected.png b/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacingAndGlyphs-squeeze-3-expected.png
index 5737b8b..5beab64 100644
--- a/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacingAndGlyphs-squeeze-3-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacingAndGlyphs-squeeze-3-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacingAndGlyphs-squeeze-4-expected.png b/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacingAndGlyphs-squeeze-4-expected.png
index f7d6b0c..5e9a79c6 100644
--- a/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacingAndGlyphs-squeeze-4-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacingAndGlyphs-squeeze-4-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacingAndGlyphs-stretch-1-expected.png b/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacingAndGlyphs-stretch-1-expected.png
index 27162a6..f916c70a 100644
--- a/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacingAndGlyphs-stretch-1-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacingAndGlyphs-stretch-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacingAndGlyphs-stretch-2-expected.png b/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacingAndGlyphs-stretch-2-expected.png
index 7e87a80..c87a651 100644
--- a/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacingAndGlyphs-stretch-2-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacingAndGlyphs-stretch-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacingAndGlyphs-stretch-3-expected.png b/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacingAndGlyphs-stretch-3-expected.png
index edaa6d23..87675a4 100644
--- a/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacingAndGlyphs-stretch-3-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacingAndGlyphs-stretch-3-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacingAndGlyphs-stretch-4-expected.png b/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacingAndGlyphs-stretch-4-expected.png
index 86285d2..2ae4dfbf 100644
--- a/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacingAndGlyphs-stretch-4-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/text/select-textLength-spacingAndGlyphs-stretch-4-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/text/select-x-list-1-expected.png b/third_party/blink/web_tests/platform/win/svg/text/select-x-list-1-expected.png
index a0192604..d59796e 100644
--- a/third_party/blink/web_tests/platform/win/svg/text/select-x-list-1-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/text/select-x-list-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/text/select-x-list-2-expected.png b/third_party/blink/web_tests/platform/win/svg/text/select-x-list-2-expected.png
index 080c951..d9038e6 100644
--- a/third_party/blink/web_tests/platform/win/svg/text/select-x-list-2-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/text/select-x-list-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/text/select-x-list-3-expected.png b/third_party/blink/web_tests/platform/win/svg/text/select-x-list-3-expected.png
index 69ecfa6..9155035 100644
--- a/third_party/blink/web_tests/platform/win/svg/text/select-x-list-3-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/text/select-x-list-3-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/text/select-x-list-4-expected.png b/third_party/blink/web_tests/platform/win/svg/text/select-x-list-4-expected.png
index d96b092..c61eff7 100644
--- a/third_party/blink/web_tests/platform/win/svg/text/select-x-list-4-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/text/select-x-list-4-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/text/select-x-list-with-tspans-1-expected.png b/third_party/blink/web_tests/platform/win/svg/text/select-x-list-with-tspans-1-expected.png
index a0192604..d59796e 100644
--- a/third_party/blink/web_tests/platform/win/svg/text/select-x-list-with-tspans-1-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/text/select-x-list-with-tspans-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/text/select-x-list-with-tspans-2-expected.png b/third_party/blink/web_tests/platform/win/svg/text/select-x-list-with-tspans-2-expected.png
index 080c951..d9038e6 100644
--- a/third_party/blink/web_tests/platform/win/svg/text/select-x-list-with-tspans-2-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/text/select-x-list-with-tspans-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/text/select-x-list-with-tspans-3-expected.png b/third_party/blink/web_tests/platform/win/svg/text/select-x-list-with-tspans-3-expected.png
index 69ecfa6..9155035 100644
--- a/third_party/blink/web_tests/platform/win/svg/text/select-x-list-with-tspans-3-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/text/select-x-list-with-tspans-3-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/text/select-x-list-with-tspans-4-expected.png b/third_party/blink/web_tests/platform/win/svg/text/select-x-list-with-tspans-4-expected.png
index d96b092..c61eff7 100644
--- a/third_party/blink/web_tests/platform/win/svg/text/select-x-list-with-tspans-4-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/text/select-x-list-with-tspans-4-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/text/selection-doubleclick-expected.png b/third_party/blink/web_tests/platform/win/svg/text/selection-doubleclick-expected.png
index 79f3bbf..dc7e84a 100644
--- a/third_party/blink/web_tests/platform/win/svg/text/selection-doubleclick-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/text/selection-doubleclick-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/text/selection-tripleclick-expected.png b/third_party/blink/web_tests/platform/win/svg/text/selection-tripleclick-expected.png
index 9ebb8b47..a4f15f3 100644
--- a/third_party/blink/web_tests/platform/win/svg/text/selection-tripleclick-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/text/selection-tripleclick-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/text/text-selection-align-01-b-expected.png b/third_party/blink/web_tests/platform/win/svg/text/text-selection-align-01-b-expected.png
index 71d6ada..1219504a 100644
--- a/third_party/blink/web_tests/platform/win/svg/text/text-selection-align-01-b-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/text/text-selection-align-01-b-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/text/text-selection-align-02-b-expected.png b/third_party/blink/web_tests/platform/win/svg/text/text-selection-align-02-b-expected.png
index 793d4dc..bc357b2 100644
--- a/third_party/blink/web_tests/platform/win/svg/text/text-selection-align-02-b-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/text/text-selection-align-02-b-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/text/text-selection-align-03-b-expected.png b/third_party/blink/web_tests/platform/win/svg/text/text-selection-align-03-b-expected.png
index 199a72e..770a50d 100644
--- a/third_party/blink/web_tests/platform/win/svg/text/text-selection-align-03-b-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/text/text-selection-align-03-b-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/text/text-selection-align-04-b-expected.png b/third_party/blink/web_tests/platform/win/svg/text/text-selection-align-04-b-expected.png
index 97c9b15..856cfbe 100644
--- a/third_party/blink/web_tests/platform/win/svg/text/text-selection-align-04-b-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/text/text-selection-align-04-b-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/text/text-selection-align-05-b-expected.png b/third_party/blink/web_tests/platform/win/svg/text/text-selection-align-05-b-expected.png
index a950cec8..c9bc457 100644
--- a/third_party/blink/web_tests/platform/win/svg/text/text-selection-align-05-b-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/text/text-selection-align-05-b-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/text/text-selection-align-06-b-expected.png b/third_party/blink/web_tests/platform/win/svg/text/text-selection-align-06-b-expected.png
index 4b4be9de2..1ca0b15 100644
--- a/third_party/blink/web_tests/platform/win/svg/text/text-selection-align-06-b-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/text/text-selection-align-06-b-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/text/text-selection-deco-01-b-expected.png b/third_party/blink/web_tests/platform/win/svg/text/text-selection-deco-01-b-expected.png
index 1e40b4ef..29da2c8 100644
--- a/third_party/blink/web_tests/platform/win/svg/text/text-selection-deco-01-b-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/text/text-selection-deco-01-b-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/text/text-selection-fonts-01-t-expected.png b/third_party/blink/web_tests/platform/win/svg/text/text-selection-fonts-01-t-expected.png
index d4645cff..868d10da 100644
--- a/third_party/blink/web_tests/platform/win/svg/text/text-selection-fonts-01-t-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/text/text-selection-fonts-01-t-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/text/text-selection-fonts-02-t-expected.png b/third_party/blink/web_tests/platform/win/svg/text/text-selection-fonts-02-t-expected.png
index 68c79078..e44166e8 100644
--- a/third_party/blink/web_tests/platform/win/svg/text/text-selection-fonts-02-t-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/text/text-selection-fonts-02-t-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/text/text-selection-intro-05-t-expected.png b/third_party/blink/web_tests/platform/win/svg/text/text-selection-intro-05-t-expected.png
index 400c433..598686a 100644
--- a/third_party/blink/web_tests/platform/win/svg/text/text-selection-intro-05-t-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/text/text-selection-intro-05-t-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/text/text-selection-path-01-b-expected.png b/third_party/blink/web_tests/platform/win/svg/text/text-selection-path-01-b-expected.png
index d732a786..fcc27900 100644
--- a/third_party/blink/web_tests/platform/win/svg/text/text-selection-path-01-b-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/text/text-selection-path-01-b-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/text/text-selection-spacing-01-b-expected.png b/third_party/blink/web_tests/platform/win/svg/text/text-selection-spacing-01-b-expected.png
index 7a6ce6e4..ddca9e5 100644
--- a/third_party/blink/web_tests/platform/win/svg/text/text-selection-spacing-01-b-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/text/text-selection-spacing-01-b-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/text/text-selection-text-01-b-expected.png b/third_party/blink/web_tests/platform/win/svg/text/text-selection-text-01-b-expected.png
index f40565ba..4c9a091 100644
--- a/third_party/blink/web_tests/platform/win/svg/text/text-selection-text-01-b-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/text/text-selection-text-01-b-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/text/text-selection-text-03-b-expected.png b/third_party/blink/web_tests/platform/win/svg/text/text-selection-text-03-b-expected.png
index fb4c5ad1..5e5a761 100644
--- a/third_party/blink/web_tests/platform/win/svg/text/text-selection-text-03-b-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/text/text-selection-text-03-b-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/text/text-selection-text-04-t-expected.png b/third_party/blink/web_tests/platform/win/svg/text/text-selection-text-04-t-expected.png
index 22c358f9..d019a85 100644
--- a/third_party/blink/web_tests/platform/win/svg/text/text-selection-text-04-t-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/text/text-selection-text-04-t-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/text/text-selection-text-06-t-expected.png b/third_party/blink/web_tests/platform/win/svg/text/text-selection-text-06-t-expected.png
index a1a700ac..7d6eee3 100644
--- a/third_party/blink/web_tests/platform/win/svg/text/text-selection-text-06-t-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/text/text-selection-text-06-t-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/text/text-selection-text-07-t-expected.png b/third_party/blink/web_tests/platform/win/svg/text/text-selection-text-07-t-expected.png
index 5aaeb0a3..df5eb69 100644
--- a/third_party/blink/web_tests/platform/win/svg/text/text-selection-text-07-t-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/text/text-selection-text-07-t-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/text/text-selection-text-08-b-expected.png b/third_party/blink/web_tests/platform/win/svg/text/text-selection-text-08-b-expected.png
index 831db9e7f..0da3cab 100644
--- a/third_party/blink/web_tests/platform/win/svg/text/text-selection-text-08-b-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/text/text-selection-text-08-b-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/text/text-selection-tselect-01-b-expected.png b/third_party/blink/web_tests/platform/win/svg/text/text-selection-tselect-01-b-expected.png
index a2cb048..e3d5e43f 100644
--- a/third_party/blink/web_tests/platform/win/svg/text/text-selection-tselect-01-b-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/text/text-selection-tselect-01-b-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/text/text-selection-tselect-02-f-expected.png b/third_party/blink/web_tests/platform/win/svg/text/text-selection-tselect-02-f-expected.png
index 7326f2e..5b24f8d 100644
--- a/third_party/blink/web_tests/platform/win/svg/text/text-selection-tselect-02-f-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/text/text-selection-tselect-02-f-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/text/text-selection-tspan-01-b-expected.png b/third_party/blink/web_tests/platform/win/svg/text/text-selection-tspan-01-b-expected.png
index a288b74..dd7ce88 100644
--- a/third_party/blink/web_tests/platform/win/svg/text/text-selection-tspan-01-b-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/text/text-selection-tspan-01-b-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/text/text-selection-ws-01-t-expected.png b/third_party/blink/web_tests/platform/win/svg/text/text-selection-ws-01-t-expected.png
index 862696ad..a7b6448d 100644
--- a/third_party/blink/web_tests/platform/win/svg/text/text-selection-ws-01-t-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/text/text-selection-ws-01-t-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/text/text-selection-ws-02-t-expected.png b/third_party/blink/web_tests/platform/win/svg/text/text-selection-ws-02-t-expected.png
index 0d4bf3d5..0d1f1a3 100644
--- a/third_party/blink/web_tests/platform/win/svg/text/text-selection-ws-02-t-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/text/text-selection-ws-02-t-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/text/textPathBoundsBug-expected.png b/third_party/blink/web_tests/platform/win/svg/text/textPathBoundsBug-expected.png
index 18a3e00e..47d2564 100644
--- a/third_party/blink/web_tests/platform/win/svg/text/textPathBoundsBug-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/text/textPathBoundsBug-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/transforms/transformed-text-fill-pattern-expected.png b/third_party/blink/web_tests/platform/win/svg/transforms/transformed-text-fill-pattern-expected.png
index ab398dc3..668852e 100644
--- a/third_party/blink/web_tests/platform/win/svg/transforms/transformed-text-fill-pattern-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/transforms/transformed-text-fill-pattern-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/wicd/test-scalable-background-image1-expected.png b/third_party/blink/web_tests/platform/win/svg/wicd/test-scalable-background-image1-expected.png
index 77bdf9a56..a4a1cf62 100644
--- a/third_party/blink/web_tests/platform/win/svg/wicd/test-scalable-background-image1-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/wicd/test-scalable-background-image1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/zoom/page/absolute-sized-document-scrollbars-expected.png b/third_party/blink/web_tests/platform/win/svg/zoom/page/absolute-sized-document-scrollbars-expected.png
index 31ebd5a..d3ac7e96 100644
--- a/third_party/blink/web_tests/platform/win/svg/zoom/page/absolute-sized-document-scrollbars-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/zoom/page/absolute-sized-document-scrollbars-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/zoom/page/zoom-hixie-mixed-008-expected.png b/third_party/blink/web_tests/platform/win/svg/zoom/page/zoom-hixie-mixed-008-expected.png
index 77730adf..34c3c394 100644
--- a/third_party/blink/web_tests/platform/win/svg/zoom/page/zoom-hixie-mixed-008-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/zoom/page/zoom-hixie-mixed-008-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/zoom/page/zoom-mask-with-percentages-expected.png b/third_party/blink/web_tests/platform/win/svg/zoom/page/zoom-mask-with-percentages-expected.png
index 752ff821..d458508 100644
--- a/third_party/blink/web_tests/platform/win/svg/zoom/page/zoom-mask-with-percentages-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/zoom/page/zoom-mask-with-percentages-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/zoom/page/zoom-svg-float-border-padding-expected.png b/third_party/blink/web_tests/platform/win/svg/zoom/page/zoom-svg-float-border-padding-expected.png
index 40dbabe9..406e7fa 100644
--- a/third_party/blink/web_tests/platform/win/svg/zoom/page/zoom-svg-float-border-padding-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/zoom/page/zoom-svg-float-border-padding-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/45621-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/45621-expected.png
index 7223853c..2311b293 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/45621-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/45621-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug101674-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug101674-expected.png
index 854046e..88534bc 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug101674-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug101674-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug10269-2-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug10269-2-expected.png
index ec543f4..7fb1687 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug10269-2-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug10269-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug10296-1-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug10296-1-expected.png
index f73ca78..868fdc6 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug10296-1-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug10296-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug1055-1-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug1055-1-expected.png
index 4d75e2a..418017d 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug1055-1-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug1055-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug113235-1-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug113235-1-expected.png
index 5fd828415..03d48803 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug113235-1-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug113235-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug113235-3-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug113235-3-expected.png
index 4e562b02..1595d84 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug113235-3-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug113235-3-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug1188-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug1188-expected.png
index b0d00f8..b77e5db 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug1188-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug1188-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug11944-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug11944-expected.png
index 6962cfc..86434a5 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug11944-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug11944-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug120364-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug120364-expected.png
index dd0cc42..f7b7388 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug120364-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug120364-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug12384-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug12384-expected.png
index 8fcad25..98d929e 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug12384-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug12384-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug1302-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug1302-expected.png
index f9ca81a..20b7ae4 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug1302-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug1302-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug131020-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug131020-expected.png
index b352828..5661fcb1 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug131020-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug131020-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug131020_iframe-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug131020_iframe-expected.png
index 5ecab5c..42d84ba0 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug131020_iframe-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug131020_iframe-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug1318-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug1318-expected.png
index 429387a..b886b4d 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug1318-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug1318-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug137388-2-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug137388-2-expected.png
index 198f0b57..b961b40a 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug137388-2-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug137388-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug138725-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug138725-expected.png
index 11929bd..75485592 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug138725-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug138725-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug149275-1-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug149275-1-expected.png
index b1c1c07..83c46fe 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug149275-1-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug149275-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug18359-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug18359-expected.png
index 2d5f5ab..0d5a9dc 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug18359-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug18359-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug194024-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug194024-expected.png
index 4ec5c3d..19da395 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug194024-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug194024-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug22019-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug22019-expected.png
index 7a8020a..41ee722 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug22019-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug22019-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug24200-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug24200-expected.png
index e50ef7e..77534bd 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug24200-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug24200-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug2479-1-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug2479-1-expected.png
index 867047a1..f22b007e 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug2479-1-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug2479-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug2479-2-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug2479-2-expected.png
index eef9290..30f6551 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug2479-2-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug2479-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug2479-3-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug2479-3-expected.png
index 3c81e55..f45fe78e 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug2479-3-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug2479-3-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug2479-4-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug2479-4-expected.png
index a1a69bd..f6b604e 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug2479-4-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug2479-4-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug26178-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug26178-expected.png
index f13476b..67361f7 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug26178-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug26178-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug27038-2-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug27038-2-expected.png
index 95af7430..3eb93cbb 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug27038-2-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug27038-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug28928-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug28928-expected.png
index 84b9157..4b22998 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug28928-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug28928-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug29326-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug29326-expected.png
index 43a574e..1a8e8e6 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug29326-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug29326-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug2947-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug2947-expected.png
index 4f79353c..f2e01a8 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug2947-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug2947-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug30559-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug30559-expected.png
index 0f9f6cc..edf4a0b 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug30559-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug30559-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug30692-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug30692-expected.png
index bd78d5a..ddd07de 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug30692-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug30692-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug32205-2-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug32205-2-expected.png
index 45456b7c..9add53f 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug32205-2-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug32205-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug33855-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug33855-expected.png
index 055e6fa..4116e5c 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug33855-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug33855-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug38916-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug38916-expected.png
index 66fe7678..a757585 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug38916-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug38916-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug39209-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug39209-expected.png
index 37bd95c..d909b95f 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug39209-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug39209-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug3977-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug3977-expected.png
index 2ed041a..1d0cfc6 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug3977-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug3977-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug4382-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug4382-expected.png
index 9ed7f6b6..1283eec 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug4382-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug4382-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug4429-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug4429-expected.png
index 80ff9393..6f965f9 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug4429-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug4429-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug44505-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug44505-expected.png
index 09b5cecf..edef875 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug44505-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug44505-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug4527-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug4527-expected.png
index c2914423..bf30d79 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug4527-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug4527-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug46368-1-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug46368-1-expected.png
index 9c561a5..e210602 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug46368-1-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug46368-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug46368-2-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug46368-2-expected.png
index d384dd2..06fb6183 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug46368-2-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug46368-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug46480-1-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug46480-1-expected.png
index 815cb52..e1e10a82 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug46480-1-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug46480-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug50695-1-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug50695-1-expected.png
index 60f87be..7f827650 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug50695-1-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug50695-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug51037-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug51037-expected.png
index 9d83d17..b6f32a28 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug51037-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug51037-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug51727-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug51727-expected.png
index f3fa0b4..714b8bb8 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug51727-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug51727-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug52505-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug52505-expected.png
index 3a5751a7..e4fbe50 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug52505-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug52505-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug52506-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug52506-expected.png
index ea5664c..0312d91 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug52506-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug52506-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug55545-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug55545-expected.png
index 8cdc9bae..89f89ab 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug55545-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug55545-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug56405-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug56405-expected.png
index 2f804c07..5e330161 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug56405-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug56405-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug5835-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug5835-expected.png
index 2e4cbbb..f43c9f4e 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug5835-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug5835-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug59354-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug59354-expected.png
index 743bc73..e89ad2e 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug59354-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug59354-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug60749-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug60749-expected.png
index e4758036..67476bcb3 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug60749-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug60749-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug650-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug650-expected.png
index a1e4a89..d2adad50 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug650-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug650-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug67915-1-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug67915-1-expected.png
index 2819e8d..6d127a4 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug67915-1-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug67915-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug68912-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug68912-expected.png
index 29643428..7d0621c 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug68912-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug68912-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug7112-1-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug7112-1-expected.png
index b28ff2c3..325dee77 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug7112-1-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug7112-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug7112-2-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug7112-2-expected.png
index cdc72d7..c97070a4 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug7112-2-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug7112-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug73321-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug73321-expected.png
index 0d61901..ec50dcc 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug73321-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug73321-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug7342-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug7342-expected.png
index c901ab4..216ad58 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug7342-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug7342-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug92647-2-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug92647-2-expected.png
index d75d23593..fd2874d 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug92647-2-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug92647-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug96334-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug96334-expected.png
index 08cace9..6a202ec 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug96334-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug96334-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug96343-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug96343-expected.png
index 3784e137..ad43e1dd 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug96343-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug96343-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/collapsing_borders/bug41262-4-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/collapsing_borders/bug41262-4-expected.png
index c3df9bf..dca3712 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/collapsing_borders/bug41262-4-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/collapsing_borders/bug41262-4-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/core/bloomberg-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/core/bloomberg-expected.png
index d2d7199..7f63416 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/core/bloomberg-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/core/bloomberg-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/core/captions-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/core/captions-expected.png
index a4144060..3c8cee07 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/core/captions-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/core/captions-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/core/cell_heights-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/core/cell_heights-expected.png
index 4bdd086..d38b86ff 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/core/cell_heights-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/core/cell_heights-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/core/col_widths_fix_fixPer-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/core/col_widths_fix_fixPer-expected.png
index 5450644..6b227a1 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/core/col_widths_fix_fixPer-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/core/col_widths_fix_fixPer-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/core/margins-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/core/margins-expected.png
index f64eb740..18af8f6 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/core/margins-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/core/margins-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/core/row_span-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/core/row_span-expected.png
index fb59108..b16beac 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/core/row_span-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/core/row_span-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/dom/tableDom-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/dom/tableDom-expected.png
index 37b8650f..2812c6b 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/dom/tableDom-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/dom/tableDom-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/marvin/x_table_bgcolor_name-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/marvin/x_table_bgcolor_name-expected.png
index 085d78de..0c72fc8 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/marvin/x_table_bgcolor_name-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/marvin/x_table_bgcolor_name-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/marvin/x_table_bgcolor_rgb-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/marvin/x_table_bgcolor_rgb-expected.png
index 085d78de..0c72fc8 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/marvin/x_table_bgcolor_rgb-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/marvin/x_table_bgcolor_rgb-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/marvin/x_td_bgcolor_name-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/marvin/x_td_bgcolor_name-expected.png
index 778cf68..a693a69 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/marvin/x_td_bgcolor_name-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/marvin/x_td_bgcolor_name-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/marvin/x_td_bgcolor_rgb-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/marvin/x_td_bgcolor_rgb-expected.png
index 778cf68..a693a69 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/marvin/x_td_bgcolor_rgb-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/marvin/x_td_bgcolor_rgb-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/marvin/x_td_height-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/marvin/x_td_height-expected.png
index 0e2a456..032685828 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/marvin/x_td_height-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/marvin/x_td_height-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/marvin/x_th_bgcolor_name-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/marvin/x_th_bgcolor_name-expected.png
index ade4801..aa41b96d 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/marvin/x_th_bgcolor_name-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/marvin/x_th_bgcolor_name-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/marvin/x_th_bgcolor_rgb-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/marvin/x_th_bgcolor_rgb-expected.png
index ade4801..aa41b96d 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/marvin/x_th_bgcolor_rgb-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/marvin/x_th_bgcolor_rgb-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/marvin/x_th_height-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/marvin/x_th_height-expected.png
index 81ee1a3..3e05d9e 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/marvin/x_th_height-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/marvin/x_th_height-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/marvin/x_tr_bgcolor_name-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/marvin/x_tr_bgcolor_name-expected.png
index 778cf68..a693a69 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/marvin/x_tr_bgcolor_name-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/marvin/x_tr_bgcolor_name-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/marvin/x_tr_bgcolor_rgb-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/marvin/x_tr_bgcolor_rgb-expected.png
index 778cf68..a693a69 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/marvin/x_tr_bgcolor_rgb-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/marvin/x_tr_bgcolor_rgb-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/other/cell_widths-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/other/cell_widths-expected.png
index 8173b89..b3ba1f17 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/other/cell_widths-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/other/cell_widths-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/other/move_row-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/other/move_row-expected.png
index ad7438b3..8e7ebc1 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/other/move_row-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/other/move_row-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/other/nestedTables-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/other/nestedTables-expected.png
index 0b34bb8e..7938073 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/other/nestedTables-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/other/nestedTables-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/other/test3-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/other/test3-expected.png
index b0a8cfc..d93cecf5 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/other/test3-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/other/test3-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/other/test6-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/other/test6-expected.png
index 72304836..5b21d67 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/other/test6-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/other/test6-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/other/wa_table_thtd_rowspan-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/other/wa_table_thtd_rowspan-expected.png
index 5709d98..e82100f7 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/other/wa_table_thtd_rowspan-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/other/wa_table_thtd_rowspan-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla/other/wa_table_tr_align-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla/other/wa_table_tr_align-expected.png
index 1310a745..66192abc 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla/other/wa_table_tr_align-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla/other/wa_table_tr_align-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug10140-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug10140-expected.png
index 87b356b..20f5d5d 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug10140-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug10140-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug101759-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug101759-expected.png
index 15b8ec92..643699f4 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug101759-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug101759-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug10216-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug10216-expected.png
index 891bcf0..1007baf5 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug10216-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug10216-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug1055-2-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug1055-2-expected.png
index 5b838c15..6f4222be 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug1055-2-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug1055-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug106966-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug106966-expected.png
index 6de00437..1699ee5 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug106966-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug106966-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug131020-3-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug131020-3-expected.png
index 30a5f4d..b565a41 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug131020-3-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug131020-3-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug14007-1-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug14007-1-expected.png
index 0a0b514..f5efd219 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug14007-1-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug14007-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug14007-2-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug14007-2-expected.png
index 072cd97..8fbbc746 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug14007-2-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug14007-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug1725-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug1725-expected.png
index 49298797..e1f2773 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug1725-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug1725-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug19526-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug19526-expected.png
index 7656a7ec..118848620 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug19526-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug19526-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug22122-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug22122-expected.png
index 5be2cae..c4d479b 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug22122-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug22122-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug2479-5-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug2479-5-expected.png
index 3e09a33..f160d6b 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug2479-5-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug2479-5-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug32205-1-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug32205-1-expected.png
index 70a33b7..cc95c7e 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug32205-1-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug32205-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug58402-2-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug58402-2-expected.png
index fd4b029..bf57365 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug58402-2-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug58402-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug80762-2-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug80762-2-expected.png
index b93ac09..26c9873 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug80762-2-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug80762-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug89315-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug89315-expected.png
index 59b0000..6549dc1 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug89315-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug89315-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug91057-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug91057-expected.png
index 8e7a191..178ceb2 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug91057-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug91057-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug92647-1-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug92647-1-expected.png
index d827650..7d04dffa 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug92647-1-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/bugs/bug92647-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/collapsing_borders/bug41262-5-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/collapsing_borders/bug41262-5-expected.png
index 4d17caf..c3121c60 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/collapsing_borders/bug41262-5-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/collapsing_borders/bug41262-5-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/collapsing_borders/bug41262-6-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/collapsing_borders/bug41262-6-expected.png
index 159d196..5235bfd 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/collapsing_borders/bug41262-6-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/collapsing_borders/bug41262-6-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/core/backgrounds-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/core/backgrounds-expected.png
index 4698aea5..7a516d9 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/core/backgrounds-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/core/backgrounds-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/core/captions1-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/core/captions1-expected.png
index 3d02f29..56b576a6 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/core/captions1-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/core/captions1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/core/captions2-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/core/captions2-expected.png
index a4e4aae..17f90f3 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/core/captions2-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/core/captions2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/core/captions3-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/core/captions3-expected.png
index 8365318..77695f0d 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/core/captions3-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/core/captions3-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/core/col_span2-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/core/col_span2-expected.png
index 9b295bc..7d2bc37 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/core/col_span2-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/core/col_span2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/core/columns-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/core/columns-expected.png
index f3d7e78..0f53dafd 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/core/columns-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/core/columns-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/core/conflicts-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/core/conflicts-expected.png
index d6ac25e..f8153081 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/core/conflicts-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/core/conflicts-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/core/standards1-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/core/standards1-expected.png
index e4e15217..ddc0ddf 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/core/standards1-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/core/standards1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.png
index ca1cca7..0bdbb52 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_row_sibling-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_row_sibling-expected.png
index bf3222d..1366f7a 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_row_sibling-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_row_sibling-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_tbody_sibling-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_tbody_sibling-expected.png
index ead09ae3..97540f2 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_tbody_sibling-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_tbody_sibling-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/other/empty_cells-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/other/empty_cells-expected.png
index 069df4d..1734a5e 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/other/empty_cells-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/other/empty_cells-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/other/test4-expected.png b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/other/test4-expected.png
index fb2f3b3..3a5ba03c 100644
--- a/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/other/test4-expected.png
+++ b/third_party/blink/web_tests/platform/win/tables/mozilla_expected_failures/other/test4-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/transforms/2d/transform-fixed-container-expected.png b/third_party/blink/web_tests/platform/win/transforms/2d/transform-fixed-container-expected.png
index 83ec6cf35..5a6f93a 100644
--- a/third_party/blink/web_tests/platform/win/transforms/2d/transform-fixed-container-expected.png
+++ b/third_party/blink/web_tests/platform/win/transforms/2d/transform-fixed-container-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/transforms/2d/zoom-menulist-expected.png b/third_party/blink/web_tests/platform/win/transforms/2d/zoom-menulist-expected.png
index e1ae2cf..05f774f 100644
--- a/third_party/blink/web_tests/platform/win/transforms/2d/zoom-menulist-expected.png
+++ b/third_party/blink/web_tests/platform/win/transforms/2d/zoom-menulist-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/transforms/3d/general/perspective-non-layer-expected.png b/third_party/blink/web_tests/platform/win/transforms/3d/general/perspective-non-layer-expected.png
index 3c613d30..ab07942 100644
--- a/third_party/blink/web_tests/platform/win/transforms/3d/general/perspective-non-layer-expected.png
+++ b/third_party/blink/web_tests/platform/win/transforms/3d/general/perspective-non-layer-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/transforms/3d/point-mapping/3d-point-mapping-deep-expected.png b/third_party/blink/web_tests/platform/win/transforms/3d/point-mapping/3d-point-mapping-deep-expected.png
index d3d057a..84a5f11 100644
--- a/third_party/blink/web_tests/platform/win/transforms/3d/point-mapping/3d-point-mapping-deep-expected.png
+++ b/third_party/blink/web_tests/platform/win/transforms/3d/point-mapping/3d-point-mapping-deep-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/transforms/3d/point-mapping/3d-point-mapping-expected.png b/third_party/blink/web_tests/platform/win/transforms/3d/point-mapping/3d-point-mapping-expected.png
index 645983d..18201437 100644
--- a/third_party/blink/web_tests/platform/win/transforms/3d/point-mapping/3d-point-mapping-expected.png
+++ b/third_party/blink/web_tests/platform/win/transforms/3d/point-mapping/3d-point-mapping-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/transforms/3d/point-mapping/3d-point-mapping-origins-expected.png b/third_party/blink/web_tests/platform/win/transforms/3d/point-mapping/3d-point-mapping-origins-expected.png
index 3e0b3aa..88005609 100644
--- a/third_party/blink/web_tests/platform/win/transforms/3d/point-mapping/3d-point-mapping-origins-expected.png
+++ b/third_party/blink/web_tests/platform/win/transforms/3d/point-mapping/3d-point-mapping-origins-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/transforms/3d/point-mapping/3d-point-mapping-preserve-3d-expected.png b/third_party/blink/web_tests/platform/win/transforms/3d/point-mapping/3d-point-mapping-preserve-3d-expected.png
index d6a60c0e..bb8d3498 100644
--- a/third_party/blink/web_tests/platform/win/transforms/3d/point-mapping/3d-point-mapping-preserve-3d-expected.png
+++ b/third_party/blink/web_tests/platform/win/transforms/3d/point-mapping/3d-point-mapping-preserve-3d-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/transforms/transformed-focused-text-input-expected.png b/third_party/blink/web_tests/platform/win/transforms/transformed-focused-text-input-expected.png
index b7585c1..063da1c 100644
--- a/third_party/blink/web_tests/platform/win/transforms/transformed-focused-text-input-expected.png
+++ b/third_party/blink/web_tests/platform/win/transforms/transformed-focused-text-input-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/audio-service/http/tests/media/video-frame-size-change-expected.png b/third_party/blink/web_tests/platform/win/virtual/audio-service/http/tests/media/video-frame-size-change-expected.png
new file mode 100644
index 0000000..3793f0e9f
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/audio-service/http/tests/media/video-frame-size-change-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh-high-contrast/fast/forms/controls-new-ui-high-contrast/color-picker-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh-high-contrast/fast/forms/controls-new-ui-high-contrast/color-picker-expected.png
new file mode 100644
index 0000000..82aa5b6
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh-high-contrast/fast/forms/controls-new-ui-high-contrast/color-picker-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh-high-contrast/fast/forms/controls-new-ui-high-contrast/date-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh-high-contrast/fast/forms/controls-new-ui-high-contrast/date-suggestion-picker-appearance-expected.png
new file mode 100644
index 0000000..0fd3c2e
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh-high-contrast/fast/forms/controls-new-ui-high-contrast/date-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-coarse-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-coarse-expected.png
index c8199bd6..2b6be61 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-coarse-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-coarse-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-disabled-previous-month-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-disabled-previous-month-expected.png
index ef8982f..96afe623 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-disabled-previous-month-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-rtl-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-rtl-expected.png
index ba6ec27..7d76424 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-step-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-step-expected.png
index 672fc0e..b5206d6f 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-step-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-step-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-zoom150-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-zoom150-expected.png
index 2574973..1a9f06a 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-zoom150-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-zoom150-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-disabled-values-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-disabled-values-expected.png
index dadbdfe9..85bafae7 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-disabled-values-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-disabled-values-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-month-appearance-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-month-appearance-expected.png
index ff15eea..758fe32 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-month-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-month-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-accelerated-keyboard-navigation-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-accelerated-keyboard-navigation-expected.png
new file mode 100644
index 0000000..3ba0b87
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-accelerated-keyboard-navigation-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-click-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-click-expected.png
new file mode 100644
index 0000000..af0ea68
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-accelerated-keyboard-navigation-from-top-left-corner-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-accelerated-keyboard-navigation-from-top-left-corner-expected.png
new file mode 100644
index 0000000..6d2a54e
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-accelerated-keyboard-navigation-from-top-left-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-accelerated-keyboard-navigation-from-top-right-corner-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-accelerated-keyboard-navigation-from-top-right-corner-expected.png
new file mode 100644
index 0000000..4f37007
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-accelerated-keyboard-navigation-from-top-right-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-left-corner-expected.png
new file mode 100644
index 0000000..558a290f
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-right-corner-expected.png
new file mode 100644
index 0000000..23c8623
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-drag-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-drag-expected.png
new file mode 100644
index 0000000..af0ea68
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-keyboard-navigation-after-drag-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-keyboard-navigation-after-drag-expected.png
new file mode 100644
index 0000000..94ee3f9f
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-keyboard-navigation-after-drag-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-keyboard-navigation-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-keyboard-navigation-expected.png
new file mode 100644
index 0000000..4766a22
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-accelerated-keyboard-navigation-from-bottom-right-corner-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-accelerated-keyboard-navigation-from-bottom-right-corner-expected.png
new file mode 100644
index 0000000..8c5b7cb
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-accelerated-keyboard-navigation-from-bottom-right-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-accelerated-keyboard-navigation-from-top-right-corner-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-accelerated-keyboard-navigation-from-top-right-corner-expected.png
new file mode 100644
index 0000000..de46fa7
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-accelerated-keyboard-navigation-from-top-right-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-keyboard-navigation-from-bottom-right-corner-expected.png
new file mode 100644
index 0000000..c7ebf501
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-keyboard-navigation-from-top-right-corner-expected.png
new file mode 100644
index 0000000..117eb51
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-accelerated-keyboard-navigation-from-bottom-left-corner-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-accelerated-keyboard-navigation-from-bottom-left-corner-expected.png
new file mode 100644
index 0000000..a21b277
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-accelerated-keyboard-navigation-from-bottom-left-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-accelerated-keyboard-navigation-from-top-left-corner-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-accelerated-keyboard-navigation-from-top-left-corner-expected.png
new file mode 100644
index 0000000..06baebef
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-accelerated-keyboard-navigation-from-top-left-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-keyboard-navigation-from-bottom-left-corner-expected.png
new file mode 100644
index 0000000..d34e81a
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-keyboard-navigation-from-top-left-corner-expected.png
new file mode 100644
index 0000000..0e8189e3
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-accelerated-keyboard-navigation-from-bottom-left-corner-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-accelerated-keyboard-navigation-from-bottom-left-corner-expected.png
new file mode 100644
index 0000000..d4d03d9
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-accelerated-keyboard-navigation-from-bottom-left-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-accelerated-keyboard-navigation-from-bottom-right-corner-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-accelerated-keyboard-navigation-from-bottom-right-corner-expected.png
new file mode 100644
index 0000000..4f2a7316
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-accelerated-keyboard-navigation-from-bottom-right-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-left-corner-expected.png
new file mode 100644
index 0000000..9abf64c
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-right-corner-expected.png
new file mode 100644
index 0000000..0800f4a
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-hex-format-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hex-format-expected.png
new file mode 100644
index 0000000..f51227b
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hex-format-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hsl-format-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hsl-format-expected.png
new file mode 100644
index 0000000..7ad0c6ac
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hsl-format-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-accelerated-keyboard-navigation-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-accelerated-keyboard-navigation-expected.png
new file mode 100644
index 0000000..51f0be4
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-click-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-click-expected.png
new file mode 100644
index 0000000..36a0c7a
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-drag-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-drag-expected.png
new file mode 100644
index 0000000..36a0c7a
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-keyboard-navigation-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-keyboard-navigation-expected.png
new file mode 100644
index 0000000..0c79191
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-left-edge-zero-hue-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-left-edge-zero-hue-expected.png
new file mode 100644
index 0000000..4f52f14
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-right-edge-zero-hue-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-right-edge-zero-hue-expected.png
new file mode 100644
index 0000000..f870823
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-imperfect-match-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-imperfect-match-expected.png
new file mode 100644
index 0000000..ec8e7ce
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-imperfect-match-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-manual-color-change-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-manual-color-change-expected.png
new file mode 100644
index 0000000..b6cf3585
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-picker-appearance-set-value-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-set-value-expected.png
new file mode 100644
index 0000000..46bd5f2
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-set-value-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-value-attribute-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-value-attribute-expected.png
new file mode 100644
index 0000000..a24003f
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-value-attribute-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-zoom125-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-zoom125-expected.png
new file mode 100644
index 0000000..8e9533be
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-zoom125-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-zoom200-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-zoom200-expected.png
new file mode 100644
index 0000000..91462ac6
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-zoom200-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-empty-list-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-empty-list-expected.png
new file mode 100644
index 0000000..6b39669
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-one-row-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-one-row-expected.png
new file mode 100644
index 0000000..cf6f5040
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-two-rows-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-two-rows-expected.png
new file mode 100644
index 0000000..57bb5b33
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-value-attribute-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-value-attribute-expected.png
new file mode 100644
index 0000000..225334b
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-with-scrollbar-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-with-scrollbar-expected.png
new file mode 100644
index 0000000..dcebf18
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom125-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom125-expected.png
new file mode 100644
index 0000000..369d1bd
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom125-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom200-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom200-expected.png
new file mode 100644
index 0000000..a18a4b0
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom200-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-today-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-today-expected.png
index 633d2918..8c81ec57 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-today-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-values-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-values-expected.png
index f8c692a..bcc2636 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-values-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/month-picker/month-picker-appearance-highlight-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-highlight-expected.png
new file mode 100644
index 0000000..82631ad
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-highlight-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-rtl-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-rtl-expected.png
index a8cd7fd..cd90617 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-value-not-in-interval-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-value-not-in-interval-expected.png
index 5b5509a..b773846e 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-value-not-in-interval-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/month-picker/month-picker-appearance-zoom150-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-zoom150-expected.png
index f7d8d952..76738a9 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-zoom150-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-zoom150-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-alt-f8-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-alt-f8-expected.png
new file mode 100644
index 0000000..3dbf9855
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-alt-f8-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-alt-f8-twice-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-alt-f8-twice-expected.png
new file mode 100644
index 0000000..f260d92
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-alt-f8-twice-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-eye-icon-font-size-48px-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-eye-icon-font-size-48px-expected.png
new file mode 100644
index 0000000..a70060fd
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/password/password-eye-icon-font-size-4px-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-eye-icon-font-size-4px-expected.png
new file mode 100644
index 0000000..c30672d
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/password/password-eye-icon-zoom-0.5x-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-eye-icon-zoom-0.5x-expected.png
index 34ce0b0..7ceb144 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-eye-icon-zoom-0.5x-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/password/password-eye-icon-zoom-4x-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-eye-icon-zoom-4x-expected.png
new file mode 100644
index 0000000..13c847ac
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-eye-icon-zoom-4x-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-mismatched_glyph-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-mismatched_glyph-expected.png
new file mode 100644
index 0000000..f260d92
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-mismatched_glyph-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-small-size-alt-f8-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-small-size-alt-f8-expected.png
new file mode 100644
index 0000000..5122698b
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-small-size-alt-f8-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-with-reveal-button-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-with-reveal-button-expected.png
new file mode 100644
index 0000000..f260d92
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-with-reveal-button-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/date-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/date-suggestion-picker-appearance-expected.png
new file mode 100644
index 0000000..632781ad
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/date-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
new file mode 100644
index 0000000..a7ef0b7a
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/month-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/month-suggestion-picker-appearance-expected.png
new file mode 100644
index 0000000..e2303fd
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/month-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/time-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/time-suggestion-picker-appearance-expected.png
new file mode 100644
index 0000000..947c0fb
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/time-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/week-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/week-suggestion-picker-appearance-expected.png
new file mode 100644
index 0000000..1de0978
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/week-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-AM-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-AM-expected.png
new file mode 100644
index 0000000..6f61965a
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-PM-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-PM-expected.png
new file mode 100644
index 0000000..a951503
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/time-picker/time-picker-appearance-24-hour-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-24-hour-expected.png
new file mode 100644
index 0000000..8b817e3
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowdown-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowdown-expected.png
new file mode 100644
index 0000000..c16c4cc
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowdown-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowup-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowup-expected.png
new file mode 100644
index 0000000..8fbf225
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowup-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-expected.png
new file mode 100644
index 0000000..812fbfe97
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-ko-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-ko-expected.png
new file mode 100644
index 0000000..897bec4
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-ko-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-milliseconds-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-milliseconds-expected.png
new file mode 100644
index 0000000..e1ad330
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-milliseconds-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-seconds-pm-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-seconds-pm-expected.png
new file mode 100644
index 0000000..47bd4dc
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-seconds-pm-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/dark-mode/paint/dark-mode/grayscale-images/desaturate-before-inversion-expected.png b/third_party/blink/web_tests/platform/win/virtual/dark-mode/paint/dark-mode/grayscale-images/desaturate-before-inversion-expected.png
new file mode 100644
index 0000000..0a7a991d
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/dark-mode/paint/dark-mode/grayscale-images/desaturate-before-inversion-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/dark-mode/paint/dark-mode/svg-invert-all/svg-as-image-expected.png b/third_party/blink/web_tests/platform/win/virtual/dark-mode/paint/dark-mode/svg-invert-all/svg-as-image-expected.png
index c4a10d1f..3c5bbf87 100644
--- a/third_party/blink/web_tests/platform/win/virtual/dark-mode/paint/dark-mode/svg-invert-all/svg-as-image-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/dark-mode/paint/dark-mode/svg-invert-all/svg-as-image-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/dark-mode/paint/dark-mode/svg-invert-all/svg-in-html-expected.png b/third_party/blink/web_tests/platform/win/virtual/dark-mode/paint/dark-mode/svg-invert-all/svg-in-html-expected.png
index 839dc5d1..5b85c77 100644
--- a/third_party/blink/web_tests/platform/win/virtual/dark-mode/paint/dark-mode/svg-invert-all/svg-in-html-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/dark-mode/paint/dark-mode/svg-invert-all/svg-in-html-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/12-55-expected.png b/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/12-55-expected.png
index 94b03cc..27e0e52 100644
--- a/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/12-55-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/12-55-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/182-expected.png b/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/182-expected.png
index 68a84815b..c237d57 100644
--- a/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/182-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/182-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/2-dht-expected.png b/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/2-dht-expected.png
index a3d82c1..e5d7e24 100644
--- a/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/2-dht-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/2-dht-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/23-55-expected.png b/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/23-55-expected.png
index 4a49db1..4f419c0 100644
--- a/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/23-55-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/23-55-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/55-expected.png b/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/55-expected.png
index aa5d9ba..57b46d8a 100644
--- a/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/55-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/55-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/rendering-broken-0px-images-expected.png b/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/rendering-broken-0px-images-expected.png
index 04da5a9c..e6f310a5 100644
--- a/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/rendering-broken-0px-images-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/rendering-broken-0px-images-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/rendering-broken-0px-images-quirk-expected.png b/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/rendering-broken-0px-images-quirk-expected.png
index 9ef2e22d..5d0be18 100644
--- a/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/rendering-broken-0px-images-quirk-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/rendering-broken-0px-images-quirk-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/rendering-broken-10px-images-expected.png b/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/rendering-broken-10px-images-expected.png
index 1e0572f6..e77ba05b 100644
--- a/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/rendering-broken-10px-images-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/rendering-broken-10px-images-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/rendering-broken-16px-images-expected.png b/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/rendering-broken-16px-images-expected.png
index 70c73895..2db0994 100644
--- a/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/rendering-broken-16px-images-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/rendering-broken-16px-images-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/rendering-broken-1px-images-expected.png b/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/rendering-broken-1px-images-expected.png
index 200dbd6..c473c75 100644
--- a/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/rendering-broken-1px-images-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/rendering-broken-1px-images-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/rendering-broken-block-flow-images-expected.png b/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/rendering-broken-block-flow-images-expected.png
index 02d3034b..54e8d17 100644
--- a/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/rendering-broken-block-flow-images-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/rendering-broken-block-flow-images-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/rendering-broken-images-empty-alt-expected.png b/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/rendering-broken-images-empty-alt-expected.png
index 3b020b45..abed1752 100644
--- a/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/rendering-broken-images-empty-alt-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/rendering-broken-images-empty-alt-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/rendering-broken-images-expected.png b/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/rendering-broken-images-expected.png
index 426cf38c..fa9ac90 100644
--- a/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/rendering-broken-images-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/rendering-broken-images-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/12-55-expected.png b/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/12-55-expected.png
index c5168b4..157528a2 100644
--- a/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/12-55-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/12-55-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/182-expected.png b/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/182-expected.png
index 665104c..8cf45e4 100644
--- a/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/182-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/182-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/2-dht-expected.png b/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/2-dht-expected.png
index 3e0501a..5ca7fcdd 100644
--- a/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/2-dht-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/2-dht-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/23-55-expected.png b/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/23-55-expected.png
index da7acee5..06f7765 100644
--- a/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/23-55-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/23-55-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/55-expected.png b/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/55-expected.png
index ad797391..35d597f 100644
--- a/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/55-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/55-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/rendering-broken-0px-images-expected.png b/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/rendering-broken-0px-images-expected.png
index 32f656a..a323aa0 100644
--- a/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/rendering-broken-0px-images-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/rendering-broken-0px-images-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/rendering-broken-0px-images-quirk-expected.png b/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/rendering-broken-0px-images-quirk-expected.png
index d7a54533..3c2377b 100644
--- a/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/rendering-broken-0px-images-quirk-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/rendering-broken-0px-images-quirk-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/rendering-broken-10px-images-expected.png b/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/rendering-broken-10px-images-expected.png
index 9884946..6503402 100644
--- a/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/rendering-broken-10px-images-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/rendering-broken-10px-images-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/rendering-broken-16px-images-expected.png b/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/rendering-broken-16px-images-expected.png
index e74f7eb..1ab2b79fa 100644
--- a/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/rendering-broken-16px-images-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/rendering-broken-16px-images-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/rendering-broken-1px-images-expected.png b/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/rendering-broken-1px-images-expected.png
index 3b4b983..5040ec7 100644
--- a/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/rendering-broken-1px-images-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/rendering-broken-1px-images-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/rendering-broken-block-flow-images-expected.png b/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/rendering-broken-block-flow-images-expected.png
index a36be9c..d6bef43 100644
--- a/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/rendering-broken-block-flow-images-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/rendering-broken-block-flow-images-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/rendering-broken-images-expected.png b/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/rendering-broken-images-expected.png
index 3a885a1d6..c2b7b76e 100644
--- a/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/rendering-broken-images-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/rendering-broken-images-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/gpu/fast/canvas/canvas-composite-video-expected.png b/third_party/blink/web_tests/platform/win/virtual/gpu/fast/canvas/canvas-composite-video-expected.png
index ad55ce264..35f64e32 100644
--- a/third_party/blink/web_tests/platform/win/virtual/gpu/fast/canvas/canvas-composite-video-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/gpu/fast/canvas/canvas-composite-video-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/gpu/fast/canvas/canvas-composite-video-shadow-expected.png b/third_party/blink/web_tests/platform/win/virtual/gpu/fast/canvas/canvas-composite-video-shadow-expected.png
index 949f909c..3ae3a0d 100644
--- a/third_party/blink/web_tests/platform/win/virtual/gpu/fast/canvas/canvas-composite-video-shadow-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/gpu/fast/canvas/canvas-composite-video-shadow-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/prefer_compositing_to_lcd_text/scrollbars/border-box-rect-clips-scrollbars-expected.png b/third_party/blink/web_tests/platform/win/virtual/prefer_compositing_to_lcd_text/scrollbars/border-box-rect-clips-scrollbars-expected.png
deleted file mode 100644
index 7decaea9..0000000
--- a/third_party/blink/web_tests/platform/win/virtual/prefer_compositing_to_lcd_text/scrollbars/border-box-rect-clips-scrollbars-expected.png
+++ /dev/null
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 ad46df40..d4ccb63 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/data-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win/virtual/scalefactor150/fast/hidpi/static/data-suggestion-picker-appearance-expected.png
index 792066a..0aa666f 100644
--- a/third_party/blink/web_tests/platform/win/virtual/scalefactor150/fast/hidpi/static/data-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/scalefactor150/fast/hidpi/static/data-suggestion-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 5a0a96e..a05aad54 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 3bba785a..573f2c8 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/scalefactor200/css3/filters/backdrop-filter-plus-mask-large-expected.png b/third_party/blink/web_tests/platform/win/virtual/scalefactor200/css3/filters/backdrop-filter-plus-mask-large-expected.png
new file mode 100644
index 0000000..1164437
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/scalefactor200/css3/filters/backdrop-filter-plus-mask-large-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/scalefactor200/fast/hidpi/static/calendar-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win/virtual/scalefactor200/fast/hidpi/static/calendar-picker-appearance-expected.png
index 5202e5b..ac257886 100644
--- a/third_party/blink/web_tests/platform/win/virtual/scalefactor200/fast/hidpi/static/calendar-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/scalefactor200/fast/hidpi/static/calendar-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/scalefactor200/fast/hidpi/static/data-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win/virtual/scalefactor200/fast/hidpi/static/data-suggestion-picker-appearance-expected.png
index b4c413b4..8e5abbd 100644
--- a/third_party/blink/web_tests/platform/win/virtual/scalefactor200/fast/hidpi/static/data-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/scalefactor200/fast/hidpi/static/data-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/scalefactor200/fast/hidpi/static/popup-menu-appearance-expected.png b/third_party/blink/web_tests/platform/win/virtual/scalefactor200/fast/hidpi/static/popup-menu-appearance-expected.png
index 723277f..8c357dd 100644
--- a/third_party/blink/web_tests/platform/win/virtual/scalefactor200/fast/hidpi/static/popup-menu-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/scalefactor200/fast/hidpi/static/popup-menu-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/scalefactor200/fast/hidpi/static/validation-bubble-appearance-hidpi-expected.png b/third_party/blink/web_tests/platform/win/virtual/scalefactor200/fast/hidpi/static/validation-bubble-appearance-hidpi-expected.png
index c1ec3b5..368a0bfe 100644
--- a/third_party/blink/web_tests/platform/win/virtual/scalefactor200/fast/hidpi/static/validation-bubble-appearance-hidpi-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/scalefactor200/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 5202e5b..ac257886 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/data-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win/virtual/scalefactor200withzoom/fast/hidpi/static/data-suggestion-picker-appearance-expected.png
index b4c413b4..8e5abbd 100644
--- a/third_party/blink/web_tests/platform/win/virtual/scalefactor200withzoom/fast/hidpi/static/data-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/scalefactor200withzoom/fast/hidpi/static/data-suggestion-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 723277f..8c357dd 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 c1ec3b5..c4beace 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/win7/css1/font_properties/font-expected.png b/third_party/blink/web_tests/platform/win7/css1/font_properties/font-expected.png
index ab983fd..01cedfb 100644
--- a/third_party/blink/web_tests/platform/win7/css1/font_properties/font-expected.png
+++ b/third_party/blink/web_tests/platform/win7/css1/font_properties/font-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/css1/pseudo/firstline-expected.png b/third_party/blink/web_tests/platform/win7/css1/pseudo/firstline-expected.png
index 844b8b0..ebe4721 100644
--- a/third_party/blink/web_tests/platform/win7/css1/pseudo/firstline-expected.png
+++ b/third_party/blink/web_tests/platform/win7/css1/pseudo/firstline-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/css1/pseudo/multiple_pseudo_elements-expected.png b/third_party/blink/web_tests/platform/win7/css1/pseudo/multiple_pseudo_elements-expected.png
index c417d6e0..592b2e115 100644
--- a/third_party/blink/web_tests/platform/win7/css1/pseudo/multiple_pseudo_elements-expected.png
+++ b/third_party/blink/web_tests/platform/win7/css1/pseudo/multiple_pseudo_elements-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/css2.1/t0905-c5525-fltwidth-00-c-g-expected.png b/third_party/blink/web_tests/platform/win7/css2.1/t0905-c5525-fltwidth-00-c-g-expected.png
index ea3fa15..2cb8aefe1 100644
--- a/third_party/blink/web_tests/platform/win7/css2.1/t0905-c5525-fltwidth-00-c-g-expected.png
+++ b/third_party/blink/web_tests/platform/win7/css2.1/t0905-c5525-fltwidth-00-c-g-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/css3/masking/mask-repeat-space-padding-expected.png b/third_party/blink/web_tests/platform/win7/css3/masking/mask-repeat-space-padding-expected.png
deleted file mode 100644
index a18edc9..0000000
--- a/third_party/blink/web_tests/platform/win7/css3/masking/mask-repeat-space-padding-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/external/wpt/preload/onerror-event-expected.txt b/third_party/blink/web_tests/platform/win7/external/wpt/preload/onerror-event-expected.txt
deleted file mode 100644
index aa88efb..0000000
--- a/third_party/blink/web_tests/platform/win7/external/wpt/preload/onerror-event-expected.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-This is a testharness.js-based test.
-FAIL Makes sure that preloaded resources trigger the onerror event Uncaught Error: assert_true: video triggered error event expected true got false
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/platform/win7/fast/block/positioning/047-expected.png b/third_party/blink/web_tests/platform/win7/fast/block/positioning/047-expected.png
index 7f348fa7..5a591578 100644
--- a/third_party/blink/web_tests/platform/win7/fast/block/positioning/047-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/block/positioning/047-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/css/css2-system-color-expected.html b/third_party/blink/web_tests/platform/win7/fast/css/css2-system-color-expected.html
deleted file mode 100644
index 13b60f3e..0000000
--- a/third_party/blink/web_tests/platform/win7/fast/css/css2-system-color-expected.html
+++ /dev/null
@@ -1,57 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<title>Color Test</title>
-<style>
-  html {
-    font-size: 12px;
-    width: 750px;
-  }
-  .box:after {
-    content: " ";
-    clear: both;
-    display: block;
-  }
-  .inner {
-    border-top: solid 1px;
-    float: right;
-    width: 620px;
-  }
-  .text {
-    float: left;
-  }
-</style>
-</head>
-<body>
-  <div class="box"><div class="text">ActiveBorder</div><div class="inner" style="background-color: rgb(255, 255, 255)">&nbsp;</div></div>
-  <div class="box"><div class="text">ActiveCaption</div><div class="inner" style="background-color: rgb(204, 204, 204)">&nbsp;</div></div>
-  <div class="box"><div class="text">AppWorkspace</div><div class="inner" style="background-color: rgb(255, 255, 255)">&nbsp;</div></div>
-  <div class="box"><div class="text">Background</div><div class="inner" style="background-color: rgb(99, 99, 206)">&nbsp;</div></div>
-  <div class="box"><div class="text">ButtonFace</div><div class="inner" style="background-color: rgb(192, 192, 192)">&nbsp;</div></div>
-  <div class="box"><div class="text">ButtonHighlight</div><div class="inner" style="background-color: rgb(221, 221, 221)">&nbsp;</div></div>
-  <div class="box"><div class="text">ButtonShadow</div><div class="inner" style="background-color: rgb(136, 136, 136)">&nbsp;</div></div>
-  <div class="box"><div class="text">ButtonText</div><div class="inner" style="background-color: rgb(0, 0, 0)">&nbsp;</div></div>
-  <div class="box"><div class="text">CaptionText</div><div class="inner" style="background-color: rgb(0, 0, 0)">&nbsp;</div></div>
-  <div class="box"><div class="text">GrayText</div><div class="inner" style="background-color: rgb(128, 128, 128)">&nbsp;</div></div>
-  <div class="box"><div class="text">Highlight</div><div class="inner" style="background-color: rgb(181, 213, 255)">&nbsp;</div></div>
-  <div class="box"><div class="text">HighlightText</div><div class="inner" style="background-color: rgb(0, 0, 0)">&nbsp;</div></div>
-  <div class="box"><div class="text">InactiveBorder</div><div class="inner" style="background-color: rgb(255, 255, 255)">&nbsp;</div></div>
-  <div class="box"><div class="text">InactiveCaption</div><div class="inner" style="background-color: rgb(255, 255, 255)">&nbsp;</div></div>
-  <div class="box"><div class="text">InactiveCaptionText</div><div class="inner" style="background-color: rgb(127, 127, 127)">&nbsp;</div></div>
-  <div class="box"><div class="text">InfoBackground</div><div class="inner" style="background-color: rgb(251, 252, 197)">&nbsp;</div></div>
-  <div class="box"><div class="text">InfoText</div><div class="inner" style="background-color: rgb(0, 0, 0)">&nbsp;</div></div>
-  <div class="box"><div class="text">LinkText</div><div class="inner" style="background-color: rgb(0, 0, 238)">&nbsp;</div></div>
-  <div class="box"><div class="text">Menu</div><div class="inner" style="background-color: rgb(247, 247, 247)">&nbsp;</div></div>
-  <div class="box"><div class="text">MenuText</div><div class="inner" style="background-color: rgb(0, 0, 0)">&nbsp;</div></div>
-  <div class="box"><div class="text">Scrollbar</div><div class="inner" style="background-color: rgb(255, 255, 255)">&nbsp;</div></div>
-  <div class="box"><div class="text">ThreeDDarkShadow</div><div class="inner" style="background-color: rgb(102, 102, 102)">&nbsp;</div></div>
-  <div class="box"><div class="text">ThreeDFace</div><div class="inner" style="background-color: rgb(192, 192, 192)">&nbsp;</div></div>
-  <div class="box"><div class="text">ThreeDHighlight</div><div class="inner" style="background-color: rgb(221, 221, 221)">&nbsp;</div></div>
-  <div class="box"><div class="text">ThreeDLightShadow</div><div class="inner" style="background-color: rgb(192, 192, 192)">&nbsp;</div></div>
-  <div class="box"><div class="text">ThreeDShadow</div><div class="inner" style="background-color: rgb(136, 136, 136)">&nbsp;</div></div>
-  <div class="box"><div class="text">VisitedText</div><div class="inner" style="background-color: rgb(85, 26, 139)">&nbsp;</div></div>
-  <div class="box"><div class="text">Window</div><div class="inner" style="background-color: rgb(255, 255, 255)">&nbsp;</div></div>
-  <div class="box"><div class="text">WindowFrame</div><div class="inner" style="background-color: rgb(204, 204, 204)">&nbsp;</div></div>
-  <div class="box"><div class="text">WindowText</div><div class="inner" style="background-color: rgb(0, 0, 0)">&nbsp;</div></div>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png b/third_party/blink/web_tests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png
index 65a53fca..b6718398 100644
--- a/third_party/blink/web_tests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-ar-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-coarse-expected.png b/third_party/blink/web_tests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-coarse-expected.png
index 1704a64..0f0a004 100644
--- a/third_party/blink/web_tests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-coarse-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-coarse-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-expected.png
index 3104e8c..10f3716 100644
--- a/third_party/blink/web_tests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-minimum-date-expected.png b/third_party/blink/web_tests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-minimum-date-expected.png
index a091f5ec..d5f2f91d 100644
--- a/third_party/blink/web_tests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-minimum-date-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-minimum-date-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png b/third_party/blink/web_tests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png
index 06b0aa4..685eac7 100644
--- a/third_party/blink/web_tests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-required-ar-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-required-expected.png b/third_party/blink/web_tests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-required-expected.png
index 6b226d8..8fa3309b 100644
--- a/third_party/blink/web_tests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-required-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-required-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png b/third_party/blink/web_tests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png
index 568103b..4e8e390 100644
--- a/third_party/blink/web_tests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png b/third_party/blink/web_tests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png
index b94164b..b199d04 100644
--- a/third_party/blink/web_tests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-zoom200-expected.png b/third_party/blink/web_tests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-zoom200-expected.png
index 2e0d169..85e5a3c 100644
--- a/third_party/blink/web_tests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-zoom200-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/forms/calendar-picker/calendar-picker-appearance-zoom200-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/forms/calendar-picker/month-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win7/fast/forms/calendar-picker/month-picker-appearance-expected.png
index 02122ab..6084ded 100644
--- a/third_party/blink/web_tests/platform/win7/fast/forms/calendar-picker/month-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/forms/calendar-picker/month-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/forms/calendar-picker/month-picker-appearance-step-expected.png b/third_party/blink/web_tests/platform/win7/fast/forms/calendar-picker/month-picker-appearance-step-expected.png
index c8431106..e93008e8 100644
--- a/third_party/blink/web_tests/platform/win7/fast/forms/calendar-picker/month-picker-appearance-step-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/forms/calendar-picker/month-picker-appearance-step-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/forms/calendar-picker/week-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win7/fast/forms/calendar-picker/week-picker-appearance-expected.png
index 8390ebf3..bfc1ae80 100644
--- a/third_party/blink/web_tests/platform/win7/fast/forms/calendar-picker/week-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/forms/calendar-picker/week-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/forms/calendar-picker/week-picker-appearance-step-expected.png b/third_party/blink/web_tests/platform/win7/fast/forms/calendar-picker/week-picker-appearance-step-expected.png
index e13cb6f..b6ec607 100644
--- a/third_party/blink/web_tests/platform/win7/fast/forms/calendar-picker/week-picker-appearance-step-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/forms/calendar-picker/week-picker-appearance-step-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-coarse-expected.png b/third_party/blink/web_tests/platform/win7/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-coarse-expected.png
index 1704a64..0f0a004 100644
--- a/third_party/blink/web_tests/platform/win7/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-coarse-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-coarse-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-disabled-previous-month-expected.png b/third_party/blink/web_tests/platform/win7/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-disabled-previous-month-expected.png
index 188dacc8..74a45df 100644
--- a/third_party/blink/web_tests/platform/win7/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-disabled-previous-month-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-disabled-previous-month-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-rtl-expected.png b/third_party/blink/web_tests/platform/win7/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-rtl-expected.png
index 65a53fca..b6718398 100644
--- a/third_party/blink/web_tests/platform/win7/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-step-expected.png b/third_party/blink/web_tests/platform/win7/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-step-expected.png
index b78f467..f07e582 100644
--- a/third_party/blink/web_tests/platform/win7/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-step-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-step-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-zoom150-expected.png b/third_party/blink/web_tests/platform/win7/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-zoom150-expected.png
index 9ccdef8..8e8f349 100644
--- a/third_party/blink/web_tests/platform/win7/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-zoom150-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-zoom150-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/forms/controls-new-ui/calendar-picker/date-picker-disabled-values-expected.png b/third_party/blink/web_tests/platform/win7/fast/forms/controls-new-ui/calendar-picker/date-picker-disabled-values-expected.png
index db35baf..08512390 100644
--- a/third_party/blink/web_tests/platform/win7/fast/forms/controls-new-ui/calendar-picker/date-picker-disabled-values-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/forms/controls-new-ui/calendar-picker/date-picker-disabled-values-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/forms/controls-new-ui/calendar-picker/date-picker-month-appearance-expected.png b/third_party/blink/web_tests/platform/win7/fast/forms/controls-new-ui/calendar-picker/date-picker-month-appearance-expected.png
index 311274f0..58043ff1 100644
--- a/third_party/blink/web_tests/platform/win7/fast/forms/controls-new-ui/calendar-picker/date-picker-month-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/forms/controls-new-ui/calendar-picker/date-picker-month-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-today-expected.png b/third_party/blink/web_tests/platform/win7/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-today-expected.png
index 837c58f..1b758cb 100644
--- a/third_party/blink/web_tests/platform/win7/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-today-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-today-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-values-expected.png b/third_party/blink/web_tests/platform/win7/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-values-expected.png
index cb0e4df9..e4bb592 100644
--- a/third_party/blink/web_tests/platform/win7/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-values-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-values-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/forms/controls-new-ui/month-picker/month-picker-appearance-highlight-expected.png b/third_party/blink/web_tests/platform/win7/fast/forms/controls-new-ui/month-picker/month-picker-appearance-highlight-expected.png
index cb0e4df9..e4bb592 100644
--- a/third_party/blink/web_tests/platform/win7/fast/forms/controls-new-ui/month-picker/month-picker-appearance-highlight-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/forms/controls-new-ui/month-picker/month-picker-appearance-highlight-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/forms/controls-new-ui/month-picker/month-picker-appearance-rtl-expected.png b/third_party/blink/web_tests/platform/win7/fast/forms/controls-new-ui/month-picker/month-picker-appearance-rtl-expected.png
index 85991ea..1f1c09d 100644
--- a/third_party/blink/web_tests/platform/win7/fast/forms/controls-new-ui/month-picker/month-picker-appearance-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/forms/controls-new-ui/month-picker/month-picker-appearance-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/forms/controls-new-ui/month-picker/month-picker-appearance-value-not-in-interval-expected.png b/third_party/blink/web_tests/platform/win7/fast/forms/controls-new-ui/month-picker/month-picker-appearance-value-not-in-interval-expected.png
index 02ca463..efe1b75 100644
--- a/third_party/blink/web_tests/platform/win7/fast/forms/controls-new-ui/month-picker/month-picker-appearance-value-not-in-interval-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/forms/controls-new-ui/month-picker/month-picker-appearance-value-not-in-interval-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/forms/controls-new-ui/month-picker/month-picker-appearance-zoom150-expected.png b/third_party/blink/web_tests/platform/win7/fast/forms/controls-new-ui/month-picker/month-picker-appearance-zoom150-expected.png
index 05342d21..5179ffb 100644
--- a/third_party/blink/web_tests/platform/win7/fast/forms/controls-new-ui/month-picker/month-picker-appearance-zoom150-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/forms/controls-new-ui/month-picker/month-picker-appearance-zoom150-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/forms/controls-new-ui/suggestion-picker/month-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win7/fast/forms/controls-new-ui/suggestion-picker/month-suggestion-picker-appearance-expected.png
index 15c92144..1e06559 100644
--- a/third_party/blink/web_tests/platform/win7/fast/forms/controls-new-ui/suggestion-picker/month-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/forms/controls-new-ui/suggestion-picker/month-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/forms/controls-new-ui/time-picker/time-picker-appearance-ko-expected.png b/third_party/blink/web_tests/platform/win7/fast/forms/controls-new-ui/time-picker/time-picker-appearance-ko-expected.png
index 4e21479..04c30142 100644
--- a/third_party/blink/web_tests/platform/win7/fast/forms/controls-new-ui/time-picker/time-picker-appearance-ko-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/forms/controls-new-ui/time-picker/time-picker-appearance-ko-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/forms/datalist/input-appearance-range-with-transform-expected.png b/third_party/blink/web_tests/platform/win7/fast/forms/datalist/input-appearance-range-with-transform-expected.png
deleted file mode 100644
index 56392e6..0000000
--- a/third_party/blink/web_tests/platform/win7/fast/forms/datalist/input-appearance-range-with-transform-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/forms/datetimelocal/datetimelocal-appearance-l10n-expected.png b/third_party/blink/web_tests/platform/win7/fast/forms/datetimelocal/datetimelocal-appearance-l10n-expected.png
index f307685f..1b8eda27d 100644
--- a/third_party/blink/web_tests/platform/win7/fast/forms/datetimelocal/datetimelocal-appearance-l10n-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/forms/datetimelocal/datetimelocal-appearance-l10n-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/forms/month/month-appearance-basic-expected.png b/third_party/blink/web_tests/platform/win7/fast/forms/month/month-appearance-basic-expected.png
index a1c3ebdd..de69484 100644
--- a/third_party/blink/web_tests/platform/win7/fast/forms/month/month-appearance-basic-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/forms/month/month-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/forms/month/month-appearance-l10n-expected.png b/third_party/blink/web_tests/platform/win7/fast/forms/month/month-appearance-l10n-expected.png
index f639a13..aa418a5 100644
--- a/third_party/blink/web_tests/platform/win7/fast/forms/month/month-appearance-l10n-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/forms/month/month-appearance-l10n-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/forms/month/month-appearance-pseudo-elements-expected.png b/third_party/blink/web_tests/platform/win7/fast/forms/month/month-appearance-pseudo-elements-expected.png
index d9c44c7f..3191f6d 100644
--- a/third_party/blink/web_tests/platform/win7/fast/forms/month/month-appearance-pseudo-elements-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/forms/month/month-appearance-pseudo-elements-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/forms/select-popup/popup-menu-appearance-styled-expected.png b/third_party/blink/web_tests/platform/win7/fast/forms/select-popup/popup-menu-appearance-styled-expected.png
index d0718ad..3ad82300 100644
--- a/third_party/blink/web_tests/platform/win7/fast/forms/select-popup/popup-menu-appearance-styled-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/forms/select-popup/popup-menu-appearance-styled-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/forms/select-popup/popup-menu-appearance-zoom110-expected.png b/third_party/blink/web_tests/platform/win7/fast/forms/select-popup/popup-menu-appearance-zoom110-expected.png
index 472e028..b3ed0c77 100644
--- a/third_party/blink/web_tests/platform/win7/fast/forms/select-popup/popup-menu-appearance-zoom110-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/forms/select-popup/popup-menu-appearance-zoom110-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/forms/select/menulist-appearance-rtl-expected.png b/third_party/blink/web_tests/platform/win7/fast/forms/select/menulist-appearance-rtl-expected.png
index a521ae30..b5bdb69 100644
--- a/third_party/blink/web_tests/platform/win7/fast/forms/select/menulist-appearance-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/forms/select/menulist-appearance-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/forms/suggestion-picker/month-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win7/fast/forms/suggestion-picker/month-suggestion-picker-appearance-expected.png
index a390556..4d006c1 100644
--- a/third_party/blink/web_tests/platform/win7/fast/forms/suggestion-picker/month-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/forms/suggestion-picker/month-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/forms/suggestion-picker/month-suggestion-picker-appearance-rtl-expected.png b/third_party/blink/web_tests/platform/win7/fast/forms/suggestion-picker/month-suggestion-picker-appearance-rtl-expected.png
index 3e9f08b..be7f769 100644
--- a/third_party/blink/web_tests/platform/win7/fast/forms/suggestion-picker/month-suggestion-picker-appearance-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/forms/suggestion-picker/month-suggestion-picker-appearance-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/forms/suggestion-picker/month-suggestion-picker-appearance-with-scroll-bar-expected.png b/third_party/blink/web_tests/platform/win7/fast/forms/suggestion-picker/month-suggestion-picker-appearance-with-scroll-bar-expected.png
index 0d439a65..d2a3dec 100644
--- a/third_party/blink/web_tests/platform/win7/fast/forms/suggestion-picker/month-suggestion-picker-appearance-with-scroll-bar-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/forms/suggestion-picker/month-suggestion-picker-appearance-with-scroll-bar-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/forms/text/text-font-height-mismatch-expected.png b/third_party/blink/web_tests/platform/win7/fast/forms/text/text-font-height-mismatch-expected.png
index 96dbcc8..2e167b6 100644
--- a/third_party/blink/web_tests/platform/win7/fast/forms/text/text-font-height-mismatch-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/forms/text/text-font-height-mismatch-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/overflow/003-expected.png b/third_party/blink/web_tests/platform/win7/fast/overflow/003-expected.png
index c3faf9f..eaf048fa 100644
--- a/third_party/blink/web_tests/platform/win7/fast/overflow/003-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/overflow/003-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/table/backgr_border-table-cell-collapsed-border-expected.png b/third_party/blink/web_tests/platform/win7/fast/table/backgr_border-table-cell-collapsed-border-expected.png
index 63d56a9..c3233ba 100644
--- a/third_party/blink/web_tests/platform/win7/fast/table/backgr_border-table-cell-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/table/backgr_border-table-cell-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/table/backgr_border-table-cell-expected.png b/third_party/blink/web_tests/platform/win7/fast/table/backgr_border-table-cell-expected.png
index de17cc95..f915db34 100644
--- a/third_party/blink/web_tests/platform/win7/fast/table/backgr_border-table-cell-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/table/backgr_border-table-cell-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/table/backgr_border-table-column-collapsed-border-expected.png b/third_party/blink/web_tests/platform/win7/fast/table/backgr_border-table-column-collapsed-border-expected.png
index 22e889c7..3da2639 100644
--- a/third_party/blink/web_tests/platform/win7/fast/table/backgr_border-table-column-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/table/backgr_border-table-column-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/table/backgr_border-table-column-expected.png b/third_party/blink/web_tests/platform/win7/fast/table/backgr_border-table-column-expected.png
index 2f3c62a..4d34745 100644
--- a/third_party/blink/web_tests/platform/win7/fast/table/backgr_border-table-column-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/table/backgr_border-table-column-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/table/backgr_border-table-column-group-collapsed-border-expected.png b/third_party/blink/web_tests/platform/win7/fast/table/backgr_border-table-column-group-collapsed-border-expected.png
index c9f4abb..a38b3b8 100644
--- a/third_party/blink/web_tests/platform/win7/fast/table/backgr_border-table-column-group-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/table/backgr_border-table-column-group-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/table/backgr_border-table-column-group-expected.png b/third_party/blink/web_tests/platform/win7/fast/table/backgr_border-table-column-group-expected.png
index eb40526..e7eb288 100644
--- a/third_party/blink/web_tests/platform/win7/fast/table/backgr_border-table-column-group-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/table/backgr_border-table-column-group-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/table/backgr_border-table-expected.png b/third_party/blink/web_tests/platform/win7/fast/table/backgr_border-table-expected.png
index 168379a..42d0e07 100644
--- a/third_party/blink/web_tests/platform/win7/fast/table/backgr_border-table-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/table/backgr_border-table-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/table/backgr_border-table-quirks-expected.png b/third_party/blink/web_tests/platform/win7/fast/table/backgr_border-table-quirks-expected.png
index 0225779e..48cf455 100644
--- a/third_party/blink/web_tests/platform/win7/fast/table/backgr_border-table-quirks-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/table/backgr_border-table-quirks-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/table/backgr_border-table-row-collapsed-border-expected.png b/third_party/blink/web_tests/platform/win7/fast/table/backgr_border-table-row-collapsed-border-expected.png
index 7341990..5b58cf5 100644
--- a/third_party/blink/web_tests/platform/win7/fast/table/backgr_border-table-row-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/table/backgr_border-table-row-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/table/backgr_border-table-row-expected.png b/third_party/blink/web_tests/platform/win7/fast/table/backgr_border-table-row-expected.png
index 98c1948c..703b65d8 100644
--- a/third_party/blink/web_tests/platform/win7/fast/table/backgr_border-table-row-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/table/backgr_border-table-row-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/table/backgr_border-table-row-group-collapsed-border-expected.png b/third_party/blink/web_tests/platform/win7/fast/table/backgr_border-table-row-group-collapsed-border-expected.png
index 6472a3b6a..294db27 100644
--- a/third_party/blink/web_tests/platform/win7/fast/table/backgr_border-table-row-group-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/table/backgr_border-table-row-group-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/table/backgr_border-table-row-group-expected.png b/third_party/blink/web_tests/platform/win7/fast/table/backgr_border-table-row-group-expected.png
index 2703c61..12333a0 100644
--- a/third_party/blink/web_tests/platform/win7/fast/table/backgr_border-table-row-group-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/table/backgr_border-table-row-group-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/table/backgr_layers-hide-collapsed-border-expected.png b/third_party/blink/web_tests/platform/win7/fast/table/backgr_layers-hide-collapsed-border-expected.png
index 9899a79..86f0688 100644
--- a/third_party/blink/web_tests/platform/win7/fast/table/backgr_layers-hide-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/table/backgr_layers-hide-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/table/backgr_layers-hide-expected.png b/third_party/blink/web_tests/platform/win7/fast/table/backgr_layers-hide-expected.png
index d6400fd..3a73b2e 100644
--- a/third_party/blink/web_tests/platform/win7/fast/table/backgr_layers-hide-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/table/backgr_layers-hide-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/table/backgr_position-table-cell-collapsed-border-expected.png b/third_party/blink/web_tests/platform/win7/fast/table/backgr_position-table-cell-collapsed-border-expected.png
index aa14072..1ad7eb3 100644
--- a/third_party/blink/web_tests/platform/win7/fast/table/backgr_position-table-cell-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/table/backgr_position-table-cell-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/table/backgr_position-table-cell-expected.png b/third_party/blink/web_tests/platform/win7/fast/table/backgr_position-table-cell-expected.png
index 66832fb4..6c0ba19 100644
--- a/third_party/blink/web_tests/platform/win7/fast/table/backgr_position-table-cell-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/table/backgr_position-table-cell-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/table/backgr_position-table-column-collapsed-border-expected.png b/third_party/blink/web_tests/platform/win7/fast/table/backgr_position-table-column-collapsed-border-expected.png
index ce1cc0db..187ff4f8 100644
--- a/third_party/blink/web_tests/platform/win7/fast/table/backgr_position-table-column-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/table/backgr_position-table-column-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/table/backgr_position-table-column-expected.png b/third_party/blink/web_tests/platform/win7/fast/table/backgr_position-table-column-expected.png
index d66d0f3..c02cc52 100644
--- a/third_party/blink/web_tests/platform/win7/fast/table/backgr_position-table-column-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/table/backgr_position-table-column-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/table/backgr_position-table-column-group-collapsed-border-expected.png b/third_party/blink/web_tests/platform/win7/fast/table/backgr_position-table-column-group-collapsed-border-expected.png
index e568c65a..7619e7c 100644
--- a/third_party/blink/web_tests/platform/win7/fast/table/backgr_position-table-column-group-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/table/backgr_position-table-column-group-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/table/backgr_position-table-column-group-expected.png b/third_party/blink/web_tests/platform/win7/fast/table/backgr_position-table-column-group-expected.png
index 15d422f..215bc3f 100644
--- a/third_party/blink/web_tests/platform/win7/fast/table/backgr_position-table-column-group-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/table/backgr_position-table-column-group-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/table/backgr_position-table-expected.png b/third_party/blink/web_tests/platform/win7/fast/table/backgr_position-table-expected.png
index 01e3c86..a7330f5 100644
--- a/third_party/blink/web_tests/platform/win7/fast/table/backgr_position-table-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/table/backgr_position-table-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/table/backgr_position-table-row-collapsed-border-expected.png b/third_party/blink/web_tests/platform/win7/fast/table/backgr_position-table-row-collapsed-border-expected.png
index 10582b1a..c256278 100644
--- a/third_party/blink/web_tests/platform/win7/fast/table/backgr_position-table-row-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/table/backgr_position-table-row-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/table/backgr_position-table-row-expected.png b/third_party/blink/web_tests/platform/win7/fast/table/backgr_position-table-row-expected.png
index 2126086..c0a8659 100644
--- a/third_party/blink/web_tests/platform/win7/fast/table/backgr_position-table-row-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/table/backgr_position-table-row-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/table/backgr_position-table-row-group-collapsed-border-expected.png b/third_party/blink/web_tests/platform/win7/fast/table/backgr_position-table-row-group-collapsed-border-expected.png
index 3c71ae9..e05879a 100644
--- a/third_party/blink/web_tests/platform/win7/fast/table/backgr_position-table-row-group-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/table/backgr_position-table-row-group-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/table/backgr_position-table-row-group-expected.png b/third_party/blink/web_tests/platform/win7/fast/table/backgr_position-table-row-group-expected.png
index 1844222..3fc7218 100644
--- a/third_party/blink/web_tests/platform/win7/fast/table/backgr_position-table-row-group-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/table/backgr_position-table-row-group-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/table/backgr_simple-table-cell-collapsed-border-expected.png b/third_party/blink/web_tests/platform/win7/fast/table/backgr_simple-table-cell-collapsed-border-expected.png
index 3ecc9e7..569dca2 100644
--- a/third_party/blink/web_tests/platform/win7/fast/table/backgr_simple-table-cell-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/table/backgr_simple-table-cell-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/table/backgr_simple-table-cell-expected.png b/third_party/blink/web_tests/platform/win7/fast/table/backgr_simple-table-cell-expected.png
index 600f457..9244d03 100644
--- a/third_party/blink/web_tests/platform/win7/fast/table/backgr_simple-table-cell-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/table/backgr_simple-table-cell-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/table/backgr_simple-table-collapsed-border-expected.png b/third_party/blink/web_tests/platform/win7/fast/table/backgr_simple-table-collapsed-border-expected.png
index 74496fe..a32d550 100644
--- a/third_party/blink/web_tests/platform/win7/fast/table/backgr_simple-table-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/table/backgr_simple-table-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/table/backgr_simple-table-column-collapsed-border-expected.png b/third_party/blink/web_tests/platform/win7/fast/table/backgr_simple-table-column-collapsed-border-expected.png
index 6be37c7..a946321 100644
--- a/third_party/blink/web_tests/platform/win7/fast/table/backgr_simple-table-column-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/table/backgr_simple-table-column-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/table/backgr_simple-table-column-expected.png b/third_party/blink/web_tests/platform/win7/fast/table/backgr_simple-table-column-expected.png
index a1a1758..492f6a9 100644
--- a/third_party/blink/web_tests/platform/win7/fast/table/backgr_simple-table-column-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/table/backgr_simple-table-column-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/table/backgr_simple-table-column-group-collapsed-border-expected.png b/third_party/blink/web_tests/platform/win7/fast/table/backgr_simple-table-column-group-collapsed-border-expected.png
index edee998c..5f75bd0 100644
--- a/third_party/blink/web_tests/platform/win7/fast/table/backgr_simple-table-column-group-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/table/backgr_simple-table-column-group-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/table/backgr_simple-table-column-group-expected.png b/third_party/blink/web_tests/platform/win7/fast/table/backgr_simple-table-column-group-expected.png
index 262c0e4b..0c4d9eb2 100644
--- a/third_party/blink/web_tests/platform/win7/fast/table/backgr_simple-table-column-group-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/table/backgr_simple-table-column-group-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/table/backgr_simple-table-expected.png b/third_party/blink/web_tests/platform/win7/fast/table/backgr_simple-table-expected.png
index cf45bf4..5eb441e 100644
--- a/third_party/blink/web_tests/platform/win7/fast/table/backgr_simple-table-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/table/backgr_simple-table-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/table/backgr_simple-table-row-collapsed-border-expected.png b/third_party/blink/web_tests/platform/win7/fast/table/backgr_simple-table-row-collapsed-border-expected.png
index d9118f8..3274b92 100644
--- a/third_party/blink/web_tests/platform/win7/fast/table/backgr_simple-table-row-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/table/backgr_simple-table-row-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/table/backgr_simple-table-row-expected.png b/third_party/blink/web_tests/platform/win7/fast/table/backgr_simple-table-row-expected.png
index ebc50a8..c2da8a2 100644
--- a/third_party/blink/web_tests/platform/win7/fast/table/backgr_simple-table-row-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/table/backgr_simple-table-row-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/table/backgr_simple-table-row-group-collapsed-border-expected.png b/third_party/blink/web_tests/platform/win7/fast/table/backgr_simple-table-row-group-collapsed-border-expected.png
index 3ce44e7e..e72d093 100644
--- a/third_party/blink/web_tests/platform/win7/fast/table/backgr_simple-table-row-group-collapsed-border-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/table/backgr_simple-table-row-group-collapsed-border-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/table/backgr_simple-table-row-group-expected.png b/third_party/blink/web_tests/platform/win7/fast/table/backgr_simple-table-row-group-expected.png
index 188d7b0a..c2b64f0 100644
--- a/third_party/blink/web_tests/platform/win7/fast/table/backgr_simple-table-row-group-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/table/backgr_simple-table-row-group-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/text-autosizing/hackernews-comments-expected.png b/third_party/blink/web_tests/platform/win7/fast/text-autosizing/hackernews-comments-expected.png
index 001f43f..7eccb263 100644
--- a/third_party/blink/web_tests/platform/win7/fast/text-autosizing/hackernews-comments-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/text-autosizing/hackernews-comments-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/text/capitalize-boundaries-expected.png b/third_party/blink/web_tests/platform/win7/fast/text/capitalize-boundaries-expected.png
index 8273332..b8281a71 100644
--- a/third_party/blink/web_tests/platform/win7/fast/text/capitalize-boundaries-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/text/capitalize-boundaries-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/text/caps-lock-indicator-disabled-expected.png b/third_party/blink/web_tests/platform/win7/fast/text/caps-lock-indicator-disabled-expected.png
index 44f12b4..aa5c645 100644
--- a/third_party/blink/web_tests/platform/win7/fast/text/caps-lock-indicator-disabled-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/text/caps-lock-indicator-disabled-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/text/caps-lock-indicator-enabled-expected.png b/third_party/blink/web_tests/platform/win7/fast/text/caps-lock-indicator-enabled-expected.png
index a00f662..5526b6c 100644
--- a/third_party/blink/web_tests/platform/win7/fast/text/caps-lock-indicator-enabled-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/text/caps-lock-indicator-enabled-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/text/caps-lock-indicator-enabled-rtl-expected.png b/third_party/blink/web_tests/platform/win7/fast/text/caps-lock-indicator-enabled-rtl-expected.png
index c4961240..b202f39 100644
--- a/third_party/blink/web_tests/platform/win7/fast/text/caps-lock-indicator-enabled-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/text/caps-lock-indicator-enabled-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/text/drawBidiText-expected.png b/third_party/blink/web_tests/platform/win7/fast/text/drawBidiText-expected.png
index a847a0d2..3b08c3d 100644
--- a/third_party/blink/web_tests/platform/win7/fast/text/drawBidiText-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/text/drawBidiText-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/text/font-format-support-color-cff2-expected.png b/third_party/blink/web_tests/platform/win7/fast/text/font-format-support-color-cff2-expected.png
index 5e536af..a54d7321 100644
--- a/third_party/blink/web_tests/platform/win7/fast/text/font-format-support-color-cff2-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/text/font-format-support-color-cff2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/text/font-stretch-variant-expected.png b/third_party/blink/web_tests/platform/win7/fast/text/font-stretch-variant-expected.png
index b15c21a..9835036d 100644
--- a/third_party/blink/web_tests/platform/win7/fast/text/font-stretch-variant-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/text/font-stretch-variant-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/text/font-weight-variant-expected.png b/third_party/blink/web_tests/platform/win7/fast/text/font-weight-variant-expected.png
index 55b80be..fb792c9 100644
--- a/third_party/blink/web_tests/platform/win7/fast/text/font-weight-variant-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/text/font-weight-variant-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/text/international/003-expected.png b/third_party/blink/web_tests/platform/win7/fast/text/international/003-expected.png
index 7f3a327..56d6af82 100644
--- a/third_party/blink/web_tests/platform/win7/fast/text/international/003-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/text/international/003-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/text/international/bidi-listbox-atsui-expected.png b/third_party/blink/web_tests/platform/win7/fast/text/international/bidi-listbox-atsui-expected.png
new file mode 100644
index 0000000..a2112794
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win7/fast/text/international/bidi-listbox-atsui-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/text/international/bidi-listbox-expected.png b/third_party/blink/web_tests/platform/win7/fast/text/international/bidi-listbox-expected.png
new file mode 100644
index 0000000..4aaa6b1
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win7/fast/text/international/bidi-listbox-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/text/international/bidi-neutral-run-expected.png b/third_party/blink/web_tests/platform/win7/fast/text/international/bidi-neutral-run-expected.png
index 37fed2d..e43ce69 100644
--- a/third_party/blink/web_tests/platform/win7/fast/text/international/bidi-neutral-run-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/text/international/bidi-neutral-run-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/text/international/complex-character-based-fallback-expected.png b/third_party/blink/web_tests/platform/win7/fast/text/international/complex-character-based-fallback-expected.png
index 820e12b..b874043 100644
--- a/third_party/blink/web_tests/platform/win7/fast/text/international/complex-character-based-fallback-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/text/international/complex-character-based-fallback-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/text/international/hindi-spacing-expected.png b/third_party/blink/web_tests/platform/win7/fast/text/international/hindi-spacing-expected.png
index b80c624..bf608e5 100644
--- a/third_party/blink/web_tests/platform/win7/fast/text/international/hindi-spacing-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/text/international/hindi-spacing-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/text/international/rtl-white-space-pre-wrap-expected.png b/third_party/blink/web_tests/platform/win7/fast/text/international/rtl-white-space-pre-wrap-expected.png
index 7bb8a17..75eb5e1a 100644
--- a/third_party/blink/web_tests/platform/win7/fast/text/international/rtl-white-space-pre-wrap-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/text/international/rtl-white-space-pre-wrap-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/text/international/unicode-bidi-plaintext-in-textarea-expected.png b/third_party/blink/web_tests/platform/win7/fast/text/international/unicode-bidi-plaintext-in-textarea-expected.png
index ab2d22dd..d0e86d6 100644
--- a/third_party/blink/web_tests/platform/win7/fast/text/international/unicode-bidi-plaintext-in-textarea-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/text/international/unicode-bidi-plaintext-in-textarea-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/text/letter-spacing-leading-and-trailing-expected.png b/third_party/blink/web_tests/platform/win7/fast/text/letter-spacing-leading-and-trailing-expected.png
index abeaeed..c2affb0 100644
--- a/third_party/blink/web_tests/platform/win7/fast/text/letter-spacing-leading-and-trailing-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/text/letter-spacing-leading-and-trailing-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/text/selection/atsui-kerning-and-ligatures-expected.png b/third_party/blink/web_tests/platform/win7/fast/text/selection/atsui-kerning-and-ligatures-expected.png
index 1904b98..f2e37c1 100644
--- a/third_party/blink/web_tests/platform/win7/fast/text/selection/atsui-kerning-and-ligatures-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/text/selection/atsui-kerning-and-ligatures-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/text/selection/atsui-rtl-override-selection-expected.png b/third_party/blink/web_tests/platform/win7/fast/text/selection/atsui-rtl-override-selection-expected.png
index 8ea8ea4..1433444 100644
--- a/third_party/blink/web_tests/platform/win7/fast/text/selection/atsui-rtl-override-selection-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/text/selection/atsui-rtl-override-selection-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/text/selection/complex-text-rtl-selection-repaint-expected.png b/third_party/blink/web_tests/platform/win7/fast/text/selection/complex-text-rtl-selection-repaint-expected.png
index 8cbbf76c..488f787 100644
--- a/third_party/blink/web_tests/platform/win7/fast/text/selection/complex-text-rtl-selection-repaint-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/text/selection/complex-text-rtl-selection-repaint-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/text/selection/emphasis-expected.png b/third_party/blink/web_tests/platform/win7/fast/text/selection/emphasis-expected.png
index d631565..73683f1 100644
--- a/third_party/blink/web_tests/platform/win7/fast/text/selection/emphasis-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/text/selection/emphasis-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/text/selection/flexbox-selection-expected.png b/third_party/blink/web_tests/platform/win7/fast/text/selection/flexbox-selection-expected.png
index 3851fc0..8459eb38 100644
--- a/third_party/blink/web_tests/platform/win7/fast/text/selection/flexbox-selection-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/text/selection/flexbox-selection-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/text/selection/flexbox-selection-nested-expected.png b/third_party/blink/web_tests/platform/win7/fast/text/selection/flexbox-selection-nested-expected.png
index ed8f8648..a120e9a 100644
--- a/third_party/blink/web_tests/platform/win7/fast/text/selection/flexbox-selection-nested-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/text/selection/flexbox-selection-nested-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/text/selection/khmer-selection-expected.png b/third_party/blink/web_tests/platform/win7/fast/text/selection/khmer-selection-expected.png
index f9e2552..2c5705f 100644
--- a/third_party/blink/web_tests/platform/win7/fast/text/selection/khmer-selection-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/text/selection/khmer-selection-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/text/selection/mixed-directionality-selection-expected.png b/third_party/blink/web_tests/platform/win7/fast/text/selection/mixed-directionality-selection-expected.png
index 89ae5524..ed65178 100644
--- a/third_party/blink/web_tests/platform/win7/fast/text/selection/mixed-directionality-selection-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/text/selection/mixed-directionality-selection-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/text/selection/pre-wrap-overflow-selection-expected.png b/third_party/blink/web_tests/platform/win7/fast/text/selection/pre-wrap-overflow-selection-expected.png
index 4650dcca..1fc593e 100644
--- a/third_party/blink/web_tests/platform/win7/fast/text/selection/pre-wrap-overflow-selection-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/text/selection/pre-wrap-overflow-selection-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/text/selection/selection-hard-linebreak-expected.png b/third_party/blink/web_tests/platform/win7/fast/text/selection/selection-hard-linebreak-expected.png
index 4b414bca..28748966 100644
--- a/third_party/blink/web_tests/platform/win7/fast/text/selection/selection-hard-linebreak-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/text/selection/selection-hard-linebreak-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/text/selection/selection-painting-hidpi-expected.png b/third_party/blink/web_tests/platform/win7/fast/text/selection/selection-painting-hidpi-expected.png
index 54886e7f..9241b9e 100644
--- a/third_party/blink/web_tests/platform/win7/fast/text/selection/selection-painting-hidpi-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/text/selection/selection-painting-hidpi-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/text/selection/selection-with-inline-padding-expected.png b/third_party/blink/web_tests/platform/win7/fast/text/selection/selection-with-inline-padding-expected.png
index 0aff528..1f1f7ea 100644
--- a/third_party/blink/web_tests/platform/win7/fast/text/selection/selection-with-inline-padding-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/text/selection/selection-with-inline-padding-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/text/selection/shaping-selection-rect-expected.png b/third_party/blink/web_tests/platform/win7/fast/text/selection/shaping-selection-rect-expected.png
index dc7eccc..9e65f514 100644
--- a/third_party/blink/web_tests/platform/win7/fast/text/selection/shaping-selection-rect-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/text/selection/shaping-selection-rect-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/text/selection/should-use-atsui-expected.png b/third_party/blink/web_tests/platform/win7/fast/text/selection/should-use-atsui-expected.png
index ffc81b2..f6771a6f 100644
--- a/third_party/blink/web_tests/platform/win7/fast/text/selection/should-use-atsui-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/text/selection/should-use-atsui-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/text/softHyphen-expected.png b/third_party/blink/web_tests/platform/win7/fast/text/softHyphen-expected.png
index f2c77b4..60b3492 100644
--- a/third_party/blink/web_tests/platform/win7/fast/text/softHyphen-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/text/softHyphen-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/text/textIteratorNilRenderer-expected.png b/third_party/blink/web_tests/platform/win7/fast/text/textIteratorNilRenderer-expected.png
new file mode 100644
index 0000000..79a35e3
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win7/fast/text/textIteratorNilRenderer-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/text/unicode-fallback-font-expected.png b/third_party/blink/web_tests/platform/win7/fast/text/unicode-fallback-font-expected.png
index ec64085..607c190 100644
--- a/third_party/blink/web_tests/platform/win7/fast/text/unicode-fallback-font-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/text/unicode-fallback-font-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/text/updateNewFont-expected.png b/third_party/blink/web_tests/platform/win7/fast/text/updateNewFont-expected.png
index a1987f62..5b3b8ee 100644
--- a/third_party/blink/web_tests/platform/win7/fast/text/updateNewFont-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/text/updateNewFont-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/text/whitespace/024-expected.png b/third_party/blink/web_tests/platform/win7/fast/text/whitespace/024-expected.png
index ced6013a..e6696c9e 100644
--- a/third_party/blink/web_tests/platform/win7/fast/text/whitespace/024-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/text/whitespace/024-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/text/whitespace/normal-after-nowrap-breaking-expected.png b/third_party/blink/web_tests/platform/win7/fast/text/whitespace/normal-after-nowrap-breaking-expected.png
index 2008cab..634228d8 100644
--- a/third_party/blink/web_tests/platform/win7/fast/text/whitespace/normal-after-nowrap-breaking-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/text/whitespace/normal-after-nowrap-breaking-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fast/text/word-break-expected.png b/third_party/blink/web_tests/platform/win7/fast/text/word-break-expected.png
index 35c29502..3c5a216 100644
--- a/third_party/blink/web_tests/platform/win7/fast/text/word-break-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fast/text/word-break-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/fonts/fantasy-expected.png b/third_party/blink/web_tests/platform/win7/fonts/fantasy-expected.png
index c20f93bf..41e57de 100644
--- a/third_party/blink/web_tests/platform/win7/fonts/fantasy-expected.png
+++ b/third_party/blink/web_tests/platform/win7/fonts/fantasy-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/http/tests/media/video-frame-size-change-expected.png b/third_party/blink/web_tests/platform/win7/http/tests/media/video-frame-size-change-expected.png
index cf21510..3793f0e9f 100644
--- a/third_party/blink/web_tests/platform/win7/http/tests/media/video-frame-size-change-expected.png
+++ b/third_party/blink/web_tests/platform/win7/http/tests/media/video-frame-size-change-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 3872d34..e1088a5 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/svg/text/text-selection-fonts-01-t-expected.png b/third_party/blink/web_tests/platform/win7/svg/text/text-selection-fonts-01-t-expected.png
index e3d039f..b8eefe3 100644
--- a/third_party/blink/web_tests/platform/win7/svg/text/text-selection-fonts-01-t-expected.png
+++ b/third_party/blink/web_tests/platform/win7/svg/text/text-selection-fonts-01-t-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/svg/text/text-selection-intro-05-t-expected.png b/third_party/blink/web_tests/platform/win7/svg/text/text-selection-intro-05-t-expected.png
index 8d3dfae..af3419d9 100644
--- a/third_party/blink/web_tests/platform/win7/svg/text/text-selection-intro-05-t-expected.png
+++ b/third_party/blink/web_tests/platform/win7/svg/text/text-selection-intro-05-t-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/svg/text/text-selection-text-08-b-expected.png b/third_party/blink/web_tests/platform/win7/svg/text/text-selection-text-08-b-expected.png
index c943b9cf..8daeedab6 100644
--- a/third_party/blink/web_tests/platform/win7/svg/text/text-selection-text-08-b-expected.png
+++ b/third_party/blink/web_tests/platform/win7/svg/text/text-selection-text-08-b-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/tables/mozilla/bugs/bug2479-2-expected.png b/third_party/blink/web_tests/platform/win7/tables/mozilla/bugs/bug2479-2-expected.png
index 2ff54147..42ec6d1 100644
--- a/third_party/blink/web_tests/platform/win7/tables/mozilla/bugs/bug2479-2-expected.png
+++ b/third_party/blink/web_tests/platform/win7/tables/mozilla/bugs/bug2479-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.png b/third_party/blink/web_tests/platform/win7/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.png
index 2e14dda..6a820ad 100644
--- a/third_party/blink/web_tests/platform/win7/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.png
+++ b/third_party/blink/web_tests/platform/win7/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/transforms/2d/hindi-rotated-expected.png b/third_party/blink/web_tests/platform/win7/transforms/2d/hindi-rotated-expected.png
index 87ef69a..bb4f5fc 100644
--- a/third_party/blink/web_tests/platform/win7/transforms/2d/hindi-rotated-expected.png
+++ b/third_party/blink/web_tests/platform/win7/transforms/2d/hindi-rotated-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/audio-service/http/tests/media/video-frame-size-change-expected.png b/third_party/blink/web_tests/platform/win7/virtual/audio-service/http/tests/media/video-frame-size-change-expected.png
new file mode 100644
index 0000000..28e9abd
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win7/virtual/audio-service/http/tests/media/video-frame-size-change-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-coarse-expected.png b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-coarse-expected.png
index c879458..d419e94 100644
--- a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-coarse-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-coarse-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-disabled-previous-month-expected.png b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-disabled-previous-month-expected.png
index 5dd8bf0a..a9a5677 100644
--- a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-disabled-previous-month-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-rtl-expected.png b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-rtl-expected.png
index 9ddfdc8..07d3f83 100644
--- a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-step-expected.png b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-step-expected.png
index c71c1bf..c2802a8c7 100644
--- a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-step-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-step-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-zoom150-expected.png b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-zoom150-expected.png
index 456ce9c..3a0275d 100644
--- a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-zoom150-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-zoom150-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-disabled-values-expected.png b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-disabled-values-expected.png
index f1b55ca..5fabdd20 100644
--- a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-disabled-values-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-disabled-values-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-month-appearance-expected.png b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-month-appearance-expected.png
index e3d1939..3e7249c 100644
--- a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-month-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-month-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-today-expected.png b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-today-expected.png
index 1f6b04a..f2fbd519 100644
--- a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-today-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-values-expected.png b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-values-expected.png
index e441383..a66c6e6 100644
--- a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-disabled-values-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/month-picker/month-picker-appearance-highlight-expected.png b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-highlight-expected.png
index 5f751d7c..fb39a38 100644
--- a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-highlight-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-highlight-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-rtl-expected.png b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-rtl-expected.png
index 69640e0..14dae5558 100644
--- a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-value-not-in-interval-expected.png b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-value-not-in-interval-expected.png
index 1c7e117..dbcdcf4 100644
--- a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-value-not-in-interval-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/fast/forms/controls-new-ui/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/fast/forms/controls-new-ui/month-picker/month-picker-appearance-zoom150-expected.png b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-zoom150-expected.png
index bfa676e..339559c 100644
--- a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-zoom150-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-zoom150-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/month-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/month-suggestion-picker-appearance-expected.png
index 70ee77e1..f7685db 100644
--- a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/month-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/month-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-ko-expected.png b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-ko-expected.png
index 8d09bb04..71609a8 100644
--- a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-ko-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-ko-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 806822c..eee2b7d5 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/data-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win7/virtual/scalefactor150/fast/hidpi/static/data-suggestion-picker-appearance-expected.png
index 8e584d93..f0f9d804 100644
--- a/third_party/blink/web_tests/platform/win7/virtual/scalefactor150/fast/hidpi/static/data-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/scalefactor150/fast/hidpi/static/data-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/scalefactor200/fast/hidpi/static/calendar-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win7/virtual/scalefactor200/fast/hidpi/static/calendar-picker-appearance-expected.png
index d942711f..92189e15 100644
--- a/third_party/blink/web_tests/platform/win7/virtual/scalefactor200/fast/hidpi/static/calendar-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/scalefactor200/fast/hidpi/static/calendar-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/scalefactor200/fast/hidpi/static/data-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win7/virtual/scalefactor200/fast/hidpi/static/data-suggestion-picker-appearance-expected.png
index 48dab34..309fdc9 100644
--- a/third_party/blink/web_tests/platform/win7/virtual/scalefactor200/fast/hidpi/static/data-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/scalefactor200/fast/hidpi/static/data-suggestion-picker-appearance-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 d942711f..92189e15 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/data-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win7/virtual/scalefactor200withzoom/fast/hidpi/static/data-suggestion-picker-appearance-expected.png
index 48dab34..309fdc9 100644
--- a/third_party/blink/web_tests/platform/win7/virtual/scalefactor200withzoom/fast/hidpi/static/data-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/scalefactor200withzoom/fast/hidpi/static/data-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/scrollbars/scrollbar-corner-colors.html b/third_party/blink/web_tests/scrollbars/scrollbar-corner-colors.html
index bf230480..70f7a5b 100644
--- a/third_party/blink/web_tests/scrollbars/scrollbar-corner-colors.html
+++ b/third_party/blink/web_tests/scrollbars/scrollbar-corner-colors.html
@@ -1,8 +1,4 @@
 <!DOCTYPE html>
-<script>
-  if (window.testRunner)
-    testRunner.setUseMockTheme(false);
-</script>
 <div style="width:10000px;height:10000px">
   <div style="height:400px;width:400px;overflow:scroll;border:solid 2px black;">
   <p style="width:450px;height:450px;">Create a scrollable area including scroll corner</p>
diff --git a/third_party/blink/web_tests/virtual/controls-refresh-high-contrast/fast/forms/controls-new-ui-high-contrast/color-picker-expected.png b/third_party/blink/web_tests/virtual/controls-refresh-high-contrast/fast/forms/controls-new-ui-high-contrast/color-picker-expected.png
deleted file mode 100644
index 121f14c..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh-high-contrast/fast/forms/controls-new-ui-high-contrast/color-picker-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh-high-contrast/fast/forms/controls-new-ui-high-contrast/date-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/virtual/controls-refresh-high-contrast/fast/forms/controls-new-ui-high-contrast/date-suggestion-picker-appearance-expected.png
deleted file mode 100644
index 8a73c538..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh-high-contrast/fast/forms/controls-new-ui-high-contrast/date-suggestion-picker-appearance-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-coarse-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-coarse-expected.png
deleted file mode 100644
index 2256a41..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-coarse-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-rtl-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-rtl-expected.png
deleted file mode 100644
index c29a571..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-rtl-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-step-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-step-expected.png
deleted file mode 100644
index a9be530..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-step-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-zoom150-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-zoom150-expected.png
deleted file mode 100644
index fc955772..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-appearance-zoom150-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-disabled-values-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-disabled-values-expected.png
deleted file mode 100644
index f4b9d21..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-disabled-values-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-month-appearance-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-month-appearance-expected.png
deleted file mode 100644
index 4b945793..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/calendar-picker/date-picker-month-appearance-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-accelerated-keyboard-navigation-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-accelerated-keyboard-navigation-expected.png
deleted file mode 100644
index fb4a114..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-accelerated-keyboard-navigation-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-click-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-click-expected.png
deleted file mode 100644
index bf2573a..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-click-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-accelerated-keyboard-navigation-from-top-left-corner-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-accelerated-keyboard-navigation-from-top-left-corner-expected.png
deleted file mode 100644
index 233fbf57..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-accelerated-keyboard-navigation-from-top-left-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-accelerated-keyboard-navigation-from-top-right-corner-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-accelerated-keyboard-navigation-from-top-right-corner-expected.png
deleted file mode 100644
index a027da4..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-accelerated-keyboard-navigation-from-top-right-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-left-corner-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-left-corner-expected.png
deleted file mode 100644
index 4f70cb8..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-left-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-right-corner-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-right-corner-expected.png
deleted file mode 100644
index bd3faa0..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-right-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-drag-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-drag-expected.png
deleted file mode 100644
index bf2573a..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-drag-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-keyboard-navigation-after-drag-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-keyboard-navigation-after-drag-expected.png
deleted file mode 100644
index 7042715..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-keyboard-navigation-after-drag-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-keyboard-navigation-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-keyboard-navigation-expected.png
deleted file mode 100644
index bf7c70f2..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-keyboard-navigation-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-accelerated-keyboard-navigation-from-bottom-right-corner-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-accelerated-keyboard-navigation-from-bottom-right-corner-expected.png
deleted file mode 100644
index 218e6d8..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-accelerated-keyboard-navigation-from-bottom-right-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-accelerated-keyboard-navigation-from-top-right-corner-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-accelerated-keyboard-navigation-from-top-right-corner-expected.png
deleted file mode 100644
index 19089a56..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-accelerated-keyboard-navigation-from-top-right-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-keyboard-navigation-from-bottom-right-corner-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-keyboard-navigation-from-bottom-right-corner-expected.png
deleted file mode 100644
index d83afa5..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-keyboard-navigation-from-bottom-right-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-keyboard-navigation-from-top-right-corner-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-keyboard-navigation-from-top-right-corner-expected.png
deleted file mode 100644
index 0c61e7e..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-left-keyboard-navigation-from-top-right-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-accelerated-keyboard-navigation-from-bottom-left-corner-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-accelerated-keyboard-navigation-from-bottom-left-corner-expected.png
deleted file mode 100644
index 09af62e..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-accelerated-keyboard-navigation-from-bottom-left-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-accelerated-keyboard-navigation-from-top-left-corner-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-accelerated-keyboard-navigation-from-top-left-corner-expected.png
deleted file mode 100644
index df84409..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-accelerated-keyboard-navigation-from-top-left-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-keyboard-navigation-from-bottom-left-corner-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-keyboard-navigation-from-bottom-left-corner-expected.png
deleted file mode 100644
index bc6d43e..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-keyboard-navigation-from-bottom-left-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-keyboard-navigation-from-top-left-corner-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-keyboard-navigation-from-top-left-corner-expected.png
deleted file mode 100644
index 901b6fee..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-right-keyboard-navigation-from-top-left-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-accelerated-keyboard-navigation-from-bottom-left-corner-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-accelerated-keyboard-navigation-from-bottom-left-corner-expected.png
deleted file mode 100644
index 79cea8d..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-accelerated-keyboard-navigation-from-bottom-left-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-accelerated-keyboard-navigation-from-bottom-right-corner-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-accelerated-keyboard-navigation-from-bottom-right-corner-expected.png
deleted file mode 100644
index d6fdafa..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-accelerated-keyboard-navigation-from-bottom-right-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-left-corner-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-left-corner-expected.png
deleted file mode 100644
index cebdc08..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-left-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-right-corner-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-right-corner-expected.png
deleted file mode 100644
index 0eb6c9d..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-right-corner-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hex-format-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hex-format-expected.png
deleted file mode 100644
index 4994b3d7..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hex-format-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hsl-format-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hsl-format-expected.png
deleted file mode 100644
index 0c48fd0b..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hsl-format-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-accelerated-keyboard-navigation-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-accelerated-keyboard-navigation-expected.png
deleted file mode 100644
index 0526386..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-accelerated-keyboard-navigation-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-click-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-click-expected.png
deleted file mode 100644
index 8ab2c57..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-click-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-drag-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-drag-expected.png
deleted file mode 100644
index 8ab2c57..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-drag-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-keyboard-navigation-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-keyboard-navigation-expected.png
deleted file mode 100644
index 697a9261..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-keyboard-navigation-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-left-edge-zero-hue-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-left-edge-zero-hue-expected.png
deleted file mode 100644
index 514f2a9..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-left-edge-zero-hue-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-right-edge-zero-hue-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-right-edge-zero-hue-expected.png
deleted file mode 100644
index efa80eb..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-hue-slider-right-edge-zero-hue-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-imperfect-match-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-imperfect-match-expected.png
deleted file mode 100644
index 065fa97..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-imperfect-match-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-manual-color-change-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-manual-color-change-expected.png
deleted file mode 100644
index b05b883..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-manual-color-change-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-set-value-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-set-value-expected.png
deleted file mode 100644
index 7a234a7..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-set-value-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-value-attribute-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-value-attribute-expected.png
deleted file mode 100644
index 675a23d..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-value-attribute-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-zoom125-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-zoom125-expected.png
deleted file mode 100644
index 8c47bf3..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-zoom125-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-zoom200-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-zoom200-expected.png
deleted file mode 100644
index 4fc37af..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-picker-appearance-zoom200-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-empty-list-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-empty-list-expected.png
deleted file mode 100644
index e9055d61..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-empty-list-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-one-row-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-one-row-expected.png
deleted file mode 100644
index 6d9fb4a..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-one-row-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-two-rows-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-two-rows-expected.png
deleted file mode 100644
index 2f3df6f..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-two-rows-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-value-attribute-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-value-attribute-expected.png
deleted file mode 100644
index 3c5e345..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-value-attribute-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-with-scrollbar-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-with-scrollbar-expected.png
deleted file mode 100644
index c567e0c..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-with-scrollbar-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom125-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom125-expected.png
deleted file mode 100644
index 0f26b66..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom125-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom200-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom200-expected.png
deleted file mode 100644
index 8ae9cc0..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/color/color-suggestion-picker-appearance-zoom200-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-highlight-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-highlight-expected.png
deleted file mode 100644
index 37a04119..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/month-picker/month-picker-appearance-highlight-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-alt-f8-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-alt-f8-expected.png
deleted file mode 100644
index 8652414..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-alt-f8-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-alt-f8-twice-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-alt-f8-twice-expected.png
deleted file mode 100644
index c2c6bad..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-alt-f8-twice-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-eye-icon-font-size-48px-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-eye-icon-font-size-48px-expected.png
deleted file mode 100644
index 1149a40..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-eye-icon-font-size-48px-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-eye-icon-font-size-4px-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-eye-icon-font-size-4px-expected.png
deleted file mode 100644
index 9401d2cc..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-eye-icon-font-size-4px-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-eye-icon-zoom-4x-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-eye-icon-zoom-4x-expected.png
deleted file mode 100644
index c4f92bcf..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-eye-icon-zoom-4x-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-mismatched_glyph-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-mismatched_glyph-expected.png
deleted file mode 100644
index c2c6bad..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-mismatched_glyph-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-small-size-alt-f8-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-small-size-alt-f8-expected.png
deleted file mode 100644
index 0e941cb..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-small-size-alt-f8-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-with-reveal-button-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-with-reveal-button-expected.png
deleted file mode 100644
index c2c6bad..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/password/password-with-reveal-button-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/date-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/date-suggestion-picker-appearance-expected.png
deleted file mode 100644
index b1ee6d7a..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/date-suggestion-picker-appearance-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
deleted file mode 100644
index 2503810..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/month-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/month-suggestion-picker-appearance-expected.png
deleted file mode 100644
index 5623e745..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/month-suggestion-picker-appearance-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/time-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/time-suggestion-picker-appearance-expected.png
deleted file mode 100644
index 5ded2a2..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/time-suggestion-picker-appearance-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/week-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/week-suggestion-picker-appearance-expected.png
deleted file mode 100644
index 8bce3c86..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/suggestion-picker/week-suggestion-picker-appearance-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-AM-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-AM-expected.png
deleted file mode 100644
index c47fa87..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-AM-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-PM-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-PM-expected.png
deleted file mode 100644
index 6ad7140..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-12-PM-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-24-hour-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-24-hour-expected.png
deleted file mode 100644
index ee3a5179..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-24-hour-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowdown-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowdown-expected.png
deleted file mode 100644
index 8fbcbfd..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowdown-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowup-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowup-expected.png
deleted file mode 100644
index c89e47f..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-arrowup-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-expected.png
deleted file mode 100644
index f0a326ea..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-ko-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-ko-expected.png
deleted file mode 100644
index 6c69c2c..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-ko-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-milliseconds-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-milliseconds-expected.png
deleted file mode 100644
index acbba44..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-milliseconds-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-seconds-pm-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-seconds-pm-expected.png
deleted file mode 100644
index b45e448b..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/fast/forms/controls-new-ui/time-picker/time-picker-appearance-seconds-pm-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/dark-mode/paint/dark-mode/grayscale-images/desaturate-before-inversion-expected.png b/third_party/blink/web_tests/virtual/dark-mode/paint/dark-mode/grayscale-images/desaturate-before-inversion-expected.png
deleted file mode 100644
index cc7960a..0000000
--- a/third_party/blink/web_tests/virtual/dark-mode/paint/dark-mode/grayscale-images/desaturate-before-inversion-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/scalefactor200/css3/filters/backdrop-filter-plus-mask-large-expected.png b/third_party/blink/web_tests/virtual/scalefactor200/css3/filters/backdrop-filter-plus-mask-large-expected.png
deleted file mode 100644
index ce889b5f..0000000
--- a/third_party/blink/web_tests/virtual/scalefactor200/css3/filters/backdrop-filter-plus-mask-large-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/webexposed/global-interface-listing-expected.txt b/third_party/blink/web_tests/webexposed/global-interface-listing-expected.txt
index 94d36cd..fcfa531 100644
--- a/third_party/blink/web_tests/webexposed/global-interface-listing-expected.txt
+++ b/third_party/blink/web_tests/webexposed/global-interface-listing-expected.txt
@@ -5120,10 +5120,10 @@
     attribute @@toStringTag
     getter mediaType
     getter recordType
+    method arrayBuffer
     method constructor
-    method toArrayBuffer
-    method toJSON
-    method toText
+    method json
+    method text
 interface NFCErrorEvent : Event
     attribute @@toStringTag
     getter error
diff --git a/third_party/blink/web_tests/wpt_internal/ambient-light/AmbientLightSensor.https.html b/third_party/blink/web_tests/wpt_internal/ambient-light/AmbientLightSensor.https.html
new file mode 100644
index 0000000..b8c8f23d
--- /dev/null
+++ b/third_party/blink/web_tests/wpt_internal/ambient-light/AmbientLightSensor.https.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>AmbientLightSensor Test</title>
+<link rel="author" title="Intel" href="http://www.intel.com">
+<link rel="help" href="https://www.w3.org/TR/ambient-light/">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/generic-sensor/resources/generic-sensor-helpers.js"></script>
+<script src="/generic-sensor/generic-sensor-tests.js"></script>
+<script>
+
+'use strict';
+
+const kReadings = {
+    readings: [
+        // We need to have at least two values here because some tests expect
+        // at least two readings to be available. If we have one value here,
+        // the ALS implementation will consider the value has not changed from
+        // the previous reading and not fire a reading event.
+        [240],
+        [110]
+    ],
+    expectedReadings: [
+        // Our ALS implementation rounds off raw illuminance values to the
+        // nearest 50 Lux.
+        // See kAlsRoundingThreshold in ambient_light_sensor.cc.
+        [250],
+        [100]
+    ]
+};
+
+runGenericSensorTests(
+    'AmbientLightSensor',
+    kReadings,
+    verifyAlsSensorReading,
+    ['ambient-light-sensor']);
+
+</script>
diff --git a/third_party/hunspell/BUILD.gn b/third_party/hunspell/BUILD.gn
index 89d9a0e..5be7315 100644
--- a/third_party/hunspell/BUILD.gn
+++ b/third_party/hunspell/BUILD.gn
@@ -109,10 +109,24 @@
   }
 }
 
-fuzzer_test("hunspell_fuzzer") {
+fuzzer_test("hunspell_spell_fuzzer") {
   sources = [
-    "fuzz/hunspell_fuzzer.cc",
     "fuzz/hunspell_fuzzer_hunspell_dictionary.h",
+    "fuzz/hunspell_spell_fuzzer.cc",
+  ]
+  deps = [
+    ":hunspell",
+    "//base:base",
+  ]
+
+  # This is a dictionary for the fuzzer, not a spellcheck dictionary.
+  dict = "fuzz/hunspell.dict"
+}
+
+fuzzer_test("hunspell_suggest_fuzzer") {
+  sources = [
+    "fuzz/hunspell_fuzzer_hunspell_dictionary.h",
+    "fuzz/hunspell_suggest_fuzzer.cc",
   ]
   deps = [
     ":hunspell",
diff --git a/third_party/hunspell/fuzz/hunspell_fuzzer.cc b/third_party/hunspell/fuzz/hunspell_fuzzer.cc
deleted file mode 100644
index 7efda6c2..0000000
--- a/third_party/hunspell/fuzz/hunspell_fuzzer.cc
+++ /dev/null
@@ -1,35 +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 <stddef.h>
-#include <stdint.h>
-#include <string>
-
-#include "base/strings/string16.h"
-#include "base/strings/utf_string_conversions.h"
-#include "third_party/hunspell/src/hunspell/hunspell.hxx"
-#include "third_party/hunspell/fuzz/hunspell_fuzzer_hunspell_dictionary.h"
-
-// Entry point for LibFuzzer.
-extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
-  if (!size)
-    return 0;
-  
-  static Hunspell* hunspell = new Hunspell(kHunspellDictionary,
-                                           sizeof(kHunspellDictionary));
-
-  std::string data_string(reinterpret_cast<const char*>(data), size);
-
-  // hunspell is not handling invalid UTF8. To avoid that, do the same thing
-  // Chromium does - convert to UTF16, and back to UTF8. Valid UTF8 guaranteed.
-  base::string16 utf16_string = base::UTF8ToUTF16(data_string);
-  data_string = base::UTF16ToUTF8(utf16_string);
-
-  hunspell->spell(data_string);
-
-  std::vector<std::string> suggestions =
-      hunspell->suggest(data_string);
-
-  return 0;
-}
diff --git a/third_party/hunspell/fuzz/hunspell_spell_fuzzer.cc b/third_party/hunspell/fuzz/hunspell_spell_fuzzer.cc
new file mode 100644
index 0000000..fbaf803
--- /dev/null
+++ b/third_party/hunspell/fuzz/hunspell_spell_fuzzer.cc
@@ -0,0 +1,32 @@
+// 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 <stddef.h>
+#include <stdint.h>
+#include <string>
+
+#include "base/strings/string16.h"
+#include "base/strings/utf_string_conversions.h"
+#include "third_party/hunspell/fuzz/hunspell_fuzzer_hunspell_dictionary.h"
+#include "third_party/hunspell/src/hunspell/hunspell.hxx"
+
+// Entry point for LibFuzzer.
+extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
+  if (!size)
+    return 0;
+
+  static Hunspell* hunspell =
+      new Hunspell(kHunspellDictionary, sizeof(kHunspellDictionary));
+
+  std::string data_string(reinterpret_cast<const char*>(data), size);
+
+  // hunspell is not handling invalid UTF8. To avoid that, do the same thing
+  // Chromium does - convert to UTF16, and back to UTF8. Valid UTF8 guaranteed.
+  base::string16 utf16_string = base::UTF8ToUTF16(data_string);
+  data_string = base::UTF16ToUTF8(utf16_string);
+
+  hunspell->spell(data_string);
+
+  return 0;
+}
diff --git a/third_party/hunspell/fuzz/hunspell_suggest_fuzzer.cc b/third_party/hunspell/fuzz/hunspell_suggest_fuzzer.cc
new file mode 100644
index 0000000..bb0a8f60
--- /dev/null
+++ b/third_party/hunspell/fuzz/hunspell_suggest_fuzzer.cc
@@ -0,0 +1,40 @@
+// 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 <stddef.h>
+#include <stdint.h>
+#include <string>
+
+#include <fuzzer/FuzzedDataProvider.h>
+
+#include "base/strings/string16.h"
+#include "base/strings/utf_string_conversions.h"
+#include "third_party/hunspell/fuzz/hunspell_fuzzer_hunspell_dictionary.h"
+#include "third_party/hunspell/src/hunspell/hunspell.hxx"
+
+// Entry point for LibFuzzer.
+extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
+  if (!size)
+    return 0;
+
+  // Generate and use a range of dictionary sizes. Large dictionaries might have
+  // more coverage and uncover more interesting code paths, however, it is
+  // extremely slow. Smaller dictionaries are _much_ faster, but may result in
+  // less coverage.
+  FuzzedDataProvider data_provider(data, size);
+  size_t shift = data_provider.ConsumeIntegralInRange(0, 16);
+  static Hunspell* hunspell =
+      new Hunspell(kHunspellDictionary, sizeof(kHunspellDictionary) >> shift);
+
+  std::string data_string(reinterpret_cast<const char*>(data), size);
+
+  // hunspell is not handling invalid UTF8. To avoid that, do the same thing
+  // Chromium does - convert to UTF16, and back to UTF8. Valid UTF8 guaranteed.
+  base::string16 utf16_string = base::UTF8ToUTF16(data_string);
+  data_string = base::UTF16ToUTF8(utf16_string);
+
+  std::vector<std::string> suggestions = hunspell->suggest(data_string);
+
+  return 0;
+}
diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums.xml
index 0cef34bf..f07863a7 100644
--- a/tools/metrics/histograms/enums.xml
+++ b/tools/metrics/histograms/enums.xml
@@ -15772,6 +15772,29 @@
   <int value="11" label="PDF"/>
 </enum>
 
+<enum name="DriveFileError">
+  <int value="0" label="UNKNOWN"/>
+  <int value="1" label="FILE_ERROR_OK"/>
+  <int value="2" label="FILE_ERROR_FAILED"/>
+  <int value="3" label="FILE_ERROR_IN_USE"/>
+  <int value="4" label="FILE_ERROR_EXISTS"/>
+  <int value="5" label="FILE_ERROR_NOT_FOUND"/>
+  <int value="6" label="FILE_ERROR_ACCESS_DENIED"/>
+  <int value="7" label="FILE_ERROR_TOO_MANY_OPENED"/>
+  <int value="8" label="FILE_ERROR_NO_MEMORY"/>
+  <int value="9" label="FILE_ERROR_NO_SERVER_SPACE"/>
+  <int value="10" label="FILE_ERROR_NOT_A_DIRECTORY"/>
+  <int value="11" label="FILE_ERROR_INVALID_OPERATION"/>
+  <int value="12" label="FILE_ERROR_SECURITY"/>
+  <int value="13" label="FILE_ERROR_ABORT"/>
+  <int value="14" label="FILE_ERROR_NOT_A_FILE"/>
+  <int value="15" label="FILE_ERROR_NOT_EMPTY"/>
+  <int value="16" label="FILE_ERROR_INVALID_URL"/>
+  <int value="17" label="FILE_ERROR_NO_CONNECTION"/>
+  <int value="18" label="FILE_ERROR_NO_LOCAL_SPACE"/>
+  <int value="19" label="FILE_ERROR_SERVICE_UNAVAILABLE"/>
+</enum>
+
 <enum name="DriveFileFormat">
   <int value="0" label="AAC"/>
   <int value="1" label="ASF"/>
diff --git a/tools/metrics/histograms/histograms.xml b/tools/metrics/histograms/histograms.xml
index 10fc2315..a351b09f 100644
--- a/tools/metrics/histograms/histograms.xml
+++ b/tools/metrics/histograms/histograms.xml
@@ -4936,6 +4936,26 @@
   </summary>
 </histogram>
 
+<histogram name="Apps.AppList.DriveQuickAccessProvider.ApiResults"
+    units="count">
+  <owner>tby@chromium.org</owner>
+  <owner>wrong@chromium.org</owner>
+  <owner>jiameng@chromium.org</owner>
+  <summary>
+    The number of results returned from a call to the Drive QuickAccess API.
+  </summary>
+</histogram>
+
+<histogram name="Apps.AppList.DriveQuickAccessProvider.FileError"
+    enum="DriveFileError">
+  <owner>tby@chromium.org</owner>
+  <owner>wrong@chromium.org</owner>
+  <owner>jiameng@chromium.org</owner>
+  <summary>
+    The error code returned from a call to the Drive QuickAccess API.
+  </summary>
+</histogram>
+
 <histogram
     name="Apps.AppList.DriveQuickAccessProvider.GetQuickAccessItemsLatency"
     units="ms">
@@ -52607,7 +52627,9 @@
 </histogram>
 
 <histogram name="History.ClearBrowsingData.Duration.FullDeletion" units="ms"
-    expires_after="2020-01-26">
+    expires_after="never">
+<!-- expires-never: Tracked as important privacy metric. -->
+
   <owner>dullweber@chromium.org</owner>
   <owner>msramek@chromium.org</owner>
   <summary>
@@ -52616,7 +52638,9 @@
 </histogram>
 
 <histogram name="History.ClearBrowsingData.Duration.PartialDeletion" units="ms"
-    expires_after="2020-01-26">
+    expires_after="never">
+<!-- expires-never: tracked as important privacy metric. -->
+
   <owner>dullweber@chromium.org</owner>
   <owner>msramek@chromium.org</owner>
   <summary>
@@ -52627,7 +52651,9 @@
 </histogram>
 
 <histogram name="History.ClearBrowsingData.Duration.SlowTasks180s"
-    enum="BrowsingDataRemoverTasks" expires_after="2020-01-20">
+    enum="BrowsingDataRemoverTasks" expires_after="never">
+<!-- expires-never: tracked as important privacy metric. -->
+
   <owner>dullweber@chromium.org</owner>
   <owner>msramek@chromium.org</owner>
   <summary>
@@ -52637,7 +52663,9 @@
 </histogram>
 
 <histogram name="History.ClearBrowsingData.Duration.SlowTasks180sChrome"
-    enum="ChromeBrowsingDataRemoverTasks" expires_after="2020-01-26">
+    enum="ChromeBrowsingDataRemoverTasks" expires_after="never">
+<!-- expires-never: tracked as important privacy metric. -->
+
   <owner>dullweber@chromium.org</owner>
   <owner>msramek@chromium.org</owner>
   <summary>
@@ -52729,7 +52757,9 @@
 </histogram>
 
 <histogram name="History.ClearBrowsingData.TaskQueueAtShutdown" units="units"
-    expires_after="2020-01-20">
+    expires_after="never">
+<!-- expires-never: tracked as important privacy metric. -->
+
   <owner>dullweber@chromium.org</owner>
   <owner>msramek@chromium.org</owner>
   <summary>
@@ -52748,7 +52778,9 @@
 </histogram>
 
 <histogram name="History.ClearBrowsingData.UserDeletedCookieOrCache"
-    enum="CookieOrCacheDeletion" expires_after="2020-02-02">
+    enum="CookieOrCacheDeletion" expires_after="never">
+<!-- expires-never: Tracked as important privacy metric. -->
+
   <owner>msramek@chromium.org</owner>
   <summary>
     Recorded when the user deletes their browsing data. Shows whether cookies
@@ -52757,7 +52789,9 @@
 </histogram>
 
 <histogram name="History.ClearBrowsingData.UserDeletedCookieOrCacheFromDialog"
-    enum="CookieOrCacheDeletion" expires_after="2020-02-02">
+    enum="CookieOrCacheDeletion" expires_after="never">
+<!-- expires-never: Tracked as important privacy metric. -->
+
   <owner>msramek@chromium.org</owner>
   <summary>
     Recorded when the user deletes their browsing data manually from the
diff --git a/tools/perf/contrib/oilpan/oilpan_gc_times_unittest.py b/tools/perf/contrib/oilpan/oilpan_gc_times_unittest.py
index 7c254479..1dc9339 100644
--- a/tools/perf/contrib/oilpan/oilpan_gc_times_unittest.py
+++ b/tools/perf/contrib/oilpan/oilpan_gc_times_unittest.py
@@ -103,6 +103,7 @@
 
   # Disable for accessing private API of _OilpanGCTimesBase.
   # pylint: disable=protected-access
+  @decorators.Disabled('all')  # crbug.com/1011787
   def testForParsingOldFormat(self):
     def getMetric(results, name):
       metrics = results.FindAllPageSpecificValuesNamed(name)
@@ -127,6 +128,7 @@
 
   # Disable for accessing private API of _OilpanGCTimesBase.
   # pylint: disable=protected-access
+  @decorators.Disabled('all')  # crbug.com/1011787
   def testForParsing(self):
     def getMetric(results, name):
       metrics = results.FindAllPageSpecificValuesNamed(name)
diff --git a/tools/perf/core/benchmark_runner_test.py b/tools/perf/core/benchmark_runner_test.py
new file mode 100644
index 0000000..d8be51a5
--- /dev/null
+++ b/tools/perf/core/benchmark_runner_test.py
@@ -0,0 +1,127 @@
+# 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 json
+import os
+import shutil
+import tempfile
+import unittest
+
+import mock
+
+from telemetry.testing import options_for_unittests
+from telemetry.testing import test_stories
+from telemetry.web_perf import timeline_based_measurement
+from tracing.value.diagnostics import all_diagnostics
+from tracing.value.diagnostics import reserved_infos
+from tracing.value import histogram_set
+
+from core import benchmark_runner
+from core import perf_benchmark
+from core import results_processor
+
+
+def _FakeParseArgs(environment, args, results_arg_parser):
+  del environment  # Unused.
+  options, _ = results_arg_parser.parse_known_args(args)
+  return options
+
+
+class BenchmarkRunnerUnittest(unittest.TestCase):
+  """Tests for benchmark_runner.main which mock out benchmark running."""
+
+  def testMain_ReturnCode(self):
+    """Test that benchmark_runner.main() respects return code from Telemetry."""
+    config = mock.Mock()
+    with mock.patch('core.benchmark_runner.command_line') as telemetry_cli:
+      telemetry_cli.ParseArgs.side_effect = _FakeParseArgs
+      telemetry_cli.RunCommand.return_value = 42
+
+      # Note: We pass `--output-format none` and a non-existent output
+      # dir to prevent the results processor from processing any results.
+      return_code = benchmark_runner.main(config, [
+          'run', 'some.benchmark', '--browser', 'stable',
+          '--output-dir', '/does/not/exist', '--output-format', 'none'])
+      self.assertEqual(return_code, 42)
+
+
+class BenchmarkRunnerIntegrationTest(unittest.TestCase):
+  """Integration tests for benchmark running and results processing.
+
+  Note, however, no command line processing is tested.
+  """
+
+  def setUp(self):
+    self.options = options_for_unittests.GetRunOptions(
+        output_dir=tempfile.mkdtemp())
+    self.options.output_formats = ['histograms']
+
+  def tearDown(self):
+    shutil.rmtree(self.options.output_dir)
+
+  def assertHasDiagnostic(self, hist, diag_info, value=None):
+    """Assert that a histogram is associated with the given diagnostic."""
+    self.assertIn(diag_info.name, hist.diagnostics)
+    diag = hist.diagnostics[diag_info.name]
+    self.assertIsInstance(
+        diag, all_diagnostics.GetDiagnosticClassForName(diag_info.type))
+    if value is not None:
+      # Assume we expect singleton GenericSet with the given value.
+      self.assertEqual(len(diag), 1)
+      self.assertEqual(next(iter(diag)), value)
+
+  def RunBenchmark(self, benchmark_class):
+    """Run a benchmark, process results, and return generated histograms."""
+    # TODO(crbug.com/985712): Ideally we should be able to just call
+    # telemetry.command_line.RunCommand(self.options) with the right set
+    # of options chosen. However, argument parsing and command running are
+    # currently tangled in Telemetry. In particular the class property
+    # Run._benchmark is not set when we skip argument parsing, and the Run.Run
+    # method call fails. Simplify this when argument parsing and command
+    # running are no longer intertwined like this.
+    run_return_code = benchmark_class().Run(self.options)
+    self.assertEqual(run_return_code, 0)
+
+    process_return_code = results_processor.ProcessResults(self.options)
+    self.assertEqual(process_return_code, 0)
+
+    histograms_file = os.path.join(self.options.output_dir, 'histograms.json')
+    self.assertTrue(os.path.exists(histograms_file))
+
+    with open(histograms_file) as f:
+      dicts = json.load(f)
+    histograms = histogram_set.HistogramSet()
+    histograms.ImportDicts(dicts)
+    return histograms
+
+  def testTimelineBasedEndToEnd(self):
+    class TestTimelineBasedBenchmark(perf_benchmark.PerfBenchmark):
+      """A dummy benchmark that records a trace and runs sampleMetric on it."""
+      def CreateCoreTimelineBasedMeasurementOptions(self):
+        options = timeline_based_measurement.Options()
+        options.config.enable_chrome_trace = True
+        options.SetTimelineBasedMetrics(['consoleErrorMetric'])
+        return options
+
+      def CreateStorySet(self, _):
+        def log_error(action_runner):
+          action_runner.EvaluateJavaScript('console.error("foo!")')
+
+        return test_stories.SinglePageStorySet(
+            name='log_error_story', story_run_side_effect=log_error)
+
+      @classmethod
+      def Name(cls):
+        return 'test_benchmark.timeline_based'
+
+    histograms = self.RunBenchmark(TestTimelineBasedBenchmark)
+
+    # Verify that the injected console.log error was counted by the metric.
+    hist = histograms.GetHistogramNamed('console:error:js')
+    self.assertEqual(hist.average, 1)
+    self.assertHasDiagnostic(hist, reserved_infos.BENCHMARKS,
+                             'test_benchmark.timeline_based')
+    self.assertHasDiagnostic(hist, reserved_infos.STORIES, 'log_error_story')
+    self.assertHasDiagnostic(hist, reserved_infos.STORYSET_REPEATS, 0)
+    self.assertHasDiagnostic(hist, reserved_infos.TRACE_START)
diff --git a/tools/perf/core/benchmark_runner_unittest.py b/tools/perf/core/benchmark_runner_unittest.py
deleted file mode 100644
index fc2b2f33..0000000
--- a/tools/perf/core/benchmark_runner_unittest.py
+++ /dev/null
@@ -1,38 +0,0 @@
-# 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 unittest
-
-import mock
-
-from core import benchmark_runner
-
-
-def _FakeParseArgs(environment, args, results_arg_parser):
-  del environment  # Unused.
-  options, _ = results_arg_parser.parse_known_args(args)
-  return options
-
-
-class BenchmarkRunnerUnittest(unittest.TestCase):
-  def testMain_returnCode(self):
-    """Test that benchmark_runner.main() respects return code from Telemetry."""
-    # TODO(crbug.com/985712): Ideally we should write a more "integration" kind
-    # of test, where we don't mock out the Telemetry command line. This is
-    # hard to do now, however, because we need a way to convert the browser
-    # selection done by the test runner, back to a suitable --browser arg for
-    # the command line below. Namely, we need an equivalent of
-    # options_for_unittests.GetCopy() that returns a list of string args
-    # rather than the parsed options object.
-    config = mock.Mock()
-    with mock.patch('core.benchmark_runner.command_line') as telemetry_cli:
-      telemetry_cli.ParseArgs.side_effect = _FakeParseArgs
-      telemetry_cli.RunCommand.return_value = 42
-
-      # Note: For now we pass `--output-format none` and a non-existent output
-      # dir to prevent the results processor from processing any results.
-      return_code = benchmark_runner.main(config, [
-          'run', 'some.benchmark', '--browser', 'stable',
-          '--output-dir', '/does/not/exist', '--output-format', 'none'])
-      self.assertEqual(return_code, 42)
diff --git a/ui/accessibility/ax_action_data.h b/ui/accessibility/ax_action_data.h
index 56ec21d..366855e3 100644
--- a/ui/accessibility/ax_action_data.h
+++ b/ui/accessibility/ax_action_data.h
@@ -25,7 +25,7 @@
   // This is a simple serializable struct. All member variables should be
   // public and copyable.
 
-  // See the ax::mojom::Action enums in ax_enums.idl for explanations of which
+  // See the ax::mojom::Action enums in ax_enums.mojom for explanations of which
   // parameters apply.
 
   // The action to take.
diff --git a/ui/accessibility/ax_enums.mojom b/ui/accessibility/ax_enums.mojom
index 9d5394a..2bd5c8e3 100644
--- a/ui/accessibility/ax_enums.mojom
+++ b/ui/accessibility/ax_enums.mojom
@@ -2,11 +2,11 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-// Must also be kept in sync with chrome/common/extensions/api/automation.idl.
+// Must also be kept in sync with extensions/common/api/automation.idl.
 module ax.mojom;
 
 // For new entries to the following four enums, also add to
-// chrome/common/extensions/api/automation.idl. This is enforced
+// extensions/common/api/automation.idl. This is enforced
 // by a PRESUBMIT check.
 //
 // Explanation of in-lined comments next to some enum values/attributes:
diff --git a/ui/accessibility/extensions/chromevoxclassic/cvox2/background/background.js b/ui/accessibility/extensions/chromevoxclassic/cvox2/background/background.js
index 596486d..8652cb75 100644
--- a/ui/accessibility/extensions/chromevoxclassic/cvox2/background/background.js
+++ b/ui/accessibility/extensions/chromevoxclassic/cvox2/background/background.js
@@ -167,7 +167,7 @@
     'description=';
 
 /**
- * Map from gesture names (AXGesture defined in ui/accessibility/ax_enums.idl)
+ * Map from gesture names (AXGesture defined in ui/accessibility/ax_enums.mojom)
  *     to commands when in Classic mode.
  * @type {Object<string, string>}
  * @const
@@ -183,7 +183,7 @@
 };
 
 /**
- * Map from gesture names (AXGesture defined in ui/accessibility/ax_enums.idl)
+ * Map from gesture names (AXGesture defined in ui/accessibility/ax_enums.mojom)
  *     to commands when in Classic mode.
  * @type {Object<string, string>}
  * @const
@@ -1143,7 +1143,7 @@
   /**
    * Handles accessibility gestures from the touch screen.
    * @param {string} gesture The gesture to handle, based on the AXGesture enum
-   *     defined in ui/accessibility/ax_enums.idl
+   *     defined in ui/accessibility/ax_enums.mojom
    * @private
    */
   onAccessibilityGesture_: function(gesture) {
@@ -1164,7 +1164,7 @@
    * Handles accessibility gestures from the touch screen when in CLASSIC
    * mode, by forwarding a command to the content script.
    * @param {string} gesture The gesture to handle, based on the AXGesture enum
-   *     defined in ui/accessibility/ax_enums.idl
+   *     defined in ui/accessibility/ax_enums.mojom
    * @return {boolean} True if this gesture was handled.
    * @private
    */
diff --git a/ui/base/ime/mojom/ime_mojom_traits_unittest.cc b/ui/base/ime/mojom/ime_mojom_traits_unittest.cc
index aa111365..d20b916 100644
--- a/ui/base/ime/mojom/ime_mojom_traits_unittest.cc
+++ b/ui/base/ime/mojom/ime_mojom_traits_unittest.cc
@@ -8,7 +8,8 @@
 
 #include "base/stl_util.h"
 #include "base/test/task_environment.h"
-#include "mojo/public/cpp/bindings/binding_set.h"
+#include "mojo/public/cpp/bindings/receiver_set.h"
+#include "mojo/public/cpp/bindings/remote.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "ui/base/ime/mojom/ime_mojom_traits_test.mojom.h"
 
@@ -22,10 +23,10 @@
   IMEStructTraitsTest() {}
 
  protected:
-  mojom::IMEStructTraitsTestPtr GetTraitsTestProxy() {
-    mojom::IMEStructTraitsTestPtr proxy;
-    traits_test_bindings_.AddBinding(this, mojo::MakeRequest(&proxy));
-    return proxy;
+  mojo::Remote<mojom::IMEStructTraitsTest> GetTraitsTestRemote() {
+    mojo::Remote<mojom::IMEStructTraitsTest> remote;
+    traits_test_receivers_.Add(this, remote.BindNewPipeAndPassReceiver());
+    return remote;
   }
 
  private:
@@ -37,7 +38,7 @@
 
   base::test::TaskEnvironment task_environment_;  // A MessageLoop is needed for
                                                   // Mojo IPC to work.
-  mojo::BindingSet<mojom::IMEStructTraitsTest> traits_test_bindings_;
+  mojo::ReceiverSet<mojom::IMEStructTraitsTest> traits_test_receivers_;
 
   DISALLOW_COPY_AND_ASSIGN(IMEStructTraitsTest);
 };
@@ -65,10 +66,10 @@
       ui::TEXT_INPUT_TYPE_DATE_TIME_FIELD,
   };
 
-  mojom::IMEStructTraitsTestPtr proxy = GetTraitsTestProxy();
+  mojo::Remote<mojom::IMEStructTraitsTest> remote = GetTraitsTestRemote();
   for (size_t i = 0; i < base::size(kTextInputTypes); i++) {
     ui::TextInputType type_out;
-    ASSERT_TRUE(proxy->EchoTextInputType(kTextInputTypes[i], &type_out));
+    ASSERT_TRUE(remote->EchoTextInputType(kTextInputTypes[i], &type_out));
     EXPECT_EQ(kTextInputTypes[i], type_out);
   }
 }
diff --git a/ui/file_manager/file_manager/foreground/css/file_manager.css b/ui/file_manager/file_manager/foreground/css/file_manager.css
index 5f613579..99b7a2be 100644
--- a/ui/file_manager/file_manager/foreground/css/file_manager.css
+++ b/ui/file_manager/file_manager/foreground/css/file_manager.css
@@ -1725,6 +1725,12 @@
       url(../images/files/ui/2x/person_add.png) 2x);
 }
 
+cr-menu-item[command='#install-new-extension'] .icon.start {
+  background-image: -webkit-image-set(
+      url(../images/files/ui/store.png) 1x,
+      url(../images/files/ui/2x/store.png) 2x);
+}
+
 #action-bar {
   display: flex;
   flex: none;
diff --git a/ui/file_manager/file_manager/foreground/css/file_types.css b/ui/file_manager/file_manager/foreground/css/file_types.css
index b86a83c..be5a979 100644
--- a/ui/file_manager/file_manager/foreground/css/file_types.css
+++ b/ui/file_manager/file_manager/foreground/css/file_types.css
@@ -2,6 +2,10 @@
  * Use of this source code is governed by a BSD-style license that can be
  * found in the LICENSE file. */
 
+/* TODO(crbug.com/992819): unify root-type-icon and volume-type-icon into one
+ type, called file-type-icon or entry_type-icon say, since there is no real
+ need for the root/volume icon distinction. */
+
 /* Small icons for file types, used in lists and menus. */
 [file-type-icon] {
   background-image: -webkit-image-set(
@@ -490,12 +494,6 @@
   filter: contrast(0) brightness(0.7143);
 }
 
-cr-menu-item[command='#install-new-extension'] .icon.start {
-  background-image: -webkit-image-set(
-      url(../images/files/ui/store.png) 1x,
-      url(../images/files/ui/2x/store.png) 2x);
-}
-
 [root-type-icon='recent'] {
   background-image: -webkit-image-set(
       url(../images/volumes/recent.png) 1x,
diff --git a/ui/file_manager/file_manager/foreground/css/list.css b/ui/file_manager/file_manager/foreground/css/list.css
index da502531..e83fefad 100644
--- a/ui/file_manager/file_manager/foreground/css/list.css
+++ b/ui/file_manager/file_manager/foreground/css/list.css
@@ -44,6 +44,11 @@
   z-index: 2;
 }
 
+html[class*='col-resize'] list,
+html[class*='col-resize'] grid {
+  overflow-y: hidden !important;
+}
+
 list > .spacer,
 grid > .spacer {
   box-sizing: border-box;
diff --git a/ui/file_manager/integration_tests/file_manager/directory_tree_context_menu.js b/ui/file_manager/integration_tests/file_manager/directory_tree_context_menu.js
index 42aa7707..535eb51 100644
--- a/ui/file_manager/integration_tests/file_manager/directory_tree_context_menu.js
+++ b/ui/file_manager/integration_tests/file_manager/directory_tree_context_menu.js
@@ -682,6 +682,74 @@
   };
 
   /**
+   * Tests the creation of new folders from the directory tree from the context
+   * menu. Creates the new folders in random order to ensure directory tree
+   * sorting does not break folder renaming. crbug.com/1004717
+   */
+  testcase.dirCreateMultipleFolders = async () => {
+    const caller = getCaller();
+
+    // Open Files app on local downloads.
+    const appId =
+        await setupAndWaitUntilReady(RootPath.DOWNLOADS, [ENTRIES.hello], []);
+    await remoteCall.focus(appId, ['#directory-tree']);
+
+    const createNewFolder = async (name) => {
+      // Ctrl+E to create a new folder in downloads.
+      await remoteCall.focus(appId, ['#directory-tree']);
+      await remoteCall.callRemoteTestUtil(
+          'fakeMouseClick', appId, [TREEITEM_DOWNLOADS]);
+      await remoteCall.fakeKeyDown(appId, 'body', 'e', true, false, false);
+
+      // Rename folder.
+      const textInput = '#directory-tree .tree-item[renaming] input';
+      await remoteCall.waitForElement(appId, textInput);
+      await remoteCall.callRemoteTestUtil(
+          'inputText', appId, [textInput, name]);
+      await remoteCall.callRemoteTestUtil(
+          'fakeKeyDown', appId, [textInput, 'Enter', false, false, false]);
+
+      // Wait until renaming is complete.
+      const renamingItem = '#directory-tree .tree-item[renaming]';
+      await remoteCall.waitForElementLost(appId, renamingItem);
+    };
+
+    const checkDownloadsSubFolders = async (expectedLabels) => {
+      const directoryItemsQuery =
+          ['#directory-tree [entry-label="Downloads"] > .tree-children .label'];
+      const directoryItems = await remoteCall.callRemoteTestUtil(
+          'queryAllElements', appId, directoryItemsQuery);
+      const directoryItemsLabels = directoryItems.map(child => child.text);
+
+      // Check downloads subfolders are creaated in sorted order.
+      const equalLength = expectedLabels.length === directoryItemsLabels.length;
+      for (let i = 0; i < expectedLabels.length; i++) {
+        if (!equalLength || expectedLabels[i] !== directoryItemsLabels[i]) {
+          return pending(
+              caller,
+              'Waiting for downloads subfolders to be created in sorted order');
+        }
+      }
+    };
+
+    // The folders in sorted order would be 111, aaa. Create these
+    // folders in random order. crbug.com/1004717
+    let names = ['aaa', '111'];
+    while (names.length) {
+      const getRandomIndex = () => {
+        return Math.floor(Math.random() * Math.floor(names.length));
+      };
+      const name = names.splice(getRandomIndex(), 1);
+      await createNewFolder(name);
+    }
+
+    // Check: the new folders should have been created in the right order.
+    await repeatUntil(async () => {
+      return checkDownloadsSubFolders(['111', 'aaa']);
+    });
+  };
+
+  /**
    * Tests context menu for Recent root, currently it doesn't show context menu.
    */
   testcase.dirContextMenuRecent = async () => {
diff --git a/ui/gfx/geometry/mojom/geometry_mojom_traits_unittest.cc b/ui/gfx/geometry/mojom/geometry_mojom_traits_unittest.cc
index f7cb245..380eee8 100644
--- a/ui/gfx/geometry/mojom/geometry_mojom_traits_unittest.cc
+++ b/ui/gfx/geometry/mojom/geometry_mojom_traits_unittest.cc
@@ -22,10 +22,10 @@
   GeometryStructTraitsTest() {}
 
  protected:
-  mojo::Remote<mojom::GeometryTraitsTestService> GetTraitsTestProxy() {
-    mojo::Remote<mojom::GeometryTraitsTestService> proxy;
-    traits_test_receivers_.Add(this, proxy.BindNewPipeAndPassReceiver());
-    return proxy;
+  mojo::Remote<mojom::GeometryTraitsTestService> GetTraitsTestRemote() {
+    mojo::Remote<mojom::GeometryTraitsTestService> remote;
+    traits_test_receivers_.Add(this, remote.BindNewPipeAndPassReceiver());
+    return remote;
   }
 
  private:
@@ -97,9 +97,9 @@
   const int32_t x = 1234;
   const int32_t y = -5678;
   gfx::Point input(x, y);
-  mojo::Remote<mojom::GeometryTraitsTestService> proxy = GetTraitsTestProxy();
+  mojo::Remote<mojom::GeometryTraitsTestService> remote = GetTraitsTestRemote();
   gfx::Point output;
-  proxy->EchoPoint(input, &output);
+  remote->EchoPoint(input, &output);
   EXPECT_EQ(x, output.x());
   EXPECT_EQ(y, output.y());
 }
@@ -108,9 +108,9 @@
   const float x = 1234.5f;
   const float y = 6789.6f;
   gfx::PointF input(x, y);
-  mojo::Remote<mojom::GeometryTraitsTestService> proxy = GetTraitsTestProxy();
+  mojo::Remote<mojom::GeometryTraitsTestService> remote = GetTraitsTestRemote();
   gfx::PointF output;
-  proxy->EchoPointF(input, &output);
+  remote->EchoPointF(input, &output);
   EXPECT_EQ(x, output.x());
   EXPECT_EQ(y, output.y());
 }
@@ -120,9 +120,9 @@
   const float y = 6789.6f;
   const float z = 5432.1f;
   gfx::Point3F input(x, y, z);
-  mojo::Remote<mojom::GeometryTraitsTestService> proxy = GetTraitsTestProxy();
+  mojo::Remote<mojom::GeometryTraitsTestService> remote = GetTraitsTestRemote();
   gfx::Point3F output;
-  proxy->EchoPoint3F(input, &output);
+  remote->EchoPoint3F(input, &output);
   EXPECT_EQ(x, output.x());
   EXPECT_EQ(y, output.y());
   EXPECT_EQ(z, output.z());
@@ -132,9 +132,9 @@
   const int32_t width = 1234;
   const int32_t height = 5678;
   gfx::Size input(width, height);
-  mojo::Remote<mojom::GeometryTraitsTestService> proxy = GetTraitsTestProxy();
+  mojo::Remote<mojom::GeometryTraitsTestService> remote = GetTraitsTestRemote();
   gfx::Size output;
-  proxy->EchoSize(input, &output);
+  remote->EchoSize(input, &output);
   EXPECT_EQ(width, output.width());
   EXPECT_EQ(height, output.height());
 }
@@ -143,9 +143,9 @@
   const float width = 1234.5f;
   const float height = 6789.6f;
   gfx::SizeF input(width, height);
-  mojo::Remote<mojom::GeometryTraitsTestService> proxy = GetTraitsTestProxy();
+  mojo::Remote<mojom::GeometryTraitsTestService> remote = GetTraitsTestRemote();
   gfx::SizeF output;
-  proxy->EchoSizeF(input, &output);
+  remote->EchoSizeF(input, &output);
   EXPECT_EQ(width, output.width());
   EXPECT_EQ(height, output.height());
 }
@@ -156,9 +156,9 @@
   const int32_t width = 4321;
   const int32_t height = 8765;
   gfx::Rect input(x, y, width, height);
-  mojo::Remote<mojom::GeometryTraitsTestService> proxy = GetTraitsTestProxy();
+  mojo::Remote<mojom::GeometryTraitsTestService> remote = GetTraitsTestRemote();
   gfx::Rect output;
-  proxy->EchoRect(input, &output);
+  remote->EchoRect(input, &output);
   EXPECT_EQ(x, output.x());
   EXPECT_EQ(y, output.y());
   EXPECT_EQ(width, output.width());
@@ -171,9 +171,9 @@
   const float width = 4321.3f;
   const float height = 8765.4f;
   gfx::RectF input(x, y, width, height);
-  mojo::Remote<mojom::GeometryTraitsTestService> proxy = GetTraitsTestProxy();
+  mojo::Remote<mojom::GeometryTraitsTestService> remote = GetTraitsTestRemote();
   gfx::RectF output;
-  proxy->EchoRectF(input, &output);
+  remote->EchoRectF(input, &output);
   EXPECT_EQ(x, output.x());
   EXPECT_EQ(y, output.y());
   EXPECT_EQ(width, output.width());
@@ -186,9 +186,9 @@
   const int32_t bottom = 4321;
   const int32_t right = 8765;
   gfx::Insets input(top, left, bottom, right);
-  mojo::Remote<mojom::GeometryTraitsTestService> proxy = GetTraitsTestProxy();
+  mojo::Remote<mojom::GeometryTraitsTestService> remote = GetTraitsTestRemote();
   gfx::Insets output;
-  proxy->EchoInsets(input, &output);
+  remote->EchoInsets(input, &output);
   EXPECT_EQ(top, output.top());
   EXPECT_EQ(left, output.left());
   EXPECT_EQ(bottom, output.bottom());
@@ -201,9 +201,9 @@
   const float bottom = 4321.3f;
   const float right = 8765.4f;
   gfx::InsetsF input(top, left, bottom, right);
-  mojo::Remote<mojom::GeometryTraitsTestService> proxy = GetTraitsTestProxy();
+  mojo::Remote<mojom::GeometryTraitsTestService> remote = GetTraitsTestRemote();
   gfx::InsetsF output;
-  proxy->EchoInsetsF(input, &output);
+  remote->EchoInsetsF(input, &output);
   EXPECT_EQ(top, output.top());
   EXPECT_EQ(left, output.left());
   EXPECT_EQ(bottom, output.bottom());
@@ -214,9 +214,9 @@
   const int32_t x = 1234;
   const int32_t y = -5678;
   gfx::Vector2d input(x, y);
-  mojo::Remote<mojom::GeometryTraitsTestService> proxy = GetTraitsTestProxy();
+  mojo::Remote<mojom::GeometryTraitsTestService> remote = GetTraitsTestRemote();
   gfx::Vector2d output;
-  proxy->EchoVector2d(input, &output);
+  remote->EchoVector2d(input, &output);
   EXPECT_EQ(x, output.x());
   EXPECT_EQ(y, output.y());
 }
@@ -225,9 +225,9 @@
   const float x = 1234.5f;
   const float y = 6789.6f;
   gfx::Vector2dF input(x, y);
-  mojo::Remote<mojom::GeometryTraitsTestService> proxy = GetTraitsTestProxy();
+  mojo::Remote<mojom::GeometryTraitsTestService> remote = GetTraitsTestRemote();
   gfx::Vector2dF output;
-  proxy->EchoVector2dF(input, &output);
+  remote->EchoVector2dF(input, &output);
   EXPECT_EQ(x, output.x());
   EXPECT_EQ(y, output.y());
 }
@@ -237,9 +237,9 @@
   const float y = 6789.6f;
   const float z = 5432.1f;
   gfx::Vector3dF input(x, y, z);
-  mojo::Remote<mojom::GeometryTraitsTestService> proxy = GetTraitsTestProxy();
+  mojo::Remote<mojom::GeometryTraitsTestService> remote = GetTraitsTestRemote();
   gfx::Vector3dF output;
-  proxy->EchoVector3dF(input, &output);
+  remote->EchoVector3dF(input, &output);
   EXPECT_EQ(x, output.x());
   EXPECT_EQ(y, output.y());
   EXPECT_EQ(z, output.z());
@@ -251,9 +251,9 @@
   const double z = 31415.9;
   const double w = 27182.8;
   gfx::Quaternion input(x, y, z, w);
-  mojo::Remote<mojom::GeometryTraitsTestService> proxy = GetTraitsTestProxy();
+  mojo::Remote<mojom::GeometryTraitsTestService> remote = GetTraitsTestRemote();
   gfx::Quaternion output;
-  proxy->EchoQuaternion(input, &output);
+  remote->EchoQuaternion(input, &output);
   EXPECT_EQ(x, output.x());
   EXPECT_EQ(y, output.y());
   EXPECT_EQ(z, output.z());
diff --git a/ui/gfx/image/mojom/image_traits_unittest.cc b/ui/gfx/image/mojom/image_traits_unittest.cc
index 4c1dda3e..ce090b7 100644
--- a/ui/gfx/image/mojom/image_traits_unittest.cc
+++ b/ui/gfx/image/mojom/image_traits_unittest.cc
@@ -7,7 +7,8 @@
 
 #include "base/macros.h"
 #include "base/test/task_environment.h"
-#include "mojo/public/cpp/bindings/binding_set.h"
+#include "mojo/public/cpp/bindings/receiver_set.h"
+#include "mojo/public/cpp/bindings/remote.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "third_party/skia/include/core/SkBitmap.h"
 #include "ui/gfx/geometry/size.h"
@@ -47,10 +48,10 @@
 
   // testing::Test:
   void SetUp() override {
-    bindings_.AddBinding(this, mojo::MakeRequest(&service_));
+    receivers_.Add(this, service_.BindNewPipeAndPassReceiver());
   }
 
-  mojom::ImageTraitsTestServicePtr& service() { return service_; }
+  mojo::Remote<mojom::ImageTraitsTestService>& service() { return service_; }
 
  private:
   // mojom::ImageTraitsTestService:
@@ -64,8 +65,8 @@
   }
 
   base::test::TaskEnvironment task_environment_;
-  mojo::BindingSet<ImageTraitsTestService> bindings_;
-  mojom::ImageTraitsTestServicePtr service_;
+  mojo::ReceiverSet<ImageTraitsTestService> receivers_;
+  mojo::Remote<mojom::ImageTraitsTestService> service_;
 
   DISALLOW_COPY_AND_ASSIGN(ImageTraitsTest);
 };
diff --git a/ui/gfx/mojom/mojom_traits_unittest.cc b/ui/gfx/mojom/mojom_traits_unittest.cc
index 1efc6178..7ee98bbe 100644
--- a/ui/gfx/mojom/mojom_traits_unittest.cc
+++ b/ui/gfx/mojom/mojom_traits_unittest.cc
@@ -6,7 +6,8 @@
 
 #include "base/test/task_environment.h"
 #include "build/build_config.h"
-#include "mojo/public/cpp/bindings/binding_set.h"
+#include "mojo/public/cpp/bindings/receiver_set.h"
+#include "mojo/public/cpp/bindings/remote.h"
 #include "mojo/public/cpp/test_support/test_utils.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "ui/gfx/mojom/accelerated_widget_mojom_traits.h"
@@ -36,10 +37,10 @@
   StructTraitsTest() {}
 
  protected:
-  mojom::TraitsTestServicePtr GetTraitsTestProxy() {
-    mojom::TraitsTestServicePtr proxy;
-    traits_test_bindings_.AddBinding(this, mojo::MakeRequest(&proxy));
-    return proxy;
+  mojo::Remote<mojom::TraitsTestService> GetTraitsTestRemote() {
+    mojo::Remote<mojom::TraitsTestService> remote;
+    traits_test_receivers_.Add(this, remote.BindNewPipeAndPassReceiver());
+    return remote;
   }
 
  private:
@@ -65,7 +66,7 @@
   }
 
   base::test::TaskEnvironment task_environment_;
-  mojo::BindingSet<TraitsTestService> traits_test_bindings_;
+  mojo::ReceiverSet<TraitsTestService> traits_test_receivers_;
 
   DISALLOW_COPY_AND_ASSIGN(StructTraitsTest);
 };
@@ -81,9 +82,9 @@
   input.set_type(type);
   input.SetEdge(edge_top, edge_bottom);
   input.set_visible(visible);
-  mojom::TraitsTestServicePtr proxy = GetTraitsTestProxy();
+  mojo::Remote<mojom::TraitsTestService> remote = GetTraitsTestRemote();
   gfx::SelectionBound output;
-  proxy->EchoSelectionBound(input, &output);
+  remote->EchoSelectionBound(input, &output);
   EXPECT_EQ(type, output.type());
   EXPECT_EQ(edge_top, output.edge_top());
   EXPECT_EQ(edge_bottom, output.edge_bottom());
@@ -113,9 +114,9 @@
                        col2row2, col3row2, col4row2, col1row3, col2row3,
                        col3row3, col4row3, col1row4, col2row4, col3row4,
                        col4row4);
-  mojom::TraitsTestServicePtr proxy = GetTraitsTestProxy();
+  mojo::Remote<mojom::TraitsTestService> remote = GetTraitsTestRemote();
   gfx::Transform output;
-  proxy->EchoTransform(input, &output);
+  remote->EchoTransform(input, &output);
   EXPECT_EQ(col1row1, output.matrix().get(0, 0));
   EXPECT_EQ(col2row1, output.matrix().get(0, 1));
   EXPECT_EQ(col3row1, output.matrix().get(0, 2));
@@ -158,9 +159,9 @@
   handle.offset = kOffset;
   handle.stride = kStride;
 
-  mojom::TraitsTestServicePtr proxy = GetTraitsTestProxy();
+  mojo::Remote<mojom::TraitsTestService> remote = GetTraitsTestRemote();
   gfx::GpuMemoryBufferHandle output;
-  proxy->EchoGpuMemoryBufferHandle(std::move(handle), &output);
+  remote->EchoGpuMemoryBufferHandle(std::move(handle), &output);
   EXPECT_EQ(gfx::SHARED_MEMORY_BUFFER, output.type);
   EXPECT_EQ(kId, output.id);
   EXPECT_EQ(kOffset, output.offset);
@@ -189,7 +190,7 @@
 #endif
   handle2.native_pixmap_handle.planes.emplace_back(kOffset, kStride, kSize,
                                                    std::move(buffer_handle));
-  proxy->EchoGpuMemoryBufferHandle(std::move(handle2), &output);
+  remote->EchoGpuMemoryBufferHandle(std::move(handle2), &output);
   EXPECT_EQ(gfx::NATIVE_PIXMAP, output.type);
 #if defined(OS_LINUX)
   EXPECT_EQ(kModifier, output.native_pixmap_handle.modifier);
@@ -207,9 +208,9 @@
 }
 
 TEST_F(StructTraitsTest, NullGpuMemoryBufferHandle) {
-  mojom::TraitsTestServicePtr proxy = GetTraitsTestProxy();
+  mojo::Remote<mojom::TraitsTestService> remote = GetTraitsTestRemote();
   GpuMemoryBufferHandle output;
-  proxy->EchoGpuMemoryBufferHandle(GpuMemoryBufferHandle(), &output);
+  remote->EchoGpuMemoryBufferHandle(GpuMemoryBufferHandle(), &output);
   EXPECT_TRUE(output.is_null());
 }
 
@@ -217,7 +218,7 @@
   using BufferFormatTraits =
       mojo::EnumTraits<gfx::mojom::BufferFormat, gfx::BufferFormat>;
   BufferFormat output;
-  mojom::TraitsTestServicePtr proxy = GetTraitsTestProxy();
+  mojo::Remote<mojom::TraitsTestService> remote = GetTraitsTestRemote();
   for (int i = 0; i <= static_cast<int>(BufferFormat::LAST); ++i) {
     BufferFormat input = static_cast<BufferFormat>(i);
     BufferFormatTraits::FromMojom(BufferFormatTraits::ToMojom(input), &output);
@@ -229,7 +230,7 @@
   using BufferUsageTraits =
       mojo::EnumTraits<gfx::mojom::BufferUsage, gfx::BufferUsage>;
   BufferUsage output;
-  mojom::TraitsTestServicePtr proxy = GetTraitsTestProxy();
+  mojo::Remote<mojom::TraitsTestService> remote = GetTraitsTestRemote();
   for (int i = 0; i <= static_cast<int>(BufferUsage::LAST); ++i) {
     BufferUsage input = static_cast<BufferUsage>(i);
     BufferUsageTraits::FromMojom(BufferUsageTraits::ToMojom(input), &output);
@@ -258,35 +259,35 @@
   input.SetCornerRadii(RRectF::Corner::kLowerRight, 5, 6);
   input.SetCornerRadii(RRectF::Corner::kLowerLeft, 7, 8);
   EXPECT_EQ(input.GetType(), RRectF::Type::kComplex);
-  mojom::TraitsTestServicePtr proxy = GetTraitsTestProxy();
+  mojo::Remote<mojom::TraitsTestService> remote = GetTraitsTestRemote();
   gfx::RRectF output;
-  proxy->EchoRRectF(input, &output);
+  remote->EchoRRectF(input, &output);
   EXPECT_EQ(input, output);
   input = gfx::RRectF(40, 50, 0, 70, 0);
   EXPECT_EQ(input.GetType(), RRectF::Type::kEmpty);
-  proxy->EchoRRectF(input, &output);
+  remote->EchoRRectF(input, &output);
   EXPECT_EQ(input, output);
   input = RRectF(40, 50, 60, 70, 0);
   EXPECT_EQ(input.GetType(), RRectF::Type::kRect);
-  proxy->EchoRRectF(input, &output);
+  remote->EchoRRectF(input, &output);
   EXPECT_EQ(input, output);
   input = RRectF(40, 50, 60, 70, 5);
   EXPECT_EQ(input.GetType(), RRectF::Type::kSingle);
-  proxy->EchoRRectF(input, &output);
+  remote->EchoRRectF(input, &output);
   EXPECT_EQ(input, output);
   input = RRectF(40, 50, 60, 70, 6, 3);
   EXPECT_EQ(input.GetType(), RRectF::Type::kSimple);
-  proxy->EchoRRectF(input, &output);
+  remote->EchoRRectF(input, &output);
   EXPECT_EQ(input, output);
   input = RRectF(40, 50, 60, 70, 30, 35);
   EXPECT_EQ(input.GetType(), RRectF::Type::kOval);
-  proxy->EchoRRectF(input, &output);
+  remote->EchoRRectF(input, &output);
   EXPECT_EQ(input, output);
   input.SetCornerRadii(RRectF::Corner::kUpperLeft, 50, 50);
   input.SetCornerRadii(RRectF::Corner::kUpperRight, 20, 20);
   input.SetCornerRadii(RRectF::Corner::kLowerRight, 0, 0);
   input.SetCornerRadii(RRectF::Corner::kLowerLeft, 0, 0);
-  proxy->EchoRRectF(input, &output);
+  remote->EchoRRectF(input, &output);
   EXPECT_EQ(input, output);
 }
 
diff --git a/ui/gfx/range/mojom/range_mojom_traits_unittest.cc b/ui/gfx/range/mojom/range_mojom_traits_unittest.cc
index 0f215e9..26976d2 100644
--- a/ui/gfx/range/mojom/range_mojom_traits_unittest.cc
+++ b/ui/gfx/range/mojom/range_mojom_traits_unittest.cc
@@ -5,7 +5,8 @@
 #include <utility>
 
 #include "base/test/task_environment.h"
-#include "mojo/public/cpp/bindings/binding_set.h"
+#include "mojo/public/cpp/bindings/receiver_set.h"
+#include "mojo/public/cpp/bindings/remote.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "ui/gfx/range/mojom/range_traits_test_service.mojom.h"
 
@@ -19,10 +20,10 @@
   RangeStructTraitsTest() {}
 
  protected:
-  mojom::RangeTraitsTestServicePtr GetTraitsTestProxy() {
-    mojom::RangeTraitsTestServicePtr proxy;
-    traits_test_bindings_.AddBinding(this, mojo::MakeRequest(&proxy));
-    return proxy;
+  mojo::Remote<mojom::RangeTraitsTestService> GetTraitsTestRemote() {
+    mojo::Remote<mojom::RangeTraitsTestService> remote;
+    traits_test_receivers_.Add(this, remote.BindNewPipeAndPassReceiver());
+    return remote;
   }
 
  private:
@@ -36,7 +37,7 @@
   }
 
   base::test::TaskEnvironment task_environment_;
-  mojo::BindingSet<RangeTraitsTestService> traits_test_bindings_;
+  mojo::ReceiverSet<RangeTraitsTestService> traits_test_receivers_;
 
   DISALLOW_COPY_AND_ASSIGN(RangeStructTraitsTest);
 };
@@ -47,9 +48,9 @@
   const uint32_t start = 1234;
   const uint32_t end = 5678;
   gfx::Range input(start, end);
-  mojom::RangeTraitsTestServicePtr proxy = GetTraitsTestProxy();
+  mojo::Remote<mojom::RangeTraitsTestService> remote = GetTraitsTestRemote();
   gfx::Range output;
-  proxy->EchoRange(input, &output);
+  remote->EchoRange(input, &output);
   EXPECT_EQ(start, output.start());
   EXPECT_EQ(end, output.end());
 }
@@ -58,9 +59,9 @@
   const float start = 1234.5f;
   const float end = 6789.6f;
   gfx::RangeF input(start, end);
-  mojom::RangeTraitsTestServicePtr proxy = GetTraitsTestProxy();
+  mojo::Remote<mojom::RangeTraitsTestService> remote = GetTraitsTestRemote();
   gfx::RangeF output;
-  proxy->EchoRangeF(input, &output);
+  remote->EchoRangeF(input, &output);
   EXPECT_EQ(start, output.start());
   EXPECT_EQ(end, output.end());
 }
diff --git a/ui/latency/mojom/mojom_traits_unittest.cc b/ui/latency/mojom/mojom_traits_unittest.cc
index ed49cb5..32bb2f6 100644
--- a/ui/latency/mojom/mojom_traits_unittest.cc
+++ b/ui/latency/mojom/mojom_traits_unittest.cc
@@ -5,7 +5,8 @@
 #include <utility>
 
 #include "base/test/task_environment.h"
-#include "mojo/public/cpp/bindings/binding_set.h"
+#include "mojo/public/cpp/bindings/receiver_set.h"
+#include "mojo/public/cpp/bindings/remote.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "ui/latency/mojom/latency_info_mojom_traits.h"
 #include "ui/latency/mojom/traits_test_service.mojom.h"
@@ -19,10 +20,10 @@
   StructTraitsTest() {}
 
  protected:
-  mojom::TraitsTestServicePtr GetTraitsTestProxy() {
-    mojom::TraitsTestServicePtr proxy;
-    traits_test_bindings_.AddBinding(this, mojo::MakeRequest(&proxy));
-    return proxy;
+  mojo::Remote<mojom::TraitsTestService> GetTraitsTestRemote() {
+    mojo::Remote<mojom::TraitsTestService> remote;
+    traits_test_receivers_.Add(this, remote.BindNewPipeAndPassReceiver());
+    return remote;
   }
 
  private:
@@ -33,7 +34,7 @@
   }
 
   base::test::TaskEnvironment task_environment_;
-  mojo::BindingSet<TraitsTestService> traits_test_bindings_;
+  mojo::ReceiverSet<TraitsTestService> traits_test_receivers_;
   DISALLOW_COPY_AND_ASSIGN(StructTraitsTest);
 };
 
@@ -54,9 +55,9 @@
 
   latency.set_source_event_type(ui::SourceEventType::TOUCH);
 
-  mojom::TraitsTestServicePtr proxy = GetTraitsTestProxy();
+  mojo::Remote<mojom::TraitsTestService> remote = GetTraitsTestRemote();
   LatencyInfo output;
-  proxy->EchoLatencyInfo(latency, &output);
+  remote->EchoLatencyInfo(latency, &output);
 
   EXPECT_EQ(latency.trace_id(), output.trace_id());
   EXPECT_EQ(latency.ukm_source_id(), output.ukm_source_id());
diff --git a/ui/ozone/platform/wayland/gpu/wayland_buffer_manager_gpu.cc b/ui/ozone/platform/wayland/gpu/wayland_buffer_manager_gpu.cc
index 43bbb47a..3cdc97d 100644
--- a/ui/ozone/platform/wayland/gpu/wayland_buffer_manager_gpu.cc
+++ b/ui/ozone/platform/wayland/gpu/wayland_buffer_manager_gpu.cc
@@ -9,7 +9,6 @@
 #include "base/bind.h"
 #include "base/message_loop/message_loop_current.h"
 #include "base/process/process.h"
-#include "mojo/public/cpp/bindings/associated_interface_ptr.h"
 #include "mojo/public/cpp/system/platform_handle.h"
 #include "ui/ozone/common/linux/drm_util_linux.h"
 #include "ui/ozone/platform/wayland/gpu/wayland_surface_gpu.h"
diff --git a/ui/ozone/platform/wayland/gpu/wayland_buffer_manager_gpu.h b/ui/ozone/platform/wayland/gpu/wayland_buffer_manager_gpu.h
index dffb43a..892597e 100644
--- a/ui/ozone/platform/wayland/gpu/wayland_buffer_manager_gpu.h
+++ b/ui/ozone/platform/wayland/gpu/wayland_buffer_manager_gpu.h
@@ -40,8 +40,6 @@
 // sequence.
 class WaylandBufferManagerGpu : public ozone::mojom::WaylandBufferManagerGpu {
  public:
-  using BufferManagerHostPtr = ozone::mojom::WaylandBufferManagerHostPtr;
-
   WaylandBufferManagerGpu();
   ~WaylandBufferManagerGpu() override;
 
diff --git a/ui/views/bubble/bubble_frame_view.cc b/ui/views/bubble/bubble_frame_view.cc
index a7ebe71..3282d72 100644
--- a/ui/views/bubble/bubble_frame_view.cc
+++ b/ui/views/bubble/bubble_frame_view.cc
@@ -511,6 +511,10 @@
   SchedulePaint();
 }
 
+SkColor BubbleFrameView::GetBackgroundColor() const {
+  return bubble_border_->background_color();
+}
+
 gfx::Rect BubbleFrameView::GetUpdatedWindowBounds(
     const gfx::Rect& anchor_rect,
     const BubbleBorder::Arrow delegate_arrow,
diff --git a/ui/views/bubble/bubble_frame_view.h b/ui/views/bubble/bubble_frame_view.h
index e5b454f..66c8fb57 100644
--- a/ui/views/bubble/bubble_frame_view.h
+++ b/ui/views/bubble/bubble_frame_view.h
@@ -135,6 +135,7 @@
 
   // Set the background color of the bubble border.
   void SetBackgroundColor(SkColor color);
+  SkColor GetBackgroundColor() const;
 
   // Given the size of the contents and the rect to point at, returns the bounds
   // of the bubble window. The bubble's arrow location may change if the bubble