diff --git a/DEPS b/DEPS
index 9b9bb21..91379d08 100644
--- a/DEPS
+++ b/DEPS
@@ -44,7 +44,7 @@
   # 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': 'c76bb271ec40c918ff43ee111dccd027397e854e',
+  'v8_revision': '568edc40f75d1949a1c39df909106fc07ff613ed',
   # 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.
@@ -96,7 +96,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': '892a0b6a45cc8b052638587744cc7a1b54efe2d4',
+  'catapult_revision': 'b367d46487c3cf25696f4d25cb7212b9cc9a48bb',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling libFuzzer
   # and whatever else without interference from each other.
diff --git a/build/check_gn_headers.py b/build/check_gn_headers.py
index ae1ef49..3e04120 100755
--- a/build/check_gn_headers.py
+++ b/build/check_gn_headers.py
@@ -19,7 +19,21 @@
 
 def GetHeadersFromNinja(out_dir):
   """Return all the header files from ninja_deps"""
-  ninja_out = subprocess.check_output(['ninja', '-C', out_dir, '-t', 'deps'])
+
+  def NinjaSource():
+    cmd = ['ninja', '-C', out_dir, '-t', 'deps']
+    # A negative bufsize means to use the system default, which usually
+    # means fully buffered.
+    popen = subprocess.Popen(cmd, stdout=subprocess.PIPE, bufsize=-1)
+    for line in iter(popen.stdout.readline, ''):
+      yield line
+
+    popen.stdout.close()
+    return_code = popen.wait()
+    if return_code:
+      raise subprocess.CalledProcessError(return_code, cmd)
+
+  ninja_out = NinjaSource()
   return ParseNinjaDepsOutput(ninja_out)
 
 
@@ -30,7 +44,7 @@
   prefix = '..' + os.sep + '..' + os.sep
 
   is_valid = False
-  for line in ninja_out.split('\n'):
+  for line in ninja_out:
     if line.startswith('    '):
       if not is_valid:
         continue
diff --git a/build/check_gn_headers_unittest.py b/build/check_gn_headers_unittest.py
index 7272ea9..f62fe62 100755
--- a/build/check_gn_headers_unittest.py
+++ b/build/check_gn_headers_unittest.py
@@ -58,7 +58,7 @@
 
 class CheckGnHeadersTest(unittest.TestCase):
   def testNinja(self):
-    headers = check_gn_headers.ParseNinjaDepsOutput(ninja_input)
+    headers = check_gn_headers.ParseNinjaDepsOutput(ninja_input.split('\n'))
     expected = set([
         'dir/path/b.h',
         'c.hh',
@@ -71,7 +71,8 @@
     old_sep = os.sep
     os.sep = '\\'
 
-    headers = check_gn_headers.ParseNinjaDepsOutput(ninja_input_win)
+    headers = check_gn_headers.ParseNinjaDepsOutput(
+        ninja_input_win.split('\n'))
     expected = set([
         'dir\\path\\b.h',
         'c.hh',
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
index c3d38a26..345c928 100644
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -2752,6 +2752,13 @@
      flag_descriptions::kEnableIdleTimeSpellCheckingDescription, kOsAll,
      FEATURE_VALUE_TYPE(features::kIdleTimeSpellChecking)},
 
+#if defined(OS_ANDROID)
+    {"enable-clipboard-provider",
+     flag_descriptions::kEnableOmniboxClipboardProviderName,
+     flag_descriptions::kEnableOmniboxClipboardProviderDescription, kOsAndroid,
+     FEATURE_VALUE_TYPE(omnibox::kEnableClipboardProvider)},
+#endif
+
     // NOTE: Adding new command-line switches requires adding corresponding
     // entries to enum "LoginCustomFlags" in histograms.xml. See note in
     // histograms.xml and don't forget to run AboutFlagsHistogramTest unit test.
diff --git a/chrome/browser/browsing_data/browsing_data_remover_impl_unittest.cc b/chrome/browser/browsing_data/browsing_data_remover_impl_unittest.cc
index 6d61086..1655089e 100644
--- a/chrome/browser/browsing_data/browsing_data_remover_impl_unittest.cc
+++ b/chrome/browser/browsing_data/browsing_data_remover_impl_unittest.cc
@@ -514,8 +514,8 @@
  public:
   explicit RemoveDownloadsTester(BrowserContext* browser_context)
       : download_manager_(new content::MockDownloadManager()) {
-    content::BrowserContext::SetDownloadManagerForTesting(browser_context,
-                                                          download_manager_);
+    content::BrowserContext::SetDownloadManagerForTesting(
+        browser_context, base::WrapUnique(download_manager_));
     EXPECT_EQ(download_manager_,
               content::BrowserContext::GetDownloadManager(browser_context));
     EXPECT_CALL(*download_manager_, Shutdown());
@@ -526,7 +526,7 @@
   content::MockDownloadManager* download_manager() { return download_manager_; }
 
  private:
-  content::MockDownloadManager* download_manager_;
+  content::MockDownloadManager* download_manager_;  // Owned by browser context.
 
   DISALLOW_COPY_AND_ASSIGN(RemoveDownloadsTester);
 };
diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate_unittest.cc b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate_unittest.cc
index 9b261803..349cb18 100644
--- a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate_unittest.cc
+++ b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate_unittest.cc
@@ -5,6 +5,7 @@
 #include "chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.h"
 
 #include "base/guid.h"
+#include "base/memory/ptr_util.h"
 #include "base/run_loop.h"
 #include "base/strings/string_number_conversions.h"
 #include "base/strings/utf_string_conversions.h"
@@ -730,8 +731,8 @@
   explicit RemoveDownloadsTester(TestingProfile* testing_profile)
       : download_manager_(new content::MockDownloadManager()),
         chrome_download_manager_delegate_(testing_profile) {
-    content::BrowserContext::SetDownloadManagerForTesting(testing_profile,
-                                                          download_manager_);
+    content::BrowserContext::SetDownloadManagerForTesting(
+        testing_profile, base::WrapUnique(download_manager_));
     EXPECT_EQ(download_manager_,
               content::BrowserContext::GetDownloadManager(testing_profile));
 
@@ -745,7 +746,7 @@
   content::MockDownloadManager* download_manager() { return download_manager_; }
 
  private:
-  content::MockDownloadManager* download_manager_;
+  content::MockDownloadManager* download_manager_;  // Owned by testing profile.
   ChromeDownloadManagerDelegate chrome_download_manager_delegate_;
 
   DISALLOW_COPY_AND_ASSIGN(RemoveDownloadsTester);
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
index e10b1ad..dc668e72 100644
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -3036,4 +3036,15 @@
     "Make spell-checking code run only when the browser is idle, so that input "
     "latency is reduced, especially when editing long articles, emails, etc.";
 
+#if defined(OS_ANDROID)
+
+const char kEnableOmniboxClipboardProviderName[] =
+    "Omnibox clipboard URL suggestions";
+
+const char kEnableOmniboxClipboardProviderDescription[] =
+    "Provide a suggestion of the URL stored in the clipboard (if any) upon "
+    "focus in the omnibox.";
+
+#endif  // defined(OS_ANDROID)
+
 }  // namespace flag_descriptions
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
index bc213a1..bfcb0d02 100644
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -3302,6 +3302,16 @@
 // Description of the flag that enables Blink's idle time spell checker.
 extern const char kEnableIdleTimeSpellCheckingDescription[];
 
+#if defined(OS_ANDROID)
+
+// Name of the flag that enables the omnibox's clipboard URL provider.
+extern const char kEnableOmniboxClipboardProviderName[];
+
+// Description of the flag that enables the omnibox's clipboard URL provider.
+extern const char kEnableOmniboxClipboardProviderDescription[];
+
+#endif  // defined(OS_ANDROID)
+
 }  // namespace flag_descriptions
 
 #endif  // CHROME_BROWSER_FLAG_DESCRIPTIONS_H_
diff --git a/chrome/browser/resources/chromeos/login/header_bar.css b/chrome/browser/resources/chromeos/login/header_bar.css
index 69a24c7..b39ab27 100644
--- a/chrome/browser/resources/chromeos/login/header_bar.css
+++ b/chrome/browser/resources/chromeos/login/header_bar.css
@@ -6,6 +6,7 @@
   -webkit-padding-start: 15px;
   bottom: 0;
   left: 0;
+  min-height: 34px;  /* Should be consistent with .header-bar-item's height. */
   padding-bottom: 6px;
   position: absolute;
   right: 0;
diff --git a/chrome/browser/resources/chromeos/login/screen_encryption_migration.js b/chrome/browser/resources/chromeos/login/screen_encryption_migration.js
index 70740d3..ae2ae6c2 100644
--- a/chrome/browser/resources/chromeos/login/screen_encryption_migration.js
+++ b/chrome/browser/resources/chromeos/login/screen_encryption_migration.js
@@ -48,10 +48,15 @@
     /**
      * Updates the migration screen by specifying a state which corresponds to
      * a sub step in the migration process.
-     * @param {number} state The UI state to identify a sub step in migration.
+     * @param {EncryptionMigrationUIState} state The UI state to identify a sub
+     *     step in migration.
      */
     setUIState: function(state) {
       $('encryption-migration-element').uiState = state;
+
+      // Hide "Shut down" button during migration.
+      $('login-header-bar').showShutdownButton =
+          state != EncryptionMigrationUIState.MIGRATING;
     },
 
     /**
diff --git a/chrome/browser/resources/print_preview/search/destination_search.js b/chrome/browser/resources/print_preview/search/destination_search.js
index c9531b0..3391545 100644
--- a/chrome/browser/resources/print_preview/search/destination_search.js
+++ b/chrome/browser/resources/print_preview/search/destination_search.js
@@ -585,9 +585,14 @@
      */
     onDestinationConfigureRequest_: function(event) {
       var destination = event.detail.destination;
-      var destinationItem = destination.isLocal ?
-          this.localList_.getDestinationItem(destination.id) :
-          this.cloudList_.getDestinationItem(destination.id);
+      // Cloud Print Device printers are stored in the local list
+      // crbug.com/713831.
+      // TODO(crbug.com/416701): Upon resolution, update this.
+      var destinationItem =
+          (destination.isLocal ||
+           destination.origin == print_preview.Destination.Origin.DEVICE) ?
+               this.localList_.getDestinationItem(destination.id) :
+               this.cloudList_.getDestinationItem(destination.id);
       assert(destinationItem != null,
             'User does not select a valid destination item.');
 
diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
index 8120d2c..ddf2bba7 100644
--- a/chrome/browser/ui/BUILD.gn
+++ b/chrome/browser/ui/BUILD.gn
@@ -1278,6 +1278,7 @@
       "//components/drive:drive_chromeos",
       "//components/exo",
       "//components/login",
+      "//device/power_save_blocker",
       "//ui/base/ime",
       "//ui/chromeos",
       "//ui/chromeos/events",
diff --git a/chrome/browser/ui/webui/chromeos/login/encryption_migration_screen_handler.cc b/chrome/browser/ui/webui/chromeos/login/encryption_migration_screen_handler.cc
index 3dbd4336..2b69ed6 100644
--- a/chrome/browser/ui/webui/chromeos/login/encryption_migration_screen_handler.cc
+++ b/chrome/browser/ui/webui/chromeos/login/encryption_migration_screen_handler.cc
@@ -12,6 +12,7 @@
 #include "base/files/file_path.h"
 #include "base/sys_info.h"
 #include "base/task_scheduler/post_task.h"
+#include "chrome/browser/browser_process.h"
 #include "chrome/browser/lifetime/application_lifetime.h"
 #include "chrome/grit/generated_resources.h"
 #include "chromeos/chromeos_switches.h"
@@ -21,6 +22,8 @@
 #include "chromeos/dbus/power_manager/power_supply_properties.pb.h"
 #include "chromeos/dbus/power_manager_client.h"
 #include "components/login/localized_values_builder.h"
+#include "content/public/browser/browser_thread.h"
+#include "device/power_save_blocker/power_save_blocker.h"
 #include "ui/base/text/bytes_formatting.h"
 
 namespace {
@@ -212,6 +215,12 @@
   // latest battery status and show it on the screen.
   if (state == UIState::READY)
     DBusThreadManager::Get()->GetPowerManagerClient()->RequestStatusUpdate();
+
+  // We should block power save during migration.
+  if (state == UIState::MIGRATING)
+    StartBlockingPowerSave();
+  else
+    StopBlockingPowerSave();
 }
 
 void EncryptionMigrationScreenHandler::CheckAvailableStorage() {
@@ -284,6 +293,25 @@
                  weak_ptr_factory_.GetWeakPtr()));
 }
 
+void EncryptionMigrationScreenHandler::StartBlockingPowerSave() {
+  if (!power_save_blocker_) {
+    power_save_blocker_.reset(new device::PowerSaveBlocker(
+        device::PowerSaveBlocker::kPowerSaveBlockPreventAppSuspension,
+        device::PowerSaveBlocker::kReasonOther,
+        "Encryption migration is in progress...",
+        content::BrowserThread::GetTaskRunnerForThread(
+            content::BrowserThread::UI),
+        content::BrowserThread::GetTaskRunnerForThread(
+            content::BrowserThread::FILE)));
+  }
+}
+
+void EncryptionMigrationScreenHandler::StopBlockingPowerSave() {
+  if (power_save_blocker_.get()) {
+    power_save_blocker_.reset();
+  }
+}
+
 cryptohome::KeyDefinition EncryptionMigrationScreenHandler::GetAuthKey() {
   // |auth_key| is created in the same manner as CryptohomeAuthenticator.
   const Key* key = user_context_.GetKey();
diff --git a/chrome/browser/ui/webui/chromeos/login/encryption_migration_screen_handler.h b/chrome/browser/ui/webui/chromeos/login/encryption_migration_screen_handler.h
index f5b5a212..1e194de 100644
--- a/chrome/browser/ui/webui/chromeos/login/encryption_migration_screen_handler.h
+++ b/chrome/browser/ui/webui/chromeos/login/encryption_migration_screen_handler.h
@@ -5,6 +5,8 @@
 #ifndef CHROME_BROWSER_UI_WEBUI_CHROMEOS_LOGIN_ENCRYPTION_MIGRATION_SCREEN_HANDLER_H_
 #define CHROME_BROWSER_UI_WEBUI_CHROMEOS_LOGIN_ENCRYPTION_MIGRATION_SCREEN_HANDLER_H_
 
+#include <memory>
+
 #include "base/macros.h"
 #include "chrome/browser/chromeos/login/screens/encryption_migration_screen_view.h"
 #include "chrome/browser/ui/webui/chromeos/login/base_screen_handler.h"
@@ -13,6 +15,10 @@
 #include "chromeos/login/auth/user_context.h"
 #include "third_party/cros_system_api/dbus/cryptohome/dbus-constants.h"
 
+namespace device {
+class PowerSaveBlocker;
+}  // namespace device
+
 namespace chromeos {
 
 // WebUI implementation of EncryptionMigrationScreenView
@@ -69,6 +75,9 @@
   void OnMountExistingVault(bool success,
                             cryptohome::MountError return_code,
                             const std::string& mount_hash);
+  void StartBlockingPowerSave();
+  void StopBlockingPowerSave();
+
   // Creates authorization key for MountEx method using |user_context_|.
   cryptohome::KeyDefinition GetAuthKey();
 
@@ -101,6 +110,8 @@
   // sufficient.
   bool should_migrate_on_enough_battery_ = false;
 
+  std::unique_ptr<device::PowerSaveBlocker> power_save_blocker_;
+
   base::WeakPtrFactory<EncryptionMigrationScreenHandler> weak_ptr_factory_;
 
   DISALLOW_COPY_AND_ASSIGN(EncryptionMigrationScreenHandler);
diff --git a/chrome/browser/ui/webui/settings/downloads_handler_unittest.cc b/chrome/browser/ui/webui/settings/downloads_handler_unittest.cc
index eb4b16d0..c20ca4d 100644
--- a/chrome/browser/ui/webui/settings/downloads_handler_unittest.cc
+++ b/chrome/browser/ui/webui/settings/downloads_handler_unittest.cc
@@ -4,6 +4,7 @@
 
 #include "chrome/browser/ui/webui/settings/downloads_handler.h"
 
+#include "base/memory/ptr_util.h"
 #include "chrome/browser/download/chrome_download_manager_delegate.h"
 #include "chrome/browser/download/download_prefs.h"
 #include "chrome/common/pref_names.h"
@@ -23,8 +24,8 @@
       : download_manager_(new content::MockDownloadManager()),
         chrome_download_manager_delegate_(&profile_),
         handler_(&profile_) {
-    content::BrowserContext::SetDownloadManagerForTesting(&profile_,
-                                                          download_manager_);
+    content::BrowserContext::SetDownloadManagerForTesting(
+        &profile_, base::WrapUnique(download_manager_));
     EXPECT_EQ(download_manager_,
               content::BrowserContext::GetDownloadManager(&profile_));
 
@@ -73,8 +74,7 @@
   content::TestWebUI test_web_ui_;
   TestingProfile profile_;
 
-  // This is heap allocated because its ownership is transferred to |profile_|.
-  content::MockDownloadManager* download_manager_;
+  content::MockDownloadManager* download_manager_;  // Owned by |profile_|.
   ChromeDownloadManagerDelegate chrome_download_manager_delegate_;
 
   DownloadsHandler handler_;
diff --git a/chrome/test/data/webui/print_preview_destination_search_test.js b/chrome/test/data/webui/print_preview_destination_search_test.js
index 2155bd78..30878aa 100644
--- a/chrome/test/data/webui/print_preview_destination_search_test.js
+++ b/chrome/test/data/webui/print_preview_destination_search_test.js
@@ -234,6 +234,27 @@
         assertEquals(destId, destinationStore_.selectedDestination.id);
       }
     });
+
+    test('CloudKioskPrinter', function() {
+      var printerId = 'cloud-printer-id';
+
+      // Create cloud destination.
+      var cloudDest = new print_preview.Destination(printerId,
+          print_preview.Destination.Type.GOOGLE,
+          print_preview.Destination.Origin.DEVICE,
+          "displayName",
+          print_preview.Destination.ConnectionStatus.ONLINE);
+      cloudDest.capabilities = getCaps();
+
+      // Place destination in the local list as happens for Kiosk printers.
+      destinationSearch_.localList_.updateDestinations([cloudDest]);
+      var dest = destinationSearch_.localList_.getDestinationItem(printerId);
+      // Simulate a click.
+      dest.onActivate_();
+
+      // Verify that the destination has been selected.
+      assertEquals(printerId, destinationStore_.selectedDestination.id);
+    });
   });
 
   mocha.run();
diff --git a/chromeos/BUILD.gn b/chromeos/BUILD.gn
index 596c013..8154535 100644
--- a/chromeos/BUILD.gn
+++ b/chromeos/BUILD.gn
@@ -439,8 +439,6 @@
     "settings/timezone_settings.h",
     "settings/timezone_settings_helper.cc",
     "settings/timezone_settings_helper.h",
-    "system/cpu_temperature_reader.cc",
-    "system/cpu_temperature_reader.h",
     "system/devicemode.cc",
     "system/devicemode.h",
     "system/devicetype.cc",
@@ -679,7 +677,6 @@
     "process_proxy/process_output_watcher_unittest.cc",
     "process_proxy/process_proxy_unittest.cc",
     "settings/timezone_settings_unittest.cc",
-    "system/cpu_temperature_reader_unittest.cc",
     "system/name_value_pairs_parser_unittest.cc",
     "system/version_loader_unittest.cc",
     "timezone/timezone_unittest.cc",
diff --git a/chromeos/system/cpu_temperature_reader.cc b/chromeos/system/cpu_temperature_reader.cc
deleted file mode 100644
index 8a3e5c0..0000000
--- a/chromeos/system/cpu_temperature_reader.cc
+++ /dev/null
@@ -1,117 +0,0 @@
-// 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.
-
-#include "chromeos/system/cpu_temperature_reader.h"
-
-#include "base/files/file_enumerator.h"
-#include "base/files/file_path.h"
-#include "base/files/file_util.h"
-#include "base/location.h"
-#include "base/strings/string_number_conversions.h"
-#include "base/strings/string_util.h"
-#include "base/task_scheduler/post_task.h"
-#include "base/task_scheduler/task_traits.h"
-
-namespace chromeos {
-namespace system {
-
-using CPUTemperatureInfo = CPUTemperatureReader::CPUTemperatureInfo;
-
-namespace {
-
-// The location we read our CPU temperature and channel label from.
-constexpr char kDefaultHwmonDir[] = "/sys/class/hwmon/";
-constexpr char kDeviceDir[] = "device";
-constexpr char kHwmonDirectoryPattern[] = "hwmon*";
-constexpr char kCPUTempFilePattern[] = "temp*_input";
-
-// The contents of sysfs files might contain a newline at the end. Use this
-// function to read from a sysfs file and remove the newline.
-bool ReadFileContentsAndTrimWhitespace(const base::FilePath& path,
-                                       std::string* contents_out) {
-  if (!base::ReadFileToString(path, contents_out))
-    return false;
-  base::TrimWhitespaceASCII(*contents_out, base::TRIM_TRAILING, contents_out);
-  return true;
-}
-
-// Reads the temperature as degrees Celsius from the file at |path|, which is
-// expected to contain the temperature in millidegrees Celsius. Converts the
-// value into degrees and then stores it in |*temp_celsius_out|. returns true if
-// the value was successfully read from file, parsed as an int, and converted.
-bool ReadTemperatureFromPath(const base::FilePath& path,
-                             double* temp_celsius_out) {
-  std::string temperature_string;
-  if (!ReadFileContentsAndTrimWhitespace(path, &temperature_string))
-    return false;
-  uint32_t temperature = 0;
-  if (!base::StringToUint(temperature_string, &temperature))
-    return false;
-  *temp_celsius_out = temperature / 1000.0;
-  return true;
-}
-
-// Gets the label describing this temperature. Use the file "temp*_label" if it
-// is present, or fall back on the file "name" or |label_path|.
-std::string GetLabelFromPath(const base::FilePath& label_path) {
-  std::string label;
-  if (base::PathExists(label_path) &&
-      ReadFileContentsAndTrimWhitespace(base::FilePath(label_path), &label) &&
-      !label.empty()) {
-    return label;
-  }
-
-  base::FilePath name_path = label_path.DirName().Append("name");
-  if (base::PathExists(name_path) &&
-      ReadFileContentsAndTrimWhitespace(name_path, &label) && !label.empty()) {
-    return label;
-  }
-  return label_path.value();
-}
-
-}  // namespace
-
-CPUTemperatureReader::CPUTemperatureInfo::CPUTemperatureInfo() {}
-
-CPUTemperatureReader::CPUTemperatureInfo::~CPUTemperatureInfo() = default;
-
-CPUTemperatureReader::CPUTemperatureReader() : hwmon_dir_(kDefaultHwmonDir) {}
-
-CPUTemperatureReader::~CPUTemperatureReader() = default;
-
-std::vector<CPUTemperatureInfo> CPUTemperatureReader::GetCPUTemperatures() {
-  std::vector<CPUTemperatureInfo> result;
-
-  // Get directories /sys/class/hwmon/hwmon*.
-  base::FileEnumerator hwmon_enumerator(hwmon_dir_, false,
-                                        base::FileEnumerator::DIRECTORIES,
-                                        kHwmonDirectoryPattern);
-  for (base::FilePath hwmon_path = hwmon_enumerator.Next(); !hwmon_path.empty();
-       hwmon_path = hwmon_enumerator.Next()) {
-    // Get temp*_input files in hwmon*/ and hwmon*/device/.
-    if (base::PathExists(hwmon_path.Append(kDeviceDir))) {
-      hwmon_path = hwmon_path.Append(kDeviceDir);
-    }
-    base::FileEnumerator enumerator(
-        hwmon_path, false, base::FileEnumerator::FILES, kCPUTempFilePattern);
-    for (base::FilePath temperature_path = enumerator.Next();
-         !temperature_path.empty(); temperature_path = enumerator.Next()) {
-      CPUTemperatureInfo info;
-      if (!ReadTemperatureFromPath(temperature_path, &info.temp_celsius)) {
-        LOG(WARNING) << "Unable to read CPU temperature from "
-                     << temperature_path.value();
-        continue;
-      }
-      // Get appropriate temp*_label file.
-      std::string label_path = temperature_path.value();
-      base::ReplaceSubstringsAfterOffset(&label_path, 0, "input", "label");
-      info.label = GetLabelFromPath(base::FilePath(label_path));
-      result.push_back(info);
-    }
-  }
-  return result;
-}
-
-}  // namespace system
-}  // namespace chromeos
diff --git a/chromeos/system/cpu_temperature_reader.h b/chromeos/system/cpu_temperature_reader.h
deleted file mode 100644
index 45c77ed..0000000
--- a/chromeos/system/cpu_temperature_reader.h
+++ /dev/null
@@ -1,60 +0,0 @@
-// 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.
-
-#ifndef CHROMEOS_SYSTEM_CPU_TEMPERATURE_READER_H_
-#define CHROMEOS_SYSTEM_CPU_TEMPERATURE_READER_H_
-
-#include <string>
-#include <utility>
-#include <vector>
-
-#include "base/files/file_path.h"
-#include "base/macros.h"
-
-namespace chromeos {
-namespace system {
-
-// Used to read CPU temperature info from sysfs hwmon.
-class CPUTemperatureReader {
- public:
-  // Contains info from a CPU temperature sensor.
-  struct CPUTemperatureInfo {
-    CPUTemperatureInfo();
-    ~CPUTemperatureInfo();
-
-    bool operator<(const CPUTemperatureInfo& other) const {
-      return std::make_pair(label, temp_celsius) <
-             std::make_pair(other.label, other.temp_celsius);
-    }
-
-    // The temperature read by a CPU temperature sensor in degrees Celsius.
-    double temp_celsius;
-
-    // The name of the CPU temperature zone monitored by this sensor. Used to
-    // identify the source of each temperature reading. Taken from sysfs "name"
-    // or "label" field, if it exists.
-    std::string label;
-  };
-
-  CPUTemperatureReader();
-  ~CPUTemperatureReader();
-
-  void set_hwmon_dir_for_test(const base::FilePath& dir) { hwmon_dir_ = dir; }
-
-  // Reads temperature from each thermal sensor of the CPU. Returns a vector
-  // containing a reading from each sensor. This is a blocking function that
-  // should be run on a thread that allows blocking operations.
-  std::vector<CPUTemperatureInfo> GetCPUTemperatures();
-
- private:
-  // Sysfs hwmon directory path.
-  base::FilePath hwmon_dir_;
-
-  DISALLOW_COPY_AND_ASSIGN(CPUTemperatureReader);
-};
-
-}  // namespace system
-}  // namespace chromeos
-
-#endif  // CHROMEOS_SYSTEM_CPU_TEMPERATURE_READER_H_
diff --git a/chromeos/system/cpu_temperature_reader_unittest.cc b/chromeos/system/cpu_temperature_reader_unittest.cc
deleted file mode 100644
index 54c00881..0000000
--- a/chromeos/system/cpu_temperature_reader_unittest.cc
+++ /dev/null
@@ -1,136 +0,0 @@
-// 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.
-
-#include "chromeos/system/cpu_temperature_reader.h"
-
-#include <algorithm>
-#include <string>
-
-#include "base/files/file.h"
-#include "base/files/file_util.h"
-#include "base/files/scoped_temp_dir.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-namespace chromeos {
-namespace system {
-
-class CPUTemperatureReaderTest : public ::testing::Test {
- public:
-  CPUTemperatureReaderTest() {
-    CHECK(dir_.CreateUniqueTempDir());
-    hwmon_path_ = dir_.GetPath();
-    reader_.set_hwmon_dir_for_test(hwmon_path_);
-  }
-
-  ~CPUTemperatureReaderTest() override = default;
-
- protected:
-  using CPUTemperatureInfo = CPUTemperatureReader::CPUTemperatureInfo;
-
-  // Creates a subdirectory in |hwmon_path_| with name |name|. Returns the full
-  // path of the new subdirectory.
-  base::FilePath CreateHwmonSubdir(const std::string& name) {
-    base::FilePath subdir_path = hwmon_path_.Append(name);
-    CHECK(base::CreateDirectory(subdir_path));
-    return subdir_path;
-  }
-
-  // Creates a file at |path| containing data |contents|.
-  void CreateFileWithContents(const base::FilePath& path,
-                              const std::string& contents) {
-    CHECK_EQ(WriteFile(path, contents.data(), contents.size()),
-             static_cast<int>(contents.size()));
-  }
-
-  // Creates a temporary dir to act as the hwmon directory passed to |reader_|.
-  base::ScopedTempDir dir_;
-
-  // Path of the temporary dir created by |dir_|.
-  base::FilePath hwmon_path_;
-
-  // Instance of the class under test
-  CPUTemperatureReader reader_;
-};
-
-TEST_F(CPUTemperatureReaderTest, EmptyDir) {
-  base::FilePath subdir_empty = CreateHwmonSubdir("hwmon0");
-  base::FilePath subdir_not_temp = CreateHwmonSubdir("hwmon1");
-  CreateFileWithContents(subdir_not_temp.Append("not_cpu_temp"), "garbage");
-
-  EXPECT_EQ(0U, reader_.GetCPUTemperatures().size());
-}
-
-TEST_F(CPUTemperatureReaderTest, SingleDir) {
-  base::FilePath subdir = CreateHwmonSubdir("hwmon0");
-  CreateFileWithContents(subdir.Append("temp1_input"), "10000\n");
-
-  std::vector<CPUTemperatureInfo> cpu_temp_readings =
-      reader_.GetCPUTemperatures();
-
-  ASSERT_EQ(1U, cpu_temp_readings.size());
-  EXPECT_EQ(10.0f, cpu_temp_readings[0].temp_celsius);
-  EXPECT_EQ(subdir.Append("temp1_label").value(), cpu_temp_readings[0].label);
-}
-
-TEST_F(CPUTemperatureReaderTest, SingleDirWithLabel) {
-  base::FilePath subdir = CreateHwmonSubdir("hwmon0");
-  CreateFileWithContents(subdir.Append("temp2_input"), "20000\n");
-  CreateFileWithContents(subdir.Append("temp2_label"), "t2\n");
-
-  std::vector<CPUTemperatureInfo> cpu_temp_readings =
-      reader_.GetCPUTemperatures();
-
-  ASSERT_EQ(1U, cpu_temp_readings.size());
-  EXPECT_EQ(20.0f, cpu_temp_readings[0].temp_celsius);
-  EXPECT_EQ("t2", cpu_temp_readings[0].label);
-}
-
-TEST_F(CPUTemperatureReaderTest, SingleDirWithName) {
-  base::FilePath subdir = CreateHwmonSubdir("hwmon0");
-  CreateFileWithContents(subdir.Append("temp3_input"), "30000\n");
-  CreateFileWithContents(subdir.Append("temp3_label"), "\n");
-  CreateFileWithContents(subdir.Append("name"), "t3\n");
-
-  std::vector<CPUTemperatureInfo> cpu_temp_readings =
-      reader_.GetCPUTemperatures();
-
-  ASSERT_EQ(1U, cpu_temp_readings.size());
-  EXPECT_EQ(30.0f, cpu_temp_readings[0].temp_celsius);
-  EXPECT_EQ("t3", cpu_temp_readings[0].label);
-}
-
-TEST_F(CPUTemperatureReaderTest, MultipleDirs) {
-  base::FilePath subdir0 = CreateHwmonSubdir("hwmon0");
-  CreateFileWithContents(subdir0.Append("temp1_input"), "10000\n");
-
-  base::FilePath subdir1 = CreateHwmonSubdir("hwmon1");
-  CreateFileWithContents(subdir1.Append("temp2_input"), "20000\n");
-  CreateFileWithContents(subdir1.Append("temp2_label"), "t2\n");
-
-  // This should not result in a CPU temperature reading.
-  base::FilePath subdir2 = CreateHwmonSubdir("hwmon2");
-  CreateFileWithContents(subdir2.Append("not_cpu_temp"), "garbage");
-
-  base::FilePath subdir3 = CreateHwmonSubdir("hwmon3");
-  CreateFileWithContents(subdir3.Append("temp3_input"), "30000\n");
-  CreateFileWithContents(subdir3.Append("temp3_label"), "t3\n");
-
-  std::vector<CPUTemperatureInfo> cpu_temp_readings =
-      reader_.GetCPUTemperatures();
-
-  // The order in which these directories were read is not guaranteed. Sort them
-  // first.
-  std::sort(cpu_temp_readings.begin(), cpu_temp_readings.end());
-
-  ASSERT_EQ(3U, cpu_temp_readings.size());
-  EXPECT_EQ(10.0f, cpu_temp_readings[0].temp_celsius);
-  EXPECT_EQ(subdir0.Append("temp1_label").value(), cpu_temp_readings[0].label);
-  EXPECT_EQ(20.0f, cpu_temp_readings[1].temp_celsius);
-  EXPECT_EQ("t2", cpu_temp_readings[1].label);
-  EXPECT_EQ(30.0f, cpu_temp_readings[2].temp_celsius);
-  EXPECT_EQ("t3", cpu_temp_readings[2].label);
-}
-
-}  // namespace system
-}  // namespace chromeos
diff --git a/components/data_use_measurement/core/data_use_user_data.cc b/components/data_use_measurement/core/data_use_user_data.cc
index ebae0e3..4cb0f12cd 100644
--- a/components/data_use_measurement/core/data_use_user_data.cc
+++ b/components/data_use_measurement/core/data_use_user_data.cc
@@ -8,6 +8,7 @@
 #include "base/android/application_status_listener.h"
 #endif
 
+#include "base/memory/ptr_util.h"
 #include "net/url_request/url_fetcher.h"
 
 namespace data_use_measurement {
@@ -40,9 +41,9 @@
     &DataUseUserData::kUserDataKey;
 
 // static
-base::SupportsUserData::Data* DataUseUserData::Create(
+std::unique_ptr<base::SupportsUserData::Data> DataUseUserData::Create(
     ServiceName service_name) {
-  return new DataUseUserData(service_name, GetCurrentAppState());
+  return base::MakeUnique<DataUseUserData>(service_name, GetCurrentAppState());
 }
 
 // static
diff --git a/components/data_use_measurement/core/data_use_user_data.h b/components/data_use_measurement/core/data_use_user_data.h
index 584e7a52..0ea0ae8d 100644
--- a/components/data_use_measurement/core/data_use_user_data.h
+++ b/components/data_use_measurement/core/data_use_user_data.h
@@ -5,6 +5,7 @@
 #ifndef COMPONENTS_DATA_USE_MEASUREMENT_CORE_DATA_USE_USER_DATA_H_
 #define COMPONENTS_DATA_USE_MEASUREMENT_CORE_DATA_USE_USER_DATA_H_
 
+#include <memory>
 #include <string>
 
 #include "base/macros.h"
@@ -96,9 +97,8 @@
   DataUseUserData(ServiceName service_name, AppState app_state);
   ~DataUseUserData() override;
 
-  // Helper function to create DataUseUserData. The caller takes the ownership
-  // of the returned object.
-  static base::SupportsUserData::Data* Create(
+  // Helper function to create DataUseUserData.
+  static std::unique_ptr<base::SupportsUserData::Data> Create(
       DataUseUserData::ServiceName service);
 
   // Return the service name of the ServiceName enum.
diff --git a/components/domain_reliability/uploader.cc b/components/domain_reliability/uploader.cc
index d997849..92bea3c 100644
--- a/components/domain_reliability/uploader.cc
+++ b/components/domain_reliability/uploader.cc
@@ -9,6 +9,7 @@
 #include "base/bind.h"
 #include "base/callback.h"
 #include "base/logging.h"
+#include "base/memory/ptr_util.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/supports_user_data.h"
 #include "components/domain_reliability/util.h"
@@ -41,8 +42,9 @@
  private:
   UploadUserData(int depth) : depth_(depth) {}
 
-  static base::SupportsUserData::Data* CreateUploadUserData(int depth) {
-    return new UploadUserData(depth);
+  static std::unique_ptr<base::SupportsUserData::Data> CreateUploadUserData(
+      int depth) {
+    return base::WrapUnique(new UploadUserData(depth));
   }
 
   int depth_;
diff --git a/components/feature_engagement_tracker/internal/BUILD.gn b/components/feature_engagement_tracker/internal/BUILD.gn
index ce65095..8f629d9 100644
--- a/components/feature_engagement_tracker/internal/BUILD.gn
+++ b/components/feature_engagement_tracker/internal/BUILD.gn
@@ -21,6 +21,8 @@
     "configuration.h",
     "editable_configuration.cc",
     "editable_configuration.h",
+    "feature_config_storage_validator.cc",
+    "feature_config_storage_validator.h",
     "feature_constants.cc",
     "feature_engagement_tracker_impl.cc",
     "feature_engagement_tracker_impl.h",
@@ -33,10 +35,13 @@
     "model_impl.h",
     "never_condition_validator.cc",
     "never_condition_validator.h",
+    "never_storage_validator.cc",
+    "never_storage_validator.h",
     "once_condition_validator.cc",
     "once_condition_validator.h",
     "single_invalid_configuration.cc",
     "single_invalid_configuration.h",
+    "storage_validator.h",
     "store.h",
   ]
 
@@ -69,10 +74,12 @@
   sources = [
     "chrome_variations_configuration_unittest.cc",
     "editable_configuration_unittest.cc",
+    "feature_config_storage_validator_unittest.cc",
     "feature_engagement_tracker_impl_unittest.cc",
     "in_memory_store_unittest.cc",
     "model_impl_unittest.cc",
     "never_condition_validator_unittest.cc",
+    "never_storage_validator_unittest.cc",
     "once_condition_validator_unittest.cc",
     "single_invalid_configuration_unittest.cc",
   ]
diff --git a/components/feature_engagement_tracker/internal/condition_validator.h b/components/feature_engagement_tracker/internal/condition_validator.h
index 295a6a0..14c4316 100644
--- a/components/feature_engagement_tracker/internal/condition_validator.h
+++ b/components/feature_engagement_tracker/internal/condition_validator.h
@@ -5,14 +5,17 @@
 #ifndef COMPONENTS_FEATURE_ENGAGEMENT_TRACKER_INTERNAL_CONDITION_VALIDATOR_H_
 #define COMPONENTS_FEATURE_ENGAGEMENT_TRACKER_INTERNAL_CONDITION_VALIDATOR_H_
 
+#include <string>
+
 #include "base/macros.h"
-#include "components/feature_engagement_tracker/internal/model.h"
+#include "components/feature_engagement_tracker/internal/feature_list.h"
 
 namespace base {
 struct Feature;
 }  // namespace base
 
 namespace feature_engagement_tracker {
+class Model;
 
 // A ConditionValidator checks the requred conditions for a given feature,
 // and checks if all conditions are met.
diff --git a/components/feature_engagement_tracker/internal/feature_config_storage_validator.cc b/components/feature_engagement_tracker/internal/feature_config_storage_validator.cc
new file mode 100644
index 0000000..1af635e
--- /dev/null
+++ b/components/feature_engagement_tracker/internal/feature_config_storage_validator.cc
@@ -0,0 +1,81 @@
+// 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.
+
+#include "components/feature_engagement_tracker/internal/feature_config_storage_validator.h"
+
+#include <unordered_map>
+#include <unordered_set>
+
+#include "components/feature_engagement_tracker/internal/configuration.h"
+#include "components/feature_engagement_tracker/internal/feature_list.h"
+
+namespace feature_engagement_tracker {
+
+FeatureConfigStorageValidator::FeatureConfigStorageValidator() = default;
+
+FeatureConfigStorageValidator::~FeatureConfigStorageValidator() = default;
+
+bool FeatureConfigStorageValidator::ShouldStore(const std::string& event_name) {
+  return should_store_event_names_.find(event_name) !=
+         should_store_event_names_.end();
+}
+
+bool FeatureConfigStorageValidator::ShouldKeep(const std::string& event_name,
+                                               uint32_t event_day,
+                                               uint32_t current_day) {
+  // Should not keep events that will happen in the future.
+  if (event_day > current_day)
+    return false;
+
+  // If no feature configuration mentioned the event, it should not be kept.
+  auto it = longest_storage_times_.find(event_name);
+  if (it == longest_storage_times_.end())
+    return false;
+
+  // Too old events should not be kept.
+  uint32_t longest_storage_time = it->second;
+  uint32_t age = current_day - event_day;
+  if (longest_storage_time <= age)
+    return false;
+
+  return true;
+}
+
+void FeatureConfigStorageValidator::InitializeFeatures(
+    FeatureVector features,
+    const Configuration& configuration) {
+  for (const auto* feature : features)
+    InitializeFeatureConfig(configuration.GetFeatureConfig(*feature));
+}
+
+void FeatureConfigStorageValidator::ClearForTesting() {
+  should_store_event_names_.clear();
+  longest_storage_times_.clear();
+}
+
+void FeatureConfigStorageValidator::InitializeFeatureConfig(
+    const FeatureConfig& feature_config) {
+  InitializeEventConfig(feature_config.used);
+  InitializeEventConfig(feature_config.trigger);
+
+  for (const auto& event_config : feature_config.event_configs)
+    InitializeEventConfig(event_config);
+}
+
+void FeatureConfigStorageValidator::InitializeEventConfig(
+    const EventConfig& event_config) {
+  // Minimum storage time is 1 day.
+  if (event_config.storage < 1u)
+    return;
+
+  // When minimum storage time is met, new events should always be stored.
+  should_store_event_names_.insert(event_config.name);
+
+  // Track the longest time any configuration wants to store a particular event.
+  uint32_t current_longest_time = longest_storage_times_[event_config.name];
+  if (event_config.storage > current_longest_time)
+    longest_storage_times_[event_config.name] = event_config.storage;
+}
+
+}  // namespace feature_engagement_tracker
diff --git a/components/feature_engagement_tracker/internal/feature_config_storage_validator.h b/components/feature_engagement_tracker/internal/feature_config_storage_validator.h
new file mode 100644
index 0000000..e3358cf
--- /dev/null
+++ b/components/feature_engagement_tracker/internal/feature_config_storage_validator.h
@@ -0,0 +1,63 @@
+// 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.
+
+#ifndef COMPONENTS_FEATURE_ENGAGEMENT_TRACKER_INTERNAL_FEATURE_CONFIG_STORAGE_VALIDATOR_H_
+#define COMPONENTS_FEATURE_ENGAGEMENT_TRACKER_INTERNAL_FEATURE_CONFIG_STORAGE_VALIDATOR_H_
+
+#include <string>
+#include <unordered_map>
+#include <unordered_set>
+
+#include "base/macros.h"
+#include "components/feature_engagement_tracker/internal/feature_list.h"
+#include "components/feature_engagement_tracker/internal/storage_validator.h"
+
+namespace feature_engagement_tracker {
+class Configuration;
+struct EventConfig;
+struct FeatureConfig;
+
+// A StorageValidator that uses the FeatureConfiguration from
+class FeatureConfigStorageValidator : public StorageValidator {
+ public:
+  FeatureConfigStorageValidator();
+  ~FeatureConfigStorageValidator() override;
+
+  // ConditionValidator implementation.
+  bool ShouldStore(const std::string& event_name) override;
+  bool ShouldKeep(const std::string& event_name,
+                  uint32_t event_day,
+                  uint32_t current_day) override;
+
+  // Set up internal configuration required for the given |features|.
+  void InitializeFeatures(FeatureVector features,
+                          const Configuration& configuration);
+
+  // Resets the full state of this StorageValidator. After calling this method
+  // it is valid to call InitializeFeatures() again.
+  void ClearForTesting();
+
+ private:
+  // Updates the internal configuration with conditions from the given
+  // |feature_config|.
+  void InitializeFeatureConfig(const FeatureConfig& feature_config);
+
+  // Updates the internal configuration with conditions from the given
+  // |event_config|.
+  void InitializeEventConfig(const EventConfig& event_config);
+
+  // Contains an entry for each of the events that any EventConfig required to
+  // be stored.
+  std::unordered_set<std::string> should_store_event_names_;
+
+  // Contains the longest time to store each event across all EventConfigs,
+  // as a number of days.
+  std::unordered_map<std::string, uint32_t> longest_storage_times_;
+
+  DISALLOW_COPY_AND_ASSIGN(FeatureConfigStorageValidator);
+};
+
+}  // namespace feature_engagement_tracker
+
+#endif  // COMPONENTS_FEATURE_ENGAGEMENT_TRACKER_INTERNAL_FEATURE_CONFIG_STORAGE_VALIDATOR_H_
diff --git a/components/feature_engagement_tracker/internal/feature_config_storage_validator_unittest.cc b/components/feature_engagement_tracker/internal/feature_config_storage_validator_unittest.cc
new file mode 100644
index 0000000..6e973bd
--- /dev/null
+++ b/components/feature_engagement_tracker/internal/feature_config_storage_validator_unittest.cc
@@ -0,0 +1,270 @@
+// 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.
+
+#include "components/feature_engagement_tracker/internal/feature_config_storage_validator.h"
+
+#include <string>
+
+#include "base/feature_list.h"
+#include "base/metrics/field_trial.h"
+#include "base/test/scoped_feature_list.h"
+#include "components/feature_engagement_tracker/internal/configuration.h"
+#include "components/feature_engagement_tracker/internal/editable_configuration.h"
+#include "components/feature_engagement_tracker/internal/model.h"
+#include "components/feature_engagement_tracker/internal/proto/event.pb.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+namespace feature_engagement_tracker {
+
+namespace {
+
+const base::Feature kTestFeatureFoo{"test_foo",
+                                    base::FEATURE_DISABLED_BY_DEFAULT};
+const base::Feature kTestFeatureBar{"test_bar",
+                                    base::FEATURE_DISABLED_BY_DEFAULT};
+
+FeatureConfig kNeverStored;
+FeatureConfig kStoredInUsed1Day;
+FeatureConfig kStoredInUsed2Days;
+FeatureConfig kStoredInUsed10Days;
+FeatureConfig kStoredInTrigger1Day;
+FeatureConfig kStoredInTrigger2Days;
+FeatureConfig kStoredInTrigger10Days;
+FeatureConfig kStoredInEventConfigs1Day;
+FeatureConfig kStoredInEventConfigs2Days;
+FeatureConfig kStoredInEventConfigs10Days;
+
+void InitializeStorageFeatureConfigs() {
+  FeatureConfig default_config;
+  default_config.valid = true;
+  default_config.used = EventConfig("myevent", Comparator(ANY, 0), 0, 0);
+  default_config.trigger = EventConfig("myevent", Comparator(ANY, 0), 0, 0);
+  default_config.event_configs.insert(
+      EventConfig("myevent", Comparator(ANY, 0), 0, 0));
+  default_config.event_configs.insert(
+      EventConfig("unrelated_event", Comparator(ANY, 0), 0, 100));
+  default_config.session_rate = Comparator(ANY, 0);
+  default_config.availability = Comparator(ANY, 0);
+
+  kNeverStored = default_config;
+
+  kStoredInUsed1Day = default_config;
+  kStoredInUsed1Day.used = EventConfig("myevent", Comparator(ANY, 0), 0, 1);
+
+  kStoredInUsed2Days = default_config;
+  kStoredInUsed2Days.used = EventConfig("myevent", Comparator(ANY, 0), 0, 2);
+
+  kStoredInUsed10Days = default_config;
+  kStoredInUsed10Days.used = EventConfig("myevent", Comparator(ANY, 0), 0, 10);
+
+  kStoredInTrigger1Day = default_config;
+  kStoredInTrigger1Day.trigger =
+      EventConfig("myevent", Comparator(ANY, 0), 0, 1);
+
+  kStoredInTrigger2Days = default_config;
+  kStoredInTrigger2Days.trigger =
+      EventConfig("myevent", Comparator(ANY, 0), 0, 2);
+
+  kStoredInTrigger10Days = default_config;
+  kStoredInTrigger10Days.trigger =
+      EventConfig("myevent", Comparator(ANY, 0), 0, 10);
+
+  kStoredInEventConfigs1Day = default_config;
+  kStoredInEventConfigs1Day.event_configs.clear();
+  kStoredInEventConfigs1Day.event_configs.insert(
+      EventConfig("myevent", Comparator(ANY, 0), 0, 0));
+  kStoredInEventConfigs1Day.event_configs.insert(
+      EventConfig("myevent", Comparator(ANY, 0), 0, 1));
+  kStoredInEventConfigs1Day.event_configs.insert(
+      EventConfig("unrelated_event", Comparator(ANY, 0), 0, 100));
+
+  kStoredInEventConfigs2Days = default_config;
+  kStoredInEventConfigs2Days.event_configs.clear();
+  kStoredInEventConfigs2Days.event_configs.insert(
+      EventConfig("myevent", Comparator(ANY, 0), 0, 0));
+  kStoredInEventConfigs2Days.event_configs.insert(
+      EventConfig("myevent", Comparator(ANY, 0), 0, 2));
+  kStoredInEventConfigs2Days.event_configs.insert(
+      EventConfig("unrelated_event", Comparator(ANY, 0), 0, 100));
+
+  kStoredInEventConfigs10Days = default_config;
+  kStoredInEventConfigs10Days.event_configs.clear();
+  kStoredInEventConfigs10Days.event_configs.insert(
+      EventConfig("myevent", Comparator(ANY, 0), 0, 0));
+  kStoredInEventConfigs10Days.event_configs.insert(
+      EventConfig("myevent", Comparator(ANY, 0), 0, 10));
+  kStoredInEventConfigs10Days.event_configs.insert(
+      EventConfig("unrelated_event", Comparator(ANY, 0), 0, 100));
+}
+
+class FeatureConfigStorageValidatorTest : public ::testing::Test {
+ public:
+  FeatureConfigStorageValidatorTest() : current_day_(100) {
+    InitializeStorageFeatureConfigs();
+  }
+
+  void UseConfig(const FeatureConfig& foo_config) {
+    FeatureVector features = {&kTestFeatureFoo};
+
+    validator_.ClearForTesting();
+    EditableConfiguration configuration;
+    configuration.SetConfiguration(&kTestFeatureFoo, foo_config);
+    validator_.InitializeFeatures(features, configuration);
+  }
+
+  void UseConfigs(const FeatureConfig& foo_config,
+                  const FeatureConfig& bar_config) {
+    FeatureVector features = {&kTestFeatureFoo, &kTestFeatureBar};
+
+    validator_.ClearForTesting();
+    EditableConfiguration configuration;
+    configuration.SetConfiguration(&kTestFeatureFoo, foo_config);
+    configuration.SetConfiguration(&kTestFeatureBar, bar_config);
+    validator_.InitializeFeatures(features, configuration);
+  }
+
+  void VerifyNeverKeep() {
+    EXPECT_FALSE(validator_.ShouldKeep("myevent", 89, current_day_));
+    EXPECT_FALSE(validator_.ShouldKeep("myevent", 90, current_day_));
+    EXPECT_FALSE(validator_.ShouldKeep("myevent", 91, current_day_));
+    EXPECT_FALSE(validator_.ShouldKeep("myevent", 98, current_day_));
+    EXPECT_FALSE(validator_.ShouldKeep("myevent", 99, current_day_));
+    EXPECT_FALSE(validator_.ShouldKeep("myevent", 100, current_day_));
+    // This is trying to store data in the future, which should never happen.
+    EXPECT_FALSE(validator_.ShouldKeep("myevent", 101, current_day_));
+  }
+
+  void VerifyKeep1Day() {
+    EXPECT_FALSE(validator_.ShouldKeep("myevent", 89, current_day_));
+    EXPECT_FALSE(validator_.ShouldKeep("myevent", 90, current_day_));
+    EXPECT_FALSE(validator_.ShouldKeep("myevent", 91, current_day_));
+    EXPECT_FALSE(validator_.ShouldKeep("myevent", 98, current_day_));
+    EXPECT_FALSE(validator_.ShouldKeep("myevent", 99, current_day_));
+    EXPECT_TRUE(validator_.ShouldKeep("myevent", 100, current_day_));
+    // This is trying to store data in the future, which should never happen.
+    EXPECT_FALSE(validator_.ShouldKeep("myevent", 101, current_day_));
+  }
+
+  void VerifyKeep2Days() {
+    EXPECT_FALSE(validator_.ShouldKeep("myevent", 89, current_day_));
+    EXPECT_FALSE(validator_.ShouldKeep("myevent", 90, current_day_));
+    EXPECT_FALSE(validator_.ShouldKeep("myevent", 91, current_day_));
+    EXPECT_FALSE(validator_.ShouldKeep("myevent", 98, current_day_));
+    EXPECT_TRUE(validator_.ShouldKeep("myevent", 99, current_day_));
+    EXPECT_TRUE(validator_.ShouldKeep("myevent", 100, current_day_));
+    // This is trying to store data in the future, which should never happen.
+    EXPECT_FALSE(validator_.ShouldKeep("myevent", 101, current_day_));
+  }
+
+  void VerifyKeep10Days() {
+    EXPECT_FALSE(validator_.ShouldKeep("myevent", 89, current_day_));
+    EXPECT_FALSE(validator_.ShouldKeep("myevent", 90, current_day_));
+    EXPECT_TRUE(validator_.ShouldKeep("myevent", 91, current_day_));
+    EXPECT_TRUE(validator_.ShouldKeep("myevent", 98, current_day_));
+    EXPECT_TRUE(validator_.ShouldKeep("myevent", 99, current_day_));
+    EXPECT_TRUE(validator_.ShouldKeep("myevent", 100, current_day_));
+    // This is trying to store data in the future, which should never happen.
+    EXPECT_FALSE(validator_.ShouldKeep("myevent", 101, current_day_));
+  }
+
+ protected:
+  FeatureConfigStorageValidator validator_;
+  uint32_t current_day_;
+
+ private:
+  DISALLOW_COPY_AND_ASSIGN(FeatureConfigStorageValidatorTest);
+};
+
+}  // namespace
+
+TEST_F(FeatureConfigStorageValidatorTest,
+       ShouldStoreIfSingleConfigHasMinimum1DayStorage) {
+  UseConfig(kNeverStored);
+  EXPECT_FALSE(validator_.ShouldStore("myevent"));
+
+  const FeatureConfig* should_store_configs[] = {
+      &kStoredInUsed1Day,          &kStoredInUsed2Days,
+      &kStoredInUsed10Days,        &kStoredInTrigger1Day,
+      &kStoredInTrigger2Days,      &kStoredInTrigger10Days,
+      &kStoredInEventConfigs1Day,  &kStoredInEventConfigs2Days,
+      &kStoredInEventConfigs10Days};
+  for (const FeatureConfig* config : should_store_configs) {
+    UseConfig(*config);
+    EXPECT_TRUE(validator_.ShouldStore("myevent"));
+  }
+}
+
+TEST_F(FeatureConfigStorageValidatorTest,
+       ShouldStoreIfAnyConfigHasMinimum1DayStorage) {
+  UseConfigs(kNeverStored, kNeverStored);
+  EXPECT_FALSE(validator_.ShouldStore("myevent"));
+
+  const FeatureConfig* should_store_configs[] = {
+      &kStoredInUsed1Day,          &kStoredInUsed2Days,
+      &kStoredInUsed10Days,        &kStoredInTrigger1Day,
+      &kStoredInTrigger2Days,      &kStoredInTrigger10Days,
+      &kStoredInEventConfigs1Day,  &kStoredInEventConfigs2Days,
+      &kStoredInEventConfigs10Days};
+  for (const FeatureConfig* config : should_store_configs) {
+    UseConfigs(kNeverStored, *config);
+    EXPECT_TRUE(validator_.ShouldStore("myevent"));
+  }
+}
+
+TEST_F(FeatureConfigStorageValidatorTest,
+       ShouldKeepIfSingleConfigMeetsEventAge) {
+  UseConfig(kNeverStored);
+  VerifyNeverKeep();
+
+  const FeatureConfig* one_day_storage_configs[] = {
+      &kStoredInUsed1Day, &kStoredInTrigger1Day, &kStoredInEventConfigs1Day};
+  for (const FeatureConfig* config : one_day_storage_configs) {
+    UseConfig(*config);
+    VerifyKeep1Day();
+  }
+
+  const FeatureConfig* two_days_storage_configs[] = {
+      &kStoredInUsed2Days, &kStoredInTrigger2Days, &kStoredInEventConfigs2Days};
+  for (const FeatureConfig* config : two_days_storage_configs) {
+    UseConfig(*config);
+    VerifyKeep2Days();
+  }
+
+  const FeatureConfig* ten_days_storage_configs[] = {
+      &kStoredInUsed10Days, &kStoredInTrigger10Days,
+      &kStoredInEventConfigs10Days};
+  for (const FeatureConfig* config : ten_days_storage_configs) {
+    UseConfig(*config);
+    VerifyKeep10Days();
+  }
+}
+
+TEST_F(FeatureConfigStorageValidatorTest, ShouldKeepIfAnyConfigMeetsEventAge) {
+  UseConfigs(kNeverStored, kNeverStored);
+  VerifyNeverKeep();
+
+  const FeatureConfig* one_day_storage_configs[] = {
+      &kStoredInUsed1Day, &kStoredInTrigger1Day, &kStoredInEventConfigs1Day};
+  for (const FeatureConfig* config : one_day_storage_configs) {
+    UseConfigs(kNeverStored, *config);
+    VerifyKeep1Day();
+  }
+
+  const FeatureConfig* two_days_storage_configs[] = {
+      &kStoredInUsed2Days, &kStoredInTrigger2Days, &kStoredInEventConfigs2Days};
+  for (const FeatureConfig* config : two_days_storage_configs) {
+    UseConfigs(kNeverStored, *config);
+    VerifyKeep2Days();
+  }
+
+  const FeatureConfig* ten_days_storage_configs[] = {
+      &kStoredInUsed10Days, &kStoredInTrigger10Days,
+      &kStoredInEventConfigs10Days};
+  for (const FeatureConfig* config : ten_days_storage_configs) {
+    UseConfigs(kNeverStored, *config);
+    VerifyKeep10Days();
+  }
+}
+
+}  // namespace feature_engagement_tracker
diff --git a/components/feature_engagement_tracker/internal/feature_engagement_tracker_impl.cc b/components/feature_engagement_tracker/internal/feature_engagement_tracker_impl.cc
index 24c499d..4f1d3bf 100644
--- a/components/feature_engagement_tracker/internal/feature_engagement_tracker_impl.cc
+++ b/components/feature_engagement_tracker/internal/feature_engagement_tracker_impl.cc
@@ -12,6 +12,7 @@
 #include "components/feature_engagement_tracker/internal/in_memory_store.h"
 #include "components/feature_engagement_tracker/internal/model_impl.h"
 #include "components/feature_engagement_tracker/internal/never_condition_validator.h"
+#include "components/feature_engagement_tracker/internal/never_storage_validator.h"
 #include "components/feature_engagement_tracker/internal/once_condition_validator.h"
 #include "components/feature_engagement_tracker/internal/single_invalid_configuration.h"
 #include "components/feature_engagement_tracker/public/feature_constants.h"
@@ -37,7 +38,8 @@
 
   return base::MakeUnique<FeatureEngagementTrackerImpl>(
       base::MakeUnique<InMemoryStore>(), std::move(configuration),
-      base::MakeUnique<OnceConditionValidator>());
+      base::MakeUnique<OnceConditionValidator>(),
+      base::MakeUnique<NeverStorageValidator>());
 }
 
 }  // namespace
@@ -53,24 +55,27 @@
     return CreateDemoModeFeatureEngagementTracker().release();
 
   std::unique_ptr<Store> store = base::MakeUnique<InMemoryStore>();
-  // TODO(nyquist): Create FinchConfiguration to parse configuration.
   std::unique_ptr<Configuration> configuration =
       base::MakeUnique<SingleInvalidConfiguration>();
-  std::unique_ptr<ConditionValidator> validator =
+  std::unique_ptr<ConditionValidator> condition_validator =
       base::MakeUnique<NeverConditionValidator>();
+  std::unique_ptr<StorageValidator> storage_validator =
+      base::MakeUnique<NeverStorageValidator>();
 
   return new FeatureEngagementTrackerImpl(
-      std::move(store), std::move(configuration), std::move(validator));
+      std::move(store), std::move(configuration),
+      std::move(condition_validator), std::move(storage_validator));
 }
 
 FeatureEngagementTrackerImpl::FeatureEngagementTrackerImpl(
     std::unique_ptr<Store> store,
     std::unique_ptr<Configuration> configuration,
-    std::unique_ptr<ConditionValidator> condition_validator)
+    std::unique_ptr<ConditionValidator> condition_validator,
+    std::unique_ptr<StorageValidator> storage_validator)
     : condition_validator_(std::move(condition_validator)),
       weak_ptr_factory_(this) {
-  model_ =
-      base::MakeUnique<ModelImpl>(std::move(store), std::move(configuration));
+  model_ = base::MakeUnique<ModelImpl>(
+      std::move(store), std::move(configuration), std::move(storage_validator));
   model_->Initialize(
       base::Bind(&FeatureEngagementTrackerImpl::OnModelInitializationFinished,
                  weak_ptr_factory_.GetWeakPtr()));
diff --git a/components/feature_engagement_tracker/internal/feature_engagement_tracker_impl.h b/components/feature_engagement_tracker/internal/feature_engagement_tracker_impl.h
index b0088941..630b396 100644
--- a/components/feature_engagement_tracker/internal/feature_engagement_tracker_impl.h
+++ b/components/feature_engagement_tracker/internal/feature_engagement_tracker_impl.h
@@ -12,12 +12,14 @@
 #include "base/macros.h"
 #include "base/memory/weak_ptr.h"
 #include "base/supports_user_data.h"
-#include "components/feature_engagement_tracker/internal/condition_validator.h"
-#include "components/feature_engagement_tracker/internal/model.h"
 #include "components/feature_engagement_tracker/public/feature_engagement_tracker.h"
 
 namespace feature_engagement_tracker {
+class Configuration;
+class ConditionValidator;
+class Model;
 class Store;
+class StorageValidator;
 
 // The internal implementation of the FeatureEngagementTracker.
 class FeatureEngagementTrackerImpl : public FeatureEngagementTracker,
@@ -26,7 +28,8 @@
   FeatureEngagementTrackerImpl(
       std::unique_ptr<Store> store,
       std::unique_ptr<Configuration> configuration,
-      std::unique_ptr<ConditionValidator> condition_validator);
+      std::unique_ptr<ConditionValidator> condition_validator,
+      std::unique_ptr<StorageValidator> storage_validator);
   ~FeatureEngagementTrackerImpl() override;
 
   // FeatureEngagementTracker implementation.
diff --git a/components/feature_engagement_tracker/internal/feature_engagement_tracker_impl_unittest.cc b/components/feature_engagement_tracker/internal/feature_engagement_tracker_impl_unittest.cc
index c410c0d..37245da 100644
--- a/components/feature_engagement_tracker/internal/feature_engagement_tracker_impl_unittest.cc
+++ b/components/feature_engagement_tracker/internal/feature_engagement_tracker_impl_unittest.cc
@@ -14,6 +14,7 @@
 #include "base/test/scoped_feature_list.h"
 #include "components/feature_engagement_tracker/internal/editable_configuration.h"
 #include "components/feature_engagement_tracker/internal/in_memory_store.h"
+#include "components/feature_engagement_tracker/internal/never_storage_validator.h"
 #include "components/feature_engagement_tracker/internal/once_condition_validator.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
@@ -42,8 +43,10 @@
     std::unique_ptr<Store> store = base::MakeUnique<InMemoryStore>();
     std::unique_ptr<EditableConfiguration> configuration =
         base::MakeUnique<EditableConfiguration>();
-    std::unique_ptr<ConditionValidator> validator =
+    std::unique_ptr<ConditionValidator> condition_validator =
         base::MakeUnique<OnceConditionValidator>();
+    std::unique_ptr<StorageValidator> storage_validator =
+        base::MakeUnique<NeverStorageValidator>();
 
     RegisterFeatureConfig(configuration.get(), kTestFeatureFoo, true);
     RegisterFeatureConfig(configuration.get(), kTestFeatureBar, true);
@@ -53,7 +56,8 @@
         {kTestFeatureFoo, kTestFeatureBar, kTestFeatureQux}, {});
 
     tracker_.reset(new FeatureEngagementTrackerImpl(
-        std::move(store), std::move(configuration), std::move(validator)));
+        std::move(store), std::move(configuration),
+        std::move(condition_validator), std::move(storage_validator)));
     // Ensure all initialization is finished.
     base::RunLoop().RunUntilIdle();
   }
diff --git a/components/feature_engagement_tracker/internal/model.h b/components/feature_engagement_tracker/internal/model.h
index 30110663..116ff42 100644
--- a/components/feature_engagement_tracker/internal/model.h
+++ b/components/feature_engagement_tracker/internal/model.h
@@ -10,7 +10,6 @@
 
 #include "base/callback.h"
 #include "base/macros.h"
-#include "components/feature_engagement_tracker/internal/configuration.h"
 
 namespace base {
 struct Feature;
@@ -18,6 +17,7 @@
 
 namespace feature_engagement_tracker {
 class Event;
+struct FeatureConfig;
 
 // A Model provides all necessary runtime state.
 class Model {
@@ -55,6 +55,9 @@
   // If the event has never happened before, the Event object will be created.
   virtual void IncrementEvent(const std::string& event_name) = 0;
 
+  // Returns the number of days since epoch (1970-01-01) in the local timezone.
+  virtual uint32_t GetCurrentDay() = 0;
+
  protected:
   Model() = default;
 
diff --git a/components/feature_engagement_tracker/internal/model_impl.cc b/components/feature_engagement_tracker/internal/model_impl.cc
index 26d6e21f..523b5c0 100644
--- a/components/feature_engagement_tracker/internal/model_impl.cc
+++ b/components/feature_engagement_tracker/internal/model_impl.cc
@@ -16,15 +16,18 @@
 #include "base/threading/thread_task_runner_handle.h"
 #include "components/feature_engagement_tracker/internal/configuration.h"
 #include "components/feature_engagement_tracker/internal/model.h"
+#include "components/feature_engagement_tracker/internal/storage_validator.h"
 #include "components/feature_engagement_tracker/internal/store.h"
 
 namespace feature_engagement_tracker {
 
 ModelImpl::ModelImpl(std::unique_ptr<Store> store,
-                     std::unique_ptr<Configuration> configuration)
+                     std::unique_ptr<Configuration> configuration,
+                     std::unique_ptr<StorageValidator> storage_validator)
     : Model(),
       store_(std::move(store)),
       configuration_(std::move(configuration)),
+      storage_validator_(std::move(storage_validator)),
       ready_(false),
       currently_showing_(false),
       weak_factory_(this) {}
@@ -61,6 +64,8 @@
   // TODO(nyquist): Add support for pending events, and also add UMA.
   DCHECK(ready_);
 
+  // TODO(nyquist): Use StorageValidator to check if the event should be stored.
+
   Event& event = GetNonConstEvent(event_name);
   uint32_t current_day = GetCurrentDay();
   for (int i = 0; i < event.events_size(); ++i) {
@@ -100,7 +105,7 @@
     events_[event.name()] = event;
   }
 
-  // TODO(nyquist): Clear expired data.
+  // TODO(nyquist): Use StorageValidator to only keep relevant event data.
 
   ready_ = true;
 
diff --git a/components/feature_engagement_tracker/internal/model_impl.h b/components/feature_engagement_tracker/internal/model_impl.h
index ff456e13..3ff2ec6 100644
--- a/components/feature_engagement_tracker/internal/model_impl.h
+++ b/components/feature_engagement_tracker/internal/model_impl.h
@@ -12,7 +12,6 @@
 
 #include "base/macros.h"
 #include "base/memory/weak_ptr.h"
-#include "components/feature_engagement_tracker/internal/configuration.h"
 #include "components/feature_engagement_tracker/internal/model.h"
 #include "components/feature_engagement_tracker/internal/proto/event.pb.h"
 
@@ -21,13 +20,16 @@
 }
 
 namespace feature_engagement_tracker {
+class Configuration;
+class StorageValidator;
 class Store;
 
 // A ModelImpl provides the default implementation of the Model.
 class ModelImpl : public Model {
  public:
   ModelImpl(std::unique_ptr<Store> store,
-            std::unique_ptr<Configuration> configuration);
+            std::unique_ptr<Configuration> configuration,
+            std::unique_ptr<StorageValidator> storage_validator);
   ~ModelImpl() override;
 
   // Model implementation.
@@ -39,11 +41,7 @@
   bool IsCurrentlyShowing() const override;
   const Event& GetEvent(const std::string& event_name) override;
   void IncrementEvent(const std::string& event_name) override;
-
- protected:
-  // Returns the number of days since epoch (1970-01-01) in the local timezone.
-  // Protected and virtual for testing.
-  virtual uint32_t GetCurrentDay();
+  uint32_t GetCurrentDay() override;
 
  private:
   // Callback for loading the underlying store.
@@ -61,6 +59,10 @@
   // The current configuration for all features.
   std::unique_ptr<Configuration> configuration_;
 
+  // A utility for checking whether new events should be stored and for whether
+  // old events should be kept.
+  std::unique_ptr<StorageValidator> storage_validator_;
+
   // An in-memory representation of all events.
   std::map<std::string, Event> events_;
 
diff --git a/components/feature_engagement_tracker/internal/model_impl_unittest.cc b/components/feature_engagement_tracker/internal/model_impl_unittest.cc
index 070b52d..7336635 100644
--- a/components/feature_engagement_tracker/internal/model_impl_unittest.cc
+++ b/components/feature_engagement_tracker/internal/model_impl_unittest.cc
@@ -16,6 +16,7 @@
 #include "base/test/scoped_feature_list.h"
 #include "components/feature_engagement_tracker/internal/editable_configuration.h"
 #include "components/feature_engagement_tracker/internal/in_memory_store.h"
+#include "components/feature_engagement_tracker/internal/never_storage_validator.h"
 #include "components/feature_engagement_tracker/internal/proto/event.pb.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
@@ -124,8 +125,11 @@
 class TestModelImpl : public ModelImpl {
  public:
   TestModelImpl(std::unique_ptr<Store> store,
-                std::unique_ptr<Configuration> configuration)
-      : ModelImpl(std::move(store), std::move(configuration)),
+                std::unique_ptr<Configuration> configuration,
+                std::unique_ptr<StorageValidator> storage_validator)
+      : ModelImpl(std::move(store),
+                  std::move(configuration),
+                  std::move(storage_validator)),
         current_day_(0) {}
   ~TestModelImpl() override {}
 
@@ -155,7 +159,8 @@
     std::unique_ptr<TestInMemoryStore> store = CreateStore();
     store_ = store.get();
 
-    model_.reset(new TestModelImpl(std::move(store), std::move(configuration)));
+    model_.reset(new TestModelImpl(std::move(store), std::move(configuration),
+                                   base::MakeUnique<NeverStorageValidator>()));
   }
 
   virtual std::unique_ptr<TestInMemoryStore> CreateStore() {
diff --git a/components/feature_engagement_tracker/internal/never_condition_validator.cc b/components/feature_engagement_tracker/internal/never_condition_validator.cc
index 317c66c0..5461831 100644
--- a/components/feature_engagement_tracker/internal/never_condition_validator.cc
+++ b/components/feature_engagement_tracker/internal/never_condition_validator.cc
@@ -4,8 +4,6 @@
 
 #include "components/feature_engagement_tracker/internal/never_condition_validator.h"
 
-#include "components/feature_engagement_tracker/internal/model.h"
-
 namespace feature_engagement_tracker {
 
 NeverConditionValidator::NeverConditionValidator() = default;
diff --git a/components/feature_engagement_tracker/internal/never_condition_validator.h b/components/feature_engagement_tracker/internal/never_condition_validator.h
index b9fca64..7f67212 100644
--- a/components/feature_engagement_tracker/internal/never_condition_validator.h
+++ b/components/feature_engagement_tracker/internal/never_condition_validator.h
@@ -5,17 +5,16 @@
 #ifndef COMPONENTS_FEATURE_ENGAGEMENT_TRACKER_INTERNAL_NEVER_CONDITION_VALIDATOR_H_
 #define COMPONENTS_FEATURE_ENGAGEMENT_TRACKER_INTERNAL_NEVER_CONDITION_VALIDATOR_H_
 
-#include <unordered_set>
-
 #include "base/macros.h"
 #include "components/feature_engagement_tracker/internal/condition_validator.h"
-#include "components/feature_engagement_tracker/internal/model.h"
+#include "components/feature_engagement_tracker/internal/feature_list.h"
 
 namespace base {
 struct Feature;
 }  // namespace base
 
 namespace feature_engagement_tracker {
+class Model;
 
 // An ConditionValidator that never acknowledges that a feature has met its
 // conditions.
diff --git a/components/feature_engagement_tracker/internal/never_condition_validator_unittest.cc b/components/feature_engagement_tracker/internal/never_condition_validator_unittest.cc
index bb437d7..cb25da97 100644
--- a/components/feature_engagement_tracker/internal/never_condition_validator_unittest.cc
+++ b/components/feature_engagement_tracker/internal/never_condition_validator_unittest.cc
@@ -4,9 +4,12 @@
 
 #include "components/feature_engagement_tracker/internal/never_condition_validator.h"
 
+#include <string>
+
 #include "base/feature_list.h"
 #include "base/metrics/field_trial.h"
 #include "base/test/scoped_feature_list.h"
+#include "components/feature_engagement_tracker/internal/configuration.h"
 #include "components/feature_engagement_tracker/internal/model.h"
 #include "components/feature_engagement_tracker/internal/proto/event.pb.h"
 #include "testing/gtest/include/gtest/gtest.h"
@@ -47,6 +50,8 @@
 
   void IncrementEvent(const std::string& event_name) override {}
 
+  uint32_t GetCurrentDay() override { return 0u; }
+
  private:
   FeatureConfig feature_config_;
   Event empty_event_;
diff --git a/components/feature_engagement_tracker/internal/never_storage_validator.cc b/components/feature_engagement_tracker/internal/never_storage_validator.cc
new file mode 100644
index 0000000..cae38a0
--- /dev/null
+++ b/components/feature_engagement_tracker/internal/never_storage_validator.cc
@@ -0,0 +1,23 @@
+// 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.
+
+#include "components/feature_engagement_tracker/internal/never_storage_validator.h"
+
+namespace feature_engagement_tracker {
+
+NeverStorageValidator::NeverStorageValidator() = default;
+
+NeverStorageValidator::~NeverStorageValidator() = default;
+
+bool NeverStorageValidator::ShouldStore(const std::string& event_name) {
+  return false;
+}
+
+bool NeverStorageValidator::ShouldKeep(const std::string& event_name,
+                                       uint32_t event_day,
+                                       uint32_t current_day) {
+  return false;
+}
+
+}  // namespace feature_engagement_tracker
diff --git a/components/feature_engagement_tracker/internal/never_storage_validator.h b/components/feature_engagement_tracker/internal/never_storage_validator.h
new file mode 100644
index 0000000..6dba3cc1
--- /dev/null
+++ b/components/feature_engagement_tracker/internal/never_storage_validator.h
@@ -0,0 +1,34 @@
+// 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.
+
+#ifndef COMPONENTS_FEATURE_ENGAGEMENT_TRACKER_INTERNAL_NEVER_STORAGE_VALIDATOR_H_
+#define COMPONENTS_FEATURE_ENGAGEMENT_TRACKER_INTERNAL_NEVER_STORAGE_VALIDATOR_H_
+
+#include <string>
+
+#include "base/macros.h"
+#include "components/feature_engagement_tracker/internal/storage_validator.h"
+
+namespace feature_engagement_tracker {
+
+// A StorageValidator that never acknowledges that an event should be kept or
+// stored.
+class NeverStorageValidator : public StorageValidator {
+ public:
+  NeverStorageValidator();
+  ~NeverStorageValidator() override;
+
+  // StorageValidator implementation.
+  bool ShouldStore(const std::string& event_name) override;
+  bool ShouldKeep(const std::string& event_name,
+                  uint32_t event_day,
+                  uint32_t current_day) override;
+
+ private:
+  DISALLOW_COPY_AND_ASSIGN(NeverStorageValidator);
+};
+
+}  // namespace feature_engagement_tracker
+
+#endif  // COMPONENTS_FEATURE_ENGAGEMENT_TRACKER_INTERNAL_NEVER_STORAGE_VALIDATOR_H_
diff --git a/components/feature_engagement_tracker/internal/never_storage_validator_unittest.cc b/components/feature_engagement_tracker/internal/never_storage_validator_unittest.cc
new file mode 100644
index 0000000..a2d7728
--- /dev/null
+++ b/components/feature_engagement_tracker/internal/never_storage_validator_unittest.cc
@@ -0,0 +1,36 @@
+// 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.
+
+#include "components/feature_engagement_tracker/internal/never_storage_validator.h"
+
+#include "testing/gtest/include/gtest/gtest.h"
+
+namespace feature_engagement_tracker {
+
+namespace {
+
+class NeverStorageValidatorTest : public ::testing::Test {
+ public:
+  NeverStorageValidatorTest() = default;
+
+ protected:
+  NeverStorageValidator validator_;
+
+ private:
+  DISALLOW_COPY_AND_ASSIGN(NeverStorageValidatorTest);
+};
+
+}  // namespace
+
+TEST_F(NeverStorageValidatorTest, ShouldNeverKeep) {
+  EXPECT_FALSE(validator_.ShouldStore("dummy event"));
+}
+
+TEST_F(NeverStorageValidatorTest, ShouldNeverStore) {
+  EXPECT_FALSE(validator_.ShouldKeep("dummy event", 99, 100));
+  EXPECT_FALSE(validator_.ShouldKeep("dummy event", 100, 100));
+  EXPECT_FALSE(validator_.ShouldKeep("dummy event", 101, 100));
+}
+
+}  // namespace feature_engagement_tracker
diff --git a/components/feature_engagement_tracker/internal/once_condition_validator.cc b/components/feature_engagement_tracker/internal/once_condition_validator.cc
index 1240766..6f582e39 100644
--- a/components/feature_engagement_tracker/internal/once_condition_validator.cc
+++ b/components/feature_engagement_tracker/internal/once_condition_validator.cc
@@ -4,7 +4,6 @@
 
 #include "components/feature_engagement_tracker/internal/once_condition_validator.h"
 
-#include "base/feature_list.h"
 #include "components/feature_engagement_tracker/internal/configuration.h"
 #include "components/feature_engagement_tracker/internal/model.h"
 
diff --git a/components/feature_engagement_tracker/internal/once_condition_validator.h b/components/feature_engagement_tracker/internal/once_condition_validator.h
index 83b265e..dfcb70e8 100644
--- a/components/feature_engagement_tracker/internal/once_condition_validator.h
+++ b/components/feature_engagement_tracker/internal/once_condition_validator.h
@@ -9,13 +9,14 @@
 
 #include "base/macros.h"
 #include "components/feature_engagement_tracker/internal/condition_validator.h"
-#include "components/feature_engagement_tracker/internal/model.h"
+#include "components/feature_engagement_tracker/internal/feature_list.h"
 
 namespace base {
 struct Feature;
 }  // namespace base
 
 namespace feature_engagement_tracker {
+class Model;
 
 // An ConditionValidator that will ensure that each base::Feature will meet
 // conditions maximum one time for any given session.
diff --git a/components/feature_engagement_tracker/internal/once_condition_validator_unittest.cc b/components/feature_engagement_tracker/internal/once_condition_validator_unittest.cc
index c8ee8c7..70ec07f6 100644
--- a/components/feature_engagement_tracker/internal/once_condition_validator_unittest.cc
+++ b/components/feature_engagement_tracker/internal/once_condition_validator_unittest.cc
@@ -53,6 +53,8 @@
 
   void IncrementEvent(const std::string& event_name) override {}
 
+  uint32_t GetCurrentDay() override { return 0u; }
+
  private:
   EditableConfiguration configuration_;
   Event empty_event_;
diff --git a/components/feature_engagement_tracker/internal/storage_validator.h b/components/feature_engagement_tracker/internal/storage_validator.h
new file mode 100644
index 0000000..a8ef94d
--- /dev/null
+++ b/components/feature_engagement_tracker/internal/storage_validator.h
@@ -0,0 +1,40 @@
+// 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.
+
+#ifndef COMPONENTS_FEATURE_ENGAGEMENT_TRACKER_INTERNAL_STORAGE_VALIDATOR_H_
+#define COMPONENTS_FEATURE_ENGAGEMENT_TRACKER_INTERNAL_STORAGE_VALIDATOR_H_
+
+#include <string>
+
+#include "base/macros.h"
+
+namespace feature_engagement_tracker {
+
+// A StorageValidator checks the required storage conditions for a given event,
+// and checks if all conditions are met for storing it.
+class StorageValidator {
+ public:
+  virtual ~StorageValidator() = default;
+
+  // Returns true iff new events of this type should be stored.
+  // This is typically called before storing each incoming event.
+  virtual bool ShouldStore(const std::string& event_name) = 0;
+
+  // Returns true iff events of this type should be kept for the given day.
+  // This is typically called during load of the internal database state, to
+  // possibly throw away old data.
+  virtual bool ShouldKeep(const std::string& event_name,
+                          uint32_t event_day,
+                          uint32_t current_day) = 0;
+
+ protected:
+  StorageValidator() = default;
+
+ private:
+  DISALLOW_COPY_AND_ASSIGN(StorageValidator);
+};
+
+}  // namespace feature_engagement_tracker
+
+#endif  // COMPONENTS_FEATURE_ENGAGEMENT_TRACKER_INTERNAL_STORAGE_VALIDATOR_H_
diff --git a/content/browser/android/render_widget_host_connector.cc b/content/browser/android/render_widget_host_connector.cc
index b0cd4de..7c3caaeb 100644
--- a/content/browser/android/render_widget_host_connector.cc
+++ b/content/browser/android/render_widget_host_connector.cc
@@ -19,7 +19,6 @@
   ~Observer() override;
 
   // WebContentsObserver implementation.
-  void RenderViewReady() override;
   void RenderViewHostChanged(RenderViewHost* old_host,
                              RenderViewHost* new_host) override;
   void DidAttachInterstitialPage() override;
@@ -55,10 +54,6 @@
   DCHECK(!active_rwhva_);
 }
 
-void RenderWidgetHostConnector::Observer::RenderViewReady() {
-  UpdateRenderWidgetHostView(GetRenderWidgetHostViewAndroid());
-}
-
 void RenderWidgetHostConnector::Observer::RenderViewHostChanged(
     RenderViewHost* old_host,
     RenderViewHost* new_host) {
diff --git a/content/browser/android/render_widget_host_connector_browsertest.cc b/content/browser/android/render_widget_host_connector_browsertest.cc
index bfa29e4..2856c7b 100644
--- a/content/browser/android/render_widget_host_connector_browsertest.cc
+++ b/content/browser/android/render_widget_host_connector_browsertest.cc
@@ -8,6 +8,7 @@
 #include "content/public/browser/interstitial_page_delegate.h"
 #include "content/public/test/browser_test_utils.h"
 #include "content/public/test/content_browser_test_utils.h"
+#include "content/test/content_browser_test_utils_internal.h"
 #include "net/dns/mock_host_resolver.h"
 #include "net/test/embedded_test_server/embedded_test_server.h"
 #include "url/gurl.h"
@@ -33,6 +34,26 @@
 }
 
 IN_PROC_BROWSER_TEST_F(RenderWidgetHostConnectorTest,
+                       RenderViewCreatedBeforeConnector) {
+  GURL main_url(embedded_test_server()->GetURL("/page_with_popup.html"));
+  EXPECT_TRUE(NavigateToURL(shell(), main_url));
+
+  // Navigate to the enclosed <iframe>.
+  FrameTreeNode* iframe = web_contents()->GetFrameTree()->root()->child_at(0);
+  GURL frame_url(embedded_test_server()->GetURL("/title1.html"));
+  NavigateFrameToURL(iframe, frame_url);
+
+  // Open a popup from the iframe. This creates a render widget host view
+  // view before the corresponding web contents. Tests if rwhva gets connected.
+  Shell* new_shell = OpenPopup(iframe, GURL(url::kAboutBlankURL), "");
+  EXPECT_TRUE(new_shell);
+
+  auto* rwhva_popup = static_cast<RenderWidgetHostViewAndroid*>(
+      new_shell->web_contents()->GetRenderWidgetHostView());
+  EXPECT_TRUE(connector_in_rwhva(rwhva_popup) != nullptr);
+}
+
+IN_PROC_BROWSER_TEST_F(RenderWidgetHostConnectorTest,
                        UpdateRWHVAInConnectorAtRenderViewHostSwapping) {
   net::EmbeddedTestServer https_server(net::EmbeddedTestServer::TYPE_HTTPS);
   https_server.ServeFilesFromSourceDirectory("content/test/data");
diff --git a/content/browser/appcache/appcache_host.cc b/content/browser/appcache/appcache_host.cc
index adcefe08..1c62678 100644
--- a/content/browser/appcache/appcache_host.cc
+++ b/content/browser/appcache/appcache_host.cc
@@ -5,6 +5,7 @@
 #include "content/browser/appcache/appcache_host.h"
 
 #include "base/logging.h"
+#include "base/memory/ptr_util.h"
 #include "base/strings/string_util.h"
 #include "base/strings/stringprintf.h"
 #include "content/browser/appcache/appcache.h"
@@ -310,7 +311,7 @@
   return backend ? backend->GetHost(parent_host_id_) : NULL;
 }
 
-AppCacheRequestHandler* AppCacheHost::CreateRequestHandler(
+std::unique_ptr<AppCacheRequestHandler> AppCacheHost::CreateRequestHandler(
     net::URLRequest* request,
     ResourceType resource_type,
     bool should_reset_appcache) {
@@ -326,14 +327,14 @@
     // Store the first party origin so that it can be used later in SelectCache
     // for checking whether the creation of the appcache is allowed.
     first_party_url_ = request->first_party_for_cookies();
-    return new AppCacheRequestHandler(
-        this, resource_type, should_reset_appcache);
+    return base::WrapUnique(
+        new AppCacheRequestHandler(this, resource_type, should_reset_appcache));
   }
 
   if ((associated_cache() && associated_cache()->is_complete()) ||
       is_selection_pending()) {
-    return new AppCacheRequestHandler(
-        this, resource_type, should_reset_appcache);
+    return base::WrapUnique(
+        new AppCacheRequestHandler(this, resource_type, should_reset_appcache));
   }
   return NULL;
 }
diff --git a/content/browser/appcache/appcache_host.h b/content/browser/appcache/appcache_host.h
index b872494..5a182815 100644
--- a/content/browser/appcache/appcache_host.h
+++ b/content/browser/appcache/appcache_host.h
@@ -7,6 +7,8 @@
 
 #include <stdint.h>
 
+#include <memory>
+
 #include "base/callback.h"
 #include "base/gtest_prod_util.h"
 #include "base/macros.h"
@@ -113,7 +115,7 @@
 
   // Support for loading resources out of the appcache.
   // May return NULL if the request isn't subject to retrieval from an appache.
-  AppCacheRequestHandler* CreateRequestHandler(
+  std::unique_ptr<AppCacheRequestHandler> CreateRequestHandler(
       net::URLRequest* request,
       ResourceType resource_type,
       bool should_reset_appcache);
diff --git a/content/browser/appcache/appcache_interceptor.cc b/content/browser/appcache/appcache_interceptor.cc
index 8b91609..7d73fa0 100644
--- a/content/browser/appcache/appcache_interceptor.cc
+++ b/content/browser/appcache/appcache_interceptor.cc
@@ -4,6 +4,8 @@
 
 #include "content/browser/appcache/appcache_interceptor.h"
 
+#include <utility>
+
 #include "base/debug/crash_logging.h"
 #include "content/browser/appcache/appcache_backend_impl.h"
 #include "content/browser/appcache/appcache_host.h"
@@ -21,9 +23,10 @@
 
 namespace content {
 
-void AppCacheInterceptor::SetHandler(net::URLRequest* request,
-                                     AppCacheRequestHandler* handler) {
-  request->SetUserData(&kHandlerKey, handler);  // request takes ownership
+void AppCacheInterceptor::SetHandler(
+    net::URLRequest* request,
+    std::unique_ptr<AppCacheRequestHandler> handler) {
+  request->SetUserData(&kHandlerKey, std::move(handler));
 }
 
 AppCacheRequestHandler* AppCacheInterceptor::GetHandler(
@@ -61,10 +64,10 @@
     ResourceType resource_type,
     bool should_reset_appcache) {
   // Create a handler for this request and associate it with the request.
-  AppCacheRequestHandler* handler =
+  std::unique_ptr<AppCacheRequestHandler> handler =
       host->CreateRequestHandler(request, resource_type, should_reset_appcache);
   if (handler)
-    SetHandler(request, handler);
+    SetHandler(request, std::move(handler));
 }
 
 void AppCacheInterceptor::GetExtraResponseInfo(net::URLRequest* request,
diff --git a/content/browser/appcache/appcache_interceptor.h b/content/browser/appcache/appcache_interceptor.h
index a650add..7f802d1 100644
--- a/content/browser/appcache/appcache_interceptor.h
+++ b/content/browser/appcache/appcache_interceptor.h
@@ -7,6 +7,8 @@
 
 #include <stdint.h>
 
+#include <memory>
+
 #include "base/macros.h"
 #include "content/common/content_export.h"
 #include "content/public/common/resource_type.h"
@@ -78,7 +80,7 @@
 
  private:
   static void SetHandler(net::URLRequest* request,
-                         AppCacheRequestHandler* handler);
+                         std::unique_ptr<AppCacheRequestHandler> handler);
   static AppCacheRequestHandler* GetHandler(net::URLRequest* request);
 
   DISALLOW_COPY_AND_ASSIGN(AppCacheInterceptor);
diff --git a/content/browser/appcache/appcache_request_handler_unittest.cc b/content/browser/appcache/appcache_request_handler_unittest.cc
index 4a142c4..4e164aab 100644
--- a/content/browser/appcache/appcache_request_handler_unittest.cc
+++ b/content/browser/appcache/appcache_request_handler_unittest.cc
@@ -271,9 +271,8 @@
 
     request_ = empty_context_->CreateRequest(GURL("http://blah/"),
                                              net::DEFAULT_PRIORITY, &delegate_);
-    handler_.reset(host_->CreateRequestHandler(request_.get(),
-                                               RESOURCE_TYPE_MAIN_FRAME,
-                                               false));
+    handler_ = host_->CreateRequestHandler(request_.get(),
+                                           RESOURCE_TYPE_MAIN_FRAME, false);
     EXPECT_TRUE(handler_.get());
 
     job_.reset(handler_->MaybeLoadResource(
@@ -319,9 +318,8 @@
 
     request_ = empty_context_->CreateRequest(GURL("http://blah/"),
                                              net::DEFAULT_PRIORITY, &delegate_);
-    handler_.reset(host_->CreateRequestHandler(request_.get(),
-                                               RESOURCE_TYPE_MAIN_FRAME,
-                                               false));
+    handler_ = host_->CreateRequestHandler(request_.get(),
+                                           RESOURCE_TYPE_MAIN_FRAME, false);
     EXPECT_TRUE(handler_.get());
 
     mock_storage()->SimulateFindMainResource(
@@ -369,9 +367,8 @@
 
     request_ = empty_context_->CreateRequest(GURL("http://blah/"),
                                              net::DEFAULT_PRIORITY, &delegate_);
-    handler_.reset(host_->CreateRequestHandler(request_.get(),
-                                               RESOURCE_TYPE_MAIN_FRAME,
-                                               false));
+    handler_ = host_->CreateRequestHandler(request_.get(),
+                                           RESOURCE_TYPE_MAIN_FRAME, false);
     EXPECT_TRUE(handler_.get());
 
     mock_storage()->SimulateFindMainResource(
@@ -457,9 +454,8 @@
     request_ =
         empty_context_->CreateRequest(GURL("http://blah/fallback-override"),
                                       net::DEFAULT_PRIORITY, &delegate_);
-    handler_.reset(host_->CreateRequestHandler(request_.get(),
-                                               RESOURCE_TYPE_MAIN_FRAME,
-                                               false));
+    handler_ = host_->CreateRequestHandler(request_.get(),
+                                           RESOURCE_TYPE_MAIN_FRAME, false);
     EXPECT_TRUE(handler_.get());
 
     mock_storage()->SimulateFindMainResource(
@@ -522,9 +518,8 @@
   void SubResource_Miss_WithNoCacheSelected() {
     request_ = empty_context_->CreateRequest(GURL("http://blah/"),
                                              net::DEFAULT_PRIORITY, &delegate_);
-    handler_.reset(host_->CreateRequestHandler(request_.get(),
-                                               RESOURCE_TYPE_SUB_RESOURCE,
-                                               false));
+    handler_ = host_->CreateRequestHandler(request_.get(),
+                                           RESOURCE_TYPE_SUB_RESOURCE, false);
 
     // We avoid creating handler when possible, sub-resource requests are not
     // subject to retrieval from an appcache when there's no associated cache.
@@ -542,9 +537,8 @@
 
     request_ = empty_context_->CreateRequest(GURL("http://blah/"),
                                              net::DEFAULT_PRIORITY, &delegate_);
-    handler_.reset(host_->CreateRequestHandler(request_.get(),
-                                               RESOURCE_TYPE_SUB_RESOURCE,
-                                               false));
+    handler_ = host_->CreateRequestHandler(request_.get(),
+                                           RESOURCE_TYPE_SUB_RESOURCE, false);
     EXPECT_TRUE(handler_.get());
 
     job_.reset(handler_->MaybeLoadResource(
@@ -574,9 +568,8 @@
 
     request_ = empty_context_->CreateRequest(GURL("http://blah/"),
                                              net::DEFAULT_PRIORITY, &delegate_);
-    handler_.reset(host_->CreateRequestHandler(request_.get(),
-                                               RESOURCE_TYPE_SUB_RESOURCE,
-                                               false));
+    handler_ = host_->CreateRequestHandler(request_.get(),
+                                           RESOURCE_TYPE_SUB_RESOURCE, false);
     EXPECT_TRUE(handler_.get());
     job_.reset(handler_->MaybeLoadResource(
         request_.get(), request_->context()->network_delegate()));
@@ -609,9 +602,8 @@
 
     request_ = empty_context_->CreateRequest(GURL("http://blah/"),
                                              net::DEFAULT_PRIORITY, &delegate_);
-    handler_.reset(host_->CreateRequestHandler(request_.get(),
-                                               RESOURCE_TYPE_SUB_RESOURCE,
-                                               false));
+    handler_ = host_->CreateRequestHandler(request_.get(),
+                                           RESOURCE_TYPE_SUB_RESOURCE, false);
     EXPECT_TRUE(handler_.get());
     job_.reset(handler_->MaybeLoadResource(
         request_.get(), request_->context()->network_delegate()));
@@ -642,9 +634,8 @@
 
     request_ = empty_context_->CreateRequest(GURL("http://blah/"),
                                              net::DEFAULT_PRIORITY, &delegate_);
-    handler_.reset(host_->CreateRequestHandler(request_.get(),
-                                               RESOURCE_TYPE_SUB_RESOURCE,
-                                               false));
+    handler_ = host_->CreateRequestHandler(request_.get(),
+                                           RESOURCE_TYPE_SUB_RESOURCE, false);
     EXPECT_TRUE(handler_.get());
     job_.reset(handler_->MaybeLoadResource(
         request_.get(), request_->context()->network_delegate()));
@@ -676,9 +667,8 @@
 
     request_ = empty_context_->CreateRequest(GURL("http://blah/"),
                                              net::DEFAULT_PRIORITY, &delegate_);
-    handler_.reset(host_->CreateRequestHandler(request_.get(),
-                                               RESOURCE_TYPE_SUB_RESOURCE,
-                                               false));
+    handler_ = host_->CreateRequestHandler(request_.get(),
+                                           RESOURCE_TYPE_SUB_RESOURCE, false);
     EXPECT_TRUE(handler_.get());
     job_.reset(handler_->MaybeLoadResource(
         request_.get(), request_->context()->network_delegate()));
@@ -711,9 +701,8 @@
 
     request_ = empty_context_->CreateRequest(GURL("http://blah/"),
                                              net::DEFAULT_PRIORITY, &delegate_);
-    handler_.reset(host_->CreateRequestHandler(request_.get(),
-                                               RESOURCE_TYPE_SUB_RESOURCE,
-                                               false));
+    handler_ = host_->CreateRequestHandler(request_.get(),
+                                           RESOURCE_TYPE_SUB_RESOURCE, false);
     EXPECT_TRUE(handler_.get());
     job_.reset(handler_->MaybeLoadResource(
         request_.get(), request_->context()->network_delegate()));
@@ -741,9 +730,8 @@
 
     request_ = empty_context_->CreateRequest(GURL("http://blah/"),
                                              net::DEFAULT_PRIORITY, &delegate_);
-    handler_.reset(host_->CreateRequestHandler(request_.get(),
-                                               RESOURCE_TYPE_SUB_RESOURCE,
-                                               false));
+    handler_ = host_->CreateRequestHandler(request_.get(),
+                                           RESOURCE_TYPE_SUB_RESOURCE, false);
     EXPECT_TRUE(handler_.get());
 
     backend_impl_->UnregisterHost(1);
@@ -769,9 +757,8 @@
 
     request_ = empty_context_->CreateRequest(GURL("http://blah/"),
                                              net::DEFAULT_PRIORITY, &delegate_);
-    handler_.reset(host_->CreateRequestHandler(request_.get(),
-                                               RESOURCE_TYPE_SUB_RESOURCE,
-                                               false));
+    handler_ = host_->CreateRequestHandler(request_.get(),
+                                           RESOURCE_TYPE_SUB_RESOURCE, false);
     EXPECT_TRUE(handler_.get());
 
     job_.reset(handler_->MaybeLoadResource(
@@ -805,9 +792,8 @@
 
     request_ = empty_context_->CreateRequest(GURL("http://blah/"),
                                              net::DEFAULT_PRIORITY, &delegate_);
-    handler_.reset(host_->CreateRequestHandler(request_.get(),
-                                               RESOURCE_TYPE_SUB_RESOURCE,
-                                               false));
+    handler_ = host_->CreateRequestHandler(request_.get(),
+                                           RESOURCE_TYPE_SUB_RESOURCE, false);
     EXPECT_TRUE(handler_.get());
     job_.reset(handler_->MaybeLoadResource(
         request_.get(), request_->context()->network_delegate()));
@@ -835,9 +821,8 @@
   void DestroyedServiceWithCrossSiteNav() {
     request_ = empty_context_->CreateRequest(GURL("http://blah/"),
                                              net::DEFAULT_PRIORITY, &delegate_);
-    handler_.reset(host_->CreateRequestHandler(request_.get(),
-                                               RESOURCE_TYPE_MAIN_FRAME,
-                                               false));
+    handler_ = host_->CreateRequestHandler(request_.get(),
+                                           RESOURCE_TYPE_MAIN_FRAME, false);
     EXPECT_TRUE(handler_.get());
     handler_->PrepareForCrossSiteTransfer(backend_impl_->process_id());
     EXPECT_TRUE(handler_->host_for_cross_site_transfer_.get());
@@ -869,9 +854,8 @@
 
     request_ = empty_context_->CreateRequest(GURL("ftp://blah/"),
                                              net::DEFAULT_PRIORITY, &delegate_);
-    handler_.reset(host_->CreateRequestHandler(request_.get(),
-                                               RESOURCE_TYPE_SUB_RESOURCE,
-                                               false));
+    handler_ = host_->CreateRequestHandler(request_.get(),
+                                           RESOURCE_TYPE_SUB_RESOURCE, false);
     EXPECT_TRUE(handler_.get());  // we could redirect to http (conceivably)
 
     EXPECT_FALSE(handler_->MaybeLoadResource(
@@ -891,9 +875,8 @@
   void CanceledRequest() {
     request_ = empty_context_->CreateRequest(GURL("http://blah/"),
                                              net::DEFAULT_PRIORITY, &delegate_);
-    handler_.reset(host_->CreateRequestHandler(request_.get(),
-                                               RESOURCE_TYPE_MAIN_FRAME,
-                                               false));
+    handler_ = host_->CreateRequestHandler(request_.get(),
+                                           RESOURCE_TYPE_MAIN_FRAME, false);
     EXPECT_TRUE(handler_.get());
 
     job_.reset(handler_->MaybeLoadResource(
@@ -941,8 +924,8 @@
     backend_impl_->RegisterHost(kWorkerHostId);
     AppCacheHost* worker_host = backend_impl_->GetHost(kWorkerHostId);
     worker_host->SelectCacheForWorker(kParentHostId, kMockProcessId);
-    handler_.reset(worker_host->CreateRequestHandler(
-        request_.get(), RESOURCE_TYPE_SHARED_WORKER, false));
+    handler_ = worker_host->CreateRequestHandler(
+        request_.get(), RESOURCE_TYPE_SHARED_WORKER, false);
     EXPECT_TRUE(handler_.get());
     // Verify that the handler is associated with the parent host.
     EXPECT_EQ(host_, handler_->host_);
@@ -954,8 +937,8 @@
     worker_host = backend_impl_->GetHost(kAbandonedWorkerHostId);
     EXPECT_EQ(NULL, backend_impl_->GetHost(kNonExsitingHostId));
     worker_host->SelectCacheForWorker(kNonExsitingHostId, kMockProcessId);
-    handler_.reset(worker_host->CreateRequestHandler(
-        request_.get(), RESOURCE_TYPE_SHARED_WORKER, false));
+    handler_ = worker_host->CreateRequestHandler(
+        request_.get(), RESOURCE_TYPE_SHARED_WORKER, false);
     EXPECT_FALSE(handler_.get());
 
     TestFinished();
@@ -970,9 +953,8 @@
 
     request_ = empty_context_->CreateRequest(GURL("http://blah/"),
                                              net::DEFAULT_PRIORITY, &delegate_);
-    handler_.reset(host_->CreateRequestHandler(request_.get(),
-                                               RESOURCE_TYPE_MAIN_FRAME,
-                                               false));
+    handler_ = host_->CreateRequestHandler(request_.get(),
+                                           RESOURCE_TYPE_MAIN_FRAME, false);
     EXPECT_TRUE(handler_.get());
 
     mock_policy_->can_load_return_value_ = false;
diff --git a/content/browser/background_fetch/background_fetch_test_base.cc b/content/browser/background_fetch/background_fetch_test_base.cc
index 2463393c..9314f19 100644
--- a/content/browser/background_fetch/background_fetch_test_base.cc
+++ b/content/browser/background_fetch/background_fetch_test_base.cc
@@ -14,6 +14,7 @@
 #include "base/files/scoped_temp_dir.h"
 #include "base/guid.h"
 #include "base/logging.h"
+#include "base/memory/ptr_util.h"
 #include "base/memory/weak_ptr.h"
 #include "base/run_loop.h"
 #include "base/time/time.h"
@@ -213,8 +214,8 @@
 
   // The |download_manager_| ownership is given to the BrowserContext, and the
   // BrowserContext will take care of deallocating it.
-  BrowserContext::SetDownloadManagerForTesting(browser_context(),
-                                               download_manager_);
+  BrowserContext::SetDownloadManagerForTesting(
+      browser_context(), base::WrapUnique(download_manager_));
 
   set_up_called_ = true;
 }
diff --git a/content/browser/blob_storage/chrome_blob_storage_context.cc b/content/browser/blob_storage/chrome_blob_storage_context.cc
index 38bfcc7..935ffe3 100644
--- a/content/browser/blob_storage/chrome_blob_storage_context.cc
+++ b/content/browser/blob_storage/chrome_blob_storage_context.cc
@@ -11,6 +11,7 @@
 #include "base/files/file_enumerator.h"
 #include "base/files/file_util.h"
 #include "base/guid.h"
+#include "base/memory/ptr_util.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/single_thread_task_runner.h"
 #include "base/task_runner.h"
@@ -82,7 +83,8 @@
         new ChromeBlobStorageContext();
     context->SetUserData(
         kBlobStorageContextKeyName,
-        new UserDataAdapter<ChromeBlobStorageContext>(blob.get()));
+        base::MakeUnique<UserDataAdapter<ChromeBlobStorageContext>>(
+            blob.get()));
 
     // Check first to avoid memory leak in unittests.
     bool io_thread_valid = BrowserThread::IsMessageLoopValid(BrowserThread::IO);
diff --git a/content/browser/browser_context.cc b/content/browser/browser_context.cc
index c5410b5..db0260b 100644
--- a/content/browser/browser_context.cc
+++ b/content/browser/browser_context.cc
@@ -6,6 +6,7 @@
 
 #include <stddef.h>
 #include <stdint.h>
+
 #include <algorithm>
 #include <limits>
 #include <memory>
@@ -18,6 +19,7 @@
 #include "base/lazy_instance.h"
 #include "base/logging.h"
 #include "base/macros.h"
+#include "base/memory/ptr_util.h"
 #include "base/rand_util.h"
 #include "base/threading/thread_task_runner_handle.h"
 #include "build/build_config.h"
@@ -99,8 +101,11 @@
       static_cast<StoragePartitionImplMap*>(
           browser_context->GetUserData(kStoragePartitionMapKeyName));
   if (!partition_map) {
-    partition_map = new StoragePartitionImplMap(browser_context);
-    browser_context->SetUserData(kStoragePartitionMapKeyName, partition_map);
+    auto partition_map_owned =
+        base::MakeUnique<StoragePartitionImplMap>(browser_context);
+    partition_map = partition_map_owned.get();
+    browser_context->SetUserData(kStoragePartitionMapKeyName,
+                                 std::move(partition_map_owned));
   }
   return partition_map;
 }
@@ -141,11 +146,12 @@
   wrapper->process_manager()->Shutdown();
 }
 
-void SetDownloadManager(BrowserContext* context,
-                        content::DownloadManager* download_manager) {
+void SetDownloadManager(
+    BrowserContext* context,
+    std::unique_ptr<content::DownloadManager> download_manager) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
   DCHECK(download_manager);
-  context->SetUserData(kDownloadManagerKeyName, download_manager);
+  context->SetUserData(kDownloadManagerKeyName, std::move(download_manager));
 }
 
 class BrowserContextServiceManagerConnectionHolder
@@ -196,7 +202,7 @@
         new DownloadManagerImpl(
             GetContentClient()->browser()->GetNetLog(), context);
 
-    SetDownloadManager(context, download_manager);
+    SetDownloadManager(context, base::WrapUnique(download_manager));
     download_manager->SetDelegate(context->GetDownloadManagerDelegate());
   }
 
@@ -394,8 +400,8 @@
 
 void BrowserContext::SetDownloadManagerForTesting(
     BrowserContext* browser_context,
-    DownloadManager* download_manager) {
-  SetDownloadManager(browser_context, download_manager);
+    std::unique_ptr<content::DownloadManager> download_manager) {
+  SetDownloadManager(browser_context, std::move(download_manager));
 }
 
 // static
@@ -420,10 +426,10 @@
   RemoveBrowserContextFromUserIdMap(browser_context);
   g_user_id_to_context.Get()[new_id] = browser_context;
   browser_context->SetUserData(kServiceUserId,
-                               new ServiceUserIdHolder(new_id));
+                               base::MakeUnique<ServiceUserIdHolder>(new_id));
 
-  browser_context->SetUserData(kMojoWasInitialized,
-                               new base::SupportsUserData::Data);
+  browser_context->SetUserData(
+      kMojoWasInitialized, base::MakeUnique<base::SupportsUserData::Data>());
 
   ServiceManagerConnection* service_manager_connection =
       ServiceManagerConnection::GetForProcess();
@@ -444,7 +450,8 @@
     BrowserContextServiceManagerConnectionHolder* connection_holder =
         new BrowserContextServiceManagerConnectionHolder(
             std::move(service_request));
-    browser_context->SetUserData(kServiceManagerConnection, connection_holder);
+    browser_context->SetUserData(kServiceManagerConnection,
+                                 base::WrapUnique(connection_holder));
 
     ServiceManagerConnection* connection =
         connection_holder->service_manager_connection();
diff --git a/content/browser/download/download_request_core.cc b/content/browser/download/download_request_core.cc
index 7e8d102d..b3c57627 100644
--- a/content/browser/download/download_request_core.cc
+++ b/content/browser/download/download_request_core.cc
@@ -83,13 +83,13 @@
 void DownloadRequestData::Attach(net::URLRequest* request,
                                  DownloadUrlParameters* parameters,
                                  uint32_t download_id) {
-  DownloadRequestData* request_data = new DownloadRequestData;
+  auto request_data = base::MakeUnique<DownloadRequestData>();
   request_data->save_info_.reset(
       new DownloadSaveInfo(parameters->GetSaveInfo()));
   request_data->download_id_ = download_id;
   request_data->transient_ = parameters->is_transient();
   request_data->on_started_callback_ = parameters->callback();
-  request->SetUserData(&kKey, request_data);
+  request->SetUserData(&kKey, std::move(request_data));
 }
 
 // static
diff --git a/content/browser/fileapi/browser_file_system_helper.cc b/content/browser/fileapi/browser_file_system_helper.cc
index d51abec..c74b516 100644
--- a/content/browser/fileapi/browser_file_system_helper.cc
+++ b/content/browser/fileapi/browser_file_system_helper.cc
@@ -12,20 +12,28 @@
 #include "base/command_line.h"
 #include "base/files/file_path.h"
 #include "base/sequenced_task_runner.h"
+#include "base/strings/utf_string_conversions.h"
 #include "base/threading/sequenced_worker_pool.h"
 #include "content/browser/child_process_security_policy_impl.h"
 #include "content/public/browser/browser_context.h"
 #include "content/public/browser/browser_thread.h"
+#include "content/public/browser/child_process_security_policy.h"
 #include "content/public/browser/content_browser_client.h"
 #include "content/public/common/content_client.h"
 #include "content/public/common/content_switches.h"
+#include "content/public/common/drop_data.h"
+#include "content/public/common/url_constants.h"
+#include "net/base/filename_util.h"
 #include "storage/browser/fileapi/external_mount_points.h"
 #include "storage/browser/fileapi/file_permission_policy.h"
 #include "storage/browser/fileapi/file_system_backend.h"
 #include "storage/browser/fileapi/file_system_context.h"
 #include "storage/browser/fileapi/file_system_operation_runner.h"
 #include "storage/browser/fileapi/file_system_options.h"
+#include "storage/browser/fileapi/file_system_url.h"
+#include "storage/browser/fileapi/isolated_context.h"
 #include "storage/browser/quota/quota_manager.h"
+#include "url/gurl.h"
 #include "url/url_constants.h"
 
 namespace content {
@@ -132,4 +140,84 @@
     policy->GrantReadFile(process_id, *platform_path);
 }
 
+void PrepareDropDataForChildProcess(
+    DropData* drop_data,
+    ChildProcessSecurityPolicyImpl* security_policy,
+    int child_id,
+    const storage::FileSystemContext* file_system_context) {
+#if defined(OS_CHROMEOS)
+  // The externalfile:// scheme is used in Chrome OS to open external files in a
+  // browser tab.
+  if (drop_data->url.SchemeIs(content::kExternalFileScheme))
+    security_policy->GrantRequestURL(child_id, drop_data->url);
+#endif
+
+  // The filenames vector represents a capability to access the given files.
+  storage::IsolatedContext::FileInfoSet files;
+  for (auto& filename : drop_data->filenames) {
+    // Make sure we have the same display_name as the one we register.
+    if (filename.display_name.empty()) {
+      std::string name;
+      files.AddPath(filename.path, &name);
+      filename.display_name = base::FilePath::FromUTF8Unsafe(name);
+    } else {
+      files.AddPathWithName(filename.path,
+                            filename.display_name.AsUTF8Unsafe());
+    }
+    // A dragged file may wind up as the value of an input element, or it
+    // may be used as the target of a navigation instead.  We don't know
+    // which will happen at this point, so generously grant both access
+    // and request permissions to the specific file to cover both cases.
+    // We do not give it the permission to request all file:// URLs.
+    security_policy->GrantRequestSpecificFileURL(
+        child_id, net::FilePathToFileURL(filename.path));
+
+    // If the renderer already has permission to read these paths, we don't need
+    // to re-grant them. This prevents problems with DnD for files in the CrOS
+    // file manager--the file manager already had read/write access to those
+    // directories, but dragging a file would cause the read/write access to be
+    // overwritten with read-only access, making them impossible to delete or
+    // rename until the renderer was killed.
+    if (!security_policy->CanReadFile(child_id, filename.path))
+      security_policy->GrantReadFile(child_id, filename.path);
+  }
+
+  storage::IsolatedContext* isolated_context =
+      storage::IsolatedContext::GetInstance();
+  DCHECK(isolated_context);
+
+  if (!files.fileset().empty()) {
+    std::string filesystem_id =
+        isolated_context->RegisterDraggedFileSystem(files);
+    if (!filesystem_id.empty()) {
+      // Grant the permission iff the ID is valid.
+      security_policy->GrantReadFileSystem(child_id, filesystem_id);
+    }
+    drop_data->filesystem_id = base::UTF8ToUTF16(filesystem_id);
+  }
+
+  for (auto& file_system_file : drop_data->file_system_files) {
+    storage::FileSystemURL file_system_url =
+        file_system_context->CrackURL(file_system_file.url);
+
+    std::string register_name;
+    std::string filesystem_id = isolated_context->RegisterFileSystemForPath(
+        file_system_url.type(), file_system_url.filesystem_id(),
+        file_system_url.path(), &register_name);
+
+    if (!filesystem_id.empty()) {
+      // Grant the permission iff the ID is valid.
+      security_policy->GrantReadFileSystem(child_id, filesystem_id);
+    }
+
+    // Note: We are using the origin URL provided by the sender here. It may be
+    // different from the receiver's.
+    file_system_file.url =
+        GURL(storage::GetIsolatedFileSystemRootURIString(
+                 file_system_url.origin(), filesystem_id, std::string())
+                 .append(register_name));
+    file_system_file.filesystem_id = filesystem_id;
+  }
+}
+
 }  // namespace content
diff --git a/content/browser/fileapi/browser_file_system_helper.h b/content/browser/fileapi/browser_file_system_helper.h
index c5702e7..b9679f9 100644
--- a/content/browser/fileapi/browser_file_system_helper.h
+++ b/content/browser/fileapi/browser_file_system_helper.h
@@ -17,6 +17,8 @@
 namespace content {
 
 class BrowserContext;
+class ChildProcessSecurityPolicyImpl;
+struct DropData;
 
 // Helper method that returns FileSystemContext constructed for
 // the browser process.
@@ -36,6 +38,24 @@
                                         int process_id,
                                         const GURL& path,
                                         base::FilePath* platform_path);
+
+// Make it possible for a |drop_data|'s resources to be read by |child_id|'s
+// process -- by granting permissions, rewriting |drop_data|, or both.
+//
+// |drop_data| can include references to local files and filesystem files that
+// were accessible to the child process that is the source of the drag and drop,
+// but might not (yet) be accessible to the child process that is the target of
+// the drop.  PrepareDropDataForChildProcess makes sure that |child_id| has
+// access to files referred to by |drop_data| - this method will 1) mutate
+// |drop_data| as needed (e.g. to refer to files in a new isolated filesystem,
+// rather than the original filesystem files) and 2) use |security_policy| to
+// grant |child_id| appropriate file access.
+CONTENT_EXPORT void PrepareDropDataForChildProcess(
+    DropData* drop_data,
+    ChildProcessSecurityPolicyImpl* security_policy,
+    int child_id,
+    const storage::FileSystemContext* file_system_context);
+
 }  // namespace content
 
 #endif  // CONTENT_BROWSER_FILEAPI_BROWSER_FILE_SYSTEM_HELPER_H_
diff --git a/content/browser/fileapi/browser_file_system_helper_unittest.cc b/content/browser/fileapi/browser_file_system_helper_unittest.cc
new file mode 100644
index 0000000..a0d710a0
--- /dev/null
+++ b/content/browser/fileapi/browser_file_system_helper_unittest.cc
@@ -0,0 +1,187 @@
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include <memory>
+#include <string>
+#include <vector>
+
+#include "base/files/file_path.h"
+#include "base/files/scoped_temp_dir.h"
+#include "base/test/null_task_runner.h"
+#include "content/browser/child_process_security_policy_impl.h"
+#include "content/browser/fileapi/browser_file_system_helper.h"
+#include "content/public/common/drop_data.h"
+#include "net/base/filename_util.h"
+#include "storage/browser/fileapi/external_mount_points.h"
+#include "storage/browser/fileapi/file_system_options.h"
+#include "storage/browser/fileapi/file_system_url.h"
+#include "storage/browser/fileapi/isolated_context.h"
+#include "storage/common/fileapi/file_system_types.h"
+#include "testing/gtest/include/gtest/gtest.h"
+#include "url/gurl.h"
+#include "url/origin.h"
+
+namespace content {
+namespace {
+
+const int kRendererID = 42;
+
+}  // namespace
+
+TEST(BrowserFileSystemHelperTest,
+     PrepareDropDataForChildProcess_FileSystemFiles) {
+  base::ScopedTempDir temp_dir;
+  ASSERT_TRUE(temp_dir.CreateUniqueTempDir());
+
+  ChildProcessSecurityPolicyImpl* p =
+      ChildProcessSecurityPolicyImpl::GetInstance();
+  p->Add(kRendererID);
+
+  // Prepare |original_file| FileSystemURL that comes from a |sensitive_origin|.
+  // This attempts to simulate for unit testing the drive URL from
+  // https://crbug.com/705295#c23.
+  const GURL kSensitiveOrigin("chrome://hhaomjibdihmijegdhdafkllkbggdgoj/");
+  const char kMountName[] = "drive-testuser%40gmail.com-hash";
+  const base::FilePath kTestPath(FILE_PATH_LITERAL("root/dir/testfile.jpg"));
+  base::FilePath mount_path = temp_dir.GetPath().AppendASCII(kMountName);
+  scoped_refptr<storage::ExternalMountPoints> external_mount_points =
+      storage::ExternalMountPoints::CreateRefCounted();
+  EXPECT_TRUE(external_mount_points->RegisterFileSystem(
+      kMountName, storage::FileSystemType::kFileSystemTypeTest,
+      storage::FileSystemMountOption(), mount_path));
+  storage::FileSystemURL original_file =
+      external_mount_points->CreateExternalFileSystemURL(kSensitiveOrigin,
+                                                         kMountName, kTestPath);
+  EXPECT_TRUE(original_file.is_valid());
+  EXPECT_EQ(kSensitiveOrigin, original_file.origin());
+
+  // Prepare fake FileSystemContext to use in the test.
+  scoped_refptr<base::SingleThreadTaskRunner> io_task_runner(
+      new base::NullTaskRunner);
+  scoped_refptr<base::SequencedTaskRunner> file_task_runner(
+      new base::NullTaskRunner);
+  storage::FileSystemOptions file_system_options(
+      storage::FileSystemOptions::PROFILE_MODE_NORMAL,
+      std::vector<std::string>(), nullptr);
+  scoped_refptr<storage::FileSystemContext> test_file_system_context(
+      new storage::FileSystemContext(
+          io_task_runner.get(), file_task_runner.get(),
+          external_mount_points.get(),
+          nullptr,  // special_storage_policy
+          nullptr,  // quota_manager_proxy,
+          std::vector<std::unique_ptr<storage::FileSystemBackend>>(),
+          std::vector<storage::URLRequestAutoMountHandler>(),
+          base::FilePath(),  // partition_path
+          file_system_options));
+
+  // Prepare content::DropData containing |file_system_url|.
+  DropData::FileSystemFileInfo filesystem_file_info;
+  filesystem_file_info.url = original_file.ToGURL();
+  filesystem_file_info.size = 123;
+  filesystem_file_info.filesystem_id = original_file.filesystem_id();
+  DropData drop_data;
+  drop_data.file_system_files.push_back(filesystem_file_info);
+
+  // Verify that initially no access is be granted to the |kSensitiveOrigin|.
+  EXPECT_FALSE(p->CanCommitURL(kRendererID, kSensitiveOrigin));
+
+  // Verify that initially no access is granted to the |original_file|.
+  EXPECT_FALSE(p->CanReadFileSystemFile(kRendererID, original_file));
+  EXPECT_FALSE(p->CanWriteFileSystemFile(kRendererID, original_file));
+  EXPECT_FALSE(p->CanCreateFileSystemFile(kRendererID, original_file));
+  EXPECT_FALSE(p->CanCopyIntoFileSystemFile(kRendererID, original_file));
+  EXPECT_FALSE(p->CanDeleteFileSystemFile(kRendererID, original_file));
+
+  // Invoke the API under test to grant access to |drop_data|.
+  PrepareDropDataForChildProcess(&drop_data, p, kRendererID,
+                                 test_file_system_context.get());
+
+  // Verify that |drop_data| is mostly unchanged.
+  EXPECT_EQ(0u, drop_data.filenames.size());
+  EXPECT_EQ(1u, drop_data.file_system_files.size());
+  EXPECT_EQ(123, drop_data.file_system_files[0].size);
+  // It is okay if |drop_data.file_system_files[0].url| and
+  // |drop_data.file_system_files[0].filesystem_id| change (to aid in enforcing
+  // proper access patterns that are verified below).
+
+  // Verify that the URL didn't change *too* much.
+  storage::FileSystemURL dropped_file =
+      test_file_system_context->CrackURL(drop_data.file_system_files[0].url);
+  EXPECT_TRUE(dropped_file.is_valid());
+  EXPECT_EQ(original_file.origin(), dropped_file.origin());
+  EXPECT_EQ(original_file.path().BaseName(), dropped_file.path().BaseName());
+
+  // Verify that there is still no access to |kSensitiveOrigin|.
+  EXPECT_FALSE(p->CanCommitURL(kRendererID, kSensitiveOrigin));
+
+  // Verify that there is still no access to |original_file|.
+  EXPECT_FALSE(p->CanReadFileSystemFile(kRendererID, original_file));
+  EXPECT_FALSE(p->CanWriteFileSystemFile(kRendererID, original_file));
+  EXPECT_FALSE(p->CanCreateFileSystemFile(kRendererID, original_file));
+  EXPECT_FALSE(p->CanCopyIntoFileSystemFile(kRendererID, original_file));
+  EXPECT_FALSE(p->CanDeleteFileSystemFile(kRendererID, original_file));
+
+  // Verify that read access (and no other access) is granted for
+  // |dropped_file|.
+  EXPECT_TRUE(p->CanReadFileSystemFile(kRendererID, dropped_file));
+  EXPECT_FALSE(p->CanWriteFileSystemFile(kRendererID, dropped_file));
+  EXPECT_FALSE(p->CanCreateFileSystemFile(kRendererID, dropped_file));
+  EXPECT_FALSE(p->CanCopyIntoFileSystemFile(kRendererID, dropped_file));
+  EXPECT_FALSE(p->CanDeleteFileSystemFile(kRendererID, dropped_file));
+
+  p->Remove(kRendererID);
+}
+
+TEST(BrowserFileSystemHelperTest, PrepareDropDataForChildProcess_LocalFiles) {
+  base::ScopedTempDir temp_dir;
+  ASSERT_TRUE(temp_dir.CreateUniqueTempDir());
+
+  ChildProcessSecurityPolicyImpl* p =
+      ChildProcessSecurityPolicyImpl::GetInstance();
+  p->Add(kRendererID);
+
+  // Prepare content::DropData containing some local files.
+  const base::FilePath kDraggedFile =
+      temp_dir.GetPath().AppendASCII("dragged_file.txt");
+  const base::FilePath kOtherFile =
+      temp_dir.GetPath().AppendASCII("other_file.txt");
+  DropData drop_data;
+  drop_data.filenames.push_back(ui::FileInfo(kDraggedFile, base::FilePath()));
+
+  // Verify that initially no access is granted to both |kDraggedFile| and
+  // |kOtherFile|.
+  EXPECT_FALSE(p->CanReadFile(kRendererID, kDraggedFile));
+  EXPECT_FALSE(p->CanReadFile(kRendererID, kOtherFile));
+  EXPECT_FALSE(
+      p->CanCommitURL(kRendererID, net::FilePathToFileURL(kDraggedFile)));
+  EXPECT_FALSE(p->CanCreateReadWriteFile(kRendererID, kDraggedFile));
+  EXPECT_FALSE(p->CanCreateReadWriteFile(kRendererID, kOtherFile));
+  EXPECT_FALSE(
+      p->CanCommitURL(kRendererID, net::FilePathToFileURL(kOtherFile)));
+
+  // Invoke the API under test to grant access to |drop_data|.
+  PrepareDropDataForChildProcess(&drop_data, p, kRendererID, nullptr);
+
+  // Verify that |drop_data| is unchanged.
+  EXPECT_EQ(0u, drop_data.file_system_files.size());
+  EXPECT_EQ(1u, drop_data.filenames.size());
+  EXPECT_EQ(kDraggedFile, drop_data.filenames[0].path);
+
+  // Verify that read access (and no other access) is granted for
+  // |kDraggedFile|.
+  EXPECT_TRUE(p->CanReadFile(kRendererID, kDraggedFile));
+  EXPECT_FALSE(p->CanCreateReadWriteFile(kRendererID, kDraggedFile));
+  EXPECT_TRUE(
+      p->CanCommitURL(kRendererID, net::FilePathToFileURL(kDraggedFile)));
+
+  // Verify that there is still no access for |kOtherFile|.
+  EXPECT_FALSE(p->CanReadFile(kRendererID, kOtherFile));
+  EXPECT_FALSE(p->CanCreateReadWriteFile(kRendererID, kOtherFile));
+  EXPECT_FALSE(
+      p->CanCommitURL(kRendererID, net::FilePathToFileURL(kOtherFile)));
+
+  p->Remove(kRendererID);
+}
+
+}  // namespace content
diff --git a/content/browser/loader/resource_request_info_impl.cc b/content/browser/loader/resource_request_info_impl.cc
index 141c3ba..9a0371e 100644
--- a/content/browser/loader/resource_request_info_impl.cc
+++ b/content/browser/loader/resource_request_info_impl.cc
@@ -307,13 +307,13 @@
 }
 
 void ResourceRequestInfoImpl::AssociateWithRequest(net::URLRequest* request) {
-  request->SetUserData(NULL, this);
+  request->SetUserData(nullptr, base::WrapUnique(this));
   int render_process_id;
   int render_frame_id;
   if (GetAssociatedRenderFrame(&render_process_id, &render_frame_id)) {
-    request->SetUserData(
-        URLRequestUserData::kUserDataKey,
-        new URLRequestUserData(render_process_id, render_frame_id));
+    request->SetUserData(URLRequestUserData::kUserDataKey,
+                         base::MakeUnique<URLRequestUserData>(render_process_id,
+                                                              render_frame_id));
   }
 }
 
diff --git a/content/browser/loader/resource_scheduler.cc b/content/browser/loader/resource_scheduler.cc
index d653c724..774f698 100644
--- a/content/browser/loader/resource_scheduler.cc
+++ b/content/browser/loader/resource_scheduler.cc
@@ -5,6 +5,7 @@
 #include "content/browser/loader/resource_scheduler.h"
 
 #include <stdint.h>
+
 #include <set>
 #include <string>
 #include <utility>
@@ -12,6 +13,7 @@
 
 #include "base/feature_list.h"
 #include "base/macros.h"
+#include "base/memory/ptr_util.h"
 #include "base/metrics/field_trial.h"
 #include "base/metrics/field_trial_params.h"
 #include "base/metrics/histogram_macros.h"
@@ -228,7 +230,7 @@
         host_port_pair_(net::HostPortPair::FromURL(request->url())),
         weak_ptr_factory_(this) {
     DCHECK(!request_->GetUserData(kUserDataKey));
-    request_->SetUserData(kUserDataKey, new UnownedPointer(this));
+    request_->SetUserData(kUserDataKey, base::MakeUnique<UnownedPointer>(this));
   }
 
   ~ScheduledResourceRequest() override {
diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc
index d055c0c..51978c4 100644
--- a/content/browser/renderer_host/render_widget_host_impl.cc
+++ b/content/browser/renderer_host/render_widget_host_impl.cc
@@ -35,6 +35,7 @@
 #include "content/browser/bad_message.h"
 #include "content/browser/browser_plugin/browser_plugin_guest.h"
 #include "content/browser/child_process_security_policy_impl.h"
+#include "content/browser/fileapi/browser_file_system_helper.h"
 #include "content/browser/gpu/compositor_util.h"
 #include "content/browser/renderer_host/dip_util.h"
 #include "content/browser/renderer_host/frame_metadata_util.h"
@@ -2513,85 +2514,10 @@
 
 void RenderWidgetHostImpl::GrantFileAccessFromDropData(DropData* drop_data) {
   DCHECK_EQ(GetRoutingID(), drop_data->view_id);
-  const int renderer_id = GetProcess()->GetID();
-  ChildProcessSecurityPolicyImpl* policy =
-      ChildProcessSecurityPolicyImpl::GetInstance();
-
-#if defined(OS_CHROMEOS)
-  // The externalfile:// scheme is used in Chrome OS to open external files in a
-  // browser tab.
-  if (drop_data->url.SchemeIs(content::kExternalFileScheme))
-    policy->GrantRequestURL(renderer_id, drop_data->url);
-#endif
-
-  // The filenames vector represents a capability to access the given files.
-  storage::IsolatedContext::FileInfoSet files;
-  for (auto& filename : drop_data->filenames) {
-    // Make sure we have the same display_name as the one we register.
-    if (filename.display_name.empty()) {
-      std::string name;
-      files.AddPath(filename.path, &name);
-      filename.display_name = base::FilePath::FromUTF8Unsafe(name);
-    } else {
-      files.AddPathWithName(filename.path,
-                            filename.display_name.AsUTF8Unsafe());
-    }
-    // A dragged file may wind up as the value of an input element, or it
-    // may be used as the target of a navigation instead.  We don't know
-    // which will happen at this point, so generously grant both access
-    // and request permissions to the specific file to cover both cases.
-    // We do not give it the permission to request all file:// URLs.
-    policy->GrantRequestSpecificFileURL(renderer_id,
-                                        net::FilePathToFileURL(filename.path));
-
-    // If the renderer already has permission to read these paths, we don't need
-    // to re-grant them. This prevents problems with DnD for files in the CrOS
-    // file manager--the file manager already had read/write access to those
-    // directories, but dragging a file would cause the read/write access to be
-    // overwritten with read-only access, making them impossible to delete or
-    // rename until the renderer was killed.
-    if (!policy->CanReadFile(renderer_id, filename.path))
-      policy->GrantReadFile(renderer_id, filename.path);
-  }
-
-  storage::IsolatedContext* isolated_context =
-      storage::IsolatedContext::GetInstance();
-  DCHECK(isolated_context);
-
-  if (!files.fileset().empty()) {
-    std::string filesystem_id =
-        isolated_context->RegisterDraggedFileSystem(files);
-    if (!filesystem_id.empty()) {
-      // Grant the permission iff the ID is valid.
-      policy->GrantReadFileSystem(renderer_id, filesystem_id);
-    }
-    drop_data->filesystem_id = base::UTF8ToUTF16(filesystem_id);
-  }
-
-  storage::FileSystemContext* file_system_context =
-      GetProcess()->GetStoragePartition()->GetFileSystemContext();
-  for (auto& file_system_file : drop_data->file_system_files) {
-    storage::FileSystemURL file_system_url =
-        file_system_context->CrackURL(file_system_file.url);
-
-    std::string register_name;
-    std::string filesystem_id = isolated_context->RegisterFileSystemForPath(
-        file_system_url.type(), file_system_url.filesystem_id(),
-        file_system_url.path(), &register_name);
-
-    if (!filesystem_id.empty()) {
-      // Grant the permission iff the ID is valid.
-      policy->GrantReadFileSystem(renderer_id, filesystem_id);
-    }
-
-    // Note: We are using the origin URL provided by the sender here. It may be
-    // different from the receiver's.
-    file_system_file.url =
-        GURL(storage::GetIsolatedFileSystemRootURIString(
-                 file_system_url.origin(), filesystem_id, std::string())
-                 .append(register_name));
-    file_system_file.filesystem_id = filesystem_id;
-  }
+  RenderProcessHost* process = GetProcess();
+  PrepareDropDataForChildProcess(
+      drop_data, ChildProcessSecurityPolicyImpl::GetInstance(),
+      process->GetID(), process->GetStoragePartition()->GetFileSystemContext());
 }
 
 void RenderWidgetHostImpl::RequestCompositionUpdates(bool immediate_request,
diff --git a/content/browser/resource_context_impl.cc b/content/browser/resource_context_impl.cc
index a9718edb..141a083 100644
--- a/content/browser/resource_context_impl.cc
+++ b/content/browser/resource_context_impl.cc
@@ -52,7 +52,7 @@
   DCHECK_CURRENTLY_ON(BrowserThread::IO);
   if (!context->GetUserData(kURLDataManagerBackendKeyName)) {
     context->SetUserData(kURLDataManagerBackendKeyName,
-                         new URLDataManagerBackend());
+                         base::MakeUnique<URLDataManagerBackend>());
   }
   return static_cast<URLDataManagerBackend*>(
       context->GetUserData(kURLDataManagerBackendKeyName));
@@ -63,13 +63,12 @@
 
   resource_context->SetUserData(
       kBlobStorageContextKeyName,
-      new UserDataAdapter<ChromeBlobStorageContext>(
+      base::MakeUnique<UserDataAdapter<ChromeBlobStorageContext>>(
           ChromeBlobStorageContext::GetFor(browser_context)));
 
   resource_context->SetUserData(
-      kStreamContextKeyName,
-      new UserDataAdapter<StreamContext>(
-          StreamContext::GetFor(browser_context)));
+      kStreamContextKeyName, base::MakeUnique<UserDataAdapter<StreamContext>>(
+                                 StreamContext::GetFor(browser_context)));
 
   resource_context->DetachFromSequence();
 }
diff --git a/content/browser/service_worker/embedded_worker_instance.cc b/content/browser/service_worker/embedded_worker_instance.cc
index e130e4b9..0a2990c 100644
--- a/content/browser/service_worker/embedded_worker_instance.cc
+++ b/content/browser/service_worker/embedded_worker_instance.cc
@@ -244,14 +244,16 @@
         is_installed_(false),
         started_during_browser_startup_(false),
         weak_factory_(this) {
-    TRACE_EVENT_ASYNC_BEGIN1("ServiceWorker", "EmbeddedWorkerInstance::Start",
-                             this, "Script", script_url.spec());
+    TRACE_EVENT_NESTABLE_ASYNC_BEGIN1("ServiceWorker",
+                                      "EmbeddedWorkerInstance::Start",
+                                      instance_, "Script", script_url.spec());
   }
 
   ~StartTask() {
     DCHECK_CURRENTLY_ON(BrowserThread::IO);
-    TRACE_EVENT_ASYNC_END0("ServiceWorker", "EmbeddedWorkerInstance::Start",
-                           this);
+    TRACE_EVENT_NESTABLE_ASYNC_END0("ServiceWorker",
+                                    "EmbeddedWorkerInstance::Start", instance_);
+
     if (!instance_->context_)
       return;
 
@@ -293,6 +295,8 @@
     GURL scope(params->scope);
     GURL script_url(params->script_url);
 
+    TRACE_EVENT_NESTABLE_ASYNC_BEGIN0("ServiceWorker", "ALLOCATING_PROCESS",
+                                      instance_);
     bool can_use_existing_process =
         instance_->context_->GetVersionFailureCount(
             params->service_worker_version_id) < kMaxSameProcessFailureCount;
@@ -323,9 +327,9 @@
     DCHECK_CURRENTLY_ON(BrowserThread::IO);
 
     if (status != SERVICE_WORKER_OK) {
-      TRACE_EVENT_ASYNC_STEP_PAST1(
-          "ServiceWorker", "EmbeddedWorkerInstance::Start", this,
-          "OnProcessAllocated", "Error", ServiceWorkerStatusToString(status));
+      TRACE_EVENT_NESTABLE_ASYNC_END1("ServiceWorker", "ALLOCATING_PROCESS",
+                                      instance_, "Error",
+                                      ServiceWorkerStatusToString(status));
       DCHECK_EQ(ChildProcessHost::kInvalidUniqueID, process_id);
       StatusCallback callback = start_callback_;
       start_callback_.Reset();
@@ -334,9 +338,9 @@
       return;
     }
 
-    TRACE_EVENT_ASYNC_STEP_PAST1(
-        "ServiceWorker", "EmbeddedWorkerInstance::Start", this,
-        "OnProcessAllocated", "Is New Process", is_new_process);
+    TRACE_EVENT_NESTABLE_ASYNC_END1("ServiceWorker", "ALLOCATING_PROCESS",
+                                    instance_, "Is New Process",
+                                    is_new_process);
     if (is_installed_)
       ServiceWorkerMetrics::RecordProcessCreated(is_new_process);
 
@@ -361,6 +365,8 @@
     // is running.
     params->settings.data_saver_enabled = settings.data_saver_enabled;
 
+    TRACE_EVENT_NESTABLE_ASYNC_BEGIN0("ServiceWorker",
+                                      "REGISTERING_TO_DEVTOOLS", instance_);
     // Register the instance to DevToolsManager on UI thread.
     const int64_t service_worker_version_id = params->service_worker_version_id;
     const GURL& scope = params->scope;
@@ -381,16 +387,14 @@
       std::unique_ptr<EmbeddedWorkerInstance::DevToolsProxy> devtools_proxy,
       bool wait_for_debugger) {
     DCHECK_CURRENTLY_ON(BrowserThread::IO);
-    TRACE_EVENT_ASYNC_STEP_PAST0("ServiceWorker",
-                                 "EmbeddedWorkerInstance::Start", this,
-                                 "OnSetupOnUICompleted");
-
     params->worker_devtools_agent_route_id = devtools_proxy->agent_route_id();
     params->wait_for_debugger = wait_for_debugger;
 
     // Notify the instance that it is registered to the devtools manager.
     instance_->OnRegisteredToDevToolsManager(
         is_new_process, std::move(devtools_proxy), wait_for_debugger);
+    TRACE_EVENT_NESTABLE_ASYNC_END0("ServiceWorker", "REGISTERING_TO_DEVTOOLS",
+                                    instance_);
 
     ServiceWorkerStatusCode status =
         instance_->SendStartWorker(std::move(params));
@@ -594,9 +598,11 @@
   client_->StartWorker(*params, std::move(pending_dispatcher_request_),
                        std::move(host_ptr_info));
   registry_->BindWorkerToProcess(process_id(), embedded_worker_id());
-  TRACE_EVENT_ASYNC_STEP_PAST0("ServiceWorker", "EmbeddedWorkerInstance::Start",
-                               this, "SendStartWorker");
   OnStartWorkerMessageSent();
+  // Once the start worker message is received, renderer side will prepare a
+  // shadow page for getting worker script.
+  TRACE_EVENT_NESTABLE_ASYNC_BEGIN0("ServiceWorker", "PREPARING_SCRIPT_LOAD",
+                                    this);
   return SERVICE_WORKER_OK;
 }
 
@@ -615,22 +621,24 @@
 }
 
 void EmbeddedWorkerInstance::OnReadyForInspection() {
-  TRACE_EVENT0("ServiceWorker", "EmbeddedWorkerInstance::OnReadyForInspection");
   if (devtools_proxy_)
     devtools_proxy_->NotifyWorkerReadyForInspection();
 }
 
 void EmbeddedWorkerInstance::OnScriptReadStarted() {
+  TRACE_EVENT_NESTABLE_ASYNC_BEGIN0("ServiceWorker", "SCRIPT_READING_CACHE",
+                                    this);
   starting_phase_ = SCRIPT_READ_STARTED;
 }
 
 void EmbeddedWorkerInstance::OnScriptReadFinished() {
+  TRACE_EVENT_NESTABLE_ASYNC_END0("ServiceWorker", "SCRIPT_READING_CACHE",
+                                  this);
   starting_phase_ = SCRIPT_READ_FINISHED;
 }
 
 void EmbeddedWorkerInstance::OnScriptLoaded() {
   using LoadSource = ServiceWorkerMetrics::LoadSource;
-  TRACE_EVENT0("ServiceWorker", "EmbeddedWorkerInstance::OnScriptLoaded");
 
   if (!inflight_start_task_)
     return;
@@ -643,9 +651,14 @@
   } else {
     source = LoadSource::HTTP_CACHE;
   }
-  TRACE_EVENT_ASYNC_STEP_PAST1(
-      "ServiceWorker", "EmbeddedWorkerInstance::Start",
-      inflight_start_task_.get(), "OnScriptLoaded", "Source",
+
+  // starting_phase_ may be SCRIPT_READ_FINISHED in case of reading from cache.
+  if (starting_phase_ == SCRIPT_DOWNLOADING) {
+    TRACE_EVENT_NESTABLE_ASYNC_END0("ServiceWorker", "SCRIPT_DOWNLOADING",
+                                    this);
+  }
+  TRACE_EVENT_NESTABLE_ASYNC_END1(
+      "ServiceWorker", "SCRIPT_LOADING", this, "Source",
       ServiceWorkerMetrics::LoadSourceToString(source));
 
   if (!step_time_.is_null()) {
@@ -653,6 +666,9 @@
     ServiceWorkerMetrics::RecordTimeToLoad(duration, source, start_situation_);
   }
 
+  // Renderer side has started to launch the worker thread.
+  TRACE_EVENT_NESTABLE_ASYNC_BEGIN0("ServiceWorker", "LAUNCHING_WORKER_THREAD",
+                                    this);
   starting_phase_ = SCRIPT_LOADED;
   for (auto& observer : listener_list_)
     observer.OnScriptLoaded();
@@ -660,10 +676,14 @@
 }
 
 void EmbeddedWorkerInstance::OnURLJobCreatedForMainScript() {
+  // Indicates that the shadow page has been created in renderer side and starts
+  // to get the worker script.
+  TRACE_EVENT_NESTABLE_ASYNC_END0("ServiceWorker", "PREPARING_SCRIPT_LOAD",
+                                  this);
+  TRACE_EVENT_NESTABLE_ASYNC_BEGIN0("ServiceWorker", "SCRIPT_LOADING", this);
   if (!inflight_start_task_)
     return;
-  TRACE_EVENT_ASYNC_STEP_PAST0("ServiceWorker", "EmbeddedWorkerInstance::Start",
-                               inflight_start_task_.get(), "OnURLJobCreated");
+
   if (!step_time_.is_null()) {
     base::TimeDelta duration = UpdateStepTime();
     if (inflight_start_task_->is_installed())
@@ -682,8 +702,7 @@
 }
 
 void EmbeddedWorkerInstance::OnThreadStarted(int thread_id, int provider_id) {
-  TRACE_EVENT0("ServiceWorker", "EmbeddedWorkerInstance::OnThreadStarted");
-  if (!context_)
+  if (!context_ || !inflight_start_task_)
     return;
 
   ServiceWorkerProviderHost* provider_host =
@@ -696,11 +715,10 @@
 
   provider_host->SetReadyToSendMessagesToWorker(thread_id);
 
-  if (!inflight_start_task_)
-    return;
-  TRACE_EVENT_ASYNC_STEP_PAST0("ServiceWorker", "EmbeddedWorkerInstance::Start",
-                               inflight_start_task_.get(), "OnThreadStarted");
-
+  TRACE_EVENT_NESTABLE_ASYNC_END0("ServiceWorker", "LAUNCHING_WORKER_THREAD",
+                                  this);
+  // Renderer side has started to evaluate the loaded worker script.
+  TRACE_EVENT_NESTABLE_ASYNC_BEGIN0("ServiceWorker", "EVALUATING_SCRIPT", this);
   starting_phase_ = THREAD_STARTED;
   if (!step_time_.is_null()) {
     base::TimeDelta duration = UpdateStepTime();
@@ -714,25 +732,30 @@
 }
 
 void EmbeddedWorkerInstance::OnScriptLoadFailed() {
-  TRACE_EVENT0("ServiceWorker", "EmbeddedWorkerInstance::OnScriptLoadFailed");
   if (!inflight_start_task_)
     return;
-  TRACE_EVENT_ASYNC_STEP_PAST0("ServiceWorker", "EmbeddedWorkerInstance::Start",
-                               inflight_start_task_.get(),
-                               "OnScriptLoadFailed");
+
+  // starting_phase_ may be SCRIPT_READ_FINISHED in case of reading from cache.
+  if (starting_phase_ == SCRIPT_DOWNLOADING) {
+    TRACE_EVENT_NESTABLE_ASYNC_END0("ServiceWorker", "SCRIPT_DOWNLOADING",
+                                    this);
+  }
+  TRACE_EVENT_NESTABLE_ASYNC_END1("ServiceWorker", "SCRIPT_LOADING", this,
+                                  "Error", "Script load failed.");
+
   for (auto& observer : listener_list_)
     observer.OnScriptLoadFailed();
 }
 
 void EmbeddedWorkerInstance::OnScriptEvaluated(bool success) {
-  TRACE_EVENT0("ServiceWorker", "EmbeddedWorkerInstance::OnScriptEvaluated");
   if (!inflight_start_task_)
     return;
+
   DCHECK_EQ(EmbeddedWorkerStatus::STARTING, status_);
 
-  TRACE_EVENT_ASYNC_STEP_PAST1("ServiceWorker", "EmbeddedWorkerInstance::Start",
-                               inflight_start_task_.get(), "OnScriptEvaluated",
-                               "Success", success);
+  // Renderer side has completed evaluating the loaded worker script.
+  TRACE_EVENT_NESTABLE_ASYNC_END1("ServiceWorker", "EVALUATING_SCRIPT", this,
+                                  "Success", success);
   starting_phase_ = SCRIPT_EVALUATED;
   if (!step_time_.is_null()) {
     base::TimeDelta duration = UpdateStepTime();
@@ -741,6 +764,12 @@
                                                        start_situation_);
   }
 
+  if (success) {
+    // Renderer side has started the final preparations to complete the start
+    // process.
+    TRACE_EVENT_NESTABLE_ASYNC_BEGIN0("ServiceWorker",
+                                      "WAITING_FOR_START_COMPLETE", this);
+  }
   base::WeakPtr<EmbeddedWorkerInstance> weak_this = weak_factory_.GetWeakPtr();
   StartTask::RunStartCallback(
       inflight_start_task_.get(),
@@ -750,12 +779,14 @@
 }
 
 void EmbeddedWorkerInstance::OnStarted() {
-  TRACE_EVENT0("ServiceWorker", "EmbeddedWorkerInstance::OnStarted");
   if (!registry_->OnWorkerStarted(process_id(), embedded_worker_id_))
     return;
   // Stop is requested before OnStarted is sent back from the worker.
   if (status_ == EmbeddedWorkerStatus::STOPPING)
     return;
+
+  TRACE_EVENT_NESTABLE_ASYNC_END0("ServiceWorker", "WAITING_FOR_START_COMPLETE",
+                                  this);
   DCHECK(status_ == EmbeddedWorkerStatus::STARTING);
   status_ = EmbeddedWorkerStatus::RUNNING;
   inflight_start_task_.reset();
@@ -851,6 +882,8 @@
 }
 
 void EmbeddedWorkerInstance::OnNetworkAccessedForScriptLoad() {
+  TRACE_EVENT_NESTABLE_ASYNC_BEGIN0("ServiceWorker", "SCRIPT_DOWNLOADING",
+                                    this);
   starting_phase_ = SCRIPT_DOWNLOADING;
   network_accessed_for_script_ = true;
 }
diff --git a/content/browser/service_worker/foreign_fetch_request_handler.cc b/content/browser/service_worker/foreign_fetch_request_handler.cc
index 8c3aab4..5005b3e 100644
--- a/content/browser/service_worker/foreign_fetch_request_handler.cc
+++ b/content/browser/service_worker/foreign_fetch_request_handler.cc
@@ -5,9 +5,11 @@
 #include "content/browser/service_worker/foreign_fetch_request_handler.h"
 
 #include <string>
+#include <utility>
 
 #include "base/command_line.h"
 #include "base/macros.h"
+#include "base/memory/ptr_util.h"
 #include "base/stl_util.h"
 #include "content/browser/service_worker/service_worker_context_wrapper.h"
 #include "content/browser/service_worker/service_worker_response_info.h"
@@ -124,12 +126,12 @@
 
   // Any more precise checks to see if the request should be intercepted are
   // asynchronous, so just create our handler in all cases.
-  std::unique_ptr<ForeignFetchRequestHandler> handler(
-      new ForeignFetchRequestHandler(
+  std::unique_ptr<ForeignFetchRequestHandler> handler =
+      base::WrapUnique(new ForeignFetchRequestHandler(
           context_wrapper, blob_storage_context->AsWeakPtr(), request_mode,
           credentials_mode, redirect_mode, resource_type, request_context_type,
           frame_type, body, timeout));
-  request->SetUserData(&kUserDataKey, handler.release());
+  request->SetUserData(&kUserDataKey, std::move(handler));
 }
 
 ForeignFetchRequestHandler* ForeignFetchRequestHandler::GetHandler(
diff --git a/content/browser/service_worker/service_worker_provider_host.cc b/content/browser/service_worker/service_worker_provider_host.cc
index 0e83e84c..92fc4cf 100644
--- a/content/browser/service_worker/service_worker_provider_host.cc
+++ b/content/browser/service_worker/service_worker_provider_host.cc
@@ -60,6 +60,9 @@
       net::URLRequest* request,
       net::NetworkDelegate* network_delegate,
       ResourceContext* resource_context) override {
+    // |provider_host_| may have been deleted when the request is resumed.
+    if (!provider_host_)
+      return nullptr;
     const GURL stripped_url = net::SimplifyUrlForRequest(request->url());
     provider_host_->SetDocumentUrl(stripped_url);
     provider_host_->SetTopmostFrameUrl(request->first_party_for_cookies());
diff --git a/content/browser/service_worker/service_worker_response_info.cc b/content/browser/service_worker/service_worker_response_info.cc
index bc40180..e9b3f63 100644
--- a/content/browser/service_worker/service_worker_response_info.cc
+++ b/content/browser/service_worker/service_worker_response_info.cc
@@ -4,6 +4,7 @@
 
 #include "content/browser/service_worker/service_worker_response_info.h"
 
+#include "base/memory/ptr_util.h"
 #include "content/public/common/resource_response_info.h"
 #include "net/url_request/url_request.h"
 
@@ -23,7 +24,7 @@
       request->GetUserData(&kUserDataKey));
   if (!info && create) {
     info = new ServiceWorkerResponseInfo();
-    request->SetUserData(&kUserDataKey, info);
+    request->SetUserData(&kUserDataKey, base::WrapUnique(info));
   }
   return info;
 }
diff --git a/content/browser/ssl/ssl_manager.cc b/content/browser/ssl/ssl_manager.cc
index 650bfeb..2a3124ac 100644
--- a/content/browser/ssl/ssl_manager.cc
+++ b/content/browser/ssl/ssl_manager.cc
@@ -5,9 +5,11 @@
 #include "content/browser/ssl/ssl_manager.h"
 
 #include <set>
+#include <utility>
 
 #include "base/bind.h"
 #include "base/macros.h"
+#include "base/memory/ptr_util.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/strings/utf_string_conversions.h"
 #include "base/supports_user_data.h"
@@ -173,8 +175,10 @@
   SSLManagerSet* managers = static_cast<SSLManagerSet*>(
       controller_->GetBrowserContext()->GetUserData(kSSLManagerKeyName));
   if (!managers) {
-    managers = new SSLManagerSet;
-    controller_->GetBrowserContext()->SetUserData(kSSLManagerKeyName, managers);
+    auto managers_owned = base::MakeUnique<SSLManagerSet>();
+    managers = managers_owned.get();
+    controller_->GetBrowserContext()->SetUserData(kSSLManagerKeyName,
+                                                  std::move(managers_owned));
   }
   managers->get().insert(this);
 }
diff --git a/content/browser/streams/stream_context.cc b/content/browser/streams/stream_context.cc
index 3782205c..22e3c06 100644
--- a/content/browser/streams/stream_context.cc
+++ b/content/browser/streams/stream_context.cc
@@ -5,6 +5,7 @@
 #include "content/browser/streams/stream_context.h"
 
 #include "base/bind.h"
+#include "base/memory/ptr_util.h"
 #include "content/browser/streams/stream_registry.h"
 #include "content/public/browser/browser_context.h"
 #include "content/public/browser/browser_thread.h"
@@ -24,8 +25,9 @@
 StreamContext* StreamContext::GetFor(BrowserContext* context) {
   if (!context->GetUserData(kStreamContextKeyName)) {
     scoped_refptr<StreamContext> stream = new StreamContext();
-    context->SetUserData(kStreamContextKeyName,
-                         new UserDataAdapter<StreamContext>(stream.get()));
+    context->SetUserData(
+        kStreamContextKeyName,
+        base::MakeUnique<UserDataAdapter<StreamContext>>(stream.get()));
     // Check first to avoid memory leak in unittests.
     if (BrowserThread::IsMessageLoopValid(BrowserThread::IO)) {
       BrowserThread::PostTask(
diff --git a/content/browser/websockets/websocket_handshake_request_info_impl.cc b/content/browser/websockets/websocket_handshake_request_info_impl.cc
index 14bb5cb1..13b7761 100644
--- a/content/browser/websockets/websocket_handshake_request_info_impl.cc
+++ b/content/browser/websockets/websocket_handshake_request_info_impl.cc
@@ -4,6 +4,7 @@
 
 #include "content/browser/websockets/websocket_handshake_request_info_impl.h"
 
+#include "base/memory/ptr_util.h"
 #include "net/url_request/url_request.h"
 
 namespace content {
@@ -25,8 +26,9 @@
     int child_id,
     int render_frame_id,
     net::URLRequest* request) {
-  request->SetUserData(
-      &g_tag, new WebSocketHandshakeRequestInfoImpl(child_id, render_frame_id));
+  request->SetUserData(&g_tag,
+                       base::WrapUnique(new WebSocketHandshakeRequestInfoImpl(
+                           child_id, render_frame_id)));
 }
 
 int WebSocketHandshakeRequestInfoImpl::GetChildId() const {
diff --git a/content/browser/websockets/websocket_handshake_request_info_impl.h b/content/browser/websockets/websocket_handshake_request_info_impl.h
index 4e768b1..2a3ed31 100644
--- a/content/browser/websockets/websocket_handshake_request_info_impl.h
+++ b/content/browser/websockets/websocket_handshake_request_info_impl.h
@@ -16,6 +16,8 @@
     : public WebSocketHandshakeRequestInfo,
       public base::SupportsUserData::Data {
  public:
+  ~WebSocketHandshakeRequestInfoImpl() override;
+
   static void CreateInfoAndAssociateWithRequest(int child_id,
                                                 int render_frame_id,
                                                 net::URLRequest* request);
@@ -25,7 +27,6 @@
 
  private:
   WebSocketHandshakeRequestInfoImpl(int child_id, int render_frame_id);
-  ~WebSocketHandshakeRequestInfoImpl() override;
 
   const int child_id_;
   const int render_frame_id_;
diff --git a/content/browser/webui/url_data_manager.cc b/content/browser/webui/url_data_manager.cc
index 0a482ad..5681ff54 100644
--- a/content/browser/webui/url_data_manager.cc
+++ b/content/browser/webui/url_data_manager.cc
@@ -11,6 +11,7 @@
 #include "base/bind.h"
 #include "base/bind_helpers.h"
 #include "base/lazy_instance.h"
+#include "base/memory/ptr_util.h"
 #include "base/memory/ref_counted_memory.h"
 #include "base/message_loop/message_loop.h"
 #include "base/strings/string_util.h"
@@ -32,7 +33,8 @@
 
 URLDataManager* GetFromBrowserContext(BrowserContext* context) {
   if (!context->GetUserData(kURLDataManagerKeyName)) {
-    context->SetUserData(kURLDataManagerKeyName, new URLDataManager(context));
+    context->SetUserData(kURLDataManagerKeyName,
+                         base::MakeUnique<URLDataManager>(context));
   }
   return static_cast<URLDataManager*>(
       context->GetUserData(kURLDataManagerKeyName));
diff --git a/content/common/net/url_fetcher.cc b/content/common/net/url_fetcher.cc
index 6540f0d..6ac2bf7 100644
--- a/content/common/net/url_fetcher.cc
+++ b/content/common/net/url_fetcher.cc
@@ -5,6 +5,7 @@
 #include "content/public/common/url_fetcher.h"
 
 #include "base/bind.h"
+#include "base/memory/ptr_util.h"
 #include "content/common/net/url_request_user_data.h"
 #include "net/url_request/url_fetcher.h"
 
@@ -12,9 +13,11 @@
 
 namespace {
 
-base::SupportsUserData::Data* CreateURLRequestUserData(int render_process_id,
-                                                       int render_frame_id) {
-  return new URLRequestUserData(render_process_id, render_frame_id);
+std::unique_ptr<base::SupportsUserData::Data> CreateURLRequestUserData(
+    int render_process_id,
+    int render_frame_id) {
+  return base::MakeUnique<URLRequestUserData>(render_process_id,
+                                              render_frame_id);
 }
 
 }  // namespace
diff --git a/content/public/browser/browser_context.h b/content/public/browser/browser_context.h
index 7bc69b6..e06049b 100644
--- a/content/public/browser/browser_context.h
+++ b/content/public/browser/browser_context.h
@@ -145,8 +145,9 @@
   // across the next restart.
   static void SaveSessionState(BrowserContext* browser_context);
 
-  static void SetDownloadManagerForTesting(BrowserContext* browser_context,
-                                           DownloadManager* download_manager);
+  static void SetDownloadManagerForTesting(
+      BrowserContext* browser_context,
+      std::unique_ptr<content::DownloadManager> download_manager);
 
   // Makes the Service Manager aware of this BrowserContext, and assigns a user
   // ID number to it. Should be called for each BrowserContext created.
diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn
index 99d6ada1..be422b5 100644
--- a/content/test/BUILD.gn
+++ b/content/test/BUILD.gn
@@ -924,8 +924,8 @@
       "../browser/webrtc/webrtc_webcam_browsertest.h",
     ]
     deps += [
-      "//testing/perf",
       "//content/public/common:features",
+      "//testing/perf",
     ]
   }
 
@@ -1080,6 +1080,7 @@
     "../browser/download/parallel_download_utils_unittest.cc",
     "../browser/download/rate_estimator_unittest.cc",
     "../browser/download/save_package_unittest.cc",
+    "../browser/fileapi/browser_file_system_helper_unittest.cc",
     "../browser/fileapi/file_system_operation_runner_unittest.cc",
     "../browser/fileapi/fileapi_message_filter_unittest.cc",
     "../browser/fileapi/upload_file_system_file_element_reader_unittest.cc",
diff --git a/content/test/data/page_with_popup.html b/content/test/data/page_with_popup.html
new file mode 100644
index 0000000..f1dce7c
--- /dev/null
+++ b/content/test/data/page_with_popup.html
@@ -0,0 +1,7 @@
+<html>
+<title>page with a iframe for popup</title>
+<head></head>
+  <body>
+    <iframe id="test"></iframe>
+  </body>
+</html>
diff --git a/content/test/gpu/gpu_tests/webgl2_conformance_expectations.py b/content/test/gpu/gpu_tests/webgl2_conformance_expectations.py
index 51dde20..ac7e78f 100644
--- a/content/test/gpu/gpu_tests/webgl2_conformance_expectations.py
+++ b/content/test/gpu/gpu_tests/webgl2_conformance_expectations.py
@@ -223,9 +223,6 @@
     self.Fail('conformance2/glsl3/vector-dynamic-indexing-swizzled-lvalue.html',
         ['mac'], bug=709351)
     self.Fail('conformance2/rendering/' +
-        'blitframebuffer-resolve-to-back-buffer.html',
-        ['mac'], bug=699566)
-    self.Fail('conformance2/rendering/' +
         'framebuffer-completeness-unaffected.html',
         ['mac'], bug=630800)
     self.Fail('deqp/functional/gles3/fbocompleteness.html',
diff --git a/device/gamepad/gamepad_pad_state_provider.h b/device/gamepad/gamepad_pad_state_provider.h
index c4624ba..16ddcb6 100644
--- a/device/gamepad/gamepad_pad_state_provider.h
+++ b/device/gamepad/gamepad_pad_state_provider.h
@@ -26,6 +26,7 @@
   GAMEPAD_SOURCE_MAC_GC,
   GAMEPAD_SOURCE_MAC_HID,
   GAMEPAD_SOURCE_MAC_XBOX,
+  GAMEPAD_SOURCE_OPENVR,
   GAMEPAD_SOURCE_TEST,
   GAMEPAD_SOURCE_WIN_XINPUT,
   GAMEPAD_SOURCE_WIN_RAW,
diff --git a/device/vr/BUILD.gn b/device/vr/BUILD.gn
index 3aa3c8d..66f5c096 100644
--- a/device/vr/BUILD.gn
+++ b/device/vr/BUILD.gn
@@ -88,12 +88,17 @@
     }
 
     if (enable_openvr) {
-      deps += [ "//third_party/openvr:openvr" ]
+      deps += [
+        "//device/gamepad",
+        "//third_party/openvr:openvr",
+      ]
       sources += [
         "openvr/openvr_device.cc",
         "openvr/openvr_device.h",
         "openvr/openvr_device_provider.cc",
         "openvr/openvr_device_provider.h",
+        "openvr/openvr_gamepad_data_fetcher.cc",
+        "openvr/openvr_gamepad_data_fetcher.h",
       ]
     }
   }
diff --git a/device/vr/openvr/openvr_device.cc b/device/vr/openvr/openvr_device.cc
index 9d81cd0..dca1db4 100644
--- a/device/vr/openvr/openvr_device.cc
+++ b/device/vr/openvr/openvr_device.cc
@@ -76,17 +76,12 @@
 
 namespace device {
 
-OpenVRDevice::OpenVRDevice() {}
+OpenVRDevice::OpenVRDevice(vr::IVRSystem* vr) : vr_system_(vr) {}
 OpenVRDevice::~OpenVRDevice() {}
 
 void OpenVRDevice::CreateVRDisplayInfo(
     const base::Callback<void(mojom::VRDisplayInfoPtr)>& on_created) {
-  vr::EVRInitError init_error;
-  auto vr_system =
-      vr::VR_Init(&init_error, vr::EVRApplicationType::VRApplication_Scene);
-
-  if (init_error != vr::VRInitError_None) {
-    LOG(ERROR) << vr::VR_GetVRInitErrorAsEnglishDescription(init_error);
+  if (!vr_system_) {
     on_created.Run(nullptr);
     return;
   }
@@ -94,8 +89,8 @@
   mojom::VRDisplayInfoPtr device = mojom::VRDisplayInfo::New();
   device->index = id();
   device->displayName =
-      GetOpenVRString(vr_system, vr::Prop_ManufacturerName_String) + " " +
-      GetOpenVRString(vr_system, vr::Prop_ModelNumber_String);
+      GetOpenVRString(vr_system_, vr::Prop_ManufacturerName_String) + " " +
+      GetOpenVRString(vr_system_, vr::Prop_ModelNumber_String);
   device->capabilities = mojom::VRDisplayCapabilities::New();
   device->capabilities->hasPosition = true;
   device->capabilities->hasExternalDisplay = true;
@@ -106,11 +101,11 @@
   mojom::VREyeParametersPtr& left_eye = device->leftEye;
   mojom::VREyeParametersPtr& right_eye = device->rightEye;
 
-  left_eye->fieldOfView = openVRFovToWebVRFov(vr_system, vr::Eye_Left);
-  right_eye->fieldOfView = openVRFovToWebVRFov(vr_system, vr::Eye_Left);
+  left_eye->fieldOfView = openVRFovToWebVRFov(vr_system_, vr::Eye_Left);
+  right_eye->fieldOfView = openVRFovToWebVRFov(vr_system_, vr::Eye_Left);
 
   vr::TrackedPropertyError error = vr::TrackedProp_Success;
-  float ipd = vr_system->GetFloatTrackedDeviceProperty(
+  float ipd = vr_system_->GetFloatTrackedDeviceProperty(
       vr::k_unTrackedDeviceIndex_Hmd, vr::Prop_UserIpdMeters_Float, &error);
 
   if (error != vr::TrackedProp_Success)
@@ -126,7 +121,7 @@
   right_eye->offset[2] = 0.0;
 
   uint32_t width, height;
-  vr_system->GetRecommendedRenderTargetSize(&width, &height);
+  vr_system_->GetRecommendedRenderTargetSize(&width, &height);
   left_eye->renderWidth = width;
   left_eye->renderHeight = height;
   right_eye->renderWidth = left_eye->renderWidth;
@@ -134,7 +129,7 @@
 
   device->stageParameters = mojom::VRStageParameters::New();
   vr::HmdMatrix34_t mat =
-      vr_system->GetSeatedZeroPoseToStandingAbsoluteTrackingPose();
+      vr_system_->GetSeatedZeroPoseToStandingAbsoluteTrackingPose();
   device->stageParameters->standingTransform =
       HmdMatrix34ToWebVRTransformMatrix(mat);
 
@@ -147,7 +142,7 @@
     device->stageParameters->sizeZ = 0.0f;
   }
 
-  render_loop_ = std::make_unique<OpenVRRenderLoop>(vr_system);
+  render_loop_ = std::make_unique<OpenVRRenderLoop>(vr_system_);
 
   on_created.Run(std::move(device));
 }
diff --git a/device/vr/openvr/openvr_device.h b/device/vr/openvr/openvr_device.h
index 136f5667..7bc96f90 100644
--- a/device/vr/openvr/openvr_device.h
+++ b/device/vr/openvr/openvr_device.h
@@ -18,7 +18,7 @@
 
 class OpenVRDevice : public VRDevice {
  public:
-  OpenVRDevice();
+  OpenVRDevice(vr::IVRSystem* vr);
   ~OpenVRDevice() override;
 
   // VRDevice
@@ -68,6 +68,8 @@
 
   mojom::VRSubmitFrameClientPtr submit_client_;
 
+  vr::IVRSystem* vr_system_;
+
   DISALLOW_COPY_AND_ASSIGN(OpenVRDevice);
 };
 
diff --git a/device/vr/openvr/openvr_device_provider.cc b/device/vr/openvr/openvr_device_provider.cc
index aee062f1..d16f10d 100644
--- a/device/vr/openvr/openvr_device_provider.cc
+++ b/device/vr/openvr/openvr_device_provider.cc
@@ -3,22 +3,43 @@
 // found in the LICENSE file.
 
 #include "device/vr/openvr/openvr_device_provider.h"
+
+#include "device/gamepad/gamepad_data_fetcher_manager.h"
 #include "device/vr/openvr/openvr_device.h"
+#include "device/vr/openvr/openvr_gamepad_data_fetcher.h"
 #include "third_party/openvr/src/headers/openvr.h"
 
 namespace device {
 
-OpenVRDeviceProvider::OpenVRDeviceProvider() {}
+OpenVRDeviceProvider::OpenVRDeviceProvider()
+    : initialized_(false), vr_system_(nullptr) {}
 
 OpenVRDeviceProvider::~OpenVRDeviceProvider() {}
 
 void OpenVRDeviceProvider::GetDevices(std::vector<VRDevice*>* devices) {
-  if (vr::VR_IsRuntimeInstalled() && vr::VR_IsHmdPresent()) {
-    devices->push_back(new OpenVRDevice());
+  if (initialized_) {
+    VRDevice* device = new OpenVRDevice(vr_system_);
+    devices->push_back(device);
+    GamepadDataFetcherManager::GetInstance()->AddFactory(
+        new OpenVRGamepadDataFetcher::Factory(device->id(), vr_system_));
   }
 }
 
-void OpenVRDeviceProvider::Initialize() {}
+void OpenVRDeviceProvider::Initialize() {
+  if (!initialized_ && vr::VR_IsRuntimeInstalled() && vr::VR_IsHmdPresent()) {
+    vr::EVRInitError init_error = vr::VRInitError_None;
+    vr_system_ =
+        vr::VR_Init(&init_error, vr::EVRApplicationType::VRApplication_Scene);
+
+    if (init_error != vr::VRInitError_None) {
+      LOG(ERROR) << vr::VR_GetVRInitErrorAsEnglishDescription(init_error);
+      vr_system_ = nullptr;
+      return;
+    }
+
+    initialized_ = true;
+  }
+}
 
 void OpenVRDeviceProvider::SetListeningForActivate(bool listening) {}
 
diff --git a/device/vr/openvr/openvr_device_provider.h b/device/vr/openvr/openvr_device_provider.h
index 7ef17b6..45c3f78 100644
--- a/device/vr/openvr/openvr_device_provider.h
+++ b/device/vr/openvr/openvr_device_provider.h
@@ -12,6 +12,10 @@
 #include "device/vr/vr_device_provider.h"
 #include "device/vr/vr_export.h"
 
+namespace vr {
+class IVRSystem;
+}  // namespace vr
+
 namespace device {
 
 class OpenVRDeviceProvider : public VRDeviceProvider {
@@ -25,6 +29,9 @@
   void SetListeningForActivate(bool listening) override;
 
  private:
+  bool initialized_;
+  vr::IVRSystem* vr_system_;
+
   DISALLOW_COPY_AND_ASSIGN(OpenVRDeviceProvider);
 };
 
diff --git a/device/vr/openvr/openvr_gamepad_data_fetcher.cc b/device/vr/openvr/openvr_gamepad_data_fetcher.cc
new file mode 100644
index 0000000..d165b442
--- /dev/null
+++ b/device/vr/openvr/openvr_gamepad_data_fetcher.cc
@@ -0,0 +1,228 @@
+// 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.
+
+#include "device/vr/openvr/openvr_gamepad_data_fetcher.h"
+
+#include <memory>
+
+#include "base/logging.h"
+#include "base/strings/utf_string_conversions.h"
+#include "device/gamepad/public/cpp/gamepads.h"
+#include "third_party/openvr/src/headers/openvr.h"
+#include "ui/gfx/transform.h"
+#include "ui/gfx/transform_util.h"
+
+namespace device {
+
+namespace {
+
+void SetGamepadButton(Gamepad* pad,
+                      const vr::VRControllerState_t& controller_state,
+                      uint64_t supported_buttons,
+                      vr::EVRButtonId button_id) {
+  uint64_t button_mask = vr::ButtonMaskFromId(button_id);
+  if ((supported_buttons & button_mask) != 0) {
+    bool button_pressed = (controller_state.ulButtonPressed & button_mask) != 0;
+    bool button_touched = (controller_state.ulButtonTouched & button_mask) != 0;
+    pad->buttons[pad->buttons_length].touched = button_touched;
+    pad->buttons[pad->buttons_length].pressed = button_pressed;
+    pad->buttons[pad->buttons_length].value = button_pressed ? 1.0 : 0.0;
+    pad->buttons_length++;
+  }
+}
+
+}  // namespace
+
+OpenVRGamepadDataFetcher::Factory::Factory(unsigned int display_id,
+                                           vr::IVRSystem* vr)
+    : display_id_(display_id), vr_system_(vr) {
+  DVLOG(1) << __FUNCTION__ << "=" << this;
+}
+
+OpenVRGamepadDataFetcher::Factory::~Factory() {
+  DVLOG(1) << __FUNCTION__ << "=" << this;
+}
+
+std::unique_ptr<GamepadDataFetcher>
+OpenVRGamepadDataFetcher::Factory::CreateDataFetcher() {
+  return base::MakeUnique<OpenVRGamepadDataFetcher>(display_id_, vr_system_);
+}
+
+GamepadSource OpenVRGamepadDataFetcher::Factory::source() {
+  return GAMEPAD_SOURCE_OPENVR;
+}
+
+OpenVRGamepadDataFetcher::OpenVRGamepadDataFetcher(unsigned int display_id,
+                                                   vr::IVRSystem* vr)
+    : display_id_(display_id), vr_system_(vr) {
+  DVLOG(1) << __FUNCTION__ << "=" << this;
+}
+
+OpenVRGamepadDataFetcher::~OpenVRGamepadDataFetcher() {
+  DVLOG(1) << __FUNCTION__ << "=" << this;
+}
+
+GamepadSource OpenVRGamepadDataFetcher::source() {
+  return GAMEPAD_SOURCE_OPENVR;
+}
+
+void OpenVRGamepadDataFetcher::OnAddedToProvider() {}
+
+void OpenVRGamepadDataFetcher::GetGamepadData(bool devices_changed_hint) {
+  if (!vr_system_)
+    return;
+
+  vr::TrackedDevicePose_t tracked_devices_poses[vr::k_unMaxTrackedDeviceCount];
+  vr_system_->GetDeviceToAbsoluteTrackingPose(vr::TrackingUniverseSeated, 0.0f,
+                                              tracked_devices_poses,
+                                              vr::k_unMaxTrackedDeviceCount);
+
+  for (uint32_t i = 0; i < vr::k_unMaxTrackedDeviceCount; ++i) {
+    if (vr_system_->GetTrackedDeviceClass(i) !=
+        vr::TrackedDeviceClass_Controller)
+      continue;
+
+    PadState* state = GetPadState(i);
+    if (!state)
+      continue;
+
+    Gamepad& pad = state->data;
+
+    vr::VRControllerState_t controller_state;
+    if (vr_system_->GetControllerState(i, &controller_state,
+                                       sizeof(controller_state))) {
+      pad.timestamp = controller_state.unPacketNum;
+      pad.connected = true;
+
+      pad.pose.not_null = true;
+
+      pad.pose.has_orientation = true;
+      pad.pose.has_position = true;
+
+      vr::TrackedPropertyError error = vr::TrackedProp_Success;
+      char attached_device_id[vr::k_unMaxPropertyStringSize];
+      vr_system_->GetStringTrackedDeviceProperty(
+          i, vr::Prop_AttachedDeviceId_String, attached_device_id,
+          vr::k_unMaxPropertyStringSize, &error);
+
+      if (error == vr::TrackedProp_Success) {
+        swprintf(pad.id, Gamepad::kIdLengthCap,
+                 base::UTF8ToUTF16(attached_device_id).c_str());
+      } else {
+        swprintf(pad.id, Gamepad::kIdLengthCap, L"OpenVR Controller");
+      }
+      swprintf(pad.mapping, Gamepad::kMappingLengthCap, L"");
+
+      pad.display_id = display_id_;
+
+      vr::ETrackedControllerRole hand =
+          vr_system_->GetControllerRoleForTrackedDeviceIndex(i);
+
+      switch (hand) {
+        case vr::TrackedControllerRole_Invalid:
+          pad.hand = GamepadHand::kNone;
+          break;
+        case vr::TrackedControllerRole_LeftHand:
+          pad.hand = GamepadHand::kLeft;
+          break;
+        case vr::TrackedControllerRole_RightHand:
+          pad.hand = GamepadHand::kRight;
+          break;
+      }
+
+      uint64_t supported_buttons = vr_system_->GetUint64TrackedDeviceProperty(
+          i, vr::Prop_SupportedButtons_Uint64);
+
+      pad.buttons_length = 0;
+      pad.axes_length = 0;
+
+      for (int j = 0; j < vr::k_unControllerStateAxisCount; ++j) {
+        int32_t axis_type = vr_system_->GetInt32TrackedDeviceProperty(
+            i, static_cast<vr::TrackedDeviceProperty>(vr::Prop_Axis0Type_Int32 +
+                                                      j));
+        switch (axis_type) {
+          case vr::k_eControllerAxis_Joystick:
+          case vr::k_eControllerAxis_TrackPad:
+            pad.axes[pad.axes_length++] = controller_state.rAxis[j].x;
+            pad.axes[pad.axes_length++] = controller_state.rAxis[j].y;
+
+            SetGamepadButton(
+                &pad, controller_state, supported_buttons,
+                static_cast<vr::EVRButtonId>(vr::k_EButton_Axis0 + j));
+
+            break;
+          case vr::k_eControllerAxis_Trigger:
+            pad.buttons[pad.buttons_length].value = controller_state.rAxis[j].x;
+
+            uint64_t button_mask = vr::ButtonMaskFromId(
+                static_cast<vr::EVRButtonId>(vr::k_EButton_Axis0 + j));
+            if ((supported_buttons & button_mask) != 0) {
+              pad.buttons[pad.buttons_length].pressed =
+                  (controller_state.ulButtonPressed & button_mask) != 0;
+            }
+
+            pad.buttons_length++;
+            break;
+        }
+      }
+
+      SetGamepadButton(&pad, controller_state, supported_buttons,
+                       vr::k_EButton_A);
+      SetGamepadButton(&pad, controller_state, supported_buttons,
+                       vr::k_EButton_Grip);
+      SetGamepadButton(&pad, controller_state, supported_buttons,
+                       vr::k_EButton_ApplicationMenu);
+      SetGamepadButton(&pad, controller_state, supported_buttons,
+                       vr::k_EButton_DPad_Left);
+      SetGamepadButton(&pad, controller_state, supported_buttons,
+                       vr::k_EButton_DPad_Up);
+      SetGamepadButton(&pad, controller_state, supported_buttons,
+                       vr::k_EButton_DPad_Right);
+      SetGamepadButton(&pad, controller_state, supported_buttons,
+                       vr::k_EButton_DPad_Down);
+    }
+
+    const vr::TrackedDevicePose_t& pose = tracked_devices_poses[i];
+    if (pose.bPoseIsValid) {
+      const vr::HmdMatrix34_t& mat = pose.mDeviceToAbsoluteTracking;
+      gfx::Transform transform(
+          mat.m[0][0], mat.m[0][1], mat.m[0][2], mat.m[0][3], mat.m[1][0],
+          mat.m[1][1], mat.m[1][2], mat.m[1][3], mat.m[2][0], mat.m[2][1],
+          mat.m[2][2], mat.m[2][3], 0, 0, 0, 1);
+
+      gfx::DecomposedTransform decomposed_transform;
+      gfx::DecomposeTransform(&decomposed_transform, transform);
+
+      pad.pose.orientation.not_null = true;
+      pad.pose.orientation.x = decomposed_transform.quaternion[0];
+      pad.pose.orientation.y = decomposed_transform.quaternion[1];
+      pad.pose.orientation.z = decomposed_transform.quaternion[2];
+      pad.pose.orientation.w = decomposed_transform.quaternion[3];
+
+      pad.pose.position.not_null = true;
+      pad.pose.position.x = decomposed_transform.translate[0];
+      pad.pose.position.y = decomposed_transform.translate[1];
+      pad.pose.position.z = decomposed_transform.translate[2];
+
+      pad.pose.angular_velocity.not_null = true;
+      pad.pose.angular_velocity.x = pose.vAngularVelocity.v[0];
+      pad.pose.angular_velocity.y = pose.vAngularVelocity.v[1];
+      pad.pose.angular_velocity.z = pose.vAngularVelocity.v[2];
+
+      pad.pose.linear_velocity.not_null = true;
+      pad.pose.linear_velocity.x = pose.vVelocity.v[0];
+      pad.pose.linear_velocity.y = pose.vVelocity.v[1];
+      pad.pose.linear_velocity.z = pose.vVelocity.v[2];
+    } else {
+      pad.pose.orientation.not_null = false;
+      pad.pose.position.not_null = false;
+      pad.pose.angular_velocity.not_null = false;
+      pad.pose.linear_velocity.not_null = false;
+    }
+  }
+}
+
+void OpenVRGamepadDataFetcher::PauseHint(bool paused) {}
+
+}  // namespace device
diff --git a/device/vr/openvr/openvr_gamepad_data_fetcher.h b/device/vr/openvr/openvr_gamepad_data_fetcher.h
new file mode 100644
index 0000000..37544a34
--- /dev/null
+++ b/device/vr/openvr/openvr_gamepad_data_fetcher.h
@@ -0,0 +1,47 @@
+// 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.
+
+#ifndef DEVICE_VR_OPENVR_GAMEPAD_DATA_FETCHER_H_
+#define DEVICE_VR_OPENVR_GAMEPAD_DATA_FETCHER_H_
+
+#include "device/gamepad/gamepad_data_fetcher.h"
+
+namespace vr {
+class IVRSystem;
+}  // namespace vr
+
+namespace device {
+
+class OpenVRGamepadDataFetcher : public GamepadDataFetcher {
+ public:
+  class Factory : public GamepadDataFetcherFactory {
+   public:
+    Factory(unsigned int display_id, vr::IVRSystem* vr);
+    ~Factory() override;
+    std::unique_ptr<GamepadDataFetcher> CreateDataFetcher() override;
+    GamepadSource source() override;
+
+   private:
+    unsigned int display_id_;
+    vr::IVRSystem* vr_system_;
+  };
+
+  OpenVRGamepadDataFetcher(unsigned int display_id, vr::IVRSystem* vr);
+  ~OpenVRGamepadDataFetcher() override;
+
+  GamepadSource source() override;
+
+  void GetGamepadData(bool devices_changed_hint) override;
+  void PauseHint(bool paused) override;
+  void OnAddedToProvider() override;
+
+ private:
+  unsigned int display_id_;
+  vr::IVRSystem* vr_system_;
+
+  DISALLOW_COPY_AND_ASSIGN(OpenVRGamepadDataFetcher);
+};
+
+}  // namespace device
+#endif  // DEVICE_VR_OPENVR_GAMEPAD_DATA_FETCHER_H_
diff --git a/google_apis/gaia/gaia_auth_util.cc b/google_apis/gaia/gaia_auth_util.cc
index 2bbee2a..6e1d9369 100644
--- a/google_apis/gaia/gaia_auth_util.cc
+++ b/google_apis/gaia/gaia_auth_util.cc
@@ -11,6 +11,7 @@
 #include "base/bind.h"
 #include "base/json/json_reader.h"
 #include "base/logging.h"
+#include "base/memory/ptr_util.h"
 #include "base/strings/string_split.h"
 #include "base/strings/string_util.h"
 #include "base/values.h"
@@ -52,8 +53,8 @@
 
 class GaiaURLRequestUserData : public base::SupportsUserData::Data {
  public:
-  static base::SupportsUserData::Data* Create() {
-    return new GaiaURLRequestUserData();
+  static std::unique_ptr<base::SupportsUserData::Data> Create() {
+    return base::MakeUnique<GaiaURLRequestUserData>();
   }
 };
 
diff --git a/gpu/GLES2/extensions/CHROMIUM/CHROMIUM_image.txt b/gpu/GLES2/extensions/CHROMIUM/CHROMIUM_image.txt
index 2ba1e39..0d6a4c4 100644
--- a/gpu/GLES2/extensions/CHROMIUM/CHROMIUM_image.txt
+++ b/gpu/GLES2/extensions/CHROMIUM/CHROMIUM_image.txt
@@ -32,10 +32,10 @@
 
 New Procedures and Functions
 
-    GLuint CreateImageCHROMIUM(ClientBuffer buffer,
-                               GLsizei width,
-                               GLsizei height,
-                               GLenum internalformat)
+  GLuint CreateImageCHROMIUM(ClientBuffer buffer,
+                             GLsizei width,
+                             GLsizei height,
+                             GLenum internalformat)
 
     Create an image from <buffer> with width equal to <width> and
     height equal to <height> and format equal to <internalformat>.
@@ -50,12 +50,42 @@
     COMPRESSED_RGB_S3TC_DXT1_EXT, COMPRESSED_RGBA_S3TC_DXT5_EXT or
     ETC1_RGB8_OES.
 
-    void DestroyImageCHROMIUM(GLuint image_id)
+  void DestroyImageCHROMIUM(GLuint image_id)
 
     Frees the image previously created by a call to CreateImageCHROMIUM.
 
     INVALID_OPERATION is generated if <image_id> is not a valid image id.
 
+  void BindTexImage2DCHROMIUM(GLenum target, GLint image_id)
+
+    Binds the texture object currently bound to <target> to the image
+    <image_id> previously created by a call to CreateImageCHROMIUM.
+
+    INVALID_OPERATION is generated if no texture is bound to <target>.
+
+    INVALID_OPERATION is generated if <image_id> is not a valid image id.
+
+  void BindTexImage2DWithInternalformatCHROMIUM(GLenum target,
+                                                GLenum internalformat,
+                                                GLint image_id)
+
+    Behaves exactly like BindTexImage2DCHROMIUM, but forces the
+    texture to use the specified <internalformat> rather than the
+    default one. This function is provided solely as a workaround for
+    driver bugs on some platforms. BindTexImage2DCHROMIUM should be
+    used by almost all users.
+
+  void ReleaseTexImage2DCHROMIUM(GLenum target, GLint image_id)
+
+    Unbinds the texture object bound to <target> from the image
+    <image_id> previously created by a call to CreateImageCHROMIUM. If
+    the texture is not currently bound to the image, has no effect,
+    though may still generate errors.
+
+    INVALID_OPERATION is generated if no texture is bound to <target>.
+
+    INVALID_OPERATION is generated if <image_id> is not a valid image id.
+
 Dependencies on EXT_texture_format_BGRA8888
 
     If EXT_texture_format_BGRA8888 is not supported:
diff --git a/gpu/GLES2/gl2chromium_autogen.h b/gpu/GLES2/gl2chromium_autogen.h
index b5114bd..8820d0f 100644
--- a/gpu/GLES2/gl2chromium_autogen.h
+++ b/gpu/GLES2/gl2chromium_autogen.h
@@ -310,6 +310,8 @@
   GLES2_GET_FUN(CreateAndConsumeTextureCHROMIUM)
 #define glBindUniformLocationCHROMIUM GLES2_GET_FUN(BindUniformLocationCHROMIUM)
 #define glBindTexImage2DCHROMIUM GLES2_GET_FUN(BindTexImage2DCHROMIUM)
+#define glBindTexImage2DWithInternalformatCHROMIUM \
+  GLES2_GET_FUN(BindTexImage2DWithInternalformatCHROMIUM)
 #define glReleaseTexImage2DCHROMIUM GLES2_GET_FUN(ReleaseTexImage2DCHROMIUM)
 #define glTraceBeginCHROMIUM GLES2_GET_FUN(TraceBeginCHROMIUM)
 #define glTraceEndCHROMIUM GLES2_GET_FUN(TraceEndCHROMIUM)
diff --git a/gpu/GLES2/gl2extchromium.h b/gpu/GLES2/gl2extchromium.h
index e38949b..8c1f3df1 100644
--- a/gpu/GLES2/gl2extchromium.h
+++ b/gpu/GLES2/gl2extchromium.h
@@ -84,6 +84,14 @@
                                                     GLsizei height,
                                                     GLenum internalformat);
 GL_APICALL void GL_APIENTRY glDestroyImageCHROMIUM(GLuint image_id);
+GL_APICALL void GL_APIENTRY glBindTexImage2DCHROMIUM(GLenum target,
+                                                     GLint imageId);
+GL_APICALL void GL_APIENTRY
+glBindTexImage2DWithInternalformatCHROMIUM(GLenum target,
+                                           GLenum internalformat,
+                                           GLint imageId);
+GL_APICALL void GL_APIENTRY glReleaseTexImage2DCHROMIUM(GLenum target,
+                                                        GLint imageId);
 #endif
 typedef GLuint(GL_APIENTRYP PFNGLCREATEIMAGECHROMIUMPROC)(
     ClientBuffer buffer,
@@ -92,6 +100,14 @@
     GLenum internalformat);
 typedef void (
     GL_APIENTRYP PFNGLDESTROYIMAGECHROMIUMPROC)(GLuint image_id);
+typedef void(GL_APIENTRYP PFNGLBINDTEXIMAGE2DCHROMIUMPROC)(GLenum target,
+                                                           GLint imageId);
+typedef void(GL_APIENTRYP PFNGLBINDTEXIMAGE2DWITHINTERNALFORMATCHROMIUMPROC)(
+    GLenum target,
+    GLenum internalformat,
+    GLint imageId);
+typedef void(GL_APIENTRYP PFNGLRELEASETEXIMAGE2DCHROMIUMPROC)(GLenum target,
+                                                              GLint imageId);
 #endif  /* GL_CHROMIUM_image */
 
 #ifndef GL_RGB_YCRCB_420_CHROMIUM
@@ -169,21 +185,6 @@
 #endif
 #endif  /* GL_CHROMIUM_get_error_query */
 
-/* GL_CHROMIUM_texture_from_image */
-#ifndef GL_CHROMIUM_texture_from_image
-#define GL_CHROMIUM_texture_from_image 1
-#ifdef GL_GLEXT_PROTOTYPES
-GL_APICALL void GL_APIENTRY glBindTexImage2DCHROMIUM(
-    GLenum target, GLint imageId);
-GL_APICALL void GL_APIENTRY glReleaseTexImage2DCHROMIUM(
-    GLenum target, GLint imageId);
-#endif
-typedef void (GL_APIENTRYP PFNGLBINDTEXIMAGE2DCHROMIUMPROC) (
-    GLenum target, GLint imageId);
-typedef void (GL_APIENTRYP PFNGLRELEASETEXIMAGE2DCHROMIUMPROC) (
-    GLenum target, GLint imageId);
-#endif  /* GL_CHROMIUM_texture_from_image */
-
 /* GL_CHROMIUM_post_sub_buffer */
 #ifndef GL_CHROMIUM_post_sub_buffer
 #define GL_CHROMIUM_post_sub_buffer 1
diff --git a/gpu/command_buffer/build_gles2_cmd_buffer.py b/gpu/command_buffer/build_gles2_cmd_buffer.py
index 479b2d6..01593a3 100755
--- a/gpu/command_buffer/build_gles2_cmd_buffer.py
+++ b/gpu/command_buffer/build_gles2_cmd_buffer.py
@@ -4278,6 +4278,11 @@
     'unit_test': False,
     'extension': "CHROMIUM_image",
   },
+  'BindTexImage2DWithInternalformatCHROMIUM': {
+    'decoder_func': 'DoBindTexImage2DWithInternalformatCHROMIUM',
+    'unit_test': False,
+    'extension': "CHROMIUM_image",
+  },
   'ReleaseTexImage2DCHROMIUM': {
     'decoder_func': 'DoReleaseTexImage2DCHROMIUM',
     'unit_test': False,
diff --git a/gpu/command_buffer/client/gles2_c_lib_autogen.h b/gpu/command_buffer/client/gles2_c_lib_autogen.h
index b789a6b..8640ab7 100644
--- a/gpu/command_buffer/client/gles2_c_lib_autogen.h
+++ b/gpu/command_buffer/client/gles2_c_lib_autogen.h
@@ -1415,6 +1415,13 @@
 void GL_APIENTRY GLES2BindTexImage2DCHROMIUM(GLenum target, GLint imageId) {
   gles2::GetGLContext()->BindTexImage2DCHROMIUM(target, imageId);
 }
+void GL_APIENTRY
+GLES2BindTexImage2DWithInternalformatCHROMIUM(GLenum target,
+                                              GLenum internalformat,
+                                              GLint imageId) {
+  gles2::GetGLContext()->BindTexImage2DWithInternalformatCHROMIUM(
+      target, internalformat, imageId);
+}
 void GL_APIENTRY GLES2ReleaseTexImage2DCHROMIUM(GLenum target, GLint imageId) {
   gles2::GetGLContext()->ReleaseTexImage2DCHROMIUM(target, imageId);
 }
@@ -2819,6 +2826,11 @@
         reinterpret_cast<GLES2FunctionPointer>(glBindTexImage2DCHROMIUM),
     },
     {
+        "glBindTexImage2DWithInternalformatCHROMIUM",
+        reinterpret_cast<GLES2FunctionPointer>(
+            glBindTexImage2DWithInternalformatCHROMIUM),
+    },
+    {
         "glReleaseTexImage2DCHROMIUM",
         reinterpret_cast<GLES2FunctionPointer>(glReleaseTexImage2DCHROMIUM),
     },
diff --git a/gpu/command_buffer/client/gles2_cmd_helper_autogen.h b/gpu/command_buffer/client/gles2_cmd_helper_autogen.h
index 834b474..2573fd9 100644
--- a/gpu/command_buffer/client/gles2_cmd_helper_autogen.h
+++ b/gpu/command_buffer/client/gles2_cmd_helper_autogen.h
@@ -2651,6 +2651,16 @@
   }
 }
 
+void BindTexImage2DWithInternalformatCHROMIUM(GLenum target,
+                                              GLenum internalformat,
+                                              GLint imageId) {
+  gles2::cmds::BindTexImage2DWithInternalformatCHROMIUM* c =
+      GetCmdSpace<gles2::cmds::BindTexImage2DWithInternalformatCHROMIUM>();
+  if (c) {
+    c->Init(target, internalformat, imageId);
+  }
+}
+
 void ReleaseTexImage2DCHROMIUM(GLenum target, GLint imageId) {
   gles2::cmds::ReleaseTexImage2DCHROMIUM* c =
       GetCmdSpace<gles2::cmds::ReleaseTexImage2DCHROMIUM>();
diff --git a/gpu/command_buffer/client/gles2_implementation_autogen.h b/gpu/command_buffer/client/gles2_implementation_autogen.h
index ee52301..d605f61 100644
--- a/gpu/command_buffer/client/gles2_implementation_autogen.h
+++ b/gpu/command_buffer/client/gles2_implementation_autogen.h
@@ -996,6 +996,10 @@
 
 void BindTexImage2DCHROMIUM(GLenum target, GLint imageId) override;
 
+void BindTexImage2DWithInternalformatCHROMIUM(GLenum target,
+                                              GLenum internalformat,
+                                              GLint imageId) override;
+
 void ReleaseTexImage2DCHROMIUM(GLenum target, GLint imageId) override;
 
 void TraceBeginCHROMIUM(const char* category_name,
diff --git a/gpu/command_buffer/client/gles2_implementation_impl_autogen.h b/gpu/command_buffer/client/gles2_implementation_impl_autogen.h
index db5d667..a5a5091 100644
--- a/gpu/command_buffer/client/gles2_implementation_impl_autogen.h
+++ b/gpu/command_buffer/client/gles2_implementation_impl_autogen.h
@@ -3195,6 +3195,21 @@
   CheckGLError();
 }
 
+void GLES2Implementation::BindTexImage2DWithInternalformatCHROMIUM(
+    GLenum target,
+    GLenum internalformat,
+    GLint imageId) {
+  GPU_CLIENT_SINGLE_THREAD_CHECK();
+  GPU_CLIENT_LOG("[" << GetLogPrefix()
+                     << "] glBindTexImage2DWithInternalformatCHROMIUM("
+                     << GLES2Util::GetStringTextureBindTarget(target) << ", "
+                     << GLES2Util::GetStringEnum(internalformat) << ", "
+                     << imageId << ")");
+  helper_->BindTexImage2DWithInternalformatCHROMIUM(target, internalformat,
+                                                    imageId);
+  CheckGLError();
+}
+
 void GLES2Implementation::ReleaseTexImage2DCHROMIUM(GLenum target,
                                                     GLint imageId) {
   GPU_CLIENT_SINGLE_THREAD_CHECK();
diff --git a/gpu/command_buffer/client/gles2_implementation_unittest_autogen.h b/gpu/command_buffer/client/gles2_implementation_unittest_autogen.h
index cee92feee..55e10eae 100644
--- a/gpu/command_buffer/client/gles2_implementation_unittest_autogen.h
+++ b/gpu/command_buffer/client/gles2_implementation_unittest_autogen.h
@@ -2781,6 +2781,17 @@
   EXPECT_EQ(0, memcmp(&expected, commands_, sizeof(expected)));
 }
 
+TEST_F(GLES2ImplementationTest, BindTexImage2DWithInternalformatCHROMIUM) {
+  struct Cmds {
+    cmds::BindTexImage2DWithInternalformatCHROMIUM cmd;
+  };
+  Cmds expected;
+  expected.cmd.Init(GL_TEXTURE_2D, 2, 3);
+
+  gl_->BindTexImage2DWithInternalformatCHROMIUM(GL_TEXTURE_2D, 2, 3);
+  EXPECT_EQ(0, memcmp(&expected, commands_, sizeof(expected)));
+}
+
 TEST_F(GLES2ImplementationTest, ReleaseTexImage2DCHROMIUM) {
   struct Cmds {
     cmds::ReleaseTexImage2DCHROMIUM cmd;
diff --git a/gpu/command_buffer/client/gles2_interface_autogen.h b/gpu/command_buffer/client/gles2_interface_autogen.h
index 65724af..07a37155 100644
--- a/gpu/command_buffer/client/gles2_interface_autogen.h
+++ b/gpu/command_buffer/client/gles2_interface_autogen.h
@@ -732,6 +732,9 @@
                                          GLint location,
                                          const char* name) = 0;
 virtual void BindTexImage2DCHROMIUM(GLenum target, GLint imageId) = 0;
+virtual void BindTexImage2DWithInternalformatCHROMIUM(GLenum target,
+                                                      GLenum internalformat,
+                                                      GLint imageId) = 0;
 virtual void ReleaseTexImage2DCHROMIUM(GLenum target, GLint imageId) = 0;
 virtual void TraceBeginCHROMIUM(const char* category_name,
                                 const char* trace_name) = 0;
diff --git a/gpu/command_buffer/client/gles2_interface_stub_autogen.h b/gpu/command_buffer/client/gles2_interface_stub_autogen.h
index 54dabbc..bee6141 100644
--- a/gpu/command_buffer/client/gles2_interface_stub_autogen.h
+++ b/gpu/command_buffer/client/gles2_interface_stub_autogen.h
@@ -710,6 +710,9 @@
                                  GLint location,
                                  const char* name) override;
 void BindTexImage2DCHROMIUM(GLenum target, GLint imageId) override;
+void BindTexImage2DWithInternalformatCHROMIUM(GLenum target,
+                                              GLenum internalformat,
+                                              GLint imageId) override;
 void ReleaseTexImage2DCHROMIUM(GLenum target, GLint imageId) override;
 void TraceBeginCHROMIUM(const char* category_name,
                         const char* trace_name) override;
diff --git a/gpu/command_buffer/client/gles2_interface_stub_impl_autogen.h b/gpu/command_buffer/client/gles2_interface_stub_impl_autogen.h
index 5073353b..fd49260 100644
--- a/gpu/command_buffer/client/gles2_interface_stub_impl_autogen.h
+++ b/gpu/command_buffer/client/gles2_interface_stub_impl_autogen.h
@@ -965,6 +965,10 @@
                                                      const char* /* name */) {}
 void GLES2InterfaceStub::BindTexImage2DCHROMIUM(GLenum /* target */,
                                                 GLint /* imageId */) {}
+void GLES2InterfaceStub::BindTexImage2DWithInternalformatCHROMIUM(
+    GLenum /* target */,
+    GLenum /* internalformat */,
+    GLint /* imageId */) {}
 void GLES2InterfaceStub::ReleaseTexImage2DCHROMIUM(GLenum /* target */,
                                                    GLint /* imageId */) {}
 void GLES2InterfaceStub::TraceBeginCHROMIUM(const char* /* category_name */,
diff --git a/gpu/command_buffer/client/gles2_trace_implementation_autogen.h b/gpu/command_buffer/client/gles2_trace_implementation_autogen.h
index 783d7cc..911c4fd0 100644
--- a/gpu/command_buffer/client/gles2_trace_implementation_autogen.h
+++ b/gpu/command_buffer/client/gles2_trace_implementation_autogen.h
@@ -710,6 +710,9 @@
                                  GLint location,
                                  const char* name) override;
 void BindTexImage2DCHROMIUM(GLenum target, GLint imageId) override;
+void BindTexImage2DWithInternalformatCHROMIUM(GLenum target,
+                                              GLenum internalformat,
+                                              GLint imageId) override;
 void ReleaseTexImage2DCHROMIUM(GLenum target, GLint imageId) override;
 void TraceBeginCHROMIUM(const char* category_name,
                         const char* trace_name) override;
diff --git a/gpu/command_buffer/client/gles2_trace_implementation_impl_autogen.h b/gpu/command_buffer/client/gles2_trace_implementation_impl_autogen.h
index 01db22e..4b096cd 100644
--- a/gpu/command_buffer/client/gles2_trace_implementation_impl_autogen.h
+++ b/gpu/command_buffer/client/gles2_trace_implementation_impl_autogen.h
@@ -2054,6 +2054,16 @@
   gl_->BindTexImage2DCHROMIUM(target, imageId);
 }
 
+void GLES2TraceImplementation::BindTexImage2DWithInternalformatCHROMIUM(
+    GLenum target,
+    GLenum internalformat,
+    GLint imageId) {
+  TRACE_EVENT_BINARY_EFFICIENT0(
+      "gpu", "GLES2Trace::BindTexImage2DWithInternalformatCHROMIUM");
+  gl_->BindTexImage2DWithInternalformatCHROMIUM(target, internalformat,
+                                                imageId);
+}
+
 void GLES2TraceImplementation::ReleaseTexImage2DCHROMIUM(GLenum target,
                                                          GLint imageId) {
   TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::ReleaseTexImage2DCHROMIUM");
diff --git a/gpu/command_buffer/cmd_buffer_functions.txt b/gpu/command_buffer/cmd_buffer_functions.txt
index a1055e8..2b87eff 100644
--- a/gpu/command_buffer/cmd_buffer_functions.txt
+++ b/gpu/command_buffer/cmd_buffer_functions.txt
@@ -293,6 +293,7 @@
 GL_APICALL void         GL_APIENTRY glCreateAndConsumeTextureINTERNAL (GLenumTextureBindTarget target, GLuint texture, const GLbyte* mailbox);
 GL_APICALL void         GL_APIENTRY glBindUniformLocationCHROMIUM (GLidProgram program, GLint location, const char* name);
 GL_APICALL void         GL_APIENTRY glBindTexImage2DCHROMIUM (GLenumTextureBindTarget target, GLint imageId);
+GL_APICALL void         GL_APIENTRY glBindTexImage2DWithInternalformatCHROMIUM (GLenumTextureBindTarget target, GLenum internalformat, GLint imageId);
 GL_APICALL void         GL_APIENTRY glReleaseTexImage2DCHROMIUM (GLenumTextureBindTarget target, GLint imageId);
 GL_APICALL void         GL_APIENTRY glTraceBeginCHROMIUM (const char* category_name, const char* trace_name);
 GL_APICALL void         GL_APIENTRY glTraceEndCHROMIUM (void);
diff --git a/gpu/command_buffer/common/gles2_cmd_format_autogen.h b/gpu/command_buffer/common/gles2_cmd_format_autogen.h
index 2f1e47f..3ec79a2 100644
--- a/gpu/command_buffer/common/gles2_cmd_format_autogen.h
+++ b/gpu/command_buffer/common/gles2_cmd_format_autogen.h
@@ -13084,6 +13084,52 @@
 static_assert(offsetof(BindTexImage2DCHROMIUM, imageId) == 8,
               "offset of BindTexImage2DCHROMIUM imageId should be 8");
 
+struct BindTexImage2DWithInternalformatCHROMIUM {
+  typedef BindTexImage2DWithInternalformatCHROMIUM ValueType;
+  static const CommandId kCmdId = kBindTexImage2DWithInternalformatCHROMIUM;
+  static const cmd::ArgFlags kArgFlags = cmd::kFixed;
+  static const uint8_t cmd_flags = CMD_FLAG_SET_TRACE_LEVEL(3);
+
+  static uint32_t ComputeSize() {
+    return static_cast<uint32_t>(sizeof(ValueType));  // NOLINT
+  }
+
+  void SetHeader() { header.SetCmd<ValueType>(); }
+
+  void Init(GLenum _target, GLenum _internalformat, GLint _imageId) {
+    SetHeader();
+    target = _target;
+    internalformat = _internalformat;
+    imageId = _imageId;
+  }
+
+  void* Set(void* cmd, GLenum _target, GLenum _internalformat, GLint _imageId) {
+    static_cast<ValueType*>(cmd)->Init(_target, _internalformat, _imageId);
+    return NextCmdAddress<ValueType>(cmd);
+  }
+
+  gpu::CommandHeader header;
+  uint32_t target;
+  uint32_t internalformat;
+  int32_t imageId;
+};
+
+static_assert(sizeof(BindTexImage2DWithInternalformatCHROMIUM) == 16,
+              "size of BindTexImage2DWithInternalformatCHROMIUM should be 16");
+static_assert(
+    offsetof(BindTexImage2DWithInternalformatCHROMIUM, header) == 0,
+    "offset of BindTexImage2DWithInternalformatCHROMIUM header should be 0");
+static_assert(
+    offsetof(BindTexImage2DWithInternalformatCHROMIUM, target) == 4,
+    "offset of BindTexImage2DWithInternalformatCHROMIUM target should be 4");
+static_assert(offsetof(BindTexImage2DWithInternalformatCHROMIUM,
+                       internalformat) == 8,
+              "offset of BindTexImage2DWithInternalformatCHROMIUM "
+              "internalformat should be 8");
+static_assert(
+    offsetof(BindTexImage2DWithInternalformatCHROMIUM, imageId) == 12,
+    "offset of BindTexImage2DWithInternalformatCHROMIUM imageId should be 12");
+
 struct ReleaseTexImage2DCHROMIUM {
   typedef ReleaseTexImage2DCHROMIUM ValueType;
   static const CommandId kCmdId = kReleaseTexImage2DCHROMIUM;
diff --git a/gpu/command_buffer/common/gles2_cmd_format_test_autogen.h b/gpu/command_buffer/common/gles2_cmd_format_test_autogen.h
index 1bf9ced5..d7094ea1 100644
--- a/gpu/command_buffer/common/gles2_cmd_format_test_autogen.h
+++ b/gpu/command_buffer/common/gles2_cmd_format_test_autogen.h
@@ -4434,6 +4434,21 @@
   CheckBytesWrittenMatchesExpectedSize(next_cmd, sizeof(cmd));
 }
 
+TEST_F(GLES2FormatTest, BindTexImage2DWithInternalformatCHROMIUM) {
+  cmds::BindTexImage2DWithInternalformatCHROMIUM& cmd =
+      *GetBufferAs<cmds::BindTexImage2DWithInternalformatCHROMIUM>();
+  void* next_cmd = cmd.Set(&cmd, static_cast<GLenum>(11),
+                           static_cast<GLenum>(12), static_cast<GLint>(13));
+  EXPECT_EQ(static_cast<uint32_t>(
+                cmds::BindTexImage2DWithInternalformatCHROMIUM::kCmdId),
+            cmd.header.command);
+  EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u);
+  EXPECT_EQ(static_cast<GLenum>(11), cmd.target);
+  EXPECT_EQ(static_cast<GLenum>(12), cmd.internalformat);
+  EXPECT_EQ(static_cast<GLint>(13), cmd.imageId);
+  CheckBytesWrittenMatchesExpectedSize(next_cmd, sizeof(cmd));
+}
+
 TEST_F(GLES2FormatTest, ReleaseTexImage2DCHROMIUM) {
   cmds::ReleaseTexImage2DCHROMIUM& cmd =
       *GetBufferAs<cmds::ReleaseTexImage2DCHROMIUM>();
diff --git a/gpu/command_buffer/common/gles2_cmd_ids_autogen.h b/gpu/command_buffer/common/gles2_cmd_ids_autogen.h
index ffef2d5..bd9ccf3 100644
--- a/gpu/command_buffer/common/gles2_cmd_ids_autogen.h
+++ b/gpu/command_buffer/common/gles2_cmd_ids_autogen.h
@@ -281,59 +281,60 @@
   OP(CreateAndConsumeTextureINTERNALImmediate)             /* 522 */ \
   OP(BindUniformLocationCHROMIUMBucket)                    /* 523 */ \
   OP(BindTexImage2DCHROMIUM)                               /* 524 */ \
-  OP(ReleaseTexImage2DCHROMIUM)                            /* 525 */ \
-  OP(TraceBeginCHROMIUM)                                   /* 526 */ \
-  OP(TraceEndCHROMIUM)                                     /* 527 */ \
-  OP(DiscardFramebufferEXTImmediate)                       /* 528 */ \
-  OP(LoseContextCHROMIUM)                                  /* 529 */ \
-  OP(InsertFenceSyncCHROMIUM)                              /* 530 */ \
-  OP(WaitSyncTokenCHROMIUM)                                /* 531 */ \
-  OP(DrawBuffersEXTImmediate)                              /* 532 */ \
-  OP(DiscardBackbufferCHROMIUM)                            /* 533 */ \
-  OP(ScheduleOverlayPlaneCHROMIUM)                         /* 534 */ \
-  OP(ScheduleCALayerSharedStateCHROMIUM)                   /* 535 */ \
-  OP(ScheduleCALayerCHROMIUM)                              /* 536 */ \
-  OP(ScheduleCALayerInUseQueryCHROMIUMImmediate)           /* 537 */ \
-  OP(CommitOverlayPlanesCHROMIUM)                          /* 538 */ \
-  OP(SwapInterval)                                         /* 539 */ \
-  OP(FlushDriverCachesCHROMIUM)                            /* 540 */ \
-  OP(ScheduleDCLayerSharedStateCHROMIUM)                   /* 541 */ \
-  OP(ScheduleDCLayerCHROMIUM)                              /* 542 */ \
-  OP(MatrixLoadfCHROMIUMImmediate)                         /* 543 */ \
-  OP(MatrixLoadIdentityCHROMIUM)                           /* 544 */ \
-  OP(GenPathsCHROMIUM)                                     /* 545 */ \
-  OP(DeletePathsCHROMIUM)                                  /* 546 */ \
-  OP(IsPathCHROMIUM)                                       /* 547 */ \
-  OP(PathCommandsCHROMIUM)                                 /* 548 */ \
-  OP(PathParameterfCHROMIUM)                               /* 549 */ \
-  OP(PathParameteriCHROMIUM)                               /* 550 */ \
-  OP(PathStencilFuncCHROMIUM)                              /* 551 */ \
-  OP(StencilFillPathCHROMIUM)                              /* 552 */ \
-  OP(StencilStrokePathCHROMIUM)                            /* 553 */ \
-  OP(CoverFillPathCHROMIUM)                                /* 554 */ \
-  OP(CoverStrokePathCHROMIUM)                              /* 555 */ \
-  OP(StencilThenCoverFillPathCHROMIUM)                     /* 556 */ \
-  OP(StencilThenCoverStrokePathCHROMIUM)                   /* 557 */ \
-  OP(StencilFillPathInstancedCHROMIUM)                     /* 558 */ \
-  OP(StencilStrokePathInstancedCHROMIUM)                   /* 559 */ \
-  OP(CoverFillPathInstancedCHROMIUM)                       /* 560 */ \
-  OP(CoverStrokePathInstancedCHROMIUM)                     /* 561 */ \
-  OP(StencilThenCoverFillPathInstancedCHROMIUM)            /* 562 */ \
-  OP(StencilThenCoverStrokePathInstancedCHROMIUM)          /* 563 */ \
-  OP(BindFragmentInputLocationCHROMIUMBucket)              /* 564 */ \
-  OP(ProgramPathFragmentInputGenCHROMIUM)                  /* 565 */ \
-  OP(GetBufferSubDataAsyncCHROMIUM)                        /* 566 */ \
-  OP(CoverageModulationCHROMIUM)                           /* 567 */ \
-  OP(BlendBarrierKHR)                                      /* 568 */ \
-  OP(ApplyScreenSpaceAntialiasingCHROMIUM)                 /* 569 */ \
-  OP(BindFragDataLocationIndexedEXTBucket)                 /* 570 */ \
-  OP(BindFragDataLocationEXTBucket)                        /* 571 */ \
-  OP(GetFragDataIndexEXT)                                  /* 572 */ \
-  OP(UniformMatrix4fvStreamTextureMatrixCHROMIUMImmediate) /* 573 */ \
-  OP(OverlayPromotionHintCHROMIUM)                         /* 574 */ \
-  OP(SwapBuffersWithBoundsCHROMIUMImmediate)               /* 575 */ \
-  OP(SetDrawRectangleCHROMIUM)                             /* 576 */ \
-  OP(SetEnableDCLayersCHROMIUM)                            /* 577 */
+  OP(BindTexImage2DWithInternalformatCHROMIUM)             /* 525 */ \
+  OP(ReleaseTexImage2DCHROMIUM)                            /* 526 */ \
+  OP(TraceBeginCHROMIUM)                                   /* 527 */ \
+  OP(TraceEndCHROMIUM)                                     /* 528 */ \
+  OP(DiscardFramebufferEXTImmediate)                       /* 529 */ \
+  OP(LoseContextCHROMIUM)                                  /* 530 */ \
+  OP(InsertFenceSyncCHROMIUM)                              /* 531 */ \
+  OP(WaitSyncTokenCHROMIUM)                                /* 532 */ \
+  OP(DrawBuffersEXTImmediate)                              /* 533 */ \
+  OP(DiscardBackbufferCHROMIUM)                            /* 534 */ \
+  OP(ScheduleOverlayPlaneCHROMIUM)                         /* 535 */ \
+  OP(ScheduleCALayerSharedStateCHROMIUM)                   /* 536 */ \
+  OP(ScheduleCALayerCHROMIUM)                              /* 537 */ \
+  OP(ScheduleCALayerInUseQueryCHROMIUMImmediate)           /* 538 */ \
+  OP(CommitOverlayPlanesCHROMIUM)                          /* 539 */ \
+  OP(SwapInterval)                                         /* 540 */ \
+  OP(FlushDriverCachesCHROMIUM)                            /* 541 */ \
+  OP(ScheduleDCLayerSharedStateCHROMIUM)                   /* 542 */ \
+  OP(ScheduleDCLayerCHROMIUM)                              /* 543 */ \
+  OP(MatrixLoadfCHROMIUMImmediate)                         /* 544 */ \
+  OP(MatrixLoadIdentityCHROMIUM)                           /* 545 */ \
+  OP(GenPathsCHROMIUM)                                     /* 546 */ \
+  OP(DeletePathsCHROMIUM)                                  /* 547 */ \
+  OP(IsPathCHROMIUM)                                       /* 548 */ \
+  OP(PathCommandsCHROMIUM)                                 /* 549 */ \
+  OP(PathParameterfCHROMIUM)                               /* 550 */ \
+  OP(PathParameteriCHROMIUM)                               /* 551 */ \
+  OP(PathStencilFuncCHROMIUM)                              /* 552 */ \
+  OP(StencilFillPathCHROMIUM)                              /* 553 */ \
+  OP(StencilStrokePathCHROMIUM)                            /* 554 */ \
+  OP(CoverFillPathCHROMIUM)                                /* 555 */ \
+  OP(CoverStrokePathCHROMIUM)                              /* 556 */ \
+  OP(StencilThenCoverFillPathCHROMIUM)                     /* 557 */ \
+  OP(StencilThenCoverStrokePathCHROMIUM)                   /* 558 */ \
+  OP(StencilFillPathInstancedCHROMIUM)                     /* 559 */ \
+  OP(StencilStrokePathInstancedCHROMIUM)                   /* 560 */ \
+  OP(CoverFillPathInstancedCHROMIUM)                       /* 561 */ \
+  OP(CoverStrokePathInstancedCHROMIUM)                     /* 562 */ \
+  OP(StencilThenCoverFillPathInstancedCHROMIUM)            /* 563 */ \
+  OP(StencilThenCoverStrokePathInstancedCHROMIUM)          /* 564 */ \
+  OP(BindFragmentInputLocationCHROMIUMBucket)              /* 565 */ \
+  OP(ProgramPathFragmentInputGenCHROMIUM)                  /* 566 */ \
+  OP(GetBufferSubDataAsyncCHROMIUM)                        /* 567 */ \
+  OP(CoverageModulationCHROMIUM)                           /* 568 */ \
+  OP(BlendBarrierKHR)                                      /* 569 */ \
+  OP(ApplyScreenSpaceAntialiasingCHROMIUM)                 /* 570 */ \
+  OP(BindFragDataLocationIndexedEXTBucket)                 /* 571 */ \
+  OP(BindFragDataLocationEXTBucket)                        /* 572 */ \
+  OP(GetFragDataIndexEXT)                                  /* 573 */ \
+  OP(UniformMatrix4fvStreamTextureMatrixCHROMIUMImmediate) /* 574 */ \
+  OP(OverlayPromotionHintCHROMIUM)                         /* 575 */ \
+  OP(SwapBuffersWithBoundsCHROMIUMImmediate)               /* 576 */ \
+  OP(SetDrawRectangleCHROMIUM)                             /* 577 */ \
+  OP(SetEnableDCLayersCHROMIUM)                            /* 578 */
 
 enum CommandId {
   kOneBeforeStartPoint =
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder.cc b/gpu/command_buffer/service/gles2_cmd_decoder.cc
index b9097406..db2c9d2 100644
--- a/gpu/command_buffer/service/gles2_cmd_decoder.cc
+++ b/gpu/command_buffer/service/gles2_cmd_decoder.cc
@@ -1041,6 +1041,14 @@
   void DoBindTexImage2DCHROMIUM(
       GLenum target,
       GLint image_id);
+  void DoBindTexImage2DWithInternalformatCHROMIUM(GLenum target,
+                                                  GLenum internalformat,
+                                                  GLint image_id);
+  // Common implementation of DoBindTexImage2DCHROMIUM entry points.
+  void BindTexImage2DCHROMIUMImpl(const char* function_name,
+                                  GLenum target,
+                                  GLenum internalformat,
+                                  GLint image_id);
   void DoReleaseTexImage2DCHROMIUM(
       GLenum target,
       GLint image_id);
@@ -17763,10 +17771,26 @@
     GLenum target, GLint image_id) {
   TRACE_EVENT0("gpu", "GLES2DecoderImpl::DoBindTexImage2DCHROMIUM");
 
+  BindTexImage2DCHROMIUMImpl("glBindTexImage2DCHROMIUM", target, 0, image_id);
+}
+
+void GLES2DecoderImpl::DoBindTexImage2DWithInternalformatCHROMIUM(
+    GLenum target,
+    GLenum internalformat,
+    GLint image_id) {
+  TRACE_EVENT0("gpu",
+               "GLES2DecoderImpl::DoBindTexImage2DWithInternalformatCHROMIUM");
+
+  BindTexImage2DCHROMIUMImpl("glBindTexImage2DWithInternalformatCHROMIUM",
+                             target, internalformat, image_id);
+}
+
+void GLES2DecoderImpl::BindTexImage2DCHROMIUMImpl(const char* function_name,
+                                                  GLenum target,
+                                                  GLenum internalformat,
+                                                  GLint image_id) {
   if (target == GL_TEXTURE_CUBE_MAP) {
-    LOCAL_SET_GL_ERROR(
-        GL_INVALID_ENUM,
-        "glBindTexImage2DCHROMIUM", "invalid target");
+    LOCAL_SET_GL_ERROR(GL_INVALID_ENUM, function_name, "invalid target");
     return;
   }
 
@@ -17775,17 +17799,14 @@
   TextureRef* texture_ref =
       texture_manager()->GetTextureInfoForTargetUnlessDefault(&state_, target);
   if (!texture_ref) {
-    LOCAL_SET_GL_ERROR(
-        GL_INVALID_OPERATION,
-        "glBindTexImage2DCHROMIUM", "no texture bound");
+    LOCAL_SET_GL_ERROR(GL_INVALID_OPERATION, function_name, "no texture bound");
     return;
   }
 
   gl::GLImage* image = image_manager()->LookupImage(image_id);
   if (!image) {
-    LOCAL_SET_GL_ERROR(
-        GL_INVALID_OPERATION,
-        "glBindTexImage2DCHROMIUM", "no image found with the given ID");
+    LOCAL_SET_GL_ERROR(GL_INVALID_OPERATION, function_name,
+                       "no image found with the given ID");
     return;
   }
 
@@ -17797,15 +17818,22 @@
 
     // Note: We fallback to using CopyTexImage() before the texture is used
     // when BindTexImage() fails.
-    if (image->BindTexImage(target))
-      image_state = Texture::BOUND;
+    if (internalformat) {
+      if (image->BindTexImageWithInternalformat(target, internalformat))
+        image_state = Texture::BOUND;
+    } else {
+      if (image->BindTexImage(target))
+        image_state = Texture::BOUND;
+    }
   }
 
   gfx::Size size = image->GetSize();
-  GLenum internalformat = image->GetInternalFormat();
-  texture_manager()->SetLevelInfo(
-      texture_ref, target, 0, internalformat, size.width(), size.height(), 1, 0,
-      internalformat, GL_UNSIGNED_BYTE, gfx::Rect(size));
+  GLenum texture_internalformat =
+      internalformat ? internalformat : image->GetInternalFormat();
+  texture_manager()->SetLevelInfo(texture_ref, target, 0,
+                                  texture_internalformat, size.width(),
+                                  size.height(), 1, 0, texture_internalformat,
+                                  GL_UNSIGNED_BYTE, gfx::Rect(size));
   texture_manager()->SetLevelImage(texture_ref, target, 0, image, image_state);
 }
 
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder_autogen.h b/gpu/command_buffer/service/gles2_cmd_decoder_autogen.h
index fa2f5799..25237e2 100644
--- a/gpu/command_buffer/service/gles2_cmd_decoder_autogen.h
+++ b/gpu/command_buffer/service/gles2_cmd_decoder_autogen.h
@@ -4778,6 +4778,24 @@
   return error::kNoError;
 }
 
+error::Error GLES2DecoderImpl::HandleBindTexImage2DWithInternalformatCHROMIUM(
+    uint32_t immediate_data_size,
+    const volatile void* cmd_data) {
+  const volatile gles2::cmds::BindTexImage2DWithInternalformatCHROMIUM& c =
+      *static_cast<const volatile gles2::cmds::
+                       BindTexImage2DWithInternalformatCHROMIUM*>(cmd_data);
+  GLenum target = static_cast<GLenum>(c.target);
+  GLenum internalformat = static_cast<GLenum>(c.internalformat);
+  GLint imageId = static_cast<GLint>(c.imageId);
+  if (!validators_->texture_bind_target.IsValid(target)) {
+    LOCAL_SET_GL_ERROR_INVALID_ENUM(
+        "glBindTexImage2DWithInternalformatCHROMIUM", target, "target");
+    return error::kNoError;
+  }
+  DoBindTexImage2DWithInternalformatCHROMIUM(target, internalformat, imageId);
+  return error::kNoError;
+}
+
 error::Error GLES2DecoderImpl::HandleReleaseTexImage2DCHROMIUM(
     uint32_t immediate_data_size,
     const volatile void* cmd_data) {
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder_passthrough.cc b/gpu/command_buffer/service/gles2_cmd_decoder_passthrough.cc
index eac5a9889..032369e0 100644
--- a/gpu/command_buffer/service/gles2_cmd_decoder_passthrough.cc
+++ b/gpu/command_buffer/service/gles2_cmd_decoder_passthrough.cc
@@ -885,6 +885,34 @@
   }
 }
 
+error::Error GLES2DecoderPassthroughImpl::BindTexImage2DCHROMIUMImpl(
+    GLenum target,
+    GLenum internalformat,
+    GLint imageId) {
+  if (target != GL_TEXTURE_2D) {
+    InsertError(GL_INVALID_ENUM, "Invalid target");
+    return error::kNoError;
+  }
+
+  gl::GLImage* image = image_manager_->LookupImage(imageId);
+  if (image == nullptr) {
+    InsertError(GL_INVALID_OPERATION, "No image found with the given ID");
+    return error::kNoError;
+  }
+
+  if (internalformat) {
+    if (!image->BindTexImageWithInternalformat(target, internalformat)) {
+      image->CopyTexImage(target);
+    }
+  } else {
+    if (!image->BindTexImage(target)) {
+      image->CopyTexImage(target);
+    }
+  }
+
+  return error::kNoError;
+}
+
 #define GLES2_CMD_OP(name)                                               \
   {                                                                      \
       &GLES2DecoderPassthroughImpl::Handle##name, cmds::name::kArgFlags, \
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder_passthrough.h b/gpu/command_buffer/service/gles2_cmd_decoder_passthrough.h
index 0985a2c3..f6ab1099 100644
--- a/gpu/command_buffer/service/gles2_cmd_decoder_passthrough.h
+++ b/gpu/command_buffer/service/gles2_cmd_decoder_passthrough.h
@@ -303,6 +303,10 @@
 
   void UpdateTextureBinding(GLenum target, GLuint client_id, GLuint service_id);
 
+  error::Error BindTexImage2DCHROMIUMImpl(GLenum target,
+                                          GLenum internalformat,
+                                          GLint image_id);
+
   int commands_to_process_;
 
   DebugMarkerManager debug_marker_manager_;
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder_passthrough_doer_prototypes.h b/gpu/command_buffer/service/gles2_cmd_decoder_passthrough_doer_prototypes.h
index 60282e14..7ab02bc 100644
--- a/gpu/command_buffer/service/gles2_cmd_decoder_passthrough_doer_prototypes.h
+++ b/gpu/command_buffer/service/gles2_cmd_decoder_passthrough_doer_prototypes.h
@@ -796,6 +796,9 @@
                                            GLint location,
                                            const char* name);
 error::Error DoBindTexImage2DCHROMIUM(GLenum target, GLint imageId);
+error::Error DoBindTexImage2DWithInternalformatCHROMIUM(GLenum target,
+                                                        GLenum internalformat,
+                                                        GLint imageId);
 error::Error DoReleaseTexImage2DCHROMIUM(GLenum target, GLint imageId);
 error::Error DoTraceBeginCHROMIUM(const char* category_name,
                                   const char* trace_name);
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder_passthrough_doers.cc b/gpu/command_buffer/service/gles2_cmd_decoder_passthrough_doers.cc
index 9bfcb6b..3600f809 100644
--- a/gpu/command_buffer/service/gles2_cmd_decoder_passthrough_doers.cc
+++ b/gpu/command_buffer/service/gles2_cmd_decoder_passthrough_doers.cc
@@ -3485,22 +3485,15 @@
 error::Error GLES2DecoderPassthroughImpl::DoBindTexImage2DCHROMIUM(
     GLenum target,
     GLint imageId) {
-  if (target != GL_TEXTURE_2D) {
-    InsertError(GL_INVALID_ENUM, "Invalid target");
-    return error::kNoError;
-  }
+  return BindTexImage2DCHROMIUMImpl(target, 0, imageId);
+}
 
-  gl::GLImage* image = image_manager_->LookupImage(imageId);
-  if (image == nullptr) {
-    InsertError(GL_INVALID_OPERATION, "No image found with the given ID");
-    return error::kNoError;
-  }
-
-  if (!image->BindTexImage(target)) {
-    image->CopyTexImage(target);
-  }
-
-  return error::kNoError;
+error::Error
+GLES2DecoderPassthroughImpl::DoBindTexImage2DWithInternalformatCHROMIUM(
+    GLenum target,
+    GLenum internalformat,
+    GLint imageId) {
+  return BindTexImage2DCHROMIUMImpl(target, internalformat, imageId);
 }
 
 error::Error GLES2DecoderPassthroughImpl::DoReleaseTexImage2DCHROMIUM(
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder_passthrough_handlers_autogen.cc b/gpu/command_buffer/service/gles2_cmd_decoder_passthrough_handlers_autogen.cc
index 9c6f95f..629a24d 100644
--- a/gpu/command_buffer/service/gles2_cmd_decoder_passthrough_handlers_autogen.cc
+++ b/gpu/command_buffer/service/gles2_cmd_decoder_passthrough_handlers_autogen.cc
@@ -4024,6 +4024,24 @@
   return error::kNoError;
 }
 
+error::Error
+GLES2DecoderPassthroughImpl::HandleBindTexImage2DWithInternalformatCHROMIUM(
+    uint32_t immediate_data_size,
+    const volatile void* cmd_data) {
+  const volatile gles2::cmds::BindTexImage2DWithInternalformatCHROMIUM& c =
+      *static_cast<const volatile gles2::cmds::
+                       BindTexImage2DWithInternalformatCHROMIUM*>(cmd_data);
+  GLenum target = static_cast<GLenum>(c.target);
+  GLenum internalformat = static_cast<GLenum>(c.internalformat);
+  GLint imageId = static_cast<GLint>(c.imageId);
+  error::Error error = DoBindTexImage2DWithInternalformatCHROMIUM(
+      target, internalformat, imageId);
+  if (error != error::kNoError) {
+    return error;
+  }
+  return error::kNoError;
+}
+
 error::Error GLES2DecoderPassthroughImpl::HandleReleaseTexImage2DCHROMIUM(
     uint32_t immediate_data_size,
     const volatile void* cmd_data) {
diff --git a/media/audio/audio_input_device.cc b/media/audio/audio_input_device.cc
index aa44d9d..07b966c 100644
--- a/media/audio/audio_input_device.cc
+++ b/media/audio/audio_input_device.cc
@@ -191,7 +191,17 @@
   ipc_.reset();
 }
 
-AudioInputDevice::~AudioInputDevice() {}
+AudioInputDevice::~AudioInputDevice() {
+#if DCHECK_IS_ON()
+  // Make sure we've stopped the stream properly before destructing |this|.
+  DCHECK(audio_thread_lock_.Try());
+  DCHECK_LE(state_, IDLE);
+  DCHECK(!audio_thread_);
+  DCHECK(!audio_callback_);
+  DCHECK(!stopping_hack_);
+  audio_thread_lock_.Release();
+#endif  // DCHECK_IS_ON()
+}
 
 void AudioInputDevice::StartUpOnIOThread() {
   DCHECK(task_runner()->BelongsToCurrentThread());
diff --git a/media/audio/audio_input_device_unittest.cc b/media/audio/audio_input_device_unittest.cc
index eb144c6..28e9efce 100644
--- a/media/audio/audio_input_device_unittest.cc
+++ b/media/audio/audio_input_device_unittest.cc
@@ -93,6 +93,8 @@
   EXPECT_CALL(callback, OnCaptureError(_))
       .WillOnce(QuitLoop(io_loop.task_runner()));
   base::RunLoop().Run();
+  device->Stop();
+  base::RunLoop().RunUntilIdle();
 }
 
 ACTION_P5(ReportOnStreamCreated, device, handle, socket, length, segments) {
@@ -139,5 +141,8 @@
   EXPECT_CALL(callback, OnCaptureStarted())
       .WillOnce(QuitLoop(io_loop.task_runner()));
   base::RunLoop().Run();
+  device->Stop();
+  base::RunLoop().RunUntilIdle();
 }
+
 }  // namespace media.
diff --git a/media/audio/audio_output_device.cc b/media/audio/audio_output_device.cc
index ae88dde..e31a0f7 100644
--- a/media/audio/audio_output_device.cc
+++ b/media/audio/audio_output_device.cc
@@ -96,7 +96,17 @@
   callback_ = callback;
 }
 
-AudioOutputDevice::~AudioOutputDevice() {}
+AudioOutputDevice::~AudioOutputDevice() {
+#if DCHECK_IS_ON()
+  // Make sure we've stopped the stream properly before destructing |this|.
+  DCHECK(audio_thread_lock_.Try());
+  DCHECK_LE(state_, IDLE);
+  DCHECK(!audio_thread_);
+  DCHECK(!audio_callback_);
+  DCHECK(!stopping_hack_);
+  audio_thread_lock_.Release();
+#endif  // DCHECK_IS_ON()
+}
 
 void AudioOutputDevice::RequestDeviceAuthorization() {
   task_runner()->PostTask(
diff --git a/media/audio/audio_output_device_unittest.cc b/media/audio/audio_output_device_unittest.cc
index 44414d4..e6ede19 100644
--- a/media/audio/audio_output_device_unittest.cc
+++ b/media/audio/audio_output_device_unittest.cc
@@ -158,6 +158,10 @@
 }
 
 void AudioOutputDeviceTest::CreateDevice(const std::string& device_id) {
+  // Make sure the previous device is properly cleaned up.
+  if (audio_device_)
+    StopAudioDevice();
+
   audio_output_ipc_ = new MockAudioOutputIPC();
   audio_device_ = new AudioOutputDevice(
       base::WrapUnique(audio_output_ipc_), io_loop_.task_runner(), 0, device_id,
diff --git a/media/gpu/vaapi_wrapper.cc b/media/gpu/vaapi_wrapper.cc
index b3bf808..5146f43 100644
--- a/media/gpu/vaapi_wrapper.cc
+++ b/media/gpu/vaapi_wrapper.cc
@@ -129,9 +129,10 @@
     // H264PROFILE_HIGH*.
     {H264PROFILE_HIGH, VAProfileH264High},
     {VP8PROFILE_ANY, VAProfileVP8Version0_3},
-    // TODO(servolk): Need to add VP9 profiles 1,2,3 here after rolling
-    // third_party/libva to 1.7. crbug.com/598118
     {VP9PROFILE_PROFILE0, VAProfileVP9Profile0},
+    {VP9PROFILE_PROFILE1, VAProfileVP9Profile1},
+    {VP9PROFILE_PROFILE2, VAProfileVP9Profile2},
+    {VP9PROFILE_PROFILE3, VAProfileVP9Profile3},
 };
 
 static std::vector<VAConfigAttrib> GetRequiredAttribs(
@@ -1224,8 +1225,8 @@
     DVLOG(1) << "VAAPI version: " << major_version_ << "." << minor_version_;
   }
 
-  if (VAAPIVersionLessThan(0, 34)) {
-    LOG(ERROR) << "VAAPI version < 0.34 is not supported.";
+  if (VAAPIVersionLessThan(0, 39)) {
+    LOG(ERROR) << "VAAPI version < 0.39 is not supported.";
     return false;
   }
   return true;
diff --git a/media/midi/midi_service.cc b/media/midi/midi_service.cc
index 7229762..160f7ae7 100644
--- a/media/midi/midi_service.cc
+++ b/media/midi/midi_service.cc
@@ -17,10 +17,10 @@
 bool IsDynamicInstantiationEnabled() {
 // TODO(toyoshim): Support on all platforms. See https://crbug.com/672793.
 #if defined(OS_LINUX) || defined(OS_WIN)
+  return true;
+#else
   return base::FeatureList::IsEnabled(
       features::kMidiManagerDynamicInstantiation);
-#else
-  return false;
 #endif
 }
 
diff --git a/net/quic/chromium/quic_stream_factory.cc b/net/quic/chromium/quic_stream_factory.cc
index 5616476..691d6fa45 100644
--- a/net/quic/chromium/quic_stream_factory.cc
+++ b/net/quic/chromium/quic_stream_factory.cc
@@ -1059,12 +1059,6 @@
   active_cert_verifier_jobs_.erase(job->server_id());
 }
 
-std::unique_ptr<QuicHttpStream> QuicStreamFactory::CreateFromSession(
-    QuicChromiumClientSession* session) {
-  return base::MakeUnique<QuicHttpStream>(session->GetWeakPtr(),
-                                          http_server_properties_);
-}
-
 void QuicStreamFactory::OnIdleSession(QuicChromiumClientSession* session) {}
 
 void QuicStreamFactory::OnSessionGoingAway(QuicChromiumClientSession* session) {
diff --git a/net/quic/chromium/quic_stream_factory.h b/net/quic/chromium/quic_stream_factory.h
index f1533d7e..28f66da 100644
--- a/net/quic/chromium/quic_stream_factory.h
+++ b/net/quic/chromium/quic_stream_factory.h
@@ -399,10 +399,6 @@
   typedef std::map<QuicServerId, std::unique_ptr<CertVerifierJob>>
       CertVerifierJobMap;
 
-  // Returns a newly created QuicHttpStream owned by the caller.
-  std::unique_ptr<QuicHttpStream> CreateFromSession(
-      QuicChromiumClientSession* session);
-
   bool OnResolution(const QuicSessionKey& key, const AddressList& address_list);
   void OnJobComplete(Job* job, int rv);
   void OnCertVerifyJobComplete(CertVerifierJob* job, int rv);
diff --git a/net/quic/chromium/quic_stream_factory_peer.cc b/net/quic/chromium/quic_stream_factory_peer.cc
index d5f4b5c..f801fada 100644
--- a/net/quic/chromium/quic_stream_factory_peer.cc
+++ b/net/quic/chromium/quic_stream_factory_peer.cc
@@ -53,12 +53,6 @@
   return factory->active_sessions_[server_id];
 }
 
-std::unique_ptr<QuicHttpStream> QuicStreamFactoryPeer::CreateFromSession(
-    QuicStreamFactory* factory,
-    QuicChromiumClientSession* session) {
-  return factory->CreateFromSession(session);
-}
-
 bool QuicStreamFactoryPeer::IsLiveSession(QuicStreamFactory* factory,
                                           QuicChromiumClientSession* session) {
   for (QuicStreamFactory::SessionIdMap::iterator it =
diff --git a/net/quic/chromium/quic_stream_factory_peer.h b/net/quic/chromium/quic_stream_factory_peer.h
index c2d3be9e..d643696d 100644
--- a/net/quic/chromium/quic_stream_factory_peer.h
+++ b/net/quic/chromium/quic_stream_factory_peer.h
@@ -24,7 +24,6 @@
 class QuicClientPushPromiseIndex;
 class QuicConfig;
 class QuicCryptoClientConfig;
-class QuicHttpStream;
 class QuicStreamFactory;
 
 namespace test {
@@ -48,10 +47,6 @@
       QuicStreamFactory* factory,
       const QuicServerId& server_id);
 
-  static std::unique_ptr<QuicHttpStream> CreateFromSession(
-      QuicStreamFactory* factory,
-      QuicChromiumClientSession* session);
-
   static bool IsLiveSession(QuicStreamFactory* factory,
                             QuicChromiumClientSession* session);
 
diff --git a/net/quic/chromium/quic_stream_factory_test.cc b/net/quic/chromium/quic_stream_factory_test.cc
index a5642aa..d6d0b9d 100644
--- a/net/quic/chromium/quic_stream_factory_test.cc
+++ b/net/quic/chromium/quic_stream_factory_test.cc
@@ -262,12 +262,6 @@
     return QuicStreamFactoryPeer::GetActiveSession(factory_.get(), server_id);
   }
 
-  std::unique_ptr<QuicHttpStream> CreateFromSession(
-      const HostPortPair& host_port_pair) {
-    QuicChromiumClientSession* session = GetActiveSession(host_port_pair);
-    return QuicStreamFactoryPeer::CreateFromSession(factory_.get(), session);
-  }
-
   int GetSourcePortForNewSession(const HostPortPair& destination) {
     return GetSourcePortForNewSessionInner(destination, false);
   }
@@ -780,17 +774,22 @@
   std::unique_ptr<QuicHttpStream> stream = request.CreateStream();
   EXPECT_TRUE(stream.get());
 
-  // Will reset stream 3.
-  stream = CreateFromSession(host_port_pair_);
-  EXPECT_TRUE(stream.get());
-
-  // TODO(rtenneti): We should probably have a tests that HTTP and HTTPS result
-  // in streams on different sessions.
   QuicStreamRequest request2(factory_.get(), &http_server_properties_);
   EXPECT_EQ(OK, request2.Request(host_port_pair_, privacy_mode_,
                                  /*cert_verify_flags=*/0, url_, "GET", net_log_,
                                  callback_.callback()));
-  stream = request2.CreateStream();   // Will reset stream 5.
+  // Will reset stream 3.
+  stream = request.CreateStream();
+
+  EXPECT_TRUE(stream.get());
+
+  // TODO(rtenneti): We should probably have a tests that HTTP and HTTPS result
+  // in streams on different sessions.
+  QuicStreamRequest request3(factory_.get(), &http_server_properties_);
+  EXPECT_EQ(OK, request3.Request(host_port_pair_, privacy_mode_,
+                                 /*cert_verify_flags=*/0, url_, "GET", net_log_,
+                                 callback_.callback()));
+  stream = request3.CreateStream();   // Will reset stream 5.
   stream.reset();                     // Will reset stream 7.
 
   EXPECT_TRUE(socket_data.AllReadDataConsumed());
@@ -1532,7 +1531,12 @@
 
   base::RunLoop().RunUntilIdle();
 
-  std::unique_ptr<QuicHttpStream> stream(CreateFromSession(host_port_pair_));
+  QuicStreamRequest request2(factory_.get(), &http_server_properties_);
+  EXPECT_EQ(OK, request2.Request(host_port_pair_, privacy_mode_,
+                                 /*cert_verify_flags=*/0, url_, "GET", net_log_,
+                                 callback_.callback()));
+  std::unique_ptr<QuicHttpStream> stream = request2.CreateStream();
+
   EXPECT_TRUE(stream.get());
   stream.reset();
 
diff --git a/net/url_request/report_sender.cc b/net/url_request/report_sender.cc
index 96263d7..ef560151 100644
--- a/net/url_request/report_sender.cc
+++ b/net/url_request/report_sender.cc
@@ -6,6 +6,7 @@
 
 #include <utility>
 
+#include "base/memory/ptr_util.h"
 #include "net/base/elements_upload_data_stream.h"
 #include "net/base/load_flags.h"
 #include "net/base/request_priority.h"
@@ -55,8 +56,9 @@
   DCHECK(!content_type.empty());
   std::unique_ptr<URLRequest> url_request =
       request_context_->CreateRequest(report_uri, DEFAULT_PRIORITY, this);
-  url_request->SetUserData(&kUserDataKey,
-                           new CallbackInfo(success_callback, error_callback));
+  url_request->SetUserData(
+      &kUserDataKey,
+      base::MakeUnique<CallbackInfo>(success_callback, error_callback));
 
   int load_flags =
       LOAD_BYPASS_CACHE | LOAD_DISABLE_CACHE | LOAD_DO_NOT_SEND_AUTH_DATA;
diff --git a/net/url_request/url_fetcher.h b/net/url_request/url_fetcher.h
index eb4663d..97ac88b 100644
--- a/net/url_request/url_fetcher.h
+++ b/net/url_request/url_fetcher.h
@@ -94,7 +94,8 @@
 
   // Used by SetURLRequestUserData.  The callback should make a fresh
   // base::SupportsUserData::Data object every time it's called.
-  typedef base::Callback<base::SupportsUserData::Data*()> CreateDataCallback;
+  typedef base::Callback<std::unique_ptr<base::SupportsUserData::Data>()>
+      CreateDataCallback;
 
   // Used by SetUploadStreamFactory. The callback should assign a fresh upload
   // data stream every time it's called.
diff --git a/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG b/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG
index 2a391b3..d1a2c015 100644
--- a/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG
+++ b/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG
@@ -64,7 +64,7 @@
 crbug.com/591099 accessibility/click-event.html [ Crash ]
 crbug.com/591099 accessibility/color-well.html [ Failure ]
 crbug.com/591099 accessibility/computed-name.html [ Timeout ]
-crbug.com/591099 accessibility/computed-role.html [ Timeout ]
+crbug.com/591099 accessibility/computed-role.html [ Crash Timeout ]
 crbug.com/591099 accessibility/container-node-delete-causes-crash.html [ Failure ]
 crbug.com/591099 accessibility/content-changed-notification-causes-crash.html [ Failure ]
 crbug.com/591099 accessibility/contenteditable-caret-position.html [ Failure ]
@@ -170,7 +170,7 @@
 crbug.com/591099 accessibility/option-aria-checked.html [ Crash ]
 crbug.com/591099 accessibility/other-aria-attribute-change-sends-notification.html [ Crash ]
 crbug.com/591099 accessibility/platform-name.html [ Failure ]
-crbug.com/591099 accessibility/presentational-elements-with-focus.html [ Failure ]
+crbug.com/591099 accessibility/presentational-elements-with-focus.html [ Crash Failure ]
 crbug.com/591099 accessibility/presentational-leaf.html [ Crash ]
 crbug.com/591099 accessibility/presentation-owned-elements.html [ Failure ]
 crbug.com/591099 accessibility/press-works-on-control-types.html [ Failure ]
@@ -350,6 +350,7 @@
 crbug.com/591099 animations/keyframes-iteration-count-non-integer.html [ Failure ]
 crbug.com/591099 animations/keyframes-rule.html [ Failure ]
 crbug.com/591099 animations/lazy-detached-animation-stop.html [ Failure ]
+crbug.com/591099 animations/length-zero-percent-crash.html [ Failure ]
 crbug.com/591099 animations/negative-delay-events.html [ Failure ]
 crbug.com/591099 animations/option-element-crash.html [ Crash ]
 crbug.com/591099 animations/option-opacity-inherit-crash.html [ Crash ]
@@ -533,13 +534,24 @@
 crbug.com/591099 canvas/feimage-with-foreignobject-taint-canvas.html [ Crash ]
 crbug.com/591099 canvas/image-with-foreignobject-taint-canvas-2.html [ Crash ]
 crbug.com/591099 canvas/image-with-foreignobject-taint-canvas.html [ Crash ]
+crbug.com/591099 canvas/philip/tests/2d.composite.transparent.destination-atop.html [ Crash ]
+crbug.com/591099 canvas/philip/tests/2d.composite.transparent.destination-in.html [ Crash ]
+crbug.com/591099 canvas/philip/tests/2d.composite.uncovered.nocontext.copy.html [ Crash ]
 crbug.com/591099 canvas/philip/tests/2d.drawImage.9arg.destpos.html [ Crash ]
+crbug.com/591099 canvas/philip/tests/2d.drawImage.floatsource.html [ Crash ]
 crbug.com/591099 canvas/philip/tests/2d.drawImage.image.incomplete.empty.html [ Crash ]
 crbug.com/591099 canvas/philip/tests/2d.drawImage.image.incomplete.omitted.html [ Crash ]
+crbug.com/591099 canvas/philip/tests/2d.fillRect.basic.html [ Crash ]
+crbug.com/591099 canvas/philip/tests/2d.fillRect.transform.html [ Crash ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.current.changed.html [ Crash ]
 crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.hsl-1.html [ Crash ]
 crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.invalid.rgba-7.html [ Crash ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.rgba-clamp-2.html [ Crash ]
 crbug.com/591099 canvas/philip/tests/2d.pattern.image.incomplete.empty.html [ Crash ]
 crbug.com/591099 canvas/philip/tests/2d.pattern.image.incomplete.omitted.html [ Crash ]
+crbug.com/591099 canvas/philip/tests/2d.pattern.paint.orientation.canvas.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.shadow.pattern.transparent.2.html [ Crash ]
+crbug.com/591099 canvas/philip/tests/2d.shadow.stroke.cap.1.html [ Crash ]
 crbug.com/591099 compositing/3d-corners.html [ Failure ]
 crbug.com/591099 compositing/always-composite-fixed-position-when-descendants-composite.html [ Failure ]
 crbug.com/591099 compositing/animation/busy-indicator.html [ Failure ]
@@ -558,9 +570,11 @@
 crbug.com/591099 compositing/compositing-visible-descendant.html [ Failure ]
 crbug.com/591099 compositing/contents-opaque/body-background-painted.html [ Failure ]
 crbug.com/591099 compositing/contents-opaque/body-background-skipped.html [ Failure ]
+crbug.com/591099 compositing/contents-opaque/filter.html [ Failure ]
 crbug.com/591099 compositing/contents-opaque/hidden-with-visible-child.html [ Failure ]
 crbug.com/591099 compositing/contents-opaque/hidden-with-visible-text.html [ Failure ]
 crbug.com/591099 compositing/contents-opaque/overflow-hidden-child-layers.html [ Failure ]
+crbug.com/591099 compositing/contents-opaque/visibility-hidden.html [ Failure Pass ]
 crbug.com/591099 compositing/culling/clear-fixed-iframe.html [ Failure ]
 crbug.com/591099 compositing/culling/scrolled-within-boxshadow.html [ Failure ]
 crbug.com/591099 compositing/culling/translated-boxshadow.html [ Failure ]
@@ -570,6 +584,7 @@
 crbug.com/591099 compositing/fixed-body-background-positioned.html [ Failure ]
 crbug.com/591099 compositing/fixed-position-changed-to-absolute.html [ Failure ]
 crbug.com/591099 compositing/fixed-position-container.html [ Failure ]
+crbug.com/591099 compositing/fixed-position-scroll-offset-history-restore.html [ Failure ]
 crbug.com/591099 compositing/force-compositing-mode/overflow-iframe-enter-compositing.html [ Failure ]
 crbug.com/591099 compositing/force-compositing-mode/overflow-iframe-layer.html [ Failure ]
 crbug.com/591099 compositing/framesets/composited-frame-alignment.html [ Failure ]
@@ -579,6 +594,7 @@
 crbug.com/591099 compositing/geometry/bounds-clipped-composited-child.html [ Failure ]
 crbug.com/591099 compositing/geometry/bounds-ignores-hidden-composited-descendant.html [ Failure ]
 crbug.com/591099 compositing/geometry/bounds-ignores-hidden-dynamic.html [ Failure ]
+crbug.com/591099 compositing/geometry/bounds-ignores-hidden-dynamic-negzindex.html [ Failure ]
 crbug.com/591099 compositing/geometry/bounds-ignores-hidden.html [ Failure ]
 crbug.com/591099 compositing/geometry/clip.html [ Failure ]
 crbug.com/591099 compositing/geometry/clip-inside.html [ Failure ]
@@ -589,6 +605,7 @@
 crbug.com/591099 compositing/geometry/fixed-in-composited.html [ Failure ]
 crbug.com/591099 compositing/geometry/fixed-position-composited-page-scale-down.html [ Failure ]
 crbug.com/591099 compositing/geometry/fixed-position-composited-page-scale.html [ Failure ]
+crbug.com/591099 compositing/geometry/fixed-position-composited-page-scale-smaller-than-viewport.html [ Crash ]
 crbug.com/591099 compositing/geometry/fixed-position.html [ Failure ]
 crbug.com/591099 compositing/geometry/fixed-position-iframe-composited-page-scale-down.html [ Failure ]
 crbug.com/591099 compositing/geometry/fixed-position-iframe-composited-page-scale.html [ Failure ]
@@ -661,8 +678,11 @@
 crbug.com/591099 compositing/gestures/gesture-tapHighlight-skew-matrix.html [ Failure ]
 crbug.com/591099 compositing/gestures/gesture-tapHighlight-with-box-shadow.html [ Failure ]
 crbug.com/591099 compositing/gestures/gesture-tapHighlight-with-squashing.html [ Failure ]
+crbug.com/591099 compositing/iframes/become-composited-nested-iframes.html [ Failure ]
+crbug.com/591099 compositing/iframes/become-overlapped-iframe.html [ Failure ]
 crbug.com/591099 compositing/iframes/composited-iframe-alignment.html [ Failure ]
 crbug.com/591099 compositing/iframes/composited-iframe-scroll.html [ Failure ]
+crbug.com/591099 compositing/iframes/composited-parent-iframe.html [ Failure ]
 crbug.com/591099 compositing/iframes/connect-compositing-iframe2.html [ Failure ]
 crbug.com/591099 compositing/iframes/connect-compositing-iframe3.html [ Failure ]
 crbug.com/591099 compositing/iframes/connect-compositing-iframe-delayed.html [ Failure ]
@@ -678,15 +698,19 @@
 crbug.com/591099 compositing/iframes/invisible-iframe.html [ Failure ]
 crbug.com/591099 compositing/iframes/invisible-nested-iframe-hide.html [ Crash ]
 crbug.com/591099 compositing/iframes/invisible-nested-iframe.html [ Failure ]
+crbug.com/591099 compositing/iframes/invisible-nested-iframe-show.html [ Failure ]
 crbug.com/591099 compositing/iframes/layout-on-compositing-change.html [ Failure ]
 crbug.com/591099 compositing/iframes/nested-iframe-scrolling.html [ Failure ]
 crbug.com/591099 compositing/iframes/overlapped-iframe.html [ Failure ]
+crbug.com/591099 compositing/iframes/overlapped-iframe-iframe.html [ Failure ]
 crbug.com/591099 compositing/iframes/overlapped-nested-iframes.html [ Failure ]
 crbug.com/591099 compositing/iframes/remove-iframe-crash.html [ Crash ]
 crbug.com/591099 compositing/iframes/repaint-after-losing-scrollbars.html [ Failure ]
+crbug.com/591099 compositing/iframes/resizer.html [ Failure ]
 crbug.com/591099 compositing/iframes/scroll-fixed-transformed-element.html [ Failure ]
 crbug.com/591099 compositing/iframes/scroll-grandchild-iframe.html [ Failure ]
 crbug.com/591099 compositing/iframes/scrolling-iframe.html [ Failure ]
+crbug.com/591099 compositing/iframes/visibility-hidden-transformed-content.html [ Failure ]
 crbug.com/591099 compositing/images/clip-on-directly-composited-image.html [ Failure ]
 crbug.com/591099 compositing/images/content-image.html [ Failure ]
 crbug.com/591099 compositing/images/direct-image-background-color.html [ Failure ]
@@ -705,6 +729,7 @@
 crbug.com/591099 compositing/layer-creation/overflow-scroll-overlap.html [ Failure ]
 crbug.com/591099 compositing/layer-creation/overlap-animation-container.html [ Failure ]
 crbug.com/591099 compositing/layer-creation/overlap-child-layer.html [ Failure ]
+crbug.com/591099 compositing/layer-creation/overlap-transformed-layer.html [ Failure ]
 crbug.com/591099 compositing/layer-creation/overlap-transformed-layer-with-transform-body.html [ Failure ]
 crbug.com/591099 compositing/layer-creation/overlap-transformed-preserved-3d.html [ Failure ]
 crbug.com/591099 compositing/layer-creation/rotate3d-overlap.html [ Failure ]
@@ -717,6 +742,7 @@
 crbug.com/591099 compositing/lots-of-img-layers-with-opacity.html [ Failure ]
 crbug.com/591099 compositing/masks/direct-image-mask.html [ Failure ]
 crbug.com/591099 compositing/masks/masked-ancestor.html [ Failure ]
+crbug.com/591099 compositing/masks/mask-layer-size.html [ Failure ]
 crbug.com/591099 compositing/masks/mask-of-clipped-layer.html [ Failure ]
 crbug.com/591099 compositing/masks/mask-with-added-filters.html [ Failure ]
 crbug.com/591099 compositing/masks/mask-with-removed-filters.html [ Failure ]
@@ -728,7 +754,7 @@
 crbug.com/591099 compositing/overflow/accelerated-overflow-scroll-should-not-affect-perspective.html [ Failure ]
 crbug.com/591099 compositing/overflow/accelerated-scrolling-with-clip-path.html [ Failure ]
 crbug.com/591099 compositing/overflow/accelerated-scrolling-with-clip-path-text.html [ Failure ]
-crbug.com/591099 compositing/overflow/ancestor-overflow.html [ Crash ]
+crbug.com/591099 compositing/overflow/ancestor-overflow.html [ Crash Failure ]
 crbug.com/591099 compositing/overflow/ancestor-with-clip-path.html [ Failure ]
 crbug.com/591099 compositing/overflow/avoid-ancestor-clip-for-scroll-children.html [ Failure ]
 crbug.com/591099 compositing/overflow/body-switch-composited-scrolling.html [ Failure ]
@@ -761,12 +787,12 @@
 crbug.com/591099 compositing/overflow/iframe-inside-overflow-clipping.html [ Failure ]
 crbug.com/591099 compositing/overflow/iframe-nested-scroll-children.html [ Failure ]
 crbug.com/591099 compositing/overflow/iframe-scroll-children.html [ Failure ]
-crbug.com/591099 compositing/overflow/image-load-overflow-scrollbars.html [ Failure ]
+crbug.com/591099 compositing/overflow/image-load-overflow-scrollbars.html [ Crash Failure ]
 crbug.com/591099 compositing/overflow/mask-with-filter.html [ Failure ]
 crbug.com/591099 compositing/overflow/mask-with-small-content-rect.html [ Failure ]
 crbug.com/591099 compositing/overflow/nested-border-radius-clipping.html [ Failure ]
 crbug.com/591099 compositing/overflow/nested-render-surfaces.html [ Failure ]
-crbug.com/591099 compositing/overflow/nested-render-surfaces-with-intervening-clip.html [ Failure ]
+crbug.com/591099 compositing/overflow/nested-render-surfaces-with-intervening-clip.html [ Crash Failure ]
 crbug.com/591099 compositing/overflow/nested-render-surfaces-with-rotation.html [ Failure ]
 crbug.com/591099 compositing/overflow/nested-scrolling.html [ Failure ]
 crbug.com/591099 compositing/overflow/non-reparented-overlay-scrollbars.html [ Failure ]
@@ -792,6 +818,7 @@
 crbug.com/591099 compositing/overflow/remove-overflow-crash2.html [ Failure ]
 crbug.com/591099 compositing/overflow/repaint-after-losing-scrollbars.html [ Failure ]
 crbug.com/591099 compositing/overflow/reparented-scrollbars-non-sc-anc.html [ Failure ]
+crbug.com/591099 compositing/overflow/resize-painting.html [ Failure ]
 crbug.com/591099 compositing/overflow/scaled-mask.html [ Failure ]
 crbug.com/591099 compositing/overflow/scaled-overflow.html [ Failure ]
 crbug.com/591099 compositing/overflow/scroll-ancestor-update.html [ Failure ]
@@ -820,7 +847,7 @@
 crbug.com/591099 compositing/overflow/zero-size-overflow.html [ Failure ]
 crbug.com/591099 compositing/overlap-blending/children-opacity-huge.html [ Failure ]
 crbug.com/591099 compositing/overlap-blending/reflection-opacity-huge.html [ Failure ]
-crbug.com/591099 compositing/perspective-origin-with-scrollbars.html [ Failure ]
+crbug.com/591099 compositing/perspective-origin-with-scrollbars.html [ Crash Failure ]
 crbug.com/591099 compositing/preserve-3d-toggle.html [ Failure ]
 crbug.com/591099 compositing/reflections/animation-inside-reflection.html [ Failure ]
 crbug.com/591099 compositing/reflections/compositing-change-inside-reflection.html [ Failure ]
@@ -855,8 +882,10 @@
 crbug.com/591099 compositing/rtl/rtl-iframe-fixed.html [ Failure ]
 crbug.com/591099 compositing/rtl/rtl-iframe-fixed-overflow.html [ Failure ]
 crbug.com/591099 compositing/rtl/rtl-iframe-fixed-overflow-scrolled.html [ Failure ]
+crbug.com/591099 compositing/rtl/rtl-iframe-relative.html [ Failure ]
 crbug.com/591099 compositing/rtl/rtl-overflow-invalidation.html [ Failure ]
 crbug.com/591099 compositing/rtl/rtl-overflow-scrolling.html [ Failure ]
+crbug.com/591099 compositing/rtl/rtl-relative.html [ Failure ]
 crbug.com/591099 compositing/scaling/tiled-layer-recursion.html [ Failure ]
 crbug.com/591099 compositing/scrollbar-painting.html [ Failure ]
 crbug.com/591099 compositing/scrollbars/custom-composited-different-track-parts.html [ Failure ]
@@ -883,7 +912,7 @@
 crbug.com/591099 compositing/squashing/squashed-layer-loses-graphicslayer.html [ Failure ]
 crbug.com/591099 compositing/squashing/squashed-repaints.html [ Failure ]
 crbug.com/591099 compositing/squashing/squashing-inside-perspective.html [ Failure ]
-crbug.com/591099 compositing/squashing/squash-onto-nephew.html [ Failure ]
+crbug.com/591099 compositing/squashing/squash-onto-nephew.html [ Failure Pass ]
 crbug.com/591099 compositing/squashing/squash-onto-transform-backing.html [ Failure ]
 crbug.com/591099 compositing/squashing/squash-overflow-hidden-scrolltop.html [ Failure ]
 crbug.com/591099 compositing/squashing/squash-paint-invalidation-fixed-position.html [ Failure ]
@@ -917,7 +946,7 @@
 crbug.com/591099 compositing/z-order/collect-layers-does-not-initialize-pos-z-order-list.html [ Failure ]
 crbug.com/591099 crypto/array-buffer-view-offset.html [ Failure ]
 crbug.com/591099 crypto/crypto-gc.html [ Failure ]
-crbug.com/591099 crypto/gc-2.html [ Failure ]
+crbug.com/591099 crypto/gc-2.html [ Crash Failure ]
 crbug.com/591099 crypto/gc-3.html [ Failure ]
 crbug.com/591099 crypto/gc.html [ Failure ]
 crbug.com/591099 crypto/random-values.html [ Failure ]
@@ -1152,6 +1181,7 @@
 crbug.com/591099 css2.1/20110323/abspos-non-replaced-width-margin-000.htm [ Failure ]
 crbug.com/591099 css2.1/20110323/abspos-replaced-width-margin-000.htm [ Failure ]
 crbug.com/591099 css2.1/20110323/border-collapse-offset-002.htm [ Failure ]
+crbug.com/591099 css2.1/20110323/border-conflict-element-011.htm [ Crash ]
 crbug.com/591099 css2.1/20110323/c541-word-sp-001.htm [ Failure ]
 crbug.com/591099 css2.1/20110323/c543-txt-decor-000.html [ Failure ]
 crbug.com/591099 css2.1/20110323/height-applies-to-010a.htm [ Failure ]
@@ -1170,14 +1200,14 @@
 crbug.com/591099 css2.1/20110323/overflow-applies-to-009.htm [ Failure ]
 crbug.com/591099 css2.1/20110323/overflow-applies-to-010.htm [ Failure ]
 crbug.com/591099 css2.1/20110323/overflow-applies-to-012.htm [ Failure ]
-crbug.com/591099 css2.1/20110323/table-caption-002.htm [ Failure ]
+crbug.com/591099 css2.1/20110323/table-caption-002.htm [ Failure Pass ]
 crbug.com/591099 css2.1/20110323/table-caption-optional-002.htm [ Failure ]
 crbug.com/591099 css2.1/20110323/table-height-algorithm-023.htm [ Failure ]
 crbug.com/591099 css2.1/20110323/table-height-algorithm-024.htm [ Failure ]
 crbug.com/591099 css2.1/20110323/text-indent-014.htm [ Failure ]
 crbug.com/591099 css2.1/t010403-shand-border-00-c.html [ Failure ]
 crbug.com/591099 css2.1/t040102-keywords-01-b.html [ Failure ]
-crbug.com/591099 css2.1/t040103-ident-10-c.html [ Crash ]
+crbug.com/591099 css2.1/t040103-ident-10-c.html [ Crash Pass ]
 crbug.com/591099 css2.1/t0402-c71-fwd-parsing-01-f.html [ Failure ]
 crbug.com/591099 css2.1/t0402-c71-fwd-parsing-02-f.html [ Failure ]
 crbug.com/591099 css2.1/t0402-c71-fwd-parsing-04-f.html [ Failure ]
@@ -1195,7 +1225,7 @@
 crbug.com/591099 css2.1/t0602-c13-inh-underlin-00-e.html [ Failure ]
 crbug.com/591099 css2.1/t0602-inherit-bdr-pad-b-00.html [ Failure ]
 crbug.com/591099 css2.1/t0801-c412-hz-box-00-b-a.html [ Failure ]
-crbug.com/591099 css2.1/t080301-c411-vt-mrgn-00-b.html [ Crash ]
+crbug.com/591099 css2.1/t080301-c411-vt-mrgn-00-b.html [ Crash Failure ]
 crbug.com/591099 css2.1/t0803-c5501-imrgn-t-00-b-ag.html [ Failure ]
 crbug.com/591099 css2.1/t0803-c5501-mrgn-t-00-b-a.html [ Failure ]
 crbug.com/591099 css2.1/t0803-c5502-imrgn-r-00-b-ag.html [ Failure ]
@@ -1221,7 +1251,7 @@
 crbug.com/591099 css2.1/t0803-c5505-imrgn-00-a-ag.html [ Failure ]
 crbug.com/591099 css2.1/t0803-c5505-mrgn-00-b-ag.html [ Failure ]
 crbug.com/591099 css2.1/t0803-c5505-mrgn-02-c.html [ Failure ]
-crbug.com/591099 css2.1/t0803-c5505-mrgn-03-c-ag.html [ Crash ]
+crbug.com/591099 css2.1/t0803-c5505-mrgn-03-c-ag.html [ Crash Failure ]
 crbug.com/591099 css2.1/t0804-c5506-ipadn-t-00-b-a.html [ Failure ]
 crbug.com/591099 css2.1/t0804-c5506-ipadn-t-01-b-a.html [ Failure ]
 crbug.com/591099 css2.1/t0804-c5506-ipadn-t-02-b-a.html [ Failure ]
@@ -1386,6 +1416,7 @@
 crbug.com/591099 css2.1/t1202-counters-18-f.html [ Failure ]
 crbug.com/591099 css2.1/t120401-scope-00-b.html [ Failure ]
 crbug.com/591099 css2.1/t120401-scope-04-d.html [ Failure ]
+crbug.com/591099 css2.1/t1204-implied-00-b.html [ Crash ]
 crbug.com/591099 css2.1/t1204-order-00-c.html [ Failure ]
 crbug.com/591099 css2.1/t1204-order-01-d.html [ Failure ]
 crbug.com/591099 css2.1/t1205-c561-list-displ-00-b.html [ Failure ]
@@ -1428,6 +1459,8 @@
 crbug.com/591099 css2.1/t1604-c542-letter-sp-01-b-a.html [ Failure ]
 crbug.com/591099 css2.1/t1605-c545-txttrans-00-b-ag.html [ Failure ]
 crbug.com/591099 css2.1/t1606-c562-white-sp-00-b-ag.html [ Failure ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-91-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-92-d.html [ Failure ]
 crbug.com/591099 css3/background/background-large-position-and-size-remains-stable.html [ Failure ]
 crbug.com/591099 css3/background/background-positioning-area-vrl.html [ Failure ]
 crbug.com/591099 css3/blending/background-blend-mode-crossfade-image-gradient.html [ Failure ]
@@ -1462,6 +1495,8 @@
 crbug.com/591099 css3/blending/mix-blend-mode-isolation-remove.html [ Crash ]
 crbug.com/591099 css3/blending/mix-blend-mode-simple.html [ Failure ]
 crbug.com/591099 css3/blending/mix-blend-mode-simple-text.html [ Failure ]
+crbug.com/591099 css3/blending/mix-blend-mode-with-squashing-layer.html [ Failure ]
+crbug.com/591099 css3/blending/svg-isolation-remove-isolation.html [ Failure ]
 crbug.com/591099 css3/blending/svg-isolation-simple.html [ Failure ]
 crbug.com/591099 css3/calc/border.html [ Failure ]
 crbug.com/591099 css3/calc/catch-divide-by-0.html [ Failure ]
@@ -1537,6 +1572,7 @@
 crbug.com/591099 css3/filters/filter-animation-multi.html [ Crash ]
 crbug.com/591099 css3/filters/filter-animation-multi-hw.html [ Crash ]
 crbug.com/591099 css3/filters/filter-change-repaint-composited.html [ Failure ]
+crbug.com/591099 css3/filters/filtered-compositing-descendant.html [ Failure ]
 crbug.com/591099 css3/filters/filtered-inline.html [ Failure ]
 crbug.com/591099 css3/filters/filter-region.html [ Failure ]
 crbug.com/591099 css3/filters/filter-region-transformed-child.html [ Failure ]
@@ -1544,6 +1580,9 @@
 crbug.com/591099 css3/filters/filter-repaint-composited-fallback-crash.html [ Failure ]
 crbug.com/591099 css3/filters/filter-repaint-composited-fallback.html [ Failure ]
 crbug.com/591099 css3/filters/filter-repaint-feimage.html [ Failure ]
+crbug.com/591099 css3/filters/filter-repaint-shadow-clipped.html [ Failure ]
+crbug.com/591099 css3/filters/filter-repaint-shadow-layer-child.html [ Failure ]
+crbug.com/591099 css3/filters/filter-repaint-shadow-rotated.html [ Failure ]
 crbug.com/591099 css3/filters/filter-repaint-turbulence.html [ Failure ]
 crbug.com/591099 css3/filters/filter-with-opacity-and-children.html [ Failure ]
 crbug.com/591099 css3/filters/filter-with-transform.html [ Failure ]
@@ -1553,9 +1592,10 @@
 crbug.com/591099 css3/filters/nested-filter.html [ Failure ]
 crbug.com/591099 css3/filters/nested-filters.html [ Failure ]
 crbug.com/591099 css3/filters/offscreen-filters-memory-usage.html [ Failure ]
-crbug.com/591099 css3/filters/regions-expanding.html [ Failure ]
+crbug.com/591099 css3/filters/regions-expanding.html [ Crash Failure ]
 crbug.com/591099 css3/filters/remove-filter-rendering.html [ Failure ]
 crbug.com/591099 css3/filters/simple-filter-rendering.html [ Failure ]
+crbug.com/591099 css3/flexbox/align-absolute-child.html [ Failure ]
 crbug.com/591099 css3/flexbox/alignContent-applies-with-flexWrap-wrap-with-single-line.html [ Failure ]
 crbug.com/591099 css3/flexbox/assert-generated-new-flexbox.html [ Failure ]
 crbug.com/591099 css3/flexbox/auto-height-column-with-border-and-padding.html [ Failure ]
@@ -1572,6 +1612,7 @@
 crbug.com/591099 css3/flexbox/css-properties.html [ Failure ]
 crbug.com/591099 css3/flexbox/definite-cross-sizes.html [ Failure ]
 crbug.com/591099 css3/flexbox/display-flexbox-set-get.html [ Crash ]
+crbug.com/591099 css3/flexbox/flex-algorithm.html [ Failure ]
 crbug.com/591099 css3/flexbox/flex-algorithm-with-margins.html [ Failure ]
 crbug.com/591099 css3/flexbox/flex-align-baseline.html [ Failure ]
 crbug.com/591099 css3/flexbox/flex-align.html [ Failure ]
@@ -1586,6 +1627,7 @@
 crbug.com/591099 css3/flexbox/flexbox-wordwrap.html [ Failure ]
 crbug.com/591099 css3/flexbox/flex-flow-2.html [ Failure ]
 crbug.com/591099 css3/flexbox/flex-flow-auto-margins.html [ Failure ]
+crbug.com/591099 css3/flexbox/flex-flow-auto-margins-no-available-space.html [ Failure ]
 crbug.com/591099 css3/flexbox/flex-flow-border.html [ Failure ]
 crbug.com/591099 css3/flexbox/flex-flow.html [ Failure ]
 crbug.com/591099 css3/flexbox/flex-flow-margins-auto-size.html [ Failure ]
@@ -1669,7 +1711,7 @@
 crbug.com/591099 css3/selectors3/html/css3-modsel-169.html [ Failure ]
 crbug.com/591099 css3/selectors3/html/css3-modsel-16.html [ Failure ]
 crbug.com/591099 css3/selectors3/html/css3-modsel-179a.html [ Failure ]
-crbug.com/591099 css3/selectors3/html/css3-modsel-17.html [ Failure ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-17.html [ Crash Failure ]
 crbug.com/591099 css3/selectors3/html/css3-modsel-180a.html [ Failure ]
 crbug.com/591099 css3/selectors3/html/css3-modsel-18a.html [ Failure ]
 crbug.com/591099 css3/selectors3/html/css3-modsel-18b.html [ Failure ]
@@ -1712,6 +1754,7 @@
 crbug.com/591099 css3/selectors3/html/css3-modsel-68.html [ Failure ]
 crbug.com/591099 css3/selectors3/html/css3-modsel-69.html [ Failure ]
 crbug.com/591099 css3/selectors3/html/css3-modsel-70.html [ Failure ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-72b.html [ Crash ]
 crbug.com/591099 css3/selectors3/html/css3-modsel-73b.html [ Failure ]
 crbug.com/591099 css3/selectors3/html/css3-modsel-73.html [ Failure ]
 crbug.com/591099 css3/selectors3/html/css3-modsel-74b.html [ Failure ]
@@ -1739,7 +1782,7 @@
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-169a.xml [ Failure ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-169.xml [ Failure ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-16.xml [ Failure ]
-crbug.com/591099 css3/selectors3/xhtml/css3-modsel-170d.xml [ Crash ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-170d.xml [ Crash Pass ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-179a.xml [ Failure ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-17.xml [ Failure ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-180a.xml [ Failure ]
@@ -1796,7 +1839,7 @@
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-78b.xml [ Failure ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-78.xml [ Failure ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-79.xml [ Failure ]
-crbug.com/591099 css3/selectors3/xhtml/css3-modsel-7.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-7.xml [ Crash Failure ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-80.xml [ Failure ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-8.xml [ Failure ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-91.xml [ Failure ]
@@ -1807,12 +1850,17 @@
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-9.xml [ Failure ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-d1.xml [ Failure ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-d3.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-116.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-120.xml [ Failure ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-126.xml [ Failure ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-13.xml [ Failure ]
-crbug.com/591099 css3/selectors3/xml/css3-modsel-145b.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-145a.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-145b.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-146a.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-146b.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-147a.xml [ Failure ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-147b.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-148.xml [ Failure ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-14.xml [ Failure ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-15.xml [ Failure ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-166a.xml [ Failure ]
@@ -1822,6 +1870,8 @@
 crbug.com/591099 css3/selectors3/xml/css3-modsel-169a.xml [ Failure ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-169.xml [ Failure ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-16.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-172a.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-174b.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-179a.xml [ Failure ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-17.xml [ Failure ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-180a.xml [ Failure ]
@@ -1894,6 +1944,7 @@
 crbug.com/591099 css3/tab-size-span.html [ Failure ]
 crbug.com/591099 css3/unicode-bidi-insolate-parse.html [ Failure ]
 crbug.com/591099 css3/viewport-percentage-lengths/css3-viewport-percentage-lengths-getStyle.html [ Failure Timeout ]
+crbug.com/591099 css3/viewport-percentage-lengths/css3-viewport-percentage-lengths-vh-absolute.html [ Failure ]
 crbug.com/591099 css3/viewport-percentage-lengths/viewport-percentage-lengths-page-zoom.html [ Failure ]
 crbug.com/591099 css3/zoom-coords.xhtml [ Failure ]
 crbug.com/591099 cssom/ahem-ex-units.html [ Failure ]
@@ -1904,6 +1955,7 @@
 crbug.com/591099 csspaint/invalidation-background-image.html [ Timeout ]
 crbug.com/591099 csspaint/invalidation-border-image.html [ Timeout ]
 crbug.com/591099 csspaint/invalidation-content-image.html [ Timeout ]
+crbug.com/591099 csspaint/overdraw.html [ Failure Pass ]
 crbug.com/591099 csspaint/parse-input-arguments.html [ Failure ]
 crbug.com/591099 csspaint/registered-properties-in-custom-paint.html [ Failure ]
 crbug.com/591099 csspaint/registerPaint.html [ Failure ]
@@ -1984,20 +2036,22 @@
 crbug.com/591099 dom/domparsing/xmlserializer-double-xmlns.html [ Failure ]
 crbug.com/591099 dom/legacy_dom_conformance/html/level2/html/AppletsCollection.html [ Crash ]
 crbug.com/591099 dom/legacy_dom_conformance/html/level2/html/HTMLDocument01.html [ Crash ]
-crbug.com/591099 dom/legacy_dom_conformance/html/level2/html/HTMLDocument02.html [ Crash ]
+crbug.com/591099 dom/legacy_dom_conformance/html/level2/html/HTMLDocument02.html [ Crash Pass ]
 crbug.com/591099 dom/legacy_dom_conformance/html/level2/html/HTMLDocument03.html [ Crash ]
 crbug.com/591099 dom/legacy_dom_conformance/html/level2/html/HTMLDocument04.html [ Crash ]
-crbug.com/591099 dom/legacy_dom_conformance/html/level2/html/HTMLDocument05.html [ Crash ]
+crbug.com/591099 dom/legacy_dom_conformance/html/level2/html/HTMLDocument05.html [ Crash Pass ]
 crbug.com/591099 dom/legacy_dom_conformance/html/level2/html/HTMLDocument07.html [ Crash ]
+crbug.com/591099 dom/legacy_dom_conformance/html/level2/html/HTMLDocument08.html [ Crash ]
 crbug.com/591099 dom/legacy_dom_conformance/html/level2/html/HTMLDocument09.html [ Crash ]
 crbug.com/591099 dom/legacy_dom_conformance/html/level2/html/HTMLDocument10.html [ Crash ]
 crbug.com/591099 dom/legacy_dom_conformance/html/level2/html/HTMLDocument11.html [ Crash ]
 crbug.com/591099 dom/legacy_dom_conformance/html/level2/html/HTMLDocument12.html [ Crash ]
-crbug.com/591099 dom/legacy_dom_conformance/html/level2/html/HTMLDocument13.html [ Crash ]
+crbug.com/591099 dom/legacy_dom_conformance/html/level2/html/HTMLDocument13.html [ Crash Pass ]
 crbug.com/591099 dom/legacy_dom_conformance/html/level2/html/HTMLDocument14.html [ Crash ]
 crbug.com/591099 dom/legacy_dom_conformance/html/level2/html/HTMLDocument15.html [ Crash ]
+crbug.com/591099 dom/legacy_dom_conformance/html/level2/html/HTMLDocument16.html [ Crash Pass ]
 crbug.com/591099 dom/legacy_dom_conformance/html/level2/html/HTMLDocument17.html [ Crash ]
-crbug.com/591099 dom/legacy_dom_conformance/html/level2/html/HTMLDocument18.html [ Crash ]
+crbug.com/591099 dom/legacy_dom_conformance/html/level2/html/HTMLDocument18.html [ Crash Pass ]
 crbug.com/591099 dom/legacy_dom_conformance/html/level2/html/HTMLDocument19.html [ Crash ]
 crbug.com/591099 dom/legacy_dom_conformance/html/level2/html/HTMLDocument20.html [ Crash ]
 crbug.com/591099 dom/legacy_dom_conformance/html/level2/html/HTMLDocument21.html [ Crash ]
@@ -2150,16 +2204,17 @@
 crbug.com/591099 dom/legacy_dom_conformance/html/level2/html/HTMLIFrameElement01.html [ Crash ]
 crbug.com/591099 dom/legacy_dom_conformance/html/level2/html/HTMLIFrameElement02.html [ Crash ]
 crbug.com/591099 dom/legacy_dom_conformance/html/level2/html/HTMLIFrameElement03.html [ Crash ]
-crbug.com/591099 dom/legacy_dom_conformance/html/level2/html/HTMLIFrameElement04.html [ Crash ]
+crbug.com/591099 dom/legacy_dom_conformance/html/level2/html/HTMLIFrameElement04.html [ Crash Pass ]
 crbug.com/591099 dom/legacy_dom_conformance/html/level2/html/HTMLIFrameElement05.html [ Crash ]
 crbug.com/591099 dom/legacy_dom_conformance/html/level2/html/HTMLIFrameElement06.html [ Crash ]
 crbug.com/591099 dom/legacy_dom_conformance/html/level2/html/HTMLIFrameElement07.html [ Crash ]
 crbug.com/591099 dom/legacy_dom_conformance/html/level2/html/HTMLIFrameElement08.html [ Crash ]
-crbug.com/591099 dom/legacy_dom_conformance/html/level2/html/HTMLIFrameElement09.html [ Crash ]
+crbug.com/591099 dom/legacy_dom_conformance/html/level2/html/HTMLIFrameElement09.html [ Crash Pass ]
 crbug.com/591099 dom/legacy_dom_conformance/html/level2/html/HTMLIFrameElement10.html [ Crash ]
 crbug.com/591099 dom/legacy_dom_conformance/html/level2/html/HTMLIFrameElement11.html [ Crash ]
-crbug.com/591099 dom/legacy_dom_conformance/html/level2/html/HTMLImageElement04.html [ Crash ]
+crbug.com/591099 dom/legacy_dom_conformance/html/level2/html/HTMLImageElement04.html [ Crash Pass ]
 crbug.com/591099 dom/legacy_dom_conformance/html/level2/html/HTMLImageElement05.html [ Crash ]
+crbug.com/591099 dom/legacy_dom_conformance/html/level2/html/HTMLImageElement07.html [ Crash ]
 crbug.com/591099 dom/legacy_dom_conformance/html/level2/html/HTMLImageElement12.html [ Crash ]
 crbug.com/591099 dom/legacy_dom_conformance/html/level2/html/HTMLObjectElement01.html [ Crash ]
 crbug.com/591099 dom/legacy_dom_conformance/html/level2/html/HTMLObjectElement02.html [ Crash ]
@@ -2207,14 +2262,16 @@
 crbug.com/591099 dom/legacy_dom_conformance/xhtml/level2/html/HTMLDocument03.xhtml [ Crash ]
 crbug.com/591099 dom/legacy_dom_conformance/xhtml/level2/html/HTMLDocument04.xhtml [ Crash ]
 crbug.com/591099 dom/legacy_dom_conformance/xhtml/level2/html/HTMLDocument05.xhtml [ Crash ]
-crbug.com/591099 dom/legacy_dom_conformance/xhtml/level2/html/HTMLDocument07.xhtml [ Crash ]
+crbug.com/591099 dom/legacy_dom_conformance/xhtml/level2/html/HTMLDocument07.xhtml [ Crash Pass ]
 crbug.com/591099 dom/legacy_dom_conformance/xhtml/level2/html/HTMLDocument08.xhtml [ Crash ]
-crbug.com/591099 dom/legacy_dom_conformance/xhtml/level2/html/HTMLDocument09.xhtml [ Crash ]
+crbug.com/591099 dom/legacy_dom_conformance/xhtml/level2/html/HTMLDocument09.xhtml [ Crash Pass ]
 crbug.com/591099 dom/legacy_dom_conformance/xhtml/level2/html/HTMLDocument10.xhtml [ Crash ]
-crbug.com/591099 dom/legacy_dom_conformance/xhtml/level2/html/HTMLDocument11.xhtml [ Crash ]
-crbug.com/591099 dom/legacy_dom_conformance/xhtml/level2/html/HTMLDocument12.xhtml [ Crash ]
+crbug.com/591099 dom/legacy_dom_conformance/xhtml/level2/html/HTMLDocument11.xhtml [ Crash Pass ]
+crbug.com/591099 dom/legacy_dom_conformance/xhtml/level2/html/HTMLDocument12.xhtml [ Crash Pass ]
+crbug.com/591099 dom/legacy_dom_conformance/xhtml/level2/html/HTMLDocument13.xhtml [ Crash ]
 crbug.com/591099 dom/legacy_dom_conformance/xhtml/level2/html/HTMLDocument14.xhtml [ Crash ]
 crbug.com/591099 dom/legacy_dom_conformance/xhtml/level2/html/HTMLDocument15.xhtml [ Crash ]
+crbug.com/591099 dom/legacy_dom_conformance/xhtml/level2/html/HTMLDocument16.xhtml [ Crash ]
 crbug.com/591099 dom/legacy_dom_conformance/xhtml/level2/html/HTMLElement01.xhtml [ Crash ]
 crbug.com/591099 dom/legacy_dom_conformance/xhtml/level2/html/HTMLElement02.xhtml [ Crash ]
 crbug.com/591099 dom/legacy_dom_conformance/xhtml/level2/html/HTMLElement03.xhtml [ Crash ]
@@ -2363,17 +2420,22 @@
 crbug.com/591099 dom/legacy_dom_conformance/xhtml/level2/html/HTMLIFrameElement01.xhtml [ Crash ]
 crbug.com/591099 dom/legacy_dom_conformance/xhtml/level2/html/HTMLIFrameElement02.xhtml [ Crash ]
 crbug.com/591099 dom/legacy_dom_conformance/xhtml/level2/html/HTMLIFrameElement03.xhtml [ Crash ]
-crbug.com/591099 dom/legacy_dom_conformance/xhtml/level2/html/HTMLIFrameElement04.xhtml [ Crash ]
+crbug.com/591099 dom/legacy_dom_conformance/xhtml/level2/html/HTMLIFrameElement04.xhtml [ Crash Pass ]
 crbug.com/591099 dom/legacy_dom_conformance/xhtml/level2/html/HTMLIFrameElement05.xhtml [ Crash ]
 crbug.com/591099 dom/legacy_dom_conformance/xhtml/level2/html/HTMLIFrameElement06.xhtml [ Crash ]
 crbug.com/591099 dom/legacy_dom_conformance/xhtml/level2/html/HTMLIFrameElement07.xhtml [ Crash ]
-crbug.com/591099 dom/legacy_dom_conformance/xhtml/level2/html/HTMLIFrameElement08.xhtml [ Crash ]
-crbug.com/591099 dom/legacy_dom_conformance/xhtml/level2/html/HTMLIFrameElement09.xhtml [ Crash ]
+crbug.com/591099 dom/legacy_dom_conformance/xhtml/level2/html/HTMLIFrameElement08.xhtml [ Crash Pass ]
+crbug.com/591099 dom/legacy_dom_conformance/xhtml/level2/html/HTMLIFrameElement09.xhtml [ Crash Pass ]
 crbug.com/591099 dom/legacy_dom_conformance/xhtml/level2/html/HTMLIFrameElement10.xhtml [ Crash ]
 crbug.com/591099 dom/legacy_dom_conformance/xhtml/level2/html/HTMLIFrameElement11.xhtml [ Crash ]
+crbug.com/591099 dom/legacy_dom_conformance/xhtml/level2/html/HTMLImageElement01.xhtml [ Crash ]
+crbug.com/591099 dom/legacy_dom_conformance/xhtml/level2/html/HTMLImageElement02.xhtml [ Crash Pass ]
+crbug.com/591099 dom/legacy_dom_conformance/xhtml/level2/html/HTMLImageElement04.xhtml [ Crash Pass ]
 crbug.com/591099 dom/legacy_dom_conformance/xhtml/level2/html/HTMLImageElement05.xhtml [ Crash ]
+crbug.com/591099 dom/legacy_dom_conformance/xhtml/level2/html/HTMLImageElement06.xhtml [ Crash ]
 crbug.com/591099 dom/legacy_dom_conformance/xhtml/level2/html/HTMLImageElement09.xhtml [ Crash ]
-crbug.com/591099 dom/legacy_dom_conformance/xhtml/level2/html/HTMLImageElement11.xhtml [ Crash ]
+crbug.com/591099 dom/legacy_dom_conformance/xhtml/level2/html/HTMLImageElement10.xhtml [ Crash ]
+crbug.com/591099 dom/legacy_dom_conformance/xhtml/level2/html/HTMLImageElement11.xhtml [ Crash Pass ]
 crbug.com/591099 dom/legacy_dom_conformance/xhtml/level2/html/HTMLImageElement12.xhtml [ Crash ]
 crbug.com/591099 dom/legacy_dom_conformance/xhtml/level2/html/HTMLObjectElement01.xhtml [ Crash ]
 crbug.com/591099 dom/legacy_dom_conformance/xhtml/level2/html/HTMLObjectElement02.xhtml [ Crash ]
@@ -2432,6 +2494,7 @@
 crbug.com/591099 editing/caret/caret-direction-auto.html [ Failure ]
 crbug.com/591099 editing/caret/caret-height.html [ Failure ]
 crbug.com/591099 editing/caret/caret-in-empty-cell.html [ Failure ]
+crbug.com/591099 editing/caret/caret-is-hidden-when-no-focus.html [ Failure ]
 crbug.com/591099 editing/caret/caret-position.html [ Failure ]
 crbug.com/591099 editing/caret/in-multicol-child.html [ Failure ]
 crbug.com/591099 editing/caret/selection-with-caret-type-progress.html [ Failure ]
@@ -2470,7 +2533,7 @@
 crbug.com/591099 editing/deleting/delete-br-after-image.html [ Crash ]
 crbug.com/591099 editing/deleting/delete-button-background-image-none.html [ Failure ]
 crbug.com/591099 editing/deleting/delete-character-002.html [ Crash ]
-crbug.com/591099 editing/deleting/delete-contiguous-ws-001.html [ Crash ]
+crbug.com/591099 editing/deleting/delete-contiguous-ws-001.html [ Crash Failure ]
 crbug.com/591099 editing/deleting/delete-empty-table.html [ Failure ]
 crbug.com/591099 editing/deleting/delete_image.html [ Crash ]
 crbug.com/591099 editing/deleting/delete-inline-br.html [ Crash ]
@@ -2596,7 +2659,7 @@
 crbug.com/591099 editing/execCommand/format-block-multiple-paragraphs.html [ Crash ]
 crbug.com/591099 editing/execCommand/format-block-multiple-paragraphs-in-pre.html [ Crash ]
 crbug.com/591099 editing/execCommand/format_block/no-visible-content.html [ Failure ]
-crbug.com/591099 editing/execCommand/format-block-uneditable-crash.html [ Crash ]
+crbug.com/591099 editing/execCommand/format-block-uneditable-crash.html [ Crash Timeout ]
 crbug.com/591099 editing/execCommand/format_block/unrooted-selection-start-crash.html [ Crash ]
 crbug.com/591099 editing/execCommand/format-block-with-trailing-br.html [ Failure ]
 crbug.com/591099 editing/execCommand/forward-delete-no-scroll.html [ Failure ]
@@ -2732,6 +2795,7 @@
 crbug.com/591099 editing/input/set-value-on-input-and-type-input.html [ Failure ]
 crbug.com/591099 editing/input/set-value-on-input-and-type-textarea.html [ Failure ]
 crbug.com/591099 editing/input/style-change-during-input.html [ Failure ]
+crbug.com/591099 editing/input/textarea-white-space-normal-trailing-space.html [ Failure ]
 crbug.com/591099 editing/input/textcontrol-doubleclick-at-end.html [ Failure ]
 crbug.com/591099 editing/inserting/4278698.html [ Failure ]
 crbug.com/591099 editing/inserting/4840662.html [ Failure ]
@@ -2849,14 +2913,14 @@
 crbug.com/591099 editing/pasteboard/copy-image-with-alt-text.html [ Crash ]
 crbug.com/591099 editing/pasteboard/copy-in-password-field.html [ Failure ]
 crbug.com/591099 editing/pasteboard/copy-null-characters.html [ Crash ]
-crbug.com/591099 editing/pasteboard/copy-paste-bidi.html [ Crash ]
+crbug.com/591099 editing/pasteboard/copy-paste-bidi.html [ Crash Failure ]
 crbug.com/591099 editing/pasteboard/copy-paste-first-line-in-textarea.html [ Failure ]
 crbug.com/591099 editing/pasteboard/copy-paste-float.html [ Failure ]
 crbug.com/591099 editing/pasteboard/copy-paste-pre-line-content.html [ Failure ]
 crbug.com/591099 editing/pasteboard/copy-paste-ruby-text.html [ Crash ]
 crbug.com/591099 editing/pasteboard/copy-paste-ruby-text-with-block.html [ Crash ]
 crbug.com/591099 editing/pasteboard/copy-paste-white-space.html [ Failure ]
-crbug.com/591099 editing/pasteboard/copy-resolves-urls.html [ Failure ]
+crbug.com/591099 editing/pasteboard/copy-resolves-urls.html [ Crash Failure ]
 crbug.com/591099 editing/pasteboard/copy-standalone-image-crash.html [ Crash ]
 crbug.com/591099 editing/pasteboard/copy-standalone-image-escaping.html [ Timeout ]
 crbug.com/591099 editing/pasteboard/copy-standalone-image.html [ Failure ]
@@ -2946,7 +3010,7 @@
 crbug.com/591099 editing/pasteboard/paste-wrapped-blockquote-into-nonblockquote.html [ Failure ]
 crbug.com/591099 editing/pasteboard/pasting-empty-html-falls-back-to-text.html [ Failure ]
 crbug.com/591099 editing/pasteboard/pasting-tabs.html [ Failure ]
-crbug.com/591099 editing/pasteboard/quirks-mode-br-1.html [ Failure ]
+crbug.com/591099 editing/pasteboard/quirks-mode-br-1.html [ Crash Failure ]
 crbug.com/591099 editing/pasteboard/restore-collapsed-space-for-copy.html [ Crash ]
 crbug.com/591099 editing/pasteboard/select-element-1.html [ Crash ]
 crbug.com/591099 editing/pasteboard/selection-paste-crash.html [ Failure ]
@@ -3050,7 +3114,7 @@
 crbug.com/591099 editing/selection/dont-select-text-overflow-ellipsis-when-wrapping-rtl-mixed.html [ Failure ]
 crbug.com/591099 editing/selection/doubleclick-beside-cr-span.html [ Timeout ]
 crbug.com/591099 editing/selection/doubleclick-inline-first-last-contenteditable.html [ Failure ]
-crbug.com/591099 editing/selection/doubleclick-whitespace.html [ Failure ]
+crbug.com/591099 editing/selection/doubleclick-whitespace.html [ Crash Failure ]
 crbug.com/591099 editing/selection/doubleclick-whitespace-img-crash.html [ Crash ]
 crbug.com/591099 editing/selection/doubleclick-with-split-text.html [ Failure ]
 crbug.com/591099 editing/selection/drag-drop-events.html [ Failure ]
@@ -3325,8 +3389,8 @@
 crbug.com/591099 editing/style/inline-style-container.html [ Failure ]
 crbug.com/591099 editing/style/inline-style-extend-run.html [ Failure ]
 crbug.com/591099 editing/style/justify-without-enclosing-block.xhtml [ Failure ]
-crbug.com/591099 editing/style/make-text-writing-direction-inline-mac.html [ Crash ]
-crbug.com/591099 editing/style/make-text-writing-direction-inline-win.html [ Crash ]
+crbug.com/591099 editing/style/make-text-writing-direction-inline-mac.html [ Crash Timeout ]
+crbug.com/591099 editing/style/make-text-writing-direction-inline-win.html [ Crash Timeout ]
 crbug.com/591099 editing/style/non-inheritable-styles.html [ Failure ]
 crbug.com/591099 editing/style/push-down-font-styles-mac.html [ Timeout ]
 crbug.com/591099 editing/style/push-down-font-styles-win.html [ Timeout ]
@@ -3364,6 +3428,7 @@
 crbug.com/591099 editing/undo/orphaned-selection-crash-bug32823-4.html [ Crash ]
 crbug.com/591099 editing/undo/paste_with_mutation_event_undo_order.html [ Failure ]
 crbug.com/591099 editing/undo/redo_correct_selection.html [ Crash ]
+crbug.com/591099 editing/undo/type_with_mutation_event_undo_order.html [ Crash Pass ]
 crbug.com/591099 editing/undo/undo-after-removing-iframe.html [ Crash ]
 crbug.com/591099 editing/undo/undo-after-setting-value.html [ Failure ]
 crbug.com/591099 editing/undo/undo-iframe-location-change.html [ Crash ]
@@ -3377,6 +3442,7 @@
 crbug.com/591099 editing/unsupported-content/table-delete-003.html [ Failure ]
 crbug.com/591099 editing/unsupported-content/table-type-after.html [ Failure ]
 crbug.com/591099 editing/unsupported-content/table-type-before.html [ Failure ]
+crbug.com/591099 external/wpt/compat/webkit-text-fill-color-property-003.html [ Crash ]
 crbug.com/591099 external/wpt/content-security-policy/child-src/child-src-about-blank-allowed-by-default.sub.html [ Crash ]
 crbug.com/591099 external/wpt/content-security-policy/child-src/child-src-about-blank-allowed-by-scheme.sub.html [ Crash ]
 crbug.com/591099 external/wpt/content-security-policy/child-src/child-src-allowed.sub.html [ Crash ]
@@ -3405,10 +3471,13 @@
 crbug.com/591099 external/wpt/content-security-policy/img-src/img-src-none-blocks.html [ Crash ]
 crbug.com/591099 external/wpt/content-security-policy/img-src/img-src-port-wildcard-allowed.sub.html [ Crash ]
 crbug.com/591099 external/wpt/content-security-policy/img-src/img-src-wildcard-allowed.html [ Crash ]
-crbug.com/591099 external/wpt/content-security-policy/media-src/media-src-redir-bug.sub.html [ Timeout ]
+crbug.com/591099 external/wpt/content-security-policy/inside-worker/dedicated-inheritance.html [ Pass Timeout ]
+crbug.com/591099 external/wpt/content-security-policy/media-src/media-src-redir-bug.sub.html [ Pass Timeout ]
 crbug.com/591099 external/wpt/content-security-policy/meta/meta-img-src.html [ Crash ]
 crbug.com/591099 external/wpt/content-security-policy/meta/meta-modified.html [ Crash ]
 crbug.com/591099 external/wpt/content-security-policy/navigation/to-javascript-url.html [ Crash ]
+crbug.com/591099 external/wpt/content-security-policy/script-src/script-src-1_1.html [ Crash Pass ]
+crbug.com/591099 external/wpt/content-security-policy/script-src/script-src-1_2.html [ Crash Pass ]
 crbug.com/591099 external/wpt/content-security-policy/securitypolicyviolation/img-src-redirect-upgrade-reporting.https.html [ Crash ]
 crbug.com/591099 external/wpt/content-security-policy/securitypolicyviolation/script-sample.html [ Crash ]
 crbug.com/591099 external/wpt/content-security-policy/securitypolicyviolation/script-sample-no-opt-in.html [ Crash ]
@@ -3417,13 +3486,16 @@
 crbug.com/591099 external/wpt/content-security-policy/svg/svg-from-guid.html [ Crash ]
 crbug.com/591099 external/wpt/content-security-policy/svg/svg-policy-resource-doc-includes.html [ Crash ]
 crbug.com/591099 external/wpt/content-security-policy/svg/svg-policy-with-resource.html [ Crash ]
+crbug.com/591099 external/wpt/content-security-policy/worker-src/service-child.https.sub.html [ Pass Timeout ]
 crbug.com/591099 external/wpt/css/CSS2/abspos/abspos-containing-block-initial-001.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/abspos/abspos-containing-block-initial-004a.xht [ Crash ]
 crbug.com/591099 external/wpt/css/CSS2/abspos/abspos-containing-block-initial-007.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/abspos/abspos-containing-block-initial-009a.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/floats-clear/adjacent-floats-001.xht [ Crash Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/clear-001.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/clear-002.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/clear-003.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/floats-clear/clear-004.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/clear-005.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/clear-applies-to-001.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/clear-applies-to-002.xht [ Failure ]
@@ -3435,12 +3507,17 @@
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/clear-applies-to-009.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/clear-applies-to-013.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/clear-applies-to-015.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/floats-clear/clear-clearance-calculation-001.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/floats-clear/clear-clearance-calculation-002.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/clear-float-001.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/clear-float-002.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/clear-float-003.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/clear-float-004.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/clear-float-005.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/clear-float-006.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/floats-clear/clear-float-007.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/floats-clear/clear-float-008.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/floats-clear/clear-float-009.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/float-003.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/float-006.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/float-applies-to-001a.xht [ Failure ]
@@ -3457,6 +3534,7 @@
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/float-applies-to-013.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/float-applies-to-014.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/float-applies-to-015.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/floats-clear/float-non-replaced-height-001.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/float-non-replaced-width-001.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/float-non-replaced-width-002.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/float-non-replaced-width-003.xht [ Failure ]
@@ -3465,7 +3543,9 @@
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/float-replaced-height-001.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/float-replaced-height-002.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/float-replaced-height-003.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/floats-clear/float-replaced-height-004.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/float-replaced-height-006.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/floats-clear/float-replaced-height-007.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/float-replaced-width-001.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/float-replaced-width-002.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/float-replaced-width-003.xht [ Failure ]
@@ -3478,10 +3558,11 @@
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/float-replaced-width-011.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/floats-001.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/floats-002.xht [ Failure ]
-crbug.com/591099 external/wpt/css/CSS2/floats-clear/floats-003.xht [ Crash ]
+crbug.com/591099 external/wpt/css/CSS2/floats-clear/floats-003.xht [ Crash Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/floats-004.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/floats-006.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/floats-008.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/floats-clear/floats-015.xht [ Crash ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/floats-019.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/floats-023.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/floats-024.xht [ Failure ]
@@ -3493,11 +3574,14 @@
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/floats-031.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/floats-038.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/floats-039.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/floats-clear/floats-040.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/floats-043.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/floats-101.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/floats-113.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/floats-117.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/floats-120.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/floats-clear/floats-122.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/floats-clear/floats-123.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/floats-132.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/floats-133.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/floats-134.xht [ Failure ]
@@ -3511,7 +3595,7 @@
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/floats-146.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/floats-149.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/floats-bfc-001.xht [ Failure ]
-crbug.com/591099 external/wpt/css/CSS2/floats-clear/floats-bfc-002.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/floats-clear/floats-bfc-002.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/margin-collapse-018.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/margin-collapse-027.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/margin-collapse-033.xht [ Failure ]
@@ -3526,7 +3610,7 @@
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/margin-collapse-157.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/margin-collapse-158.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/margin-collapse-clear-002.xht [ Failure ]
-crbug.com/591099 external/wpt/css/CSS2/floats-clear/margin-collapse-clear-003.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/floats-clear/margin-collapse-clear-003.xht [ Crash Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/margin-collapse-clear-008.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/margin-collapse-clear-009.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/margin-collapse-clear-012.xht [ Failure ]
@@ -3551,13 +3635,13 @@
 crbug.com/591099 external/wpt/css/CSS2/floats/floats-wrap-bfc-007.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats/floats-wrap-top-below-bfc-001l.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats/floats-wrap-top-below-bfc-001r.xht [ Failure ]
-crbug.com/591099 external/wpt/css/CSS2/floats/floats-wrap-top-below-bfc-002l.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/floats/floats-wrap-top-below-bfc-002l.xht [ Crash Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats/floats-wrap-top-below-bfc-002r.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats/floats-wrap-top-below-bfc-003l.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats/floats-wrap-top-below-bfc-003r.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats/floats-wrap-top-below-inline-001l.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats/floats-wrap-top-below-inline-001r.xht [ Failure ]
-crbug.com/591099 external/wpt/css/CSS2/floats/floats-wrap-top-below-inline-002l.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/floats/floats-wrap-top-below-inline-002l.xht [ Crash Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats/floats-wrap-top-below-inline-002r.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats/floats-wrap-top-below-inline-003l.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats/floats-wrap-top-below-inline-003r.xht [ Failure ]
@@ -3566,7 +3650,9 @@
 crbug.com/591099 external/wpt/css/CSS2/linebox/border-padding-bleed-003.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/linebox/empty-inline-002.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/linebox/empty-inline-003.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/linebox/inline-box-001.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/linebox/inline-formatting-context-001.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/linebox/inline-formatting-context-009.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/linebox/inline-formatting-context-011.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/linebox/inline-formatting-context-013.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/linebox/inline-formatting-context-015.xht [ Failure ]
@@ -3616,14 +3702,16 @@
 crbug.com/591099 external/wpt/css/CSS2/linebox/line-height-applies-to-015.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/linebox/line-height-bleed-001.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/linebox/line-height-bleed-002.xht [ Failure ]
-crbug.com/591099 external/wpt/css/CSS2/linebox/vertical-align-017.xht [ Crash ]
+crbug.com/591099 external/wpt/css/CSS2/linebox/vertical-align-017.xht [ Crash Pass ]
 crbug.com/591099 external/wpt/css/CSS2/linebox/vertical-align-028.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/linebox/vertical-align-043.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/linebox/vertical-align-052.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/linebox/vertical-align-091.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/linebox/vertical-align-100.xht [ Timeout ]
 crbug.com/591099 external/wpt/css/CSS2/linebox/vertical-align-117a.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/linebox/vertical-align-118a.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/linebox/vertical-align-121.xht [ Failure ]
-crbug.com/591099 external/wpt/css/CSS2/linebox/vertical-align-applies-to-001.xht [ Crash ]
+crbug.com/591099 external/wpt/css/CSS2/linebox/vertical-align-applies-to-001.xht [ Crash Pass ]
 crbug.com/591099 external/wpt/css/CSS2/linebox/vertical-align-applies-to-008.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/linebox/vertical-align-baseline-004a.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/linebox/vertical-align-baseline-005a.xht [ Failure ]
@@ -3635,11 +3723,13 @@
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/block-formatting-contexts-011.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/block-formatting-contexts-012.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/block-formatting-contexts-015.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/normal-flow/block-in-inline-insert-002i.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/block-in-inline-margins-001a.xht [ Failure ]
-crbug.com/591099 external/wpt/css/CSS2/normal-flow/block-in-inline-margins-001b.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/normal-flow/block-in-inline-margins-001b.xht [ Crash Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/block-in-inline-margins-002a.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/block-in-inline-margins-002b.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/block-in-inline-percents-001.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/normal-flow/block-in-inline-remove-000.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/block-non-replaced-height-001.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/block-non-replaced-height-005.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/block-non-replaced-width-007.xht [ Failure ]
@@ -3659,7 +3749,7 @@
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/blocks-026.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/height-001.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/height-002.xht [ Failure ]
-crbug.com/591099 external/wpt/css/CSS2/normal-flow/height-003.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/normal-flow/height-003.xht [ Crash Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/height-004.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/height-005.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/height-012.xht [ Failure ]
@@ -3670,6 +3760,7 @@
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/height-024.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/height-026.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/height-027.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/normal-flow/height-029.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/height-034.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/height-035.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/height-037.xht [ Failure ]
@@ -3695,15 +3786,16 @@
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/height-091.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/height-092.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/height-093.xht [ Failure ]
-crbug.com/591099 external/wpt/css/CSS2/normal-flow/height-095.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/normal-flow/height-095.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/height-104.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/height-111.xht [ Crash ]
-crbug.com/591099 external/wpt/css/CSS2/normal-flow/height-114.xht [ Crash ]
+crbug.com/591099 external/wpt/css/CSS2/normal-flow/height-114.xht [ Crash Failure ]
+crbug.com/591099 external/wpt/css/CSS2/normal-flow/height-applies-to-012.xht [ Crash ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/height-applies-to-014.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/height-percentage-003.xht [ Crash ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/height-percentage-004.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/height-percentage-005.xht [ Failure ]
-crbug.com/591099 external/wpt/css/CSS2/normal-flow/inline-block-000.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/normal-flow/inline-block-000.xht [ Crash Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/inline-block-non-replaced-height-002.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/inline-block-replaced-height-001.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/inline-block-replaced-height-006.xht [ Failure ]
@@ -3716,6 +3808,7 @@
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/inline-block-replaced-width-008.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/inline-block-valign-002.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/inline-block-zorder-003.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/normal-flow/inline-block-zorder-004.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/inline-non-replaced-height-002.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/inline-non-replaced-height-003.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/inline-non-replaced-width-001.xht [ Failure ]
@@ -3744,7 +3837,7 @@
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/inline-table-zorder-004.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/inline-table-zorder-005.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-height-002.xht [ Failure ]
-crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-height-003.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-height-003.xht [ Crash Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-height-004.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-height-005.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-height-013.xht [ Failure ]
@@ -3753,7 +3846,7 @@
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-height-024.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-height-026.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-height-027.xht [ Failure ]
-crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-height-028.xht [ Crash ]
+crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-height-028.xht [ Crash Pass ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-height-035.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-height-037.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-height-038.xht [ Failure ]
@@ -3764,7 +3857,8 @@
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-height-057.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-height-059.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-height-060.xht [ Failure ]
-crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-height-068.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-height-061.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-height-068.xht [ Crash Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-height-070.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-height-071.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-height-078.xht [ Failure ]
@@ -3773,35 +3867,45 @@
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-height-082.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-height-090.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-height-091.xht [ Failure ]
-crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-height-092.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-height-092.xht [ Crash Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-height-093.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-height-101.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-height-102.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-height-104.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-height-applies-to-008.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-height-percentage-002.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-height-percentage-003.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-width-001.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-width-004.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-width-006.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-width-007.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-width-013.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-width-017.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-width-018.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-width-025.xht [ Crash ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-width-028.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-width-029.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-width-035.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-width-039.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-width-040.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-width-045.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-width-050.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-width-051.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-width-057.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-width-061.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-width-062.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-width-067.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-width-069.xht [ Crash ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-width-072.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-width-073.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-width-083.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-width-084.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-width-092.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-width-093.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-width-094.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-width-095.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-width-106.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-width-applies-to-004.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-width-applies-to-008.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-width-percentage-001.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/min-height-001.xht [ Failure ]
@@ -3828,13 +3932,14 @@
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/min-height-049.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/min-height-056.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/min-height-057.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/normal-flow/min-height-058.xht [ Crash ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/min-height-059.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/min-height-060.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/min-height-067.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/min-height-068.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/min-height-070.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/min-height-071.xht [ Failure ]
-crbug.com/591099 external/wpt/css/CSS2/normal-flow/min-height-072.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/normal-flow/min-height-072.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/min-height-078.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/min-height-079.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/min-height-081.xht [ Failure ]
@@ -3850,6 +3955,7 @@
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/min-height-103.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/min-height-104.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/min-height-106.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/normal-flow/min-height-percentage-001.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/min-width-002.xht [ Crash ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/min-width-006.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/min-width-007.xht [ Failure ]
@@ -3863,9 +3969,10 @@
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/min-width-051.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/min-width-061.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/min-width-062.xht [ Failure ]
-crbug.com/591099 external/wpt/css/CSS2/normal-flow/min-width-069.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/normal-flow/min-width-069.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/min-width-072.xht [ Crash Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/min-width-073.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/normal-flow/min-width-082.xht [ Crash Pass ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/min-width-083.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/min-width-084.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/min-width-094.xht [ Failure ]
@@ -3874,10 +3981,12 @@
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/min-width-applies-to-013.xht [ Crash ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/min-width-percentage-001.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/replaced-intrinsic-003.xht [ Failure ]
-crbug.com/591099 external/wpt/css/CSS2/normal-flow/root-box-001.xht [ Crash ]
+crbug.com/591099 external/wpt/css/CSS2/normal-flow/root-box-001.xht [ Crash Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/table-in-inline-001.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/normal-flow/width-004.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/width-006.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/width-007.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/normal-flow/width-012.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/width-017.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/width-018.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/width-028.xht [ Failure ]
@@ -3890,10 +3999,14 @@
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/width-062.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/width-072.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/width-073.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/normal-flow/width-078.xht [ Crash ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/width-083.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/width-084.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/width-094.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/width-095.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/normal-flow/width-103.xht [ Crash ]
+crbug.com/591099 external/wpt/css/CSS2/normal-flow/width-applies-to-001.xht [ Crash ]
+crbug.com/591099 external/wpt/css/CSS2/normal-flow/width-applies-to-016.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/width-percentage-001.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/width-percentage-002.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/absolute-non-replaced-height-002.xht [ Failure ]
@@ -3945,10 +4058,13 @@
 crbug.com/591099 external/wpt/css/CSS2/positioning/absolute-replaced-height-005.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/absolute-replaced-height-006.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/absolute-replaced-height-007.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/positioning/absolute-replaced-height-008.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/absolute-replaced-height-011.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/absolute-replaced-height-012.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/positioning/absolute-replaced-height-014.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/absolute-replaced-height-018.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/absolute-replaced-height-019.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/positioning/absolute-replaced-height-020.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/absolute-replaced-height-025.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/absolute-replaced-height-026.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/absolute-replaced-height-032.xht [ Failure ]
@@ -3957,6 +4073,7 @@
 crbug.com/591099 external/wpt/css/CSS2/positioning/absolute-replaced-width-003a.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/absolute-replaced-width-003b.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/absolute-replaced-width-003c.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/positioning/absolute-replaced-width-003.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/absolute-replaced-width-009.xht [ Crash ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/absolute-replaced-width-023.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/absolute-replaced-width-024.xht [ Failure ]
@@ -3984,18 +4101,29 @@
 crbug.com/591099 external/wpt/css/CSS2/positioning/abspos-028.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/abspos-containing-block-001.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/abspos-containing-block-002.xht [ Failure ]
-crbug.com/591099 external/wpt/css/CSS2/positioning/abspos-containing-block-003.xht [ Crash ]
+crbug.com/591099 external/wpt/css/CSS2/positioning/abspos-containing-block-003.xht [ Crash Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/abspos-containing-block-007.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/abspos-overflow-002.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/positioning/bottom-018.xht [ Crash ]
+crbug.com/591099 external/wpt/css/CSS2/positioning/bottom-031.xht [ Failure Pass ]
+crbug.com/591099 external/wpt/css/CSS2/positioning/bottom-076.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/bottom-100.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/positioning/bottom-112.xht [ Crash ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/bottom-offset-001.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/bottom-offset-002.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/bottom-offset-003.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/bottom-offset-percentage-001.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/positioning/left-007.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/positioning/left-054.xht [ Crash ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/left-088.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/positioning/left-090.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/left-092.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/positioning/left-102.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/positioning/left-110.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/positioning/left-applies-to-001.xht [ Crash ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/left-applies-to-009.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/left-applies-to-012.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/positioning/left-applies-to-013.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/left-offset-001.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/left-offset-002.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/left-offset-003.xht [ Failure ]
@@ -4003,6 +4131,7 @@
 crbug.com/591099 external/wpt/css/CSS2/positioning/position-absolute-001.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/position-absolute-004.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/position-absolute-006.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/positioning/position-absolute-007.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/position-fixed-001.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/position-fixed-007.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/positioning-float-002.xht [ Failure ]
@@ -4022,8 +4151,10 @@
 crbug.com/591099 external/wpt/css/CSS2/positioning/position-relative-037.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/position-relative-038.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/position-static-001.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/positioning/relpos-calcs-003.xht [ Crash Pass ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/relpos-calcs-004.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/relpos-calcs-005.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/positioning/relpos-calcs-007.xht [ Crash Pass ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/right-004.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/right-005.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/right-006.xht [ Failure ]
@@ -4041,7 +4172,7 @@
 crbug.com/591099 external/wpt/css/CSS2/positioning/right-032.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/right-040.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/right-041.xht [ Failure ]
-crbug.com/591099 external/wpt/css/CSS2/positioning/right-042.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/positioning/right-042.xht [ Crash Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/right-043.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/right-044.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/right-052.xht [ Failure ]
@@ -4061,13 +4192,13 @@
 crbug.com/591099 external/wpt/css/CSS2/positioning/right-080.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/right-088.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/right-089.xht [ Failure ]
-crbug.com/591099 external/wpt/css/CSS2/positioning/right-090.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/positioning/right-090.xht [ Crash Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/right-091.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/right-092.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/right-100.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/right-101.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/right-102.xht [ Failure ]
-crbug.com/591099 external/wpt/css/CSS2/positioning/right-103.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/positioning/right-103.xht [ Crash Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/right-104.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/right-109.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/right-110.xht [ Failure ]
@@ -4078,7 +4209,7 @@
 crbug.com/591099 external/wpt/css/CSS2/positioning/right-applies-to-002.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/right-applies-to-003.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/right-applies-to-004.xht [ Failure ]
-crbug.com/591099 external/wpt/css/CSS2/positioning/right-applies-to-005.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/positioning/right-applies-to-005.xht [ Crash Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/right-applies-to-006.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/right-applies-to-007.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/right-applies-to-009.xht [ Failure ]
@@ -4094,10 +4225,12 @@
 crbug.com/591099 external/wpt/css/CSS2/positioning/top-008.xht [ Crash ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/top-019.xht [ Crash ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/top-020.xht [ Crash ]
-crbug.com/591099 external/wpt/css/CSS2/positioning/top-031.xht [ Crash ]
-crbug.com/591099 external/wpt/css/CSS2/positioning/top-032.xht [ Crash ]
+crbug.com/591099 external/wpt/css/CSS2/positioning/top-029.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/positioning/top-031.xht [ Crash Failure ]
+crbug.com/591099 external/wpt/css/CSS2/positioning/top-032.xht [ Crash Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/top-043.xht [ Crash ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/top-044.xht [ Crash ]
+crbug.com/591099 external/wpt/css/CSS2/positioning/top-053.xht [ Crash ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/top-055.xht [ Crash ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/top-056.xht [ Crash ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/top-067.xht [ Crash ]
@@ -4114,11 +4247,214 @@
 crbug.com/591099 external/wpt/css/CSS2/positioning/top-offset-003.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/top-offset-percentage-001.xht [ Failure ]
 crbug.com/591099 external/wpt/css/css-display-3/display-contents-alignment-002.html [ Crash ]
+crbug.com/591099 external/wpt/css/css-display-3/display-contents-dynamic-flex-001-none.html [ Failure Pass ]
+crbug.com/591099 external/wpt/css/css-display-3/display-contents-dynamic-list-001-inline.html [ Failure ]
 crbug.com/591099 external/wpt/css/css-display-3/display-contents-dynamic-multicol-001-inline.html [ Failure ]
 crbug.com/591099 external/wpt/css/css-display-3/display-contents-dynamic-multicol-001-none.html [ Failure ]
 crbug.com/591099 external/wpt/css/css-display-3/display-contents-dynamic-table-001-inline.html [ Crash ]
+crbug.com/591099 external/wpt/css/css-display-3/display-contents-inline-001.html [ Crash ]
 crbug.com/591099 external/wpt/css/css-display-3/display-contents-multicol-001.html [ Failure ]
 crbug.com/591099 external/wpt/css/css-display-3/display-flow-root-001.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/align-content-001.htm [ Crash ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/align-self-004.html [ Failure Pass ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/css-box-justify-content.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/css-flexbox-column.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/css-flexbox-column-reverse.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/css-flexbox-column-reverse-wrap.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/css-flexbox-column-reverse-wrap-reverse.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/css-flexbox-column-wrap.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/css-flexbox-column-wrap-reverse.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/css-flexbox-img-expand-evenly.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/css-flexbox-row-reverse-wrap.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/css-flexbox-row-reverse-wrap-reverse.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/css-flexbox-row-wrap.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/css-flexbox-row-wrap-reverse.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_align-items-baseline.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_align-items-flexstart-2.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_align-items-stretch-2.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_align-items-stretch.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_align-self-auto.html [ Crash ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_align-self-stretch.html [ Crash ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_block.html [ Crash ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_box-clear.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_columns-flexitems-2.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_columns-flexitems.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_direction-column.html [ Crash Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_direction-column-reverse.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_direction-row-reverse.html [ Crash ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_fbfc2.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_fbfc.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_first-line.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-0-0-0.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-0-0-0-unitless.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-0-0-1-unitless-basis.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-0-0-auto.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-0-0-auto-shrink.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-0-0.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-0-0-N.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-0-0-Npercent.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-0-0-Npercent-shrink.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-0-0-N-shrink.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-0-0-N-unitless-basis.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-0-1-0.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-0-1-0-unitless.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-0-1-1-unitless-basis.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-0-1-auto.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-0-1-auto-shrink.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-0-1.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-0-1-N.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-0-1-Npercent.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-0-1-Npercent-shrink.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-0-1-N-shrink.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-0-1-N-unitless-basis.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-0-auto.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-0-N-0.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-0-N-0-unitless.html [ Crash Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-0-N-auto.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-0-N-auto-shrink.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-0-N.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-0-N-N.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-0-N-Npercent.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-0-N-Npercent-shrink.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-0-N-N-shrink.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-1-0-0.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-1-0-0-unitless.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-1-0-auto.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-1-0-auto-shrink.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-1-0.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-1-0-N.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-1-0-Npercent.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-1-0-Npercent-shrink.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-1-0-N-shrink.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-1-1-0.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-1-1-0-unitless.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-1-1-auto.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-1-1-auto-shrink.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-1-1.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-1-1-N.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-1-1-Npercent.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-1-1-Npercent-shrink.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-1-1-N-shrink.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-1-N-0.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-1-N-0-unitless.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-1-N-auto.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-1-N-auto-shrink.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-1-N.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-1-N-N.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-1-N-Npercent.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-1-N-Npercent-shrink.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-1-N-N-shrink.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-auto.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-basis.html [ Crash Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-basis-shrink.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox-flex-direction-column.htm [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox-flex-direction-column-reverse.htm [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox-flex-direction-default.htm [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox-flex-direction-row.htm [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox-flex-direction-row-reverse.htm [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-formatting-interop.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-initial-2.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-initial.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-N-0-0.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-N-0-0-unitless.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-N-0-auto.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-N-0-auto-shrink.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-N-0.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-N-0-N.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-N-0-Npercent.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-N-0-Npercent-shrink.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-N-0-N-shrink.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-N-1-0.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-N-1-0-unitless.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-N-1-auto.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-N-1-auto-shrink.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-N-1.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-N-1-N.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-N-1-Npercent.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-N-1-Npercent-shrink.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-N-1-N-shrink.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-natural.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-N-N-0.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-N-N-0-unitless.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-N-N-auto.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-N-N-auto-shrink.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-N-N.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-N-N-N.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-N-N-Npercent.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-N-N-Npercent-shrink.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-N-N-N-shrink.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flex-none.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox-flex-wrap-flexing.html [ Crash ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox-flex-wrap-wrap.htm [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox-flex-wrap-wrap-reverse.htm [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flow-column-reverse-wrap.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flow-column-reverse-wrap-reverse.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flow-column-wrap.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flow-column-wrap-reverse.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flow-row-wrap.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_flow-row-wrap-reverse.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_generated-flex.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_generated.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_inline.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_item-bottom-float.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_item-clear.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_item-float.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_item-top-float.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_item-vertical-align.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_justifycontent-center.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_justifycontent-flex-end.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_justifycontent-flex-start.html [ Crash Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_justifycontent-spacearound.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_justifycontent-spacearound-negative.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_justifycontent-spacearound-only.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_justifycontent-spacebetween.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_justifycontent-spacebetween-negative.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_justifycontent-spacebetween-only.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_margin-auto.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_margin-auto-overflow-2.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_margin-auto-overflow.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_margin.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_margin-left-ex.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_object.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_order-box.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_order.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_rowspan-overflow-automatic.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_rtl-direction.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_rtl-flow.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_rtl-flow-reverse.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_rtl-order.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_stf-table-singleline-2.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_stf-table-singleline.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flex-box-wrap.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_wrap.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_wrap-long.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_wrap-reverse.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flex-container-margin.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flex-direction.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flex-direction-with-element-insert.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flex-grow-006.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/Flexible-order.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flex-lines/multi-line-wrap-reverse-column-reverse.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flex-lines/multi-line-wrap-reverse-row-reverse.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flex-lines/multi-line-wrap-with-column-reverse.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flex-lines/multi-line-wrap-with-row-reverse.html [ Crash Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flex-minimum-width-flex-items-002.xht [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flex-vertical-align-effect.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/order/order-with-row-reverse.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/percentage-heights-000.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/ttwf-reftest-flex-align-content-center.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/ttwf-reftest-flex-align-content-end.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/ttwf-reftest-flex-align-content-space-around.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/ttwf-reftest-flex-align-content-space-between.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/ttwf-reftest-flex-align-content-start.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/ttwf-reftest-flex-base.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/ttwf-reftest-flex-direction-column.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/ttwf-reftest-flex-direction-column-reverse.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/ttwf-reftest-flex-direction-row-reverse.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/ttwf-reftest-flex-inline.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/ttwf-reftest-flex-order.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/ttwf-reftest-flex-wrap.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/ttwf-reftest-flex-wrap-reverse.html [ Failure ]
 crbug.com/591099 external/wpt/css/css-grid-1/grid-definition/fr-unit.html [ Failure ]
 crbug.com/591099 external/wpt/css/css-grid-1/grid-definition/fr-unit-with-percentage.html [ Failure ]
 crbug.com/591099 external/wpt/css/css-grid-1/grid-definition/grid-inline-template-columns-rows-resolved-values-001.xht [ Failure ]
@@ -4139,13 +4475,16 @@
 crbug.com/591099 external/wpt/css/css-grid-1/grid-items/grid-items-sizing-alignment-001.html [ Failure ]
 crbug.com/591099 external/wpt/css/css-grid-1/grid-items/grid-layout-z-order-a.html [ Failure ]
 crbug.com/591099 external/wpt/css/css-grid-1/grid-items/grid-layout-z-order-b.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-grid-1/grid-items/grid-minimum-size-grid-items-011.html [ Failure ]
 crbug.com/591099 external/wpt/css/css-grid-1/grid-items/grid-minimum-size-grid-items-013.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-grid-1/grid-items/grid-minimum-size-grid-items-018.html [ Failure ]
 crbug.com/591099 external/wpt/css/css-grid-1/grid-items/grid-order-property-auto-placement-001.xht [ Failure ]
 crbug.com/591099 external/wpt/css/css-grid-1/grid-items/grid-order-property-auto-placement-002.xht [ Failure ]
 crbug.com/591099 external/wpt/css/css-grid-1/grid-items/grid-order-property-auto-placement-003.xht [ Failure ]
 crbug.com/591099 external/wpt/css/css-grid-1/grid-items/grid-order-property-auto-placement-004.xht [ Failure ]
 crbug.com/591099 external/wpt/css/css-grid-1/grid-items/grid-order-property-auto-placement-005.xht [ Failure ]
 crbug.com/591099 external/wpt/css/css-grid-1/grid-items/grid-z-axis-ordering-overlapped-items-006.xht [ Failure ]
+crbug.com/591099 external/wpt/css/css-grid-1/grid-model/display-inline-grid.html [ Crash ]
 crbug.com/591099 external/wpt/css/css-grid-1/grid-model/grid-first-letter-001.xht [ Failure ]
 crbug.com/591099 external/wpt/css/css-grid-1/grid-model/grid-first-letter-002.xht [ Failure ]
 crbug.com/591099 external/wpt/css/css-grid-1/grid-model/grid-first-letter-003.xht [ Failure ]
@@ -4161,25 +4500,46 @@
 crbug.com/591099 external/wpt/css/css-grid-1/grid-model/grid-inline-first-line-003.xht [ Failure ]
 crbug.com/591099 external/wpt/css/css-grid-1/grid-model/grid-inline-margins-no-collapse-001.xht [ Failure ]
 crbug.com/591099 external/wpt/css/css-grid-1/grid-model/grid-margins-no-collapse-001.xht [ Failure ]
-crbug.com/591099 external/wpt/css/css-grid-1/grid-model/grid-multicol-001.xht [ Failure ]
+crbug.com/591099 external/wpt/css/css-grid-1/grid-model/grid-multicol-001.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/css-grid-1/grid-model/grid-support-display-001.xht [ Crash ]
+crbug.com/591099 external/wpt/css/css-grid-1/implicit-grids/grid-support-grid-auto-columns-rows-001.html [ Crash ]
 crbug.com/591099 external/wpt/css/css-grid-1/layout-algorithm/grid-layout-free-space-unit.html [ Failure ]
 crbug.com/591099 external/wpt/css/css-grid-1/placement/grid-layout-grid-span.html [ Failure ]
 crbug.com/591099 external/wpt/css/css-grid-1/placement/grid-layout-lines.html [ Failure ]
 crbug.com/591099 external/wpt/css/css-grid-1/placement/grid-layout-lines-shorthands.html [ Failure ]
 crbug.com/591099 external/wpt/css/css-grid-1/placement/grid-layout-placement-shorthands.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-position-3/position-sticky-left.html [ Crash Failure ]
+crbug.com/591099 external/wpt/css/css-position-3/position-sticky-top.html [ Failure ]
 crbug.com/591099 external/wpt/css/css-rhythm-1/line-height-step-basic-001.html [ Failure ]
 crbug.com/591099 external/wpt/css/css-rhythm-1/line-height-step-boundary-001.html [ Failure ]
 crbug.com/591099 external/wpt/css/css-rhythm-1/line-height-step-dynamic-001.html [ Failure ]
 crbug.com/591099 external/wpt/css/css-rhythm-1/line-height-step-ruby-001.html [ Failure ]
 crbug.com/591099 external/wpt/css/css-rhythm-1/line-height-step-valign-001.html [ Failure ]
 crbug.com/591099 external/wpt/css/css-rhythm-1/line-height-step-writing-mode-vrl-001.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-ui-3/box-sizing-007.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-ui-3/box-sizing-008.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-ui-3/box-sizing-009.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-ui-3/box-sizing-010.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-ui-3/box-sizing-020.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-ui-3/caret-color-013.html [ Crash ]
+crbug.com/591099 external/wpt/css/css-ui-3/caret-color-018.html [ Crash ]
+crbug.com/591099 external/wpt/css/css-ui-3/caret-color-019.html [ Crash ]
+crbug.com/591099 external/wpt/css/css-ui-3/caret-color-020.html [ Crash ]
+crbug.com/591099 external/wpt/css/css-ui-3/caret-color-021.html [ Crash ]
+crbug.com/591099 external/wpt/css/css-ui-3/outline-003.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-ui-3/outline-004.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-ui-3/outline-011.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-ui-3/outline-019.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-ui-3/outline-offset.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-ui-3/text-overflow-001.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-ui-3/text-overflow-003.html [ Failure ]
 crbug.com/591099 external/wpt/cssom-view/elementFromPoint-001.html [ Failure ]
 crbug.com/591099 external/wpt/cssom-view/elementFromPoint.html [ Crash ]
 crbug.com/591099 external/wpt/cssom-view/elementScroll.html [ Failure ]
 crbug.com/591099 external/wpt/cssom-view/elementsFromPoint.html [ Crash ]
 crbug.com/591099 external/wpt/cssom-view/HTMLBody-ScrollArea_quirksmode.html [ Failure ]
 crbug.com/591099 external/wpt/cssom-view/scrollingElement.html [ Crash ]
+crbug.com/591099 external/wpt/cssom-view/scrolling-quirks-vs-nonquirks.html [ Crash ]
 crbug.com/591099 external/wpt/cssom-view/scrollWidthHeightWhenNotScrollable.xht [ Failure ]
 crbug.com/591099 external/wpt/cssom-view/scrollWidthHeight.xht [ Failure ]
 crbug.com/591099 external/wpt/cssom-view/ttwf-js-cssomview-getclientrects-length.html [ Crash ]
@@ -4189,12 +4549,15 @@
 crbug.com/591099 external/wpt/css/selectors4/focus-within-005.html [ Failure ]
 crbug.com/591099 external/wpt/css/selectors4/focus-within-006.html [ Failure ]
 crbug.com/591099 external/wpt/css/selectors4/focus-within-009.html [ Crash ]
+crbug.com/591099 external/wpt/css/selectors4/focus-within-shadow-001.html [ Failure ]
+crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-abspos-child-001a.html [ Failure ]
+crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-align-items-center-nested-001.html [ Failure Pass ]
 crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-align-self-baseline-horiz-002.xhtml [ Failure ]
 crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-align-self-baseline-horiz-003.xhtml [ Failure ]
 crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-align-self-horiz-001-block.xhtml [ Failure ]
 crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-align-self-horiz-001-table.xhtml [ Failure ]
 crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-align-self-horiz-002.xhtml [ Failure ]
-crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-align-self-horiz-004.xhtml [ Crash ]
+crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-align-self-horiz-004.xhtml [ Crash Failure ]
 crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-align-self-horiz-005.xhtml [ Failure ]
 crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-align-self-vert-003.xhtml [ Failure ]
 crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-align-self-vert-rtl-003.xhtml [ Failure ]
@@ -4207,9 +4570,11 @@
 crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-baseline-multi-line-horiz-004.html [ Failure ]
 crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-baseline-multi-line-vert-001.html [ Failure ]
 crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-baseline-multi-line-vert-002.html [ Failure ]
-crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-baseline-single-item-001a.html [ Crash ]
-crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-baseline-single-item-001b.html [ Crash ]
+crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-baseline-single-item-001a.html [ Crash Failure ]
+crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-baseline-single-item-001b.html [ Crash Failure ]
 crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-basic-block-horiz-001.xhtml [ Failure ]
+crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-basic-textarea-horiz-001.xhtml [ Failure ]
+crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-flex-wrap-horiz-002.html [ Crash ]
 crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-intrinsic-ratio-003.html [ Failure ]
 crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-intrinsic-ratio-004.html [ Failure ]
 crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-items-as-stacking-contexts-002.html [ Failure ]
@@ -4222,31 +4587,47 @@
 crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-mbp-horiz-003.xhtml [ Failure ]
 crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-min-width-auto-002b.html [ Failure ]
 crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-min-width-auto-003.html [ Failure ]
-crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-overflow-horiz-005.html [ Failure ]
+crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-overflow-horiz-005.html [ Failure Pass ]
 crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-overflow-vert-001.html [ Failure ]
 crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-paint-ordering-001.xhtml [ Failure ]
-crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-single-line-clamp-1.html [ Failure ]
+crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-single-line-clamp-1.html [ Failure Pass ]
 crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-single-line-clamp-2.html [ Crash ]
+crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-single-line-clamp-3.html [ Failure ]
 crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-whitespace-handling-001a.xhtml [ Failure ]
 crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-whitespace-handling-001b.xhtml [ Failure ]
 crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-writing-mode-002.html [ Failure ]
 crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/selectors4/focus-within-1.html [ Failure ]
 crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/variables/variable-declaration-05.html [ Failure ]
+crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/variables/variable-declaration-07.html [ Crash ]
+crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/variables/variable-declaration-14.html [ Crash ]
 crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/variables/variable-declaration-15.html [ Failure ]
 crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/variables/variable-declaration-16.html [ Failure ]
+crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/variables/variable-declaration-17.html [ Failure ]
 crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/variables/variable-declaration-18.html [ Failure ]
+crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/variables/variable-declaration-30.html [ Crash Pass ]
+crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/variables/variable-declaration-33.html [ Failure ]
+crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/variables/variable-declaration-43.html [ Failure Pass ]
+crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/variables/variable-declaration-55.html [ Failure ]
+crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/variables/variable-reference-03.html [ Failure ]
+crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/variables/variable-reference-07.html [ Failure ]
+crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/variables/variable-reference-24.html [ Failure ]
+crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/variables/variable-reference-29.html [ Failure Pass ]
+crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/variables/variable-reference-32.html [ Failure Pass ]
+crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/variables/variable-supports-03.html [ Failure ]
+crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/variables/variable-supports-06.html [ Crash ]
+crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/variables/variable-supports-45.html [ Crash ]
 crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/writing-modes-3/dynamic-offset-vrl-002.html [ Failure ]
 crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/writing-modes-3/dynamic-offset-vrl-rtl-002.html [ Failure ]
 crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/writing-modes-3/text-combine-upright-break-inside-001.html [ Failure ]
-crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/writing-modes-3/text-combine-upright-compression-001.html [ Crash ]
+crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/writing-modes-3/text-combine-upright-compression-001.html [ Crash Failure ]
 crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/writing-modes-3/text-combine-upright-compression-002.html [ Crash ]
-crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/writing-modes-3/text-combine-upright-compression-003.html [ Crash ]
-crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/writing-modes-3/text-combine-upright-compression-004.html [ Crash ]
-crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/writing-modes-3/text-combine-upright-compression-005a.html [ Crash ]
+crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/writing-modes-3/text-combine-upright-compression-003.html [ Crash Failure ]
+crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/writing-modes-3/text-combine-upright-compression-004.html [ Crash Failure ]
+crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/writing-modes-3/text-combine-upright-compression-005a.html [ Crash Failure ]
 crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/writing-modes-3/text-combine-upright-compression-005.html [ Crash ]
-crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/writing-modes-3/text-combine-upright-compression-006a.html [ Crash ]
-crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/writing-modes-3/text-combine-upright-compression-006.html [ Crash ]
-crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/writing-modes-3/text-combine-upright-compression-007.html [ Crash ]
+crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/writing-modes-3/text-combine-upright-compression-006a.html [ Crash Failure ]
+crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/writing-modes-3/text-combine-upright-compression-006.html [ Crash Failure ]
+crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/writing-modes-3/text-combine-upright-compression-007.html [ Crash Failure ]
 crbug.com/591099 external/wpt/custom-elements/custom-element-reaction-queue.html [ Crash ]
 crbug.com/591099 external/wpt/custom-elements/htmlconstructor/newtarget.html [ Crash ]
 crbug.com/591099 external/wpt/custom-elements/reactions/Document.html [ Crash ]
@@ -4328,7 +4709,7 @@
 crbug.com/591099 external/wpt/html/browsers/the-windowproxy-exotic-object/windowproxy-prototype-setting-goes-cross-origin-domain.sub.html [ Crash ]
 crbug.com/591099 external/wpt/html/browsers/the-windowproxy-exotic-object/windowproxy-prototype-setting-same-origin-domain.sub.html [ Crash ]
 crbug.com/591099 external/wpt/html/browsers/windows/nested-browsing-contexts/window-parent-null.html [ Crash ]
-crbug.com/591099 external/wpt/html/browsers/windows/nested-browsing-contexts/window-top-null.html [ Crash ]
+crbug.com/591099 external/wpt/html/browsers/windows/nested-browsing-contexts/window-top-null.html [ Crash Pass ]
 crbug.com/591099 external/wpt/html/dom/documents/dom-tree-accessors/document.forms.html [ Crash ]
 crbug.com/591099 external/wpt/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace.html [ Crash ]
 crbug.com/591099 external/wpt/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.html [ Crash ]
@@ -4357,19 +4738,25 @@
 crbug.com/591099 external/wpt/html/dom/dynamic-markup-insertion/document-write/iframe_010.html [ Crash ]
 crbug.com/591099 external/wpt/html/dom/dynamic-markup-insertion/document-write/script_013.html [ Crash ]
 crbug.com/591099 external/wpt/html/dom/elements/global-attributes/dir_auto-contained-dir_auto-L.html [ Failure ]
+crbug.com/591099 external/wpt/html/dom/elements/global-attributes/dir_auto-input-script-N-R.html [ Failure ]
 crbug.com/591099 external/wpt/html/dom/elements/global-attributes/dir_auto-pre-mixed.html [ Failure ]
 crbug.com/591099 external/wpt/html/dom/elements/global-attributes/dir_auto-pre-N-between-Rs.html [ Failure ]
+crbug.com/591099 external/wpt/html/dom/elements/global-attributes/dir_auto-pre-N-EN.html [ Failure ]
 crbug.com/591099 external/wpt/html/dom/elements/global-attributes/dir_auto-textarea-mixed.html [ Failure ]
 crbug.com/591099 external/wpt/html/dom/elements/global-attributes/dir_auto-textarea-N-between-Rs.html [ Failure ]
 crbug.com/591099 external/wpt/html/dom/elements/global-attributes/dir_auto-textarea-script-mixed.html [ Failure ]
 crbug.com/591099 external/wpt/html/dom/elements/global-attributes/dir_auto-textarea-script-N-between-Rs.html [ Failure ]
 crbug.com/591099 external/wpt/html/dom/elements/global-attributes/dir_auto-textarea-script-N-EN.html [ Failure ]
 crbug.com/591099 external/wpt/html/dom/elements/global-attributes/style-01.html [ Failure ]
-crbug.com/591099 external/wpt/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-007a.html [ Failure ]
+crbug.com/591099 external/wpt/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-006b.html [ Failure ]
+crbug.com/591099 external/wpt/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-007a.html [ Failure Pass ]
+crbug.com/591099 external/wpt/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-009c.html [ Failure ]
 crbug.com/591099 external/wpt/html/editing/focus/focus-management/focus-event-targets-simple.html [ Crash ]
 crbug.com/591099 external/wpt/html/editing/focus/processing-model/focus-fixup-rule-one-no-dialogs.html [ Crash ]
 crbug.com/591099 external/wpt/html/editing/focus/sequential-focus-navigation-and-the-tabindex-attribute/focus-tabindex-default-value.html [ Crash ]
 crbug.com/591099 external/wpt/html/editing/the-hidden-attribute/hidden-1a.html [ Failure ]
+crbug.com/591099 external/wpt/html/editing/the-hidden-attribute/hidden-1f.html [ Failure Pass ]
+crbug.com/591099 external/wpt/html/editing/the-hidden-attribute/hidden-1g.html [ Crash Pass ]
 crbug.com/591099 external/wpt/html/infrastructure/common-dom-interfaces/collections/htmlallcollection.html [ Crash ]
 crbug.com/591099 external/wpt/html/infrastructure/common-dom-interfaces/collections/htmlformcontrolscollection.html [ Crash ]
 crbug.com/591099 external/wpt/html/infrastructure/common-dom-interfaces/collections/htmloptionscollection.html [ Crash ]
@@ -4380,17 +4767,23 @@
 crbug.com/591099 external/wpt/html/infrastructure/urls/resolving-urls/query-encoding/utf-8.html [ Crash ]
 crbug.com/591099 external/wpt/html/infrastructure/urls/resolving-urls/query-encoding/windows-1251.html [ Crash ]
 crbug.com/591099 external/wpt/html/infrastructure/urls/resolving-urls/query-encoding/windows-1252.html [ Crash ]
-crbug.com/591099 external/wpt/html/rendering/bindings/the-textarea-element-0/rows-zero.html [ Failure ]
+crbug.com/591099 external/wpt/html/rendering/bindings/the-textarea-element-0/rows-zero.html [ Crash Failure ]
 crbug.com/591099 external/wpt/html/rendering/non-replaced-elements/flow-content-0/dialog.html [ Failure ]
 crbug.com/591099 external/wpt/html/rendering/non-replaced-elements/flow-content-0/div-align.html [ Failure ]
-crbug.com/591099 external/wpt/html/rendering/non-replaced-elements/lists/li-type-unsupported-lower-roman.html [ Failure ]
+crbug.com/591099 external/wpt/html/rendering/non-replaced-elements/lists/li-type-unsupported-lower-roman.html [ Failure Pass ]
+crbug.com/591099 external/wpt/html/rendering/non-replaced-elements/lists/ol-type-supported-xhtml.xhtml [ Failure ]
+crbug.com/591099 external/wpt/html/rendering/non-replaced-elements/lists/ul-type-unsupported-upper-alpha.html [ Crash ]
+crbug.com/591099 external/wpt/html/rendering/non-replaced-elements/lists/ul-type-unsupported-upper-roman.html [ Failure ]
 crbug.com/591099 external/wpt/html/rendering/non-replaced-elements/tables/table-cell-width.html [ Failure ]
 crbug.com/591099 external/wpt/html/rendering/non-replaced-elements/tables/table-cell-width-s.html [ Failure ]
 crbug.com/591099 external/wpt/html/rendering/non-replaced-elements/tables/table-width.html [ Failure ]
 crbug.com/591099 external/wpt/html/rendering/non-replaced-elements/tables/table-width-s.html [ Failure ]
+crbug.com/591099 external/wpt/html/rendering/non-replaced-elements/the-page/body_text_00ffff.xhtml [ Crash Pass ]
 crbug.com/591099 external/wpt/html/rendering/non-replaced-elements/the-page/iframe-body-margin-attributes.html [ Crash ]
 crbug.com/591099 external/wpt/html/rendering/non-replaced-elements/the-page/iframe-marginwidth-marginheight.html [ Crash ]
-crbug.com/591099 external/wpt/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/object_border_perc.xhtml [ Failure ]
+crbug.com/591099 external/wpt/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/img_border_percent.xhtml [ Failure ]
+crbug.com/591099 external/wpt/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/object_border_perc.xhtml [ Failure Pass ]
+crbug.com/591099 external/wpt/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/object_border_pixel.xhtml [ Failure ]
 crbug.com/591099 external/wpt/html/rendering/replaced-elements/svg-embedded-sizing/svg-in-img-auto.html [ Failure ]
 crbug.com/591099 external/wpt/html/rendering/replaced-elements/svg-embedded-sizing/svg-in-img-percentage.html [ Failure ]
 crbug.com/591099 external/wpt/html/rendering/replaced-elements/svg-inline-sizing/svg-inline.html [ Failure ]
@@ -4420,6 +4813,7 @@
 crbug.com/591099 external/wpt/html/semantics/embedded-content/the-img-element/delay-load-event.html [ Crash ]
 crbug.com/591099 external/wpt/html/semantics/embedded-content/the-img-element/img.complete.html [ Crash ]
 crbug.com/591099 external/wpt/html/semantics/embedded-content/the-img-element/nonexistent-image.html [ Crash ]
+crbug.com/591099 external/wpt/html/semantics/embedded-content/the-img-element/srcset/parse-a-srcset-attribute.html [ Crash Pass ]
 crbug.com/591099 external/wpt/html/semantics/embedded-content/the-img-element/update-the-source-set.html [ Crash ]
 crbug.com/591099 external/wpt/html/semantics/embedded-content/the-img-element/usemap-casing.html [ Failure ]
 crbug.com/591099 external/wpt/html/semantics/embedded-content/the-object-element/object-attributes.html [ Crash ]
@@ -4456,6 +4850,7 @@
 crbug.com/591099 external/wpt/html/semantics/forms/the-select-element/selected-index.html [ Crash ]
 crbug.com/591099 external/wpt/html/semantics/forms/the-textarea-element/textarea-type.html [ Crash ]
 crbug.com/591099 external/wpt/html/semantics/grouping-content/the-li-element/grouping-li.html [ Crash ]
+crbug.com/591099 external/wpt/html/semantics/grouping-content/the-li-element/grouping-li-reftest-001.html [ Failure ]
 crbug.com/591099 external/wpt/html/semantics/grouping-content/the-li-element/grouping-li-reftest-002.html [ Failure ]
 crbug.com/591099 external/wpt/html/semantics/grouping-content/the-ol-element/grouping-ol.html [ Crash ]
 crbug.com/591099 external/wpt/html/semantics/grouping-content/the-ol-element/grouping-ol-rev-reftest-001.html [ Failure ]
@@ -4498,6 +4893,7 @@
 crbug.com/591099 external/wpt/html/semantics/selectors/pseudo-classes/indeterminate-radio.html [ Crash ]
 crbug.com/591099 external/wpt/html/semantics/selectors/pseudo-classes/readwrite-readonly.html [ Crash ]
 crbug.com/591099 external/wpt/html/semantics/selectors/pseudo-classes/valid-invalid.html [ Crash ]
+crbug.com/591099 external/wpt/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-to-letter-preceding-2.html [ Failure Pass ]
 crbug.com/591099 external/wpt/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-wrapped.html [ Failure ]
 crbug.com/591099 external/wpt/html/semantics/text-level-semantics/the-br-element/br-bidi.html [ Failure ]
 crbug.com/591099 external/wpt/html/semantics/text-level-semantics/the-br-element/br-bidi-in-inline-ancestors.html [ Failure ]
@@ -4526,37 +4922,103 @@
 crbug.com/591099 external/wpt/html/webappapis/scripting/processing-model-2/window-onerror-with-cross-frame-event-listeners-2.html [ Crash ]
 crbug.com/591099 external/wpt/html/webappapis/scripting/processing-model-2/window-onerror-with-cross-frame-event-listeners-3.html [ Crash ]
 crbug.com/591099 external/wpt/html/webappapis/scripting/processing-model-2/window-onerror-with-cross-frame-event-listeners-4.html [ Crash ]
-crbug.com/591099 external/wpt/IndexedDB/idbcursor_delete_objectstore3.htm [ Timeout ]
-crbug.com/591099 external/wpt/IndexedDB/idbindex_openCursor2.htm [ Failure ]
+crbug.com/591099 external/wpt/IndexedDB/idbcursor_advance_index3.htm [ Failure ]
+crbug.com/591099 external/wpt/IndexedDB/idbcursor_delete_objectstore3.htm [ Pass Timeout ]
+crbug.com/591099 external/wpt/IndexedDB/idbcursor-direction-objectstore.htm [ Failure ]
+crbug.com/591099 external/wpt/IndexedDB/idbcursor_iterating.htm [ Failure Pass ]
+crbug.com/591099 external/wpt/IndexedDB/idbcursor_update_objectstore4.htm [ Failure ]
+crbug.com/591099 external/wpt/IndexedDB/idbcursor_update_objectstore8.htm [ Failure ]
+crbug.com/591099 external/wpt/IndexedDB/idbcursor_update_objectstore.htm [ Failure ]
+crbug.com/591099 external/wpt/IndexedDB/idbindex_openCursor2.htm [ Failure Pass ]
+crbug.com/591099 external/wpt/IndexedDB/idbobjectstore_get5.htm [ Failure Pass ]
+crbug.com/591099 external/wpt/IndexedDB/idbobjectstore_get.htm [ Failure ]
+crbug.com/591099 external/wpt/IndexedDB/idbobjectstore_put3.htm [ Failure ]
 crbug.com/591099 external/wpt/IndexedDB/idbobjectstore_put.htm [ Failure ]
+crbug.com/591099 external/wpt/IndexedDB/idbobjectstore-rename-abort.html [ Failure Pass ]
 crbug.com/591099 external/wpt/IndexedDB/interleaved-cursors.html [ Failure ]
 crbug.com/591099 external/wpt/innerText/getter.html [ Crash ]
 crbug.com/591099 external/wpt/mediacapture-fromelement/idlharness.html [ Crash ]
 crbug.com/591099 external/wpt/mediacapture-streams/MediaStream-MediaElement-srcObject.https.html [ Crash ]
 crbug.com/591099 external/wpt/mediacapture-streams/MediaStreamTrack-MediaElement-disabled-video-is-black.https.html [ Crash ]
+crbug.com/591099 external/wpt/media-source/mediasource-activesourcebuffers.html [ Crash ]
+crbug.com/591099 external/wpt/media-source/mediasource-addsourcebuffer.html [ Crash ]
+crbug.com/591099 external/wpt/media-source/mediasource-addsourcebuffer-mode.html [ Crash ]
+crbug.com/591099 external/wpt/media-source/mediasource-append-buffer.html [ Crash ]
+crbug.com/591099 external/wpt/media-source/mediasource-appendwindow.html [ Crash ]
+crbug.com/591099 external/wpt/media-source/mediasource-buffered.html [ Crash ]
+crbug.com/591099 external/wpt/media-source/mediasource-closed.html [ Crash ]
+crbug.com/591099 external/wpt/media-source/mediasource-config-change-mp4-a-bitrate.html [ Crash ]
+crbug.com/591099 external/wpt/media-source/mediasource-config-change-mp4-av-audio-bitrate.html [ Crash ]
+crbug.com/591099 external/wpt/media-source/mediasource-config-change-mp4-av-framesize.html [ Crash ]
+crbug.com/591099 external/wpt/media-source/mediasource-config-change-mp4-av-video-bitrate.html [ Crash ]
+crbug.com/591099 external/wpt/media-source/mediasource-config-change-mp4-v-bitrate.html [ Crash ]
+crbug.com/591099 external/wpt/media-source/mediasource-config-change-mp4-v-framerate.html [ Crash ]
+crbug.com/591099 external/wpt/media-source/mediasource-config-change-mp4-v-framesize.html [ Crash ]
+crbug.com/591099 external/wpt/media-source/mediasource-config-change-webm-a-bitrate.html [ Crash ]
+crbug.com/591099 external/wpt/media-source/mediasource-config-change-webm-av-audio-bitrate.html [ Crash ]
+crbug.com/591099 external/wpt/media-source/mediasource-config-change-webm-av-framesize.html [ Crash ]
+crbug.com/591099 external/wpt/media-source/mediasource-config-change-webm-av-video-bitrate.html [ Crash ]
+crbug.com/591099 external/wpt/media-source/mediasource-config-change-webm-v-bitrate.html [ Crash ]
+crbug.com/591099 external/wpt/media-source/mediasource-config-change-webm-v-framerate.html [ Crash ]
+crbug.com/591099 external/wpt/media-source/mediasource-config-change-webm-v-framesize.html [ Crash ]
+crbug.com/591099 external/wpt/media-source/mediasource-detach.html [ Crash ]
+crbug.com/591099 external/wpt/media-source/mediasource-duration-boundaryconditions.html [ Crash ]
+crbug.com/591099 external/wpt/media-source/mediasource-duration.html [ Crash ]
+crbug.com/591099 external/wpt/media-source/mediasource-endofstream.html [ Crash ]
+crbug.com/591099 external/wpt/media-source/mediasource-endofstream-invaliderror.html [ Crash ]
+crbug.com/591099 external/wpt/media-source/mediasource-errors.html [ Crash ]
+crbug.com/591099 external/wpt/media-source/mediasource-getvideoplaybackquality.html [ Crash ]
+crbug.com/591099 external/wpt/media-source/mediasource-liveseekable.html [ Crash ]
+crbug.com/591099 external/wpt/media-source/mediasource-multiple-attach.html [ Crash ]
+crbug.com/591099 external/wpt/media-source/mediasource-play.html [ Crash ]
+crbug.com/591099 external/wpt/media-source/mediasource-play-then-seek-back.html [ Crash ]
+crbug.com/591099 external/wpt/media-source/mediasource-preload.html [ Crash ]
+crbug.com/591099 external/wpt/media-source/mediasource-redundant-seek.html [ Crash ]
+crbug.com/591099 external/wpt/media-source/mediasource-remove.html [ Crash ]
+crbug.com/591099 external/wpt/media-source/mediasource-removesourcebuffer.html [ Crash ]
+crbug.com/591099 external/wpt/media-source/mediasource-seekable.html [ Crash ]
+crbug.com/591099 external/wpt/media-source/mediasource-seek-beyond-duration.html [ Crash ]
+crbug.com/591099 external/wpt/media-source/mediasource-seek-during-pending-seek.html [ Crash ]
+crbug.com/591099 external/wpt/media-source/mediasource-sequencemode-append-buffer.html [ Crash ]
+crbug.com/591099 external/wpt/media-source/mediasource-sourcebufferlist.html [ Crash ]
+crbug.com/591099 external/wpt/media-source/mediasource-sourcebuffer-mode.html [ Crash ]
+crbug.com/591099 external/wpt/media-source/mediasource-sourcebuffer-trackdefaults.html [ Crash ]
+crbug.com/591099 external/wpt/media-source/mediasource-timestamp-offset.html [ Crash ]
+crbug.com/591099 external/wpt/mixed-content/allowed/no-opt-in/same-host-https/audio-tag/top-level/keep-scheme-redirect/allowed.https.html [ Pass Timeout ]
+crbug.com/591099 external/wpt/mixed-content/allowed/no-opt-in/same-host-https/iframe-tag/top-level/keep-scheme-redirect/allowed.https.html [ Pass Timeout ]
+crbug.com/591099 external/wpt/mixed-content/blockable/http-csp/cross-origin-http/worker-request/top-level/keep-scheme-redirect/opt-in-blocks.https.html [ Pass Timeout ]
 crbug.com/591099 external/wpt/navigation-timing/nav2_test_frame_removed.html [ Crash ]
 crbug.com/591099 external/wpt/navigation-timing/test_performance_attributes_exist_in_object.html [ Crash ]
 crbug.com/591099 external/wpt/payment-request/allowpaymentrequest/active-document-cross-origin.https.sub.html [ Crash ]
 crbug.com/591099 external/wpt/payment-request/allowpaymentrequest/active-document-same-origin.https.html [ Crash ]
 crbug.com/591099 external/wpt/payment-request/allowpaymentrequest/basic.https.html [ Crash ]
 crbug.com/591099 external/wpt/payment-request/payment-request-in-iframe.html [ Crash ]
-crbug.com/591099 external/wpt/pointerevents/extension/pointerevent_coalesced_events_attributes-manual.html [ Timeout ]
-crbug.com/591099 external/wpt/pointerevents/pointerevent_attributes_nohover_pointers-manual.html [ Timeout ]
-crbug.com/591099 external/wpt/pointerevents/pointerevent_capture_mouse-manual.html [ Crash ]
+crbug.com/591099 external/wpt/pointerevents/extension/pointerevent_coalesced_events_attributes-manual.html [ Pass Timeout ]
+crbug.com/591099 external/wpt/pointerevents/pointerevent_attributes_hoverable_pointers-manual.html [ Timeout ]
+crbug.com/591099 external/wpt/pointerevents/pointerevent_attributes_nohover_pointers-manual.html [ Pass Timeout ]
+crbug.com/591099 external/wpt/pointerevents/pointerevent_capture_mouse-manual.html [ Crash Timeout ]
 crbug.com/591099 external/wpt/pointerevents/pointerevent_capture_suppressing_mouse-manual.html [ Crash ]
 crbug.com/591099 external/wpt/pointerevents/pointerevent_change-touch-action-onpointerdown_touch-manual.html [ Timeout ]
 crbug.com/591099 external/wpt/pointerevents/pointerevent_disabled_form_control-manual.html [ Timeout ]
-crbug.com/591099 external/wpt/pointerevents/pointerevent_element_haspointercapture-manual.html [ Timeout ]
+crbug.com/591099 external/wpt/pointerevents/pointerevent_element_haspointercapture-manual.html [ Pass Timeout ]
 crbug.com/591099 external/wpt/pointerevents/pointerevent_lostpointercapture_for_disconnected_node-manual.html [ Timeout ]
 crbug.com/591099 external/wpt/pointerevents/pointerevent_lostpointercapture_is_first-manual.html [ Crash Timeout ]
+crbug.com/591099 external/wpt/pointerevents/pointerevent_pointerenter_does_not_bubble-manual.html [ Timeout ]
 crbug.com/591099 external/wpt/pointerevents/pointerevent_pointerleave_after_pointercancel_touch-manual.html [ Timeout ]
-crbug.com/591099 external/wpt/pointerevents/pointerevent_pointermove_isprimary_same_as_pointerdown-manual.html [ Timeout ]
-crbug.com/591099 external/wpt/pointerevents/pointerevent_pointerout_pen-manual.html [ Timeout ]
-crbug.com/591099 external/wpt/pointerevents/pointerevent_pointerout_received_once-manual.html [ Timeout ]
+crbug.com/591099 external/wpt/pointerevents/pointerevent_pointerleave_descendants-manual.html [ Pass Timeout ]
+crbug.com/591099 external/wpt/pointerevents/pointerevent_pointermove_isprimary_same_as_pointerdown-manual.html [ Pass Timeout ]
+crbug.com/591099 external/wpt/pointerevents/pointerevent_pointermove_on_chorded_mouse_button-manual.html [ Pass Timeout ]
+crbug.com/591099 external/wpt/pointerevents/pointerevent_pointerout_after_pointercancel_touch-manual.html [ Pass Timeout ]
+crbug.com/591099 external/wpt/pointerevents/pointerevent_pointerout_pen-manual.html [ Pass Timeout ]
+crbug.com/591099 external/wpt/pointerevents/pointerevent_pointerout_received_once-manual.html [ Pass Timeout ]
+crbug.com/591099 external/wpt/pointerevents/pointerevent_releasepointercapture_events_to_original_target-manual.html [ Timeout ]
 crbug.com/591099 external/wpt/pointerevents/pointerevent_releasepointercapture_onpointercancel_touch-manual.html [ Timeout ]
 crbug.com/591099 external/wpt/pointerevents/pointerevent_releasepointercapture_onpointerup_mouse-manual.html [ Crash ]
-crbug.com/591099 external/wpt/pointerevents/pointerevent_setpointercapture_disconnected-manual.html [ Timeout ]
+crbug.com/591099 external/wpt/pointerevents/pointerevent_sequence_at_implicit_release_on_click-manual.html [ Pass Timeout ]
+crbug.com/591099 external/wpt/pointerevents/pointerevent_setpointercapture_disconnected-manual.html [ Pass Timeout ]
+crbug.com/591099 external/wpt/pointerevents/pointerevent_setpointercapture_inactive_button_mouse-manual.html [ Timeout ]
 crbug.com/591099 external/wpt/pointerevents/pointerevent_setpointercapture_relatedtarget-manual.html [ Crash Timeout ]
+crbug.com/591099 external/wpt/pointerevents/pointerevent_suppress_compat_events_on_click-manual.html [ Pass Timeout ]
 crbug.com/591099 external/wpt/pointerevents/pointerevent_touch-action-auto-css_touch-manual.html [ Crash Timeout ]
 crbug.com/591099 external/wpt/pointerevents/pointerevent_touch-action-button-test_touch-manual.html [ Crash Timeout ]
 crbug.com/591099 external/wpt/pointerevents/pointerevent_touch-action-inherit_child-auto-child-none_touch-manual.html [ Crash Timeout ]
@@ -5013,6 +5475,7 @@
 crbug.com/591099 external/wpt/referrer-policy/unset-referrer-policy/http-rp/cross-origin/http-https/img-tag/upgrade-protocol.keep-origin-redirect.http.html [ Crash ]
 crbug.com/591099 external/wpt/referrer-policy/unset-referrer-policy/http-rp/cross-origin/http-https/img-tag/upgrade-protocol.no-redirect.http.html [ Crash ]
 crbug.com/591099 external/wpt/referrer-policy/unset-referrer-policy/http-rp/cross-origin/http-https/img-tag/upgrade-protocol.swap-origin-redirect.http.html [ Crash ]
+crbug.com/591099 external/wpt/referrer-policy/unset-referrer-policy/http-rp/cross-origin/http-https/script-tag/upgrade-protocol.no-redirect.http.html [ Pass Timeout ]
 crbug.com/591099 external/wpt/referrer-policy/unset-referrer-policy/http-rp/same-origin/http-http/iframe-tag/insecure-protocol.keep-origin-redirect.http.html [ Crash ]
 crbug.com/591099 external/wpt/referrer-policy/unset-referrer-policy/http-rp/same-origin/http-http/iframe-tag/insecure-protocol.no-redirect.http.html [ Crash ]
 crbug.com/591099 external/wpt/referrer-policy/unset-referrer-policy/http-rp/same-origin/http-http/iframe-tag/insecure-protocol.swap-origin-redirect.http.html [ Crash ]
@@ -5050,6 +5513,7 @@
 crbug.com/591099 external/wpt/referrer-policy/unset-referrer-policy/meta-referrer/same-origin/http-https/img-tag/upgrade-protocol.no-redirect.http.html [ Crash ]
 crbug.com/591099 external/wpt/referrer-policy/unset-referrer-policy/meta-referrer/same-origin/http-https/img-tag/upgrade-protocol.swap-origin-redirect.http.html [ Crash ]
 crbug.com/591099 external/wpt/selection/deleteFromDocument.html [ Crash ]
+crbug.com/591099 external/wpt/service-workers/cache-storage/window/cache-storage.https.html [ Failure Pass ]
 crbug.com/591099 external/wpt/service-workers/service-worker/activation.https.html [ Crash ]
 crbug.com/591099 external/wpt/service-workers/service-worker/claim-not-using-registration.https.html [ Crash ]
 crbug.com/591099 external/wpt/service-workers/service-worker/client-id.https.html [ Crash ]
@@ -5057,8 +5521,9 @@
 crbug.com/591099 external/wpt/service-workers/service-worker/clients-matchall-exact-controller.https.html [ Crash ]
 crbug.com/591099 external/wpt/service-workers/service-worker/clients-matchall.https.html [ Crash ]
 crbug.com/591099 external/wpt/service-workers/service-worker/clients-matchall-order.https.html [ Crash ]
-crbug.com/591099 external/wpt/service-workers/service-worker/extendable-event-waituntil.https.html [ Failure ]
+crbug.com/591099 external/wpt/service-workers/service-worker/extendable-event-waituntil.https.html [ Failure Pass ]
 crbug.com/591099 external/wpt/service-workers/service-worker/fetch-event.https.html [ Crash ]
+crbug.com/591099 external/wpt/service-workers/service-worker/fetch-event-within-sw.https.html [ Crash Pass ]
 crbug.com/591099 external/wpt/service-workers/service-worker/fetch-frame-resource.https.html [ Crash ]
 crbug.com/591099 external/wpt/service-workers/service-worker/fetch-mixed-content-to-inscope.https.html [ Crash ]
 crbug.com/591099 external/wpt/service-workers/service-worker/fetch-mixed-content-to-outscope.https.html [ Crash ]
@@ -5074,12 +5539,12 @@
 crbug.com/591099 external/wpt/service-workers/service-worker/register-closed-window.https.html [ Crash ]
 crbug.com/591099 external/wpt/service-workers/service-worker/register-link-header.https.html [ Crash ]
 crbug.com/591099 external/wpt/service-workers/service-worker/register-same-scope-different-script-url.https.html [ Crash ]
-crbug.com/591099 external/wpt/service-workers/service-worker/registration.https.html [ Crash ]
+crbug.com/591099 external/wpt/service-workers/service-worker/registration.https.html [ Crash Pass ]
 crbug.com/591099 external/wpt/service-workers/service-worker/registration-iframe.https.html [ Crash ]
 crbug.com/591099 external/wpt/service-workers/service-worker/ServiceWorkerGlobalScope/extendable-message-event.https.html [ Crash ]
 crbug.com/591099 external/wpt/service-workers/service-worker/ServiceWorkerGlobalScope/unregister.https.html [ Crash ]
 crbug.com/591099 external/wpt/service-workers/service-worker/ServiceWorkerGlobalScope/update.https.html [ Crash ]
-crbug.com/591099 external/wpt/service-workers/service-worker/skip-waiting-installed.https.html [ Failure ]
+crbug.com/591099 external/wpt/service-workers/service-worker/skip-waiting-installed.https.html [ Failure Pass ]
 crbug.com/591099 external/wpt/service-workers/service-worker/unregister-controller.https.html [ Crash ]
 crbug.com/591099 external/wpt/service-workers/service-worker/unregister-then-register.https.html [ Crash ]
 crbug.com/591099 external/wpt/service-workers/service-worker/unregister-then-register-new-script.https.html [ Crash ]
@@ -5090,10 +5555,12 @@
 crbug.com/591099 external/wpt/shadow-dom/untriaged/events/test-001.html [ Crash ]
 crbug.com/591099 external/wpt/shadow-dom/untriaged/html-elements-in-shadow-trees/html-forms/test-003.html [ Crash ]
 crbug.com/591099 external/wpt/shadow-dom/untriaged/html-elements-in-shadow-trees/inert-html-elements/test-001.html [ Crash ]
+crbug.com/591099 external/wpt/streams/writable-streams/constructor.serviceworker.https.html [ Pass Timeout ]
 crbug.com/591099 external/wpt/uievents/order-of-events/focus-events/focus-automated-blink-webkit.html [ Crash ]
-crbug.com/591099 external/wpt/uievents/order-of-events/focus-events/focus-manual.html [ Timeout ]
-crbug.com/591099 external/wpt/uievents/order-of-events/mouse-events/mouseover-out-manual.html [ Timeout ]
-crbug.com/591099 external/wpt/web-animations/interfaces/Animation/playbackRate.html [ Failure ]
+crbug.com/591099 external/wpt/uievents/order-of-events/focus-events/focus-manual.html [ Failure Timeout ]
+crbug.com/591099 external/wpt/uievents/order-of-events/mouse-events/mouseover-out-manual.html [ Pass Timeout ]
+crbug.com/591099 external/wpt/web-animations/interfaces/Animation/playbackRate.html [ Failure Pass ]
+crbug.com/591099 external/wpt/WebCryptoAPI/derive_bits_keys/test_pbkdf2.html [ Timeout ]
 crbug.com/591099 external/wpt/webmessaging/broadcastchannel/sandbox.html [ Crash ]
 crbug.com/591099 external/wpt/webmessaging/message-channels/004.html [ Crash ]
 crbug.com/591099 external/wpt/webmessaging/without-ports/016.html [ Crash ]
@@ -5111,10 +5578,10 @@
 crbug.com/591099 external/wpt/webmessaging/with-ports/021.html [ Crash ]
 crbug.com/591099 external/wpt/webrtc/simplecall.html [ Crash ]
 crbug.com/591099 external/wpt/webstorage/event_no_duplicates.html [ Crash ]
-crbug.com/591099 external/wpt/webvtt/rendering/cues-with-video/processing-model/2_cues_overlapping_completely_move_up.html [ Crash ]
-crbug.com/591099 external/wpt/webvtt/rendering/cues-with-video/processing-model/2_cues_overlapping_partially_move_up.html [ Crash ]
-crbug.com/591099 external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/9_cues_overlapping_completely_all_cues_have_same_timestamp.html [ Crash ]
-crbug.com/591099 external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/9_cues_overlapping_completely.html [ Crash ]
+crbug.com/591099 external/wpt/webvtt/rendering/cues-with-video/processing-model/2_cues_overlapping_completely_move_up.html [ Crash Failure ]
+crbug.com/591099 external/wpt/webvtt/rendering/cues-with-video/processing-model/2_cues_overlapping_partially_move_up.html [ Crash Failure ]
+crbug.com/591099 external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/9_cues_overlapping_completely_all_cues_have_same_timestamp.html [ Crash Failure ]
+crbug.com/591099 external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/9_cues_overlapping_completely.html [ Crash Failure ]
 crbug.com/591099 external/wpt/XMLHttpRequest/open-url-multi-window-2.htm [ Crash ]
 crbug.com/591099 external/wpt/XMLHttpRequest/open-url-multi-window-3.htm [ Crash ]
 crbug.com/591099 external/wpt/XMLHttpRequest/open-url-multi-window-4.htm [ Crash ]
@@ -5206,6 +5673,9 @@
 crbug.com/591099 fast/backgrounds/size/parsing-background-size-values.html [ Failure ]
 crbug.com/591099 fast/backgrounds/size/parsing-inherit.html [ Failure ]
 crbug.com/591099 fast/backgrounds/size/zero.html [ Failure ]
+crbug.com/591099 fast/backgrounds/transformed-body-background.html [ Failure ]
+crbug.com/591099 fast/backgrounds/transformed-body-html-background.html [ Failure ]
+crbug.com/591099 fast/backgrounds/transformed-html-body-background.html [ Failure ]
 crbug.com/591099 fast/beacon/beacon-basic.html [ Failure ]
 crbug.com/591099 fast/block/abspos-child-container-changes-from-relative-to-static.html [ Failure ]
 crbug.com/591099 fast/block/align-inverted-direction.html [ Failure ]
@@ -5224,12 +5694,12 @@
 crbug.com/591099 fast/block/basic/020.html [ Failure ]
 crbug.com/591099 fast/block/basic/021.html [ Failure ]
 crbug.com/591099 fast/block/basic/adding-near-anonymous-block.html [ Failure ]
-crbug.com/591099 fast/block/basic/fieldset-stretch-to-legend.html [ Crash ]
+crbug.com/591099 fast/block/basic/fieldset-stretch-to-legend.html [ Crash Failure ]
 crbug.com/591099 fast/block/basic/min-pref-width-nowrap-floats.html [ Failure ]
 crbug.com/591099 fast/block/basic/percent-height-inside-anonymous-block.html [ Failure ]
 crbug.com/591099 fast/block/basic/quirk-height.html [ Failure ]
 crbug.com/591099 fast/block/basic/quirk-percent-height-grandchild.html [ Failure ]
-crbug.com/591099 fast/block/basic/quirk-percent-height-table-cell.html [ Failure ]
+crbug.com/591099 fast/block/basic/quirk-percent-height-table-cell.html [ Crash Failure ]
 crbug.com/591099 fast/block/basic/text-indent-rtl.html [ Failure ]
 crbug.com/591099 fast/block/basic/truncation-rtl.html [ Failure ]
 crbug.com/591099 fast/block/basic/white-space-pre-wraps.html [ Failure ]
@@ -5274,13 +5744,13 @@
 crbug.com/591099 fast/block/float/031.html [ Failure ]
 crbug.com/591099 fast/block/float/032.html [ Failure ]
 crbug.com/591099 fast/block/float/033.html [ Failure ]
-crbug.com/591099 fast/block/float/034.html [ Failure ]
+crbug.com/591099 fast/block/float/034.html [ Crash Failure ]
 crbug.com/591099 fast/block/float/035.html [ Failure ]
-crbug.com/591099 fast/block/float/add-abspos-before-float-in-block-children-block.html [ Failure ]
+crbug.com/591099 fast/block/float/add-abspos-before-float-in-block-children-block.html [ Failure Pass ]
 crbug.com/591099 fast/block/float/add-float-back-to-anonymous-block.html [ Failure ]
 crbug.com/591099 fast/block/float/add-inlines-in-block-children-block.html [ Failure ]
-crbug.com/591099 fast/block/float/add-inline-to-block-flow-and-ensure-layout-on-containers-of-removed-floats.html [ Crash ]
-crbug.com/591099 fast/block/float/add-inline-to-block-flow-with-block-children-that-do-not-need-anonymous-boxes.html [ Crash ]
+crbug.com/591099 fast/block/float/add-inline-to-block-flow-and-ensure-layout-on-containers-of-removed-floats.html [ Crash Failure ]
+crbug.com/591099 fast/block/float/add-inline-to-block-flow-with-block-children-that-do-not-need-anonymous-boxes.html [ Crash Failure ]
 crbug.com/591099 fast/block/float/assert-when-moving-float.html [ Crash ]
 crbug.com/591099 fast/block/float/avoidance-percent-width-compat.html [ Failure ]
 crbug.com/591099 fast/block/float/avoidance-percent-width-strict.html [ Failure ]
@@ -5313,7 +5783,7 @@
 crbug.com/591099 fast/block/float/float-at-start-of-clean-lines-that-are-subsequently-dirtied.html [ Failure ]
 crbug.com/591099 fast/block/float/float-at-start-of-clean-lines-that-are-subsequently-dirtied-vertical-rl.html [ Failure ]
 crbug.com/591099 fast/block/float/float-avoidance.html [ Failure ]
-crbug.com/591099 fast/block/float/float-forced-below-other-floats.html [ Failure ]
+crbug.com/591099 fast/block/float/float-forced-below-other-floats.html [ Crash Failure ]
 crbug.com/591099 fast/block/float/float-in-float-hit-testing.html [ Failure ]
 crbug.com/591099 fast/block/float/float-in-float-painting.html [ Failure ]
 crbug.com/591099 fast/block/float/float-inserted-into-clean-line.html [ Failure ]
@@ -5391,7 +5861,7 @@
 crbug.com/591099 fast/block/float/previous-sibling-abspos-001.html [ Failure ]
 crbug.com/591099 fast/block/float/previous-sibling-abspos-002.html [ Failure ]
 crbug.com/591099 fast/block/float/previous-sibling-float-001.html [ Failure ]
-crbug.com/591099 fast/block/float/previous-sibling-float-002.html [ Crash ]
+crbug.com/591099 fast/block/float/previous-sibling-float-002.html [ Crash Pass ]
 crbug.com/591099 fast/block/float/relative-painted-twice.html [ Failure ]
 crbug.com/591099 fast/block/float/remove-line-above-float-above-line-crash.html [ Failure ]
 crbug.com/591099 fast/block/float/rubybase-children-made-inline-crash.html [ Failure ]
@@ -5407,7 +5877,7 @@
 crbug.com/591099 fast/block/float/vertical-move-relayout.html [ Failure ]
 crbug.com/591099 fast/block/float/width-update-after-clear.html [ Failure ]
 crbug.com/591099 fast/block/hr-border-box-sizing.html [ Failure ]
-crbug.com/591099 fast/block/inline-children-root-linebox-crash.html [ Crash ]
+crbug.com/591099 fast/block/inline-children-root-linebox-crash.html [ Crash Failure ]
 crbug.com/591099 fast/block/line-layout/crash-in-isolate-with-positioned-child.html [ Failure ]
 crbug.com/591099 fast/block/line-layout/floats-do-not-fit-on-line.html [ Failure ]
 crbug.com/591099 fast/block/line-layout/negative-max-height.html [ Failure ]
@@ -5446,7 +5916,7 @@
 crbug.com/591099 fast/block/margin-collapse/block-inside-inline/025.html [ Failure ]
 crbug.com/591099 fast/block/margin-collapse/clear-nested-float-more-than-one-previous-sibling-away.html [ Failure ]
 crbug.com/591099 fast/block/margin-collapse/empty-clear-blocks.html [ Failure ]
-crbug.com/591099 fast/block/margin-collapse/line-beside-float-complex-margin-collapsing.html [ Crash ]
+crbug.com/591099 fast/block/margin-collapse/line-beside-float-complex-margin-collapsing.html [ Crash Failure ]
 crbug.com/591099 fast/block/margin-collapse/self-collapsing-block-creates-block-formatting-context.html [ Failure ]
 crbug.com/591099 fast/block/margin-collapse/self-collapsing-block-discards-margin.html [ Failure ]
 crbug.com/591099 fast/block/margin-collapse/self-collapsing-block-with-float-child-collapsed-margins.html [ Failure ]
@@ -5461,6 +5931,7 @@
 crbug.com/591099 fast/block/margin-collapse/webkit-margin-collapse-separate-position.html [ Failure ]
 crbug.com/591099 fast/block/margin-collapse/webkit-margin-collapse-siblings.html [ Failure ]
 crbug.com/591099 fast/block/margin-left-margin-right-auto.html [ Failure ]
+crbug.com/591099 fast/block/margins-perpendicular-containing-block.html [ Failure ]
 crbug.com/591099 fast/block/marquee-width-shrinks-to-fit-in-fixed-size-container.html [ Failure ]
 crbug.com/591099 fast/block/min-max-height-percent-height-child.html [ Failure ]
 crbug.com/591099 fast/block/multicol-moves-children-with-nested-floats-2.html [ Failure ]
@@ -5471,7 +5942,8 @@
 crbug.com/591099 fast/block/percent-top-respects-min-height.html [ Failure ]
 crbug.com/591099 fast/block/positioned-movement-assert.html [ Failure ]
 crbug.com/591099 fast/block/positioning/001.html [ Failure ]
-crbug.com/591099 fast/block/positioning/042.html [ Crash ]
+crbug.com/591099 fast/block/positioning/031.html [ Failure ]
+crbug.com/591099 fast/block/positioning/042.html [ Crash Pass ]
 crbug.com/591099 fast/block/positioning/047.html [ Failure ]
 crbug.com/591099 fast/block/positioning/048.html [ Failure ]
 crbug.com/591099 fast/block/positioning/050.html [ Failure ]
@@ -5482,8 +5954,9 @@
 crbug.com/591099 fast/block/positioning/055.html [ Failure ]
 crbug.com/591099 fast/block/positioning/056.html [ Failure ]
 crbug.com/591099 fast/block/positioning/057.html [ Failure ]
-crbug.com/591099 fast/block/positioning/058.html [ Failure ]
+crbug.com/591099 fast/block/positioning/058.html [ Crash Failure ]
 crbug.com/591099 fast/block/positioning/061.html [ Failure ]
+crbug.com/591099 fast/block/positioning/062.html [ Failure ]
 crbug.com/591099 fast/block/positioning/abs-inside-inline-rel.html [ Failure ]
 crbug.com/591099 fast/block/positioning/absolute-appended-to-inline.html [ Failure ]
 crbug.com/591099 fast/block/positioning/absolute-in-inline-dynamic.html [ Failure ]
@@ -5555,15 +6028,15 @@
 crbug.com/591099 fast/block/positioning/relative-overflow-block.html [ Failure ]
 crbug.com/591099 fast/block/positioning/relative-overflow-replaced-float.html [ Failure ]
 crbug.com/591099 fast/block/positioning/relative-overflow-replaced.html [ Failure ]
-crbug.com/591099 fast/block/positioning/relative-positioned-inline-container.html [ Crash ]
+crbug.com/591099 fast/block/positioning/relative-positioned-inline-container.html [ Crash Failure ]
 crbug.com/591099 fast/block/positioning/relative-with-implicit-height-containing-block.html [ Failure ]
 crbug.com/591099 fast/block/positioning/relayout-nested-positioned-elements-crash.html [ Crash ]
 crbug.com/591099 fast/block/positioning/relayout-on-position-change.html [ Failure ]
 crbug.com/591099 fast/block/positioning/rel-positioned-inline-changes-width.html [ Crash Failure ]
 crbug.com/591099 fast/block/positioning/replaced-inside-fixed-top-bottom.html [ Failure ]
-crbug.com/591099 fast/block/positioning/rtl-fixed-positioning.html [ Failure ]
+crbug.com/591099 fast/block/positioning/rtl-fixed-positioning.html [ Crash Failure ]
 crbug.com/591099 fast/block/positioning/rtl-static-positioning.html [ Failure ]
-crbug.com/591099 fast/block/positioning/rtl-static-positioning-inline-block.html [ Crash ]
+crbug.com/591099 fast/block/positioning/rtl-static-positioning-inline-block.html [ Crash Failure ]
 crbug.com/591099 fast/block/positioning/setting-layout-on-posobjs-while-laying-them-out.html [ Failure ]
 crbug.com/591099 fast/block/positioning/start-ignoring-before.html [ Failure ]
 crbug.com/591099 fast/block/positioning/static-to-abspos-parent-is-stf.html [ Failure ]
@@ -5572,10 +6045,11 @@
 crbug.com/591099 fast/block/positioning/vertical-lr/002.html [ Failure ]
 crbug.com/591099 fast/block/positioning/vertical-rl/001.html [ Failure ]
 crbug.com/591099 fast/block/positioning/vertical-rl/002.html [ Failure ]
+crbug.com/591099 fast/block/positioning/vertical-rl/003.html [ Crash ]
 crbug.com/591099 fast/block/positioning/vertical-rl/fixed-positioning.html [ Failure ]
 crbug.com/591099 fast/block/positioning/window-height-change.html [ Failure ]
 crbug.com/591099 fast/block/scrollbar-wider-than-border-box.html [ Failure ]
-crbug.com/591099 fast/block/self-collapsing-block-gets-layout-during-margin-collapsing.html [ Crash ]
+crbug.com/591099 fast/block/self-collapsing-block-gets-layout-during-margin-collapsing.html [ Crash Pass ]
 crbug.com/591099 fast/block/skip-cleaning-up-anonymous-wrappers-when-subtree-being-destroyed.html [ Crash ]
 crbug.com/591099 fast/block/sticky-position-containing-block-crash.html [ Failure ]
 crbug.com/591099 fast/block/strip-anonymous-blocks-when-block-child-becomes-float.html [ Failure ]
@@ -5650,6 +6124,8 @@
 crbug.com/591099 fast/borders/border-radius-constraints.html [ Failure ]
 crbug.com/591099 fast/borders/border-radius-different-width-001-double.html [ Failure ]
 crbug.com/591099 fast/borders/border-radius-different-width-001.html [ Failure ]
+crbug.com/591099 fast/borders/borderRadiusDouble05.html [ Crash ]
+crbug.com/591099 fast/borders/borderRadiusDouble07.html [ Crash ]
 crbug.com/591099 fast/borders/border-radius-huge-assert.html [ Failure ]
 crbug.com/591099 fast/borders/border-radius-inline-flow.html [ Failure ]
 crbug.com/591099 fast/borders/border-radius-inset-outset.html [ Failure ]
@@ -5673,7 +6149,7 @@
 crbug.com/591099 fast/borders/border-width-percent.html [ Failure ]
 crbug.com/591099 fast/borders/different-color-borders.html [ Failure ]
 crbug.com/591099 fast/borders/extreme-outline-offset-crash.html [ Failure ]
-crbug.com/591099 fast/borders/fieldsetBorderRadius.html [ Crash ]
+crbug.com/591099 fast/borders/fieldsetBorderRadius.html [ Crash Failure ]
 crbug.com/591099 fast/borders/inline-mask-overlay-image.html [ Failure ]
 crbug.com/591099 fast/borders/inline-mask-overlay-image-outset.html [ Failure ]
 crbug.com/591099 fast/borders/inline-mask-overlay-image-outset-vertical-rl.html [ Failure ]
@@ -5687,7 +6163,7 @@
 crbug.com/591099 fast/borders/rtl-border-02.html [ Failure ]
 crbug.com/591099 fast/borders/rtl-border-03.html [ Failure ]
 crbug.com/591099 fast/borders/rtl-border-04.html [ Failure ]
-crbug.com/591099 fast/borders/rtl-border-05.html [ Failure ]
+crbug.com/591099 fast/borders/rtl-border-05.html [ Crash Failure ]
 crbug.com/591099 fast/borders/table-borders.html [ Failure ]
 crbug.com/591099 fast/box-decoration-break/box-decoration-break-parsing.html [ Failure ]
 crbug.com/591099 fast/box-shadow/basic-shadows.html [ Failure ]
@@ -5695,10 +6171,10 @@
 crbug.com/591099 fast/box-shadow/box-shadow-clipped-slices.html [ Failure ]
 crbug.com/591099 fast/box-shadow/box-shadow.html [ Failure ]
 crbug.com/591099 fast/box-shadow/box-shadow-parsing-invalid.html [ Failure ]
-crbug.com/591099 fast/box-shadow/box-shadow-radius.html [ Crash ]
+crbug.com/591099 fast/box-shadow/box-shadow-radius.html [ Crash Failure ]
 crbug.com/591099 fast/box-shadow/box-shadow-transformed.html [ Failure ]
 crbug.com/591099 fast/box-shadow/box-shadow-with-zero-radius.html [ Failure ]
-crbug.com/591099 fast/box-shadow/inset-box-shadow-radius.html [ Crash ]
+crbug.com/591099 fast/box-shadow/inset-box-shadow-radius.html [ Crash Failure ]
 crbug.com/591099 fast/box-shadow/inset-box-shadows.html [ Failure ]
 crbug.com/591099 fast/box-shadow/inset.html [ Failure ]
 crbug.com/591099 fast/box-shadow/inset-subpixel.html [ Failure ]
@@ -5713,6 +6189,8 @@
 crbug.com/591099 fast/box-shadow/transform-fringing.html [ Failure ]
 crbug.com/591099 fast/box-sizing/box-sizing.html [ Failure ]
 crbug.com/591099 fast/box-sizing/css-table-with-box-sizing.html [ Crash ]
+crbug.com/591099 fast/box-sizing/panels-one.html [ Failure ]
+crbug.com/591099 fast/box-sizing/panels-two.html [ Failure ]
 crbug.com/591099 fast/box-sizing/percentage-height.html [ Failure ]
 crbug.com/591099 fast/box-sizing/table-cell.html [ Failure ]
 crbug.com/591099 fast/canvas/2d.composite.globalAlpha.fillPath.html [ Crash ]
@@ -5754,7 +6232,7 @@
 crbug.com/591099 fast/canvas/canvas-createImageBitmap-invalid-args.html [ Failure ]
 crbug.com/591099 fast/canvas/canvas-createImageBitmap-invalid-args-in-workers.html [ Failure ]
 crbug.com/591099 fast/canvas/canvas-createImageBitmap-invalid-blob-in-workers.html [ Failure ]
-crbug.com/591099 fast/canvas/canvas-createImageBitmap-recursive.html [ Failure ]
+crbug.com/591099 fast/canvas/canvas-createImageBitmap-recursive.html [ Failure Timeout ]
 crbug.com/591099 fast/canvas/canvas-createImageBitmap-svg.html [ Failure ]
 crbug.com/591099 fast/canvas/canvas-createImageBitmap-svg-no-intrinsic-size.html [ Failure ]
 crbug.com/591099 fast/canvas/canvas-createPattern-fillRect-shadow.html [ Crash ]
@@ -5800,6 +6278,7 @@
 crbug.com/591099 fast/canvas/canvas-ImageData-workers.html [ Failure ]
 crbug.com/591099 fast/canvas/canvas-imageSmoothingEnabled-repaint.html [ Crash ]
 crbug.com/591099 fast/canvas/canvas-imageSmoothingQuality.html [ Crash ]
+crbug.com/591099 fast/canvas/canvas-incremental-repaint.html [ Failure ]
 crbug.com/591099 fast/canvas/canvas-invalid-fillstyle.html [ Crash ]
 crbug.com/591099 fast/canvas/canvas-invalid-strokestyle.html [ Crash ]
 crbug.com/591099 fast/canvas/canvas-invalid-video.html [ Failure ]
@@ -5836,6 +6315,7 @@
 crbug.com/591099 fast/canvas/canvas-strokePath-shadow.html [ Crash ]
 crbug.com/591099 fast/canvas/canvas-strokeRect-alpha-shadow.html [ Crash ]
 crbug.com/591099 fast/canvas/canvas-strokeRect-gradient-shadow.html [ Crash ]
+crbug.com/591099 fast/canvas/canvas-text-alignment.html [ Failure ]
 crbug.com/591099 fast/canvas/canvas-textMetrics-width.html [ Failure ]
 crbug.com/591099 fast/canvas/canvas-text-space-characters.html [ Crash ]
 crbug.com/591099 fast/canvas/canvas-transforms-during-path.html [ Failure ]
@@ -5859,7 +6339,7 @@
 crbug.com/591099 fast/canvas/OffscreenCanvas-transferable.html [ Failure ]
 crbug.com/591099 fast/canvas/painting-on-bad-canvas.html [ Crash ]
 crbug.com/591099 fast/canvas/pattern-with-transform.html [ Crash ]
-crbug.com/591099 fast/canvas/pixelated-resize.html [ Failure ]
+crbug.com/591099 fast/canvas/pixelated-resize.html [ Failure Pass ]
 crbug.com/591099 fast/canvas/quadraticCurveTo.xml [ Failure ]
 crbug.com/591099 fast/canvas/resize-while-save-active.html [ Crash ]
 crbug.com/591099 fast/canvas/set-empty-font-crash.html [ Crash ]
@@ -5889,12 +6369,14 @@
 crbug.com/591099 fast/canvas/zero-size-fill-rect.html [ Crash ]
 crbug.com/591099 fast/clip/001.html [ Failure ]
 crbug.com/591099 fast/clip/004.html [ Failure ]
+crbug.com/591099 fast/clip/008.html [ Failure ]
 crbug.com/591099 fast/clip/009.html [ Failure ]
 crbug.com/591099 fast/clip/010.html [ Failure ]
 crbug.com/591099 fast/clip/011.html [ Failure ]
 crbug.com/591099 fast/clip/012.html [ Failure ]
 crbug.com/591099 fast/clip/013.html [ Failure ]
 crbug.com/591099 fast/clip/014.html [ Failure ]
+crbug.com/591099 fast/clip/015.html [ Failure ]
 crbug.com/591099 fast/clip/nested-rounded-rect.html [ Failure ]
 crbug.com/591099 fast/clip/nestedTransparencyClip.html [ Failure ]
 crbug.com/591099 fast/clip/outline-overflowClip.html [ Failure ]
@@ -5933,13 +6415,13 @@
 crbug.com/591099 fast/css3-text/css3-text-decoration/text-decoration-style-inherit.html [ Failure ]
 crbug.com/591099 fast/css3-text/css3-text-decoration/text-decoration-style-inherit-not-propagated-by-out-of-flow.html [ Failure ]
 crbug.com/591099 fast/css3-text/css3-text-decoration/text-decoration-underline-paints-behind-descenders.html [ Failure ]
-crbug.com/591099 fast/css3-text/css3-text-decoration/text-underline-position/text-underline-first-line-decoration.html [ Crash ]
-crbug.com/591099 fast/css3-text/css3-text-decoration/text-underline-position/text-underline-first-line-decoration-vertical.html [ Crash ]
+crbug.com/591099 fast/css3-text/css3-text-decoration/text-underline-position/text-underline-first-line-decoration.html [ Crash Failure ]
+crbug.com/591099 fast/css3-text/css3-text-decoration/text-underline-position/text-underline-first-line-decoration-vertical.html [ Crash Failure ]
 crbug.com/591099 fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-all.html [ Failure ]
 crbug.com/591099 fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-auto.html [ Failure ]
-crbug.com/591099 fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-cjk.html [ Crash ]
+crbug.com/591099 fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-cjk.html [ Crash Failure ]
 crbug.com/591099 fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-mixed-fonts.html [ Crash ]
-crbug.com/591099 fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-subscript.html [ Crash ]
+crbug.com/591099 fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-subscript.html [ Crash Failure ]
 crbug.com/591099 fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-under.html [ Failure ]
 crbug.com/591099 fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-under-out-of-flow.html [ Failure ]
 crbug.com/591099 fast/css3-text/css3-text-indent/getComputedStyle/getComputedStyle-text-indent.html [ Failure ]
@@ -6052,7 +6534,7 @@
 crbug.com/591099 fast/css/computed-image-width-with-percent-height-quirksmode.html [ Failure ]
 crbug.com/591099 fast/css/computed-offset-with-zoom.html [ Failure ]
 crbug.com/591099 fast/css/containment/paint-containment-as-formatting-context.html [ Failure ]
-crbug.com/591099 fast/css/containment/size-and-layout-containment.html [ Crash ]
+crbug.com/591099 fast/css/containment/size-and-layout-containment.html [ Crash Failure ]
 crbug.com/591099 fast/css/content/content-none.html [ Failure ]
 crbug.com/591099 fast/css/content/content-normal.html [ Failure ]
 crbug.com/591099 fast/css/content/content-quotes-01.html [ Failure ]
@@ -6067,6 +6549,7 @@
 crbug.com/591099 fast/css/contentDiv.html [ Failure ]
 crbug.com/591099 fast/css/contentDivWithChildren.html [ Failure ]
 crbug.com/591099 fast/css/content-dynamic.html [ Failure ]
+crbug.com/591099 fast/css/content-image-set-disallowed-url-crash.html [ Crash ]
 crbug.com/591099 fast/css/content-language-case-insensitivity.html [ Failure ]
 crbug.com/591099 fast/css/content-language-comma-separated-list.html [ Failure ]
 crbug.com/591099 fast/css/content-language-dynamically-added.html [ Failure ]
@@ -6099,7 +6582,7 @@
 crbug.com/591099 fast/css/counters/counter-traverse-table-cell.html [ Failure ]
 crbug.com/591099 fast/css/counters/invalidate-cached-counter-node.html [ Failure ]
 crbug.com/591099 fast/css/counters/nesting.html [ Failure ]
-crbug.com/591099 fast/css/counters/remove-anonymous-block-wrapper-crash.html [ Crash ]
+crbug.com/591099 fast/css/counters/remove-anonymous-block-wrapper-crash.html [ Crash Failure ]
 crbug.com/591099 fast/css/crash-corner-present.html [ Failure ]
 crbug.com/591099 fast/css/crash-in-attachFirstLetterTextLayoutObjects.html [ Crash ]
 crbug.com/591099 fast/css/crash-layout-detached-document.html [ Crash ]
@@ -6158,7 +6641,7 @@
 crbug.com/591099 fast/css/first-child-pseudo-class.html [ Failure ]
 crbug.com/591099 fast/css/first-letter-block-form-controls-crash.html [ Failure ]
 crbug.com/591099 fast/css/first-letter-capitalized.html [ Failure ]
-crbug.com/591099 fast/css/first-letter-crash-document-disposal.html [ Crash ]
+crbug.com/591099 fast/css/first-letter-crash-document-disposal.html [ Crash Failure ]
 crbug.com/591099 fast/css/first-letter-detach.html [ Failure ]
 crbug.com/591099 fast/css/first-letter-first-line-hover.html [ Failure ]
 crbug.com/591099 fast/css/first-letter-float-after-float.html [ Failure ]
@@ -6168,6 +6651,7 @@
 crbug.com/591099 fast/css/first-letter-nested.html [ Failure ]
 crbug.com/591099 fast/css/first-letter-removed-added.html [ Failure ]
 crbug.com/591099 fast/css/first-letter-set-text.html [ Failure ]
+crbug.com/591099 fast/css/first-letter-to-non-block-container.html [ Failure ]
 crbug.com/591099 fast/css/first-letter-visibility.html [ Failure ]
 crbug.com/591099 fast/css/first-line-change-color-direct.html [ Failure ]
 crbug.com/591099 fast/css/first-line-hover-001.html [ Failure ]
@@ -6176,11 +6660,12 @@
 crbug.com/591099 fast/css/first-line-text-decoration.html [ Failure ]
 crbug.com/591099 fast/css/first-line-text-decoration-inherited-from-parent.html [ Failure ]
 crbug.com/591099 fast/css/first-of-type-pseudo-class.html [ Failure ]
+crbug.com/591099 fast/css/fixed-overlaps-absolute-in-clip.html [ Failure ]
 crbug.com/591099 fast/css/focus-ring-continuations.html [ Failure ]
 crbug.com/591099 fast/css/focus-ring-detached.html [ Failure ]
 crbug.com/591099 fast/css/focus-ring-multiline.html [ Failure ]
 crbug.com/591099 fast/css/focus-ring-multiline-writingmode-vertical.html [ Failure ]
-crbug.com/591099 fast/css/focus-ring-outline-color.html [ Failure ]
+crbug.com/591099 fast/css/focus-ring-outline-color.html [ Crash Failure ]
 crbug.com/591099 fast/css/focus-ring-outline-offset.html [ Failure ]
 crbug.com/591099 fast/css/focus-ring-outline-width.html [ Failure ]
 crbug.com/591099 fast/css/focus-ring-recursive-continuations.html [ Failure ]
@@ -6196,6 +6681,7 @@
 crbug.com/591099 fast/css/font-face-download-error.html [ Failure ]
 crbug.com/591099 fast/css/font-face-font-family-descriptor.html [ Failure ]
 crbug.com/591099 fast/css/font-face-iframe-onload.html [ Failure ]
+crbug.com/591099 fast/css/font-face-inherit-repaint.html [ Failure ]
 crbug.com/591099 fast/css/fontface-load-promise-after-gc.html [ Failure ]
 crbug.com/591099 fast/css/font-face-local-file.html [ Failure ]
 crbug.com/591099 fast/css/fontface-methods.html [ Failure ]
@@ -6267,6 +6753,7 @@
 crbug.com/591099 fast/css-generated-content/first-letter-in-nested-before.html [ Failure ]
 crbug.com/591099 fast/css-generated-content/first-letter-in-nested-before-table.html [ Failure ]
 crbug.com/591099 fast/css-generated-content/hit-test-generated-content.html [ Failure ]
+crbug.com/591099 fast/css-generated-content/hover-inline.html [ Failure ]
 crbug.com/591099 fast/css-generated-content/hover-style-change.html [ Failure ]
 crbug.com/591099 fast/css-generated-content/inline-display-types.html [ Failure ]
 crbug.com/591099 fast/css-generated-content/nested-tables-with-before-after-content-crash.html [ Failure ]
@@ -6309,7 +6796,7 @@
 crbug.com/591099 fast/css/getComputedStyle/computed-style-redistribution.html [ Failure ]
 crbug.com/591099 fast/css/getComputedStyle/computed-style-select-overflow.html [ Failure ]
 crbug.com/591099 fast/css/getComputedStyle/computed-style-without-renderer-listing.html [ Failure ]
-crbug.com/591099 fast/css/getComputedStyle/computed-style-with-zoom.html [ Timeout ]
+crbug.com/591099 fast/css/getComputedStyle/computed-style-with-zoom.html [ Failure Timeout ]
 crbug.com/591099 fast/css/getComputedStyle/counterIncrement-without-counter.html [ Failure ]
 crbug.com/591099 fast/css/getComputedStyle/counter-reset-with-initial.html [ Failure ]
 crbug.com/591099 fast/css/getComputedStyle/counter-reset-with-none.html [ Failure ]
@@ -6410,7 +6897,7 @@
 crbug.com/591099 fast/css-grid-layout/grid-container-ignore-first-letter.html [ Failure ]
 crbug.com/591099 fast/css-grid-layout/grid-container-ignore-first-line.html [ Failure ]
 crbug.com/591099 fast/css-grid-layout/grid-container-margin-border-padding-scrollbar.html [ Failure ]
-crbug.com/591099 fast/css-grid-layout/grid-container-percentage-columns.html [ Crash ]
+crbug.com/591099 fast/css-grid-layout/grid-container-percentage-columns.html [ Crash Failure ]
 crbug.com/591099 fast/css-grid-layout/grid-container-scroll-accounts-for-sizing.html [ Failure ]
 crbug.com/591099 fast/css-grid-layout/grid-content-alignment-and-self-alignment-spanning.html [ Failure ]
 crbug.com/591099 fast/css-grid-layout/grid-content-alignment-overflow.html [ Crash ]
@@ -6427,7 +6914,7 @@
 crbug.com/591099 fast/css-grid-layout/grid-element-min-max-height.html [ Failure ]
 crbug.com/591099 fast/css-grid-layout/grid-element-min-max-width.html [ Failure ]
 crbug.com/591099 fast/css-grid-layout/grid-element-padding-margin.html [ Failure ]
-crbug.com/591099 fast/css-grid-layout/grid-element-remove-svg-child.html [ Failure ]
+crbug.com/591099 fast/css-grid-layout/grid-element-remove-svg-child.html [ Crash Failure ]
 crbug.com/591099 fast/css-grid-layout/grid-element-repeat-get-set.html [ Failure ]
 crbug.com/591099 fast/css-grid-layout/grid-element-shrink-to-fit.html [ Failure ]
 crbug.com/591099 fast/css-grid-layout/grid-gutters-and-alignment.html [ Failure ]
@@ -6515,31 +7002,31 @@
 crbug.com/591099 fast/css-grid-layout/grid-self-baseline-01.html [ Failure ]
 crbug.com/591099 fast/css-grid-layout/grid-self-baseline-02-b.html [ Failure ]
 crbug.com/591099 fast/css-grid-layout/grid-self-baseline-02.html [ Failure ]
-crbug.com/591099 fast/css-grid-layout/grid-self-baseline-03.html [ Crash ]
-crbug.com/591099 fast/css-grid-layout/grid-self-baseline-04.html [ Crash ]
+crbug.com/591099 fast/css-grid-layout/grid-self-baseline-03.html [ Crash Failure ]
+crbug.com/591099 fast/css-grid-layout/grid-self-baseline-04.html [ Crash Failure ]
 crbug.com/591099 fast/css-grid-layout/grid-self-baseline-05.html [ Failure ]
-crbug.com/591099 fast/css-grid-layout/grid-self-baseline-06.html [ Crash ]
-crbug.com/591099 fast/css-grid-layout/grid-self-baseline-07.html [ Crash ]
+crbug.com/591099 fast/css-grid-layout/grid-self-baseline-06.html [ Crash Failure ]
+crbug.com/591099 fast/css-grid-layout/grid-self-baseline-07.html [ Crash Failure ]
 crbug.com/591099 fast/css-grid-layout/grid-self-baseline-horiz-01.html [ Failure ]
-crbug.com/591099 fast/css-grid-layout/grid-self-baseline-horiz-02.html [ Crash ]
-crbug.com/591099 fast/css-grid-layout/grid-self-baseline-horiz-03.html [ Crash ]
-crbug.com/591099 fast/css-grid-layout/grid-self-baseline-horiz-04.html [ Crash ]
-crbug.com/591099 fast/css-grid-layout/grid-self-baseline-horiz-05.html [ Crash ]
+crbug.com/591099 fast/css-grid-layout/grid-self-baseline-horiz-02.html [ Crash Failure ]
+crbug.com/591099 fast/css-grid-layout/grid-self-baseline-horiz-03.html [ Crash Failure ]
+crbug.com/591099 fast/css-grid-layout/grid-self-baseline-horiz-04.html [ Crash Failure ]
+crbug.com/591099 fast/css-grid-layout/grid-self-baseline-horiz-05.html [ Crash Failure ]
 crbug.com/591099 fast/css-grid-layout/grid-self-baseline-horiz-06.html [ Failure ]
 crbug.com/591099 fast/css-grid-layout/grid-self-baseline-horiz-07.html [ Failure ]
 crbug.com/591099 fast/css-grid-layout/grid-self-baseline-two-dimensional.html [ Failure ]
 crbug.com/591099 fast/css-grid-layout/grid-self-baseline-vertical-lr-01.html [ Failure ]
-crbug.com/591099 fast/css-grid-layout/grid-self-baseline-vertical-lr-02.html [ Crash ]
+crbug.com/591099 fast/css-grid-layout/grid-self-baseline-vertical-lr-02.html [ Crash Failure ]
 crbug.com/591099 fast/css-grid-layout/grid-self-baseline-vertical-lr-03.html [ Failure ]
-crbug.com/591099 fast/css-grid-layout/grid-self-baseline-vertical-lr-04.html [ Crash ]
-crbug.com/591099 fast/css-grid-layout/grid-self-baseline-vertical-lr-05.html [ Crash ]
+crbug.com/591099 fast/css-grid-layout/grid-self-baseline-vertical-lr-04.html [ Crash Failure ]
+crbug.com/591099 fast/css-grid-layout/grid-self-baseline-vertical-lr-05.html [ Crash Failure ]
 crbug.com/591099 fast/css-grid-layout/grid-self-baseline-vertical-lr-06.html [ Failure ]
 crbug.com/591099 fast/css-grid-layout/grid-self-baseline-vertical-lr-07.html [ Failure ]
 crbug.com/591099 fast/css-grid-layout/grid-self-baseline-vertical-rl-01.html [ Failure ]
-crbug.com/591099 fast/css-grid-layout/grid-self-baseline-vertical-rl-02.html [ Crash ]
-crbug.com/591099 fast/css-grid-layout/grid-self-baseline-vertical-rl-03.html [ Crash ]
-crbug.com/591099 fast/css-grid-layout/grid-self-baseline-vertical-rl-04.html [ Crash ]
-crbug.com/591099 fast/css-grid-layout/grid-self-baseline-vertical-rl-05.html [ Crash ]
+crbug.com/591099 fast/css-grid-layout/grid-self-baseline-vertical-rl-02.html [ Crash Failure ]
+crbug.com/591099 fast/css-grid-layout/grid-self-baseline-vertical-rl-03.html [ Crash Failure ]
+crbug.com/591099 fast/css-grid-layout/grid-self-baseline-vertical-rl-04.html [ Crash Failure ]
+crbug.com/591099 fast/css-grid-layout/grid-self-baseline-vertical-rl-05.html [ Crash Failure ]
 crbug.com/591099 fast/css-grid-layout/grid-self-baseline-vertical-rl-06.html [ Failure ]
 crbug.com/591099 fast/css-grid-layout/grid-self-baseline-vertical-rl-07.html [ Failure ]
 crbug.com/591099 fast/css-grid-layout/grid-shorthand-computed-style-crash.html [ Failure ]
@@ -6576,16 +7063,17 @@
 crbug.com/591099 fast/css-grid-layout/minmax-spanning-resolution-rows.html [ Failure ]
 crbug.com/591099 fast/css-grid-layout/min-width-height-auto-and-margins.html [ Failure ]
 crbug.com/591099 fast/css-grid-layout/min-width-height-auto.html [ Failure ]
+crbug.com/591099 fast/css-grid-layout/min-width-height-auto-overflow.html [ Failure ]
 crbug.com/591099 fast/css-grid-layout/min-width-margin-box.html [ Failure ]
-crbug.com/591099 fast/css-grid-layout/mozilla/grid-repeat-auto-fill-fit-005-part-1.html [ Crash ]
-crbug.com/591099 fast/css-grid-layout/mozilla/grid-repeat-auto-fill-fit-005-part-2.html [ Crash ]
+crbug.com/591099 fast/css-grid-layout/mozilla/grid-repeat-auto-fill-fit-005-part-1.html [ Crash Failure ]
+crbug.com/591099 fast/css-grid-layout/mozilla/grid-repeat-auto-fill-fit-005-part-2.html [ Crash Failure ]
 crbug.com/591099 fast/css-grid-layout/named-grid-line-get-set.html [ Timeout ]
 crbug.com/591099 fast/css-grid-layout/named-grid-lines-computed-style-implicit-tracks.html [ Failure ]
 crbug.com/591099 fast/css-grid-layout/named-grid-lines-with-named-grid-areas-dynamic-get-set.html [ Failure ]
 crbug.com/591099 fast/css-grid-layout/named-grid-lines-with-named-grid-areas-get-set.html [ Timeout ]
 crbug.com/591099 fast/css-grid-layout/named-grid-lines-with-named-grid-areas-resolution.html [ Failure ]
 crbug.com/591099 fast/css-grid-layout/negative-growth-share-as-infinity-crash.html [ Failure ]
-crbug.com/591099 fast/css-grid-layout/non-grid-columns-rows-get-set.html [ Failure ]
+crbug.com/591099 fast/css-grid-layout/non-grid-columns-rows-get-set.html [ Failure Timeout ]
 crbug.com/591099 fast/css-grid-layout/non-grid-columns-rows-get-set-multiple.html [ Failure ]
 crbug.com/591099 fast/css-grid-layout/non-grid-element-repeat-get-set.html [ Failure ]
 crbug.com/591099 fast/css-grid-layout/non-named-grid-line-get-set.html [ Failure ]
@@ -6619,6 +7107,7 @@
 crbug.com/591099 fast/css-grid-layout/setting-node-properties-to-null-during-layout-should-not-crash.html [ Failure ]
 crbug.com/591099 fast/css-grid-layout/should-not-collapse-anonymous-blocks.html [ Failure ]
 crbug.com/591099 fast/css-grid-layout/tracks-wider-min-track-breadth-crash.html [ Failure ]
+crbug.com/591099 fast/css-grid-layout/vertical-align-do-not-effect-grid-items.html [ Failure ]
 crbug.com/591099 fast/css/h1-in-section-elements.html [ Failure ]
 crbug.com/591099 fast/css/handling-calc-on-table-as-auto.html [ Failure ]
 crbug.com/591099 fast/css/heightless-list-item.html [ Failure ]
@@ -6674,21 +7163,22 @@
 crbug.com/591099 fast/css-intrinsic-dimensions/height-css-tables-collapsed.html [ Failure ]
 crbug.com/591099 fast/css-intrinsic-dimensions/height-css-tables.html [ Failure ]
 crbug.com/591099 fast/css-intrinsic-dimensions/height.html [ Failure ]
-crbug.com/591099 fast/css-intrinsic-dimensions/height-positioned.html [ Crash ]
+crbug.com/591099 fast/css-intrinsic-dimensions/height-positioned.html [ Crash Failure ]
 crbug.com/591099 fast/css-intrinsic-dimensions/height-positioned-replaced.html [ Crash ]
 crbug.com/591099 fast/css-intrinsic-dimensions/height-property-value.html [ Failure ]
 crbug.com/591099 fast/css-intrinsic-dimensions/indefinite-percent-minmax-content-inlinesize-contribution-nonreplaced-blocks.html [ Failure ]
-crbug.com/591099 fast/css-intrinsic-dimensions/intrinsic-sized-absolutes.html [ Crash ]
-crbug.com/591099 fast/css-intrinsic-dimensions/intrinsic-sized-replaced-absolutes.html [ Crash ]
+crbug.com/591099 fast/css-intrinsic-dimensions/intrinsic-sized-absolutes.html [ Crash Failure ]
+crbug.com/591099 fast/css-intrinsic-dimensions/intrinsic-sized-replaced-absolutes.html [ Crash Failure ]
 crbug.com/591099 fast/css-intrinsic-dimensions/max-width-unconstrained.html [ Failure ]
 crbug.com/591099 fast/css-intrinsic-dimensions/min-width.html [ Failure ]
 crbug.com/591099 fast/css-intrinsic-dimensions/resize-inside-percent-width-overflow-hidden.html [ Failure ]
 crbug.com/591099 fast/css-intrinsic-dimensions/width-avoid-floats.html [ Failure ]
 crbug.com/591099 fast/css-intrinsic-dimensions/width.html [ Failure ]
 crbug.com/591099 fast/css-intrinsic-dimensions/width-property-value.html [ Failure ]
-crbug.com/591099 fast/css-intrinsic-dimensions/width-shrinks-avoid-floats.html [ Crash ]
+crbug.com/591099 fast/css-intrinsic-dimensions/width-shrinks-avoid-floats.html [ Crash Failure ]
 crbug.com/591099 fast/css/intruding-floats-crash.html [ Crash ]
 crbug.com/591099 fast/css/invalid-appearance-progress-bar-meter.html [ Failure ]
+crbug.com/591099 fast/css/invalidation/add-first-line-style.html [ Failure ]
 crbug.com/591099 fast/css/invalidation/any-link-pseudo.html [ Failure ]
 crbug.com/591099 fast/css/invalidation/autofill-pseudo.html [ Failure ]
 crbug.com/591099 fast/css/invalidation/checked-pseudo.html [ Failure ]
@@ -6806,6 +7296,7 @@
 crbug.com/591099 fast/css/max-height-and-max-width.html [ Failure ]
 crbug.com/591099 fast/css/max-height-none.html [ Failure ]
 crbug.com/591099 fast/css/max-width-none.html [ Failure ]
+crbug.com/591099 fast/css/media-attr-non-matching-dynamic.html [ Crash ]
 crbug.com/591099 fast/css/media-query-in-supports-dynamic.html [ Crash ]
 crbug.com/591099 fast/css/media-query-zero-viewport-crash.html [ Crash ]
 crbug.com/591099 fast/css/media-rule-screenDepthPerComponent.html [ Failure ]
@@ -6821,6 +7312,7 @@
 crbug.com/591099 fast/css/negative-text-indent-in-inline-block.html [ Failure ]
 crbug.com/591099 fast/css/nested-at-rules.html [ Failure ]
 crbug.com/591099 fast/css/nested-floating-relative-position-percentages.html [ Failure ]
+crbug.com/591099 fast/css/nested-layers-with-hover.html [ Failure ]
 crbug.com/591099 fast/css/nested-percent-height-on-replaced.html [ Failure ]
 crbug.com/591099 fast/css/nested-rounded-corners.html [ Failure ]
 crbug.com/591099 fast/css/next-sibling-changed.html [ Failure ]
@@ -6835,6 +7327,7 @@
 crbug.com/591099 fast/css/nth-child-of-pseudo-element-assert.html [ Failure ]
 crbug.com/591099 fast/css/nth-child-unary-prefix.html [ Failure ]
 crbug.com/591099 fast/css/number-parsing-crash-2.html [ Failure ]
+crbug.com/591099 fast/css/number-parsing-crash.html [ Crash Pass ]
 crbug.com/591099 fast/css/object-fit-embed.html [ Failure ]
 crbug.com/591099 fast/css/object-fit-grow-landscape.html [ Failure ]
 crbug.com/591099 fast/css/object-fit-grow-portrait.html [ Failure ]
@@ -6886,7 +7379,7 @@
 crbug.com/591099 fast/css/percent-width-img-src-change.html [ Failure ]
 crbug.com/591099 fast/css/position-absolute-float.html [ Failure ]
 crbug.com/591099 fast/css/positioned-overflow-scroll.html [ Failure ]
-crbug.com/591099 fast/css/position-negative-top-margin.html [ Crash ]
+crbug.com/591099 fast/css/position-negative-top-margin.html [ Crash Failure ]
 crbug.com/591099 fast/css/preferred-stylesheet-order.html [ Failure ]
 crbug.com/591099 fast/css/preferred-stylesheet-reversed-order.html [ Failure ]
 crbug.com/591099 fast/css/pseudo-active-display-none.html [ Failure ]
@@ -6904,7 +7397,7 @@
 crbug.com/591099 fast/css/pseudo-element-opagedxy-crash.html [ Failure ]
 crbug.com/591099 fast/css/pseudo-empty-adjacent-dynamic.html [ Failure ]
 crbug.com/591099 fast/css/pseudo-empty-display-none.html [ Failure ]
-crbug.com/591099 fast/css/pseudo-first-line-border-width.html [ Failure ]
+crbug.com/591099 fast/css/pseudo-first-line-border-width.html [ Crash Failure ]
 crbug.com/591099 fast/css/pseudo-hover-active-display-none.html [ Crash ]
 crbug.com/591099 fast/css/pseudo-in-range.html [ Failure ]
 crbug.com/591099 fast/css/pseudo-in-range-invalid-value.html [ Failure ]
@@ -6951,7 +7444,7 @@
 crbug.com/591099 fast/css/relative-positioned-block-with-inline-parent-dynamic.html [ Failure ]
 crbug.com/591099 fast/css/relative-positioned-block-with-inline-parent-dynamic-removed.html [ Failure ]
 crbug.com/591099 fast/css/relative-positioned-block-with-inline-parent-keeps-style.html [ Failure ]
-crbug.com/591099 fast/css/relative-position-replaced-in-table-display-crash.html [ Crash ]
+crbug.com/591099 fast/css/relative-position-replaced-in-table-display-crash.html [ Crash Pass ]
 crbug.com/591099 fast/css/rem-calc-dynamic-scaling.html [ Failure ]
 crbug.com/591099 fast/css/rem-dynamic-scaling.html [ Failure ]
 crbug.com/591099 fast/css/remove-attribute-style.html [ Failure ]
@@ -6996,6 +7489,7 @@
 crbug.com/591099 fast/css/stale-style-selector-crash-2.html [ Failure ]
 crbug.com/591099 fast/css/sticky/inline-sticky-abspos-child.html [ Failure ]
 crbug.com/591099 fast/css/sticky/nested/sticky-nested-inline.html [ Failure ]
+crbug.com/591099 fast/css/sticky/nested/sticky-nested-table.html [ Failure ]
 crbug.com/591099 fast/css/sticky/overflow-layer-removed-crash.html [ Failure ]
 crbug.com/591099 fast/css/sticky/parsing-position-sticky.html [ Failure ]
 crbug.com/591099 fast/css/sticky/remove-inline-sticky-crash.html [ Failure ]
@@ -7045,9 +7539,11 @@
 crbug.com/591099 fast/css/text-indent-first-line-004.html [ Failure ]
 crbug.com/591099 fast/css/text-indent-first-line-005.html [ Failure ]
 crbug.com/591099 fast/css/text-indent-first-line-006.html [ Failure ]
+crbug.com/591099 fast/css/text-overflow-ellipsis-anonymous-blocks.html [ Failure ]
 crbug.com/591099 fast/css/text-overflow-ellipsis-bidi.html [ Failure ]
 crbug.com/591099 fast/css/text-overflow-ellipsis-block-with-border-and-padding.html [ Failure ]
 crbug.com/591099 fast/css/text-overflow-ellipsis.html [ Failure ]
+crbug.com/591099 fast/css/text-overflow-ellipsis-multiple-shadows.html [ Failure Pass ]
 crbug.com/591099 fast/css/text-overflow-ellipsis-strict.html [ Failure ]
 crbug.com/591099 fast/css/text-overflow-ellipsis-text-align-center.html [ Failure ]
 crbug.com/591099 fast/css/text-overflow-ellipsis-text-align-justify.html [ Failure ]
@@ -7086,6 +7582,7 @@
 crbug.com/591099 fast/css/vertical-align-lengths.html [ Failure ]
 crbug.com/591099 fast/css/vertical-lr-bfc-auto-margins-beside-float.html [ Failure ]
 crbug.com/591099 fast/css/vertical-lr-table-bfc-auto-margins-beside-float.html [ Failure ]
+crbug.com/591099 fast/css/vertical-lr-table-percent-margins-beside-float.html [ Failure ]
 crbug.com/591099 fast/css/vertical-text-overflow-ellipsis-text-align-center.html [ Failure ]
 crbug.com/591099 fast/css/vertical-text-overflow-ellipsis-text-align-justify.html [ Failure ]
 crbug.com/591099 fast/css/vertical-text-overflow-ellipsis-text-align-left.html [ Failure ]
@@ -7102,7 +7599,7 @@
 crbug.com/591099 fast/css/word-spacing-linebreak.html [ Failure ]
 crbug.com/591099 fast/css/xml-lang-ignored-in-html.html [ Failure ]
 crbug.com/591099 fast/css/xml-stylesheet-alternate-no-title.xhtml [ Failure ]
-crbug.com/591099 fast/css/ZeroOpacityLayers2.html [ Failure ]
+crbug.com/591099 fast/css/ZeroOpacityLayers2.html [ Crash Failure ]
 crbug.com/591099 fast/css/ZeroOpacityLayers.html [ Failure ]
 crbug.com/591099 fast/css/zoom-change-triggering-layout.html [ Failure ]
 crbug.com/591099 fast/css/zoom-font-size.html [ Failure ]
@@ -7164,7 +7661,7 @@
 crbug.com/591099 fast/doctypes/xhtml-with-xhtmlmp11-doctype.xhtml [ Failure ]
 crbug.com/591099 fast/doctypes/xhtml-with-xhtmlmp12-doctype.xhtml [ Failure ]
 crbug.com/591099 fast/doctypes/xhtml-with-xhtmlmp-doctype.xhtml [ Failure ]
-crbug.com/591099 fast/dom/34176.html [ Crash ]
+crbug.com/591099 fast/dom/34176.html [ Crash Failure ]
 crbug.com/591099 fast/dom/52776.html [ Failure ]
 crbug.com/591099 fast/dom/access-key-iframe.html [ Failure ]
 crbug.com/591099 fast/dom/adopt-attribute-crash.svg [ Failure ]
@@ -7198,7 +7695,7 @@
 crbug.com/591099 fast/dom/collection-idempotence.html [ Failure ]
 crbug.com/591099 fast/dom/collection-item.html [ Failure ]
 crbug.com/591099 fast/dom/collection-item-should-be-overridden-by-own-property.html [ Failure ]
-crbug.com/591099 fast/dom/collection-length-should-not-be-overridden.html [ Failure ]
+crbug.com/591099 fast/dom/collection-length-should-not-be-overridden.html [ Crash Failure ]
 crbug.com/591099 fast/dom/collection-namedItem-via-item.html [ Failure ]
 crbug.com/591099 fast/dom/collection-null-like-arguments.html [ Failure ]
 crbug.com/591099 fast/dom/Comment/comment-constructor.html [ Failure ]
@@ -7407,9 +7904,10 @@
 crbug.com/591099 fast/dom/elementsFromPoint/elementsFromPoint-iframes.html [ Failure ]
 crbug.com/591099 fast/dom/elementsFromPoint/elementsFromPoint-simple.html [ Timeout ]
 crbug.com/591099 fast/dom/elementsFromPoint/elementsFromPoint-svg.html [ Failure ]
+crbug.com/591099 fast/dom/elementsFromPoint/elementsFromPoint-table.html [ Failure ]
 crbug.com/591099 fast/dom/empty-anchor-in-overflow-scroller.html [ Failure ]
 crbug.com/591099 fast/dom/error-to-string-stack-overflow.html [ Failure ]
-crbug.com/591099 fast/dom/event-attribute-availability.html [ Failure ]
+crbug.com/591099 fast/dom/event-attribute-availability.html [ Failure Timeout ]
 crbug.com/591099 fast/dom/event-target-arguments.html [ Failure ]
 crbug.com/591099 fast/dom/everything-to-string.html [ Failure ]
 crbug.com/591099 fast/dom/exception-getting-event-handler.html [ Failure ]
@@ -7504,7 +8002,7 @@
 crbug.com/591099 fast/dom/HTMLDocument/named-item.html [ Failure ]
 crbug.com/591099 fast/dom/HTMLDocument/named-item-multiple-match.html [ Failure ]
 crbug.com/591099 fast/dom/HTMLDocument/named-item-not-found.html [ Crash ]
-crbug.com/591099 fast/dom/HTMLDocument/object-by-name-or-id.html [ Crash ]
+crbug.com/591099 fast/dom/HTMLDocument/object-by-name-or-id.html [ Crash Timeout ]
 crbug.com/591099 fast/dom/HTMLDocument/object-by-name-unknown-child-element.html [ Crash ]
 crbug.com/591099 fast/dom/HTMLDocument/set-focus-on-valid-element.html [ Crash ]
 crbug.com/591099 fast/dom/HTMLDocument/title-get.html [ Failure ]
@@ -7579,6 +8077,7 @@
 crbug.com/591099 fast/dom/HTMLImageElement/image-sizes-1x.html [ Crash ]
 crbug.com/591099 fast/dom/HTMLImageElement/image-sizes-2x.html [ Failure ]
 crbug.com/591099 fast/dom/HTMLImageElement/image-src-absolute-url.html [ Failure ]
+crbug.com/591099 fast/dom/HTMLImageElement/image-src-onerror.html [ Crash ]
 crbug.com/591099 fast/dom/HTMLImageElement/image-srcset-1x.html [ Crash ]
 crbug.com/591099 fast/dom/HTMLImageElement/image-srcset-duplicate-elimination.html [ Crash ]
 crbug.com/591099 fast/dom/HTMLImageElement/image-srcset-invalid-url-no-crash.html [ Failure ]
@@ -7602,9 +8101,10 @@
 crbug.com/591099 fast/dom/HTMLInputElement/size-attribute.html [ Failure ]
 crbug.com/591099 fast/dom/HTMLIsIndexElement/prototype-chain.html [ Failure ]
 crbug.com/591099 fast/dom/HTMLLabelElement/label-control.html [ Failure ]
+crbug.com/591099 fast/dom/HTMLLinkElement/cachedresource-types.html [ Crash Pass ]
 crbug.com/591099 fast/dom/HTMLLinkElement/disabled-attribute.html [ Failure ]
 crbug.com/591099 fast/dom/HTMLLinkElement/link-and-subresource-test.html [ Failure ]
-crbug.com/591099 fast/dom/HTMLLinkElement/link-and-subresource-test-nonexistent.html [ Failure ]
+crbug.com/591099 fast/dom/HTMLLinkElement/link-and-subresource-test-nonexistent.html [ Crash Failure ]
 crbug.com/591099 fast/dom/HTMLLinkElement/link-crossOrigin.html [ Failure ]
 crbug.com/591099 fast/dom/HTMLLinkElement/link-onerror.html [ Failure ]
 crbug.com/591099 fast/dom/HTMLLinkElement/link-onerror-stylesheet-with-existent-and-non-existent-import.html [ Failure ]
@@ -7716,7 +8216,7 @@
 crbug.com/591099 fast/dom/inline-event-attributes-release.html [ Failure ]
 crbug.com/591099 fast/dom/inner-text-001.html [ Failure ]
 crbug.com/591099 fast/dom/inner-text-first-letter.html [ Crash ]
-crbug.com/591099 fast/dom/inner-text.html [ Failure ]
+crbug.com/591099 fast/dom/inner-text.html [ Crash Failure ]
 crbug.com/591099 fast/dom/inner-text-rtl.html [ Failure ]
 crbug.com/591099 fast/dom/insertedIntoDocument-child.html [ Crash ]
 crbug.com/591099 fast/dom/insertedIntoDocument-no-crash.html [ Failure ]
@@ -7867,6 +8367,7 @@
 crbug.com/591099 fast/dom/Range/insertNode-empty-fragment-crash.html [ Failure ]
 crbug.com/591099 fast/dom/Range/range-clone-empty.html [ Failure ]
 crbug.com/591099 fast/dom/Range/range-constructor.html [ Failure ]
+crbug.com/591099 fast/dom/Range/range-created-during-remove-children.html [ Failure ]
 crbug.com/591099 fast/dom/Range/range-exceptions.html [ Failure ]
 crbug.com/591099 fast/dom/Range/range-expand.html [ Failure ]
 crbug.com/591099 fast/dom/Range/range-insertNode-assertion.html [ Failure ]
@@ -7989,7 +8490,7 @@
 crbug.com/591099 fast/dom/shadow/getComputedStyle-with-distribution.html [ Failure ]
 crbug.com/591099 fast/dom/shadow/get-destination-insertion-points-shadow-insertion-points.html [ Failure ]
 crbug.com/591099 fast/dom/shadow/get-destination-insertion-points-skips-user-agent-shadow.html [ Failure ]
-crbug.com/591099 fast/dom/shadow/get-distributed-nodes-orphan.html [ Failure ]
+crbug.com/591099 fast/dom/shadow/get-distributed-nodes-orphan.html [ Failure Timeout ]
 crbug.com/591099 fast/dom/shadow/getelementbyid-in-orphan.html [ Failure ]
 crbug.com/591099 fast/dom/shadow/get-element-by-id-in-shadow-mutation.html [ Failure ]
 crbug.com/591099 fast/dom/shadow/get-element-by-id-in-shadow-root.html [ Failure ]
@@ -8005,6 +8506,7 @@
 crbug.com/591099 fast/dom/shadow/host-pseudo-class-css-text.html [ Failure ]
 crbug.com/591099 fast/dom/shadow/host-pseudo-class.html [ Failure ]
 crbug.com/591099 fast/dom/shadow/iframe-shadow.html [ Failure ]
+crbug.com/591099 fast/dom/shadow/import-rule-in-shadow-tree-needs-document-style-recalc.html [ Failure ]
 crbug.com/591099 fast/dom/shadow/inner-scope-important-wins.html [ Failure ]
 crbug.com/591099 fast/dom/shadow/input-shadow-nochange.html [ Failure ]
 crbug.com/591099 fast/dom/shadow/move-style-scoped-to-another-shadowroot-crash.html [ Failure ]
@@ -8013,7 +8515,7 @@
 crbug.com/591099 fast/dom/shadow/multiple-shadowroot.html [ Failure ]
 crbug.com/591099 fast/dom/shadow/nested-reprojection-inconsistent.html [ Failure ]
 crbug.com/591099 fast/dom/shadow/node-distribution-recalc-crash.html [ Crash ]
-crbug.com/591099 fast/dom/shadow/normalize-progress-element-crash.html [ Failure ]
+crbug.com/591099 fast/dom/shadow/normalize-progress-element-crash.html [ Crash Failure ]
 crbug.com/591099 fast/dom/shadow/offset-parent-does-not-leak-ua-shadow.html [ Failure ]
 crbug.com/591099 fast/dom/shadow/offsetWidth-host-style-change.html [ Failure ]
 crbug.com/591099 fast/dom/shadow/olderShadowRoot.html [ Failure ]
@@ -8236,7 +8738,7 @@
 crbug.com/591099 fast/dom/XMLHttpRequest-constants.html [ Failure ]
 crbug.com/591099 fast/dom/XMLHttpRequest-legacy-event-listener.html [ Failure ]
 crbug.com/591099 fast/dom/xml-parser-error-message-crash.svg [ Failure ]
-crbug.com/591099 fast/dom/zoom-scroll-page-test.html [ Timeout ]
+crbug.com/591099 fast/dom/zoom-scroll-page-test.html [ Failure Timeout ]
 crbug.com/591099 fast/dynamic/001.html [ Failure ]
 crbug.com/591099 fast/dynamic/002.html [ Failure ]
 crbug.com/591099 fast/dynamic/004.html [ Failure ]
@@ -8244,7 +8746,7 @@
 crbug.com/591099 fast/dynamic/006.html [ Failure ]
 crbug.com/591099 fast/dynamic/007.html [ Failure ]
 crbug.com/591099 fast/dynamic/008.html [ Failure ]
-crbug.com/591099 fast/dynamic/009.html [ Failure ]
+crbug.com/591099 fast/dynamic/009.html [ Crash Failure ]
 crbug.com/591099 fast/dynamic/010.html [ Failure ]
 crbug.com/591099 fast/dynamic/011.html [ Failure ]
 crbug.com/591099 fast/dynamic/012.html [ Failure ]
@@ -8252,7 +8754,7 @@
 crbug.com/591099 fast/dynamic/014.html [ Failure ]
 crbug.com/591099 fast/dynamic/015.html [ Failure ]
 crbug.com/591099 fast/dynamic/5872671.html [ Failure ]
-crbug.com/591099 fast/dynamic/ancestor-to-absolute.html [ Crash ]
+crbug.com/591099 fast/dynamic/ancestor-to-absolute.html [ Crash Failure ]
 crbug.com/591099 fast/dynamic/anchor-lock.html [ Failure ]
 crbug.com/591099 fast/dynamic/anonymous-block-layer-lost.html [ Failure ]
 crbug.com/591099 fast/dynamic/anonymous-block-orphaned-lines.html [ Failure ]
@@ -8303,7 +8805,7 @@
 crbug.com/591099 fast/dynamic/subtree-table-cell-height.html [ Failure ]
 crbug.com/591099 fast/dynamic/subtree-unrooted.html [ Failure ]
 crbug.com/591099 fast/dynamic/text-combine.html [ Failure ]
-crbug.com/591099 fast/dynamic/transform-removed-from-absolute-with-fixed-children.html [ Crash ]
+crbug.com/591099 fast/dynamic/transform-removed-from-absolute-with-fixed-children.html [ Crash Failure ]
 crbug.com/591099 fast/dynamic/unicode-bidi.html [ Failure ]
 crbug.com/591099 fast/dynamic/view-overflow.html [ Failure ]
 crbug.com/591099 fast/dynamic/window-resize-scrollbars-test.html [ Failure ]
@@ -8378,7 +8880,7 @@
 crbug.com/591099 fast/encoding/script-in-head.html [ Failure ]
 crbug.com/591099 fast/encoding/tag-in-title.html [ Failure ]
 crbug.com/591099 fast/encoding/url-host-name-non-ascii.html [ Failure ]
-crbug.com/591099 fast/encoding/utf-16-big-endian.html [ Failure ]
+crbug.com/591099 fast/encoding/utf-16-big-endian.html [ Crash Failure ]
 crbug.com/591099 fast/encoding/utf-16-little-endian.html [ Failure ]
 crbug.com/591099 fast/encoding/utf-32-big-endian-bom.html [ Failure ]
 crbug.com/591099 fast/encoding/utf-32-big-endian-nobom.xml [ Failure ]
@@ -8436,6 +8938,8 @@
 crbug.com/591099 fast/events/click-after-mousedown-cancel.html [ Failure ]
 crbug.com/591099 fast/events/click-anchor-blur-refocus-window.html [ Failure ]
 crbug.com/591099 fast/events/click-anchor-refocus-window.html [ Failure ]
+crbug.com/591099 fast/events/click-checkbox-blur-refocus-window.html [ Failure ]
+crbug.com/591099 fast/events/click-checkbox-refocus-window.html [ Failure ]
 crbug.com/591099 fast/events/click-focus-anchor.html [ Failure ]
 crbug.com/591099 fast/events/click-focus-anchor-no-ring.html [ Failure ]
 crbug.com/591099 fast/events/click-focus-keydown-no-ring.html [ Failure ]
@@ -8499,6 +9003,7 @@
 crbug.com/591099 fast/events/dispatch-synthetic-mouseevent.html [ Failure ]
 crbug.com/591099 fast/events/dispatch-to-function-with-handle-event.html [ Failure ]
 crbug.com/591099 fast/events/dispatch-to-handle-event.html [ Failure ]
+crbug.com/591099 fast/events/div-focus.html [ Failure Pass ]
 crbug.com/591099 fast/events/document-elementFromPoint.html [ Failure ]
 crbug.com/591099 fast/events/domactivate-sets-underlying-click-event-as-handled.html [ Crash ]
 crbug.com/591099 fast/events/domnodeinsertedintodocument-dispatched-post-rendering.html [ Failure ]
@@ -8532,7 +9037,7 @@
 crbug.com/591099 fast/events/drag-text-with-clear.html [ Failure ]
 crbug.com/591099 fast/events/drop-generate-user-gesture.html [ Failure ]
 crbug.com/591099 fast/events/drop-with-file-paths.html [ Failure ]
-crbug.com/591099 fast/events/event-attribute.html [ Failure ]
+crbug.com/591099 fast/events/event-attribute.html [ Failure Timeout ]
 crbug.com/591099 fast/events/event-attributes-after-exception.html [ Failure ]
 crbug.com/591099 fast/events/event-creation.html [ Failure ]
 crbug.com/591099 fast/events/event-fired-after-removal.html [ Failure ]
@@ -8575,6 +9080,7 @@
 crbug.com/591099 fast/events/focus-event-source-device-from-mouse.html [ Failure ]
 crbug.com/591099 fast/events/focus-event-source-device-from-touch.html [ Failure ]
 crbug.com/591099 fast/events/focus-iframe-crash.html [ Crash ]
+crbug.com/591099 fast/events/focusinout.html [ Failure ]
 crbug.com/591099 fast/events/focus-remove-focuesed-node.html [ Failure ]
 crbug.com/591099 fast/events/form-onchange.html [ Failure ]
 crbug.com/591099 fast/events/frame-click-clear-focus.html [ Failure ]
@@ -8582,7 +9088,7 @@
 crbug.com/591099 fast/events/frame-detached-in-mousedown.html [ Timeout ]
 crbug.com/591099 fast/events/frame-programmatic-focus.html [ Failure ]
 crbug.com/591099 fast/events/frame-scroll-fake-mouse-move.html [ Failure ]
-crbug.com/591099 fast/events/frame-tab-focus.html [ Failure ]
+crbug.com/591099 fast/events/frame-tab-focus.html [ Failure Timeout ]
 crbug.com/591099 fast/events/gc-freeze-with-attribute-listeners.html [ Failure ]
 crbug.com/591099 fast/events/hit-test-cache.html [ Failure ]
 crbug.com/591099 fast/events/hit-test-cache-iframes.html [ Failure ]
@@ -8687,7 +9193,7 @@
 crbug.com/591099 fast/events/mouse-click-events.html [ Failure ]
 crbug.com/591099 fast/events/mouse-click-events-pseudo-element.html [ Failure ]
 crbug.com/591099 fast/events/mouseclick-target-and-positioning.html [ Failure ]
-crbug.com/591099 fast/events/mouse-cursor-change-after-image-load.html [ Crash ]
+crbug.com/591099 fast/events/mouse-cursor-change-after-image-load.html [ Crash Failure Pass ]
 crbug.com/591099 fast/events/mouse-cursor-change-after-layout.html [ Failure ]
 crbug.com/591099 fast/events/mouse-cursor-change.html [ Failure ]
 crbug.com/591099 fast/events/mouse-cursor-image-set.html [ Failure ]
@@ -8774,6 +9280,7 @@
 crbug.com/591099 fast/events/platform-wheelevent-paging-xy-in-scrolling-div.html [ Failure ]
 crbug.com/591099 fast/events/platform-wheelevent-paging-xy-in-scrolling-page.html [ Failure ]
 crbug.com/591099 fast/events/platform-wheelevent-paging-y-in-scrolling-div.html [ Failure ]
+crbug.com/591099 fast/events/platform-wheelevent-paging-y-in-scrolling-page.html [ Failure ]
 crbug.com/591099 fast/events/platform-wheelevent-with-delta-zero-crash.html [ Failure ]
 crbug.com/591099 fast/events/pointer-events-2.html [ Failure ]
 crbug.com/591099 fast/events/pointerevents/fake-mouse-event-pointer-types.html [ Failure ]
@@ -8789,8 +9296,10 @@
 crbug.com/591099 fast/events/pointerevents/mouse-pointer-preventdefault.html [ Timeout ]
 crbug.com/591099 fast/events/pointerevents/mouse-pointer-transition-events.html [ Failure ]
 crbug.com/591099 fast/events/pointerevents/mouse-pointer-updown-events.html [ Failure ]
+crbug.com/591099 fast/events/pointerevents/multi-pointer-event-in-slop-region.html [ Failure Pass ]
 crbug.com/591099 fast/events/pointerevents/multi-pointer-preventdefault.html [ Failure ]
 crbug.com/591099 fast/events/pointerevents/pointer-event-consumed-touchstart-in-slop-region.html [ Failure ]
+crbug.com/591099 fast/events/pointerevents/pointer-event-in-slop-region.html [ Failure Pass ]
 crbug.com/591099 fast/events/pointerevents/pointer-event-properties-in-iframe.html [ Failure ]
 crbug.com/591099 fast/events/pointerevents/pointerevent_touch-action-pinch_zoom_touch.html [ Crash ]
 crbug.com/591099 fast/events/pointerevents/pointer-use-count.html [ Failure ]
@@ -8800,7 +9309,7 @@
 crbug.com/591099 fast/events/pointerevents/touch-pointer-events.html [ Failure ]
 crbug.com/591099 fast/events/pointerevents/touch-pointer-long-press.html [ Failure ]
 crbug.com/591099 fast/events/pointerevents/touch-pointer-mouse.html [ Failure Timeout ]
-crbug.com/591099 fast/events/popup-allowed-from-gesture-initiated-event.html [ Failure ]
+crbug.com/591099 fast/events/popup-allowed-from-gesture-initiated-event.html [ Crash Failure ]
 crbug.com/591099 fast/events/popup-allowed-from-gesture-only-once.html [ Failure ]
 crbug.com/591099 fast/events/popup-allowed-from-gesture-only-once-iframes.html [ Timeout ]
 crbug.com/591099 fast/events/popup-allowed-from-gesture-only-once-two-events.html [ Failure ]
@@ -8813,7 +9322,7 @@
 crbug.com/591099 fast/events/programmatic-check-no-change-event.html [ Failure ]
 crbug.com/591099 fast/events/recorded-keydown-event.html [ Crash ]
 crbug.com/591099 fast/events/relatedevent.html [ Failure ]
-crbug.com/591099 fast/events/related-target-focusevent.html [ Failure ]
+crbug.com/591099 fast/events/related-target-focusevent.html [ Failure Timeout ]
 crbug.com/591099 fast/events/related-target.html [ Failure ]
 crbug.com/591099 fast/events/relative-offset-of-simulated-click.html [ Failure ]
 crbug.com/591099 fast/events/remove-child-onscroll.html [ Timeout ]
@@ -8914,8 +9423,8 @@
 crbug.com/591099 fast/events/touch/gesture/gesture-tap-cancel-hover-state.html [ Failure ]
 crbug.com/591099 fast/events/touch/gesture/gesture-tap-click-common-ancestor.html [ Failure ]
 crbug.com/591099 fast/events/touch/gesture/gesture-tap-div-removed.html [ Failure ]
-crbug.com/591099 fast/events/touch/gesture/gesture-tap-frame-move.html [ Crash ]
-crbug.com/591099 fast/events/touch/gesture/gesture-tap-frame-removed.html [ Crash ]
+crbug.com/591099 fast/events/touch/gesture/gesture-tap-frame-move.html [ Crash Failure ]
+crbug.com/591099 fast/events/touch/gesture/gesture-tap-frame-removed.html [ Crash Failure ]
 crbug.com/591099 fast/events/touch/gesture/gesture-tap-frame-scrollbar.html [ Failure ]
 crbug.com/591099 fast/events/touch/gesture/gesture-tap-frame-scrolled.html [ Failure ]
 crbug.com/591099 fast/events/touch/gesture/gesture-tap-hover-clear.html [ Failure ]
@@ -8974,6 +9483,7 @@
 crbug.com/591099 fast/events/touch/multi-touch-inside-nested-iframes.html [ Failure ]
 crbug.com/591099 fast/events/touch/multi-touch-partial-sequence.html [ Failure ]
 crbug.com/591099 fast/events/touch/page-scaled-touch-gesture-click.html [ Failure ]
+crbug.com/591099 fast/events/touch/scroll-without-mouse-lacks-mousemove-events.html [ Failure Pass ]
 crbug.com/591099 fast/events/touch/send-oncancel-event.html [ Failure ]
 crbug.com/591099 fast/events/touch/tap-highlight-color.html [ Failure ]
 crbug.com/591099 fast/events/touch/touch-action-range-input-crash.html [ Crash ]
@@ -9033,6 +9543,7 @@
 crbug.com/591099 fast/events/window-open-after-alt-enter.html [ Failure ]
 crbug.com/591099 fast/events/window-open-after-keypress.html [ Failure ]
 crbug.com/591099 fast/events/xsl-onload.xhtml [ Failure ]
+crbug.com/591099 fast/files/apply-blob-url-to-img.html [ Crash ]
 crbug.com/591099 fast/files/blob-close.html [ Failure ]
 crbug.com/591099 fast/files/blob-close-read.html [ Failure ]
 crbug.com/591099 fast/files/blob-close-revoke.html [ Failure ]
@@ -9074,7 +9585,7 @@
 crbug.com/591099 fast/filesystem/input-access-entries.html [ Failure ]
 crbug.com/591099 fast/filesystem/not-enough-arguments.html [ Failure ]
 crbug.com/591099 fast/filesystem/null-arguments.html [ Failure ]
-crbug.com/591099 fast/filesystem/op-get-entry.html [ Timeout ]
+crbug.com/591099 fast/filesystem/op-get-entry.html [ Pass Timeout ]
 crbug.com/591099 fast/filesystem/read-directory.html [ Failure ]
 crbug.com/591099 fast/filesystem/read-directory-many.html [ Failure ]
 crbug.com/591099 fast/filesystem/simple-persistent.html [ Failure ]
@@ -9113,7 +9624,7 @@
 crbug.com/591099 fast/forms/8250.html [ Failure ]
 crbug.com/591099 fast/forms/access-key-case-insensitive.html [ Failure ]
 crbug.com/591099 fast/forms/access-key-for-all-elements.html [ Crash ]
-crbug.com/591099 fast/forms/access-key.html [ Failure ]
+crbug.com/591099 fast/forms/access-key.html [ Crash Failure ]
 crbug.com/591099 fast/forms/access-key-mutated.html [ Failure ]
 crbug.com/591099 fast/forms/activate-and-disabled-elements.html [ Failure ]
 crbug.com/591099 fast/forms/add-remove-form-elements-stress-test.html [ Failure ]
@@ -9136,10 +9647,11 @@
 crbug.com/591099 fast/forms/button/button-baseline-and-collapsing.html [ Failure ]
 crbug.com/591099 fast/forms/button/button-click-DOM.html [ Failure ]
 crbug.com/591099 fast/forms/button/button-disabled-blur.html [ Crash ]
+crbug.com/591099 fast/forms/button/button-focus-by-label-click.html [ Failure ]
 crbug.com/591099 fast/forms/button/button-in-forms-collection.html [ Failure ]
 crbug.com/591099 fast/forms/button/button-inner-block-reuse.html [ Failure ]
 crbug.com/591099 fast/forms/button/button-white-space.html [ Failure ]
-crbug.com/591099 fast/forms/button/button-with-float.html [ Crash ]
+crbug.com/591099 fast/forms/button/button-with-float.html [ Crash Failure ]
 crbug.com/591099 fast/forms/button-default-title.html [ Failure ]
 crbug.com/591099 fast/forms/button-positioned.html [ Failure ]
 crbug.com/591099 fast/forms/button-sizes.html [ Failure ]
@@ -9172,11 +9684,11 @@
 crbug.com/591099 fast/forms/calendar-picker/date-open-picker-with-f4-key.html [ Failure ]
 crbug.com/591099 fast/forms/calendar-picker/date-picker-ax.html [ Crash ]
 crbug.com/591099 fast/forms/calendar-picker/date-picker-choose-default-value-after-set-value.html [ Failure ]
-crbug.com/591099 fast/forms/calendar-picker/date-picker-events.html [ Failure ]
+crbug.com/591099 fast/forms/calendar-picker/date-picker-events.html [ Failure Timeout ]
 crbug.com/591099 fast/forms/calendar-picker/date-picker-open-without-focus.html [ Failure ]
 crbug.com/591099 fast/forms/calendar-picker/datetimelocal-change-type-on-input-crash.html [ Crash ]
 crbug.com/591099 fast/forms/calendar-picker/datetimelocal-open-picker-with-f4-key.html [ Failure ]
-crbug.com/591099 fast/forms/calendar-picker/datetimelocal-picker-choose-default-value-after-set-value.html [ Failure ]
+crbug.com/591099 fast/forms/calendar-picker/datetimelocal-picker-choose-default-value-after-set-value.html [ Failure Timeout ]
 crbug.com/591099 fast/forms/calendar-picker/datetimelocal-picker-events.html [ Failure ]
 crbug.com/591099 fast/forms/calendar-picker/month-open-picker-with-f4-key.html [ Failure ]
 crbug.com/591099 fast/forms/calendar-picker/month-picker-appearance.html [ Failure ]
@@ -9184,11 +9696,11 @@
 crbug.com/591099 fast/forms/calendar-picker/month-picker-ax.html [ Crash Failure ]
 crbug.com/591099 fast/forms/calendar-picker/month-picker-choose-default-value-after-set-value.html [ Failure ]
 crbug.com/591099 fast/forms/calendar-picker/month-picker-key-operations.html [ Crash ]
-crbug.com/591099 fast/forms/calendar-picker/month-picker-mouse-operations.html [ Crash ]
+crbug.com/591099 fast/forms/calendar-picker/month-picker-mouse-operations.html [ Crash Timeout ]
 crbug.com/591099 fast/forms/calendar-picker/month-picker-touch-operations.html [ Crash Timeout ]
 crbug.com/591099 fast/forms/calendar-picker/month-picker-with-step.html [ Failure ]
 crbug.com/591099 fast/forms/calendar-picker/week-open-picker-with-f4-key.html [ Failure ]
-crbug.com/591099 fast/forms/calendar-picker/week-picker-appearance.html [ Failure ]
+crbug.com/591099 fast/forms/calendar-picker/week-picker-appearance.html [ Failure Timeout ]
 crbug.com/591099 fast/forms/calendar-picker/week-picker-appearance-step.html [ Failure ]
 crbug.com/591099 fast/forms/calendar-picker/week-picker-ax.html [ Failure ]
 crbug.com/591099 fast/forms/calendar-picker/week-picker-choose-default-value-after-set-value.html [ Failure ]
@@ -9200,6 +9712,7 @@
 crbug.com/591099 fast/forms/change-form-element-document-crash.html [ Failure ]
 crbug.com/591099 fast/forms/checkbox/checkbox-appearance-basic.html [ Failure ]
 crbug.com/591099 fast/forms/checkbox/checkbox-click-indeterminate.html [ Failure ]
+crbug.com/591099 fast/forms/checkbox/checkbox-focus-by-mouse.html [ Failure ]
 crbug.com/591099 fast/forms/checkbox/checkbox-nested-click-event-on-label.html [ Failure ]
 crbug.com/591099 fast/forms/checkbox/checkbox-onchange.html [ Failure ]
 crbug.com/591099 fast/forms/checkValidity-cancel.html [ Failure ]
@@ -9228,7 +9741,7 @@
 crbug.com/591099 fast/forms/datalist/datalist-child-validation.html [ Failure ]
 crbug.com/591099 fast/forms/datalist/datalist-fallback-content.html [ Failure ]
 crbug.com/591099 fast/forms/datalist/datalist-nonoption-child.html [ Failure ]
-crbug.com/591099 fast/forms/datalist/input-appearance-range-with-datalist.html [ Failure ]
+crbug.com/591099 fast/forms/datalist/input-appearance-range-with-datalist.html [ Crash Failure ]
 crbug.com/591099 fast/forms/datalist/input-appearance-range-with-datalist-zoomed.html [ Failure ]
 crbug.com/591099 fast/forms/datalist/input-appearance-range-with-padding-with-datalist.html [ Failure ]
 crbug.com/591099 fast/forms/datalist/input-appearance-range-with-transform.html [ Failure ]
@@ -9327,7 +9840,7 @@
 crbug.com/591099 fast/forms/fieldset/fieldset-align.html [ Failure ]
 crbug.com/591099 fast/forms/fieldset/fieldset-disabled.html [ Crash ]
 crbug.com/591099 fast/forms/fieldset/fieldset-elements.html [ Crash ]
-crbug.com/591099 fast/forms/fieldset/fieldset-form-collection-radionode-list.html [ Failure ]
+crbug.com/591099 fast/forms/fieldset/fieldset-form-collection-radionode-list.html [ Crash Failure ]
 crbug.com/591099 fast/forms/fieldset/fieldset-legend-padding-unclipped-fieldset-border.html [ Failure ]
 crbug.com/591099 fast/forms/fieldset/fieldset-name.html [ Failure ]
 crbug.com/591099 fast/forms/fieldset/fieldset-pseudo-valid-style.html [ Failure ]
@@ -9374,6 +9887,7 @@
 crbug.com/591099 fast/forms/focus-on-control-with-zero-size.html [ Failure ]
 crbug.com/591099 fast/forms/focus-selection-input.html [ Failure ]
 crbug.com/591099 fast/forms/focus-selection-textarea.html [ Failure ]
+crbug.com/591099 fast/forms/focus-style-pending.html [ Failure ]
 crbug.com/591099 fast/forms/focus-with-display-block.html [ Failure ]
 crbug.com/591099 fast/forms/formaction-attribute.html [ Failure ]
 crbug.com/591099 fast/forms/form-added-to-table.html [ Failure ]
@@ -9426,6 +9940,7 @@
 crbug.com/591099 fast/forms/image/image-setrangetext.html [ Failure ]
 crbug.com/591099 fast/forms/image/input-align-image.html [ Failure ]
 crbug.com/591099 fast/forms/image/input-image-submit.html [ Crash ]
+crbug.com/591099 fast/forms/image/input-width-height-attributes-without-renderer-loaded-image.html [ Crash Pass ]
 crbug.com/591099 fast/forms/image/width-and-height-of-detached-input.html [ Failure ]
 crbug.com/591099 fast/forms/implicit-submission.html [ Crash ]
 crbug.com/591099 fast/forms/incremental-dom-property.html [ Failure ]
@@ -9448,6 +9963,7 @@
 crbug.com/591099 fast/forms/input-select-api-support.html [ Failure ]
 crbug.com/591099 fast/forms/input-step-as-double.html [ Failure ]
 crbug.com/591099 fast/forms/input-stepup-stepdown.html [ Failure ]
+crbug.com/591099 fast/forms/input-textarea-padding-match.html [ Failure ]
 crbug.com/591099 fast/forms/input-type-change3.html [ Failure ]
 crbug.com/591099 fast/forms/input-type-change-focusout.html [ Crash ]
 crbug.com/591099 fast/forms/input-type-change.html [ Crash ]
@@ -9486,7 +10002,7 @@
 crbug.com/591099 fast/forms/label/label-selection.html [ Failure ]
 crbug.com/591099 fast/forms/label/labels-item-index.html [ Failure ]
 crbug.com/591099 fast/forms/label/labels-multiple-sibling-labels.html [ Crash ]
-crbug.com/591099 fast/forms/label/labels-owner-node-adopted.html [ Failure ]
+crbug.com/591099 fast/forms/label/labels-owner-node-adopted.html [ Crash Failure ]
 crbug.com/591099 fast/forms/label/labels-parent-and-sibling-labels.html [ Crash ]
 crbug.com/591099 fast/forms/label/labels-remove-htmlFor-attribute.html [ Crash ]
 crbug.com/591099 fast/forms/label/labels-remove-htmlFor-label.html [ Crash ]
@@ -9520,7 +10036,7 @@
 crbug.com/591099 fast/forms/month-multiple-fields/month-multiple-fields-choose-default-value-after-set-value.html [ Failure ]
 crbug.com/591099 fast/forms/month-multiple-fields/month-multiple-fields-clearbutton-change-and-input-events.html [ Failure ]
 crbug.com/591099 fast/forms/month-multiple-fields/month-multiple-fields-fallback-format.html [ Failure ]
-crbug.com/591099 fast/forms/month-multiple-fields/month-multiple-fields-keyboard-events.html [ Failure ]
+crbug.com/591099 fast/forms/month-multiple-fields/month-multiple-fields-keyboard-events.html [ Failure Timeout ]
 crbug.com/591099 fast/forms/month-multiple-fields/month-multiple-fields-mouse-events.html [ Failure ]
 crbug.com/591099 fast/forms/month-multiple-fields/month-multiple-fields-preserve-value-after-history-back.html [ Failure ]
 crbug.com/591099 fast/forms/month-multiple-fields/month-multiple-fields-readonly-subfield.html [ Failure ]
@@ -9546,7 +10062,7 @@
 crbug.com/591099 fast/forms/number/number-blur-twice.html [ Failure ]
 crbug.com/591099 fast/forms/number/number-change-event-by-readonly.html [ Failure ]
 crbug.com/591099 fast/forms/number/number-change-type-on-focus.html [ Failure ]
-crbug.com/591099 fast/forms/number/number-commit-valid-only.html [ Crash ]
+crbug.com/591099 fast/forms/number/number-commit-valid-only.html [ Crash Failure ]
 crbug.com/591099 fast/forms/number/number-input-changeevent.html [ Crash ]
 crbug.com/591099 fast/forms/number/number-interactive-validation-required.html [ Failure ]
 crbug.com/591099 fast/forms/number/number-keyoperation.html [ Failure ]
@@ -9609,6 +10125,7 @@
 crbug.com/591099 fast/forms/radio/radio_checked_dynamic.html [ Crash ]
 crbug.com/591099 fast/forms/radio/radio_checked.html [ Failure ]
 crbug.com/591099 fast/forms/radio/radio_checked_name.html [ Failure ]
+crbug.com/591099 fast/forms/radio/radio-focus-by-mouse.html [ Failure ]
 crbug.com/591099 fast/forms/radio/radio-group-arrow-cycle-edge.html [ Failure ]
 crbug.com/591099 fast/forms/radio/radio-group-document-destruction.html [ Failure ]
 crbug.com/591099 fast/forms/radio/radio-group.html [ Failure ]
@@ -9633,6 +10150,7 @@
 crbug.com/591099 fast/forms/range/range-disabled-on-input.html [ Failure ]
 crbug.com/591099 fast/forms/range/range-drag.html [ Failure ]
 crbug.com/591099 fast/forms/range/range-drag-when-toggled-disabled.html [ Failure ]
+crbug.com/591099 fast/forms/range/range-focus-by-mouse.html [ Failure Pass ]
 crbug.com/591099 fast/forms/range/range-hit-test-with-padding.html [ Failure ]
 crbug.com/591099 fast/forms/range/range-input-dynamic-oninput.html [ Failure ]
 crbug.com/591099 fast/forms/range/range-keyboard-oninput-event.html [ Failure ]
@@ -9738,6 +10256,7 @@
 crbug.com/591099 fast/forms/select/listbox-height-with-before.html [ Failure ]
 crbug.com/591099 fast/forms/select/listbox-hit-test-zoomed.html [ Failure ]
 crbug.com/591099 fast/forms/select/listbox-in-multi-column.html [ Failure ]
+crbug.com/591099 fast/forms/select/listbox-intrinsic-min-width-applies-with-fixed-width.html [ Failure ]
 crbug.com/591099 fast/forms/select/listbox-onchange.html [ Failure ]
 crbug.com/591099 fast/forms/select/listbox-oninput-fired.html [ Failure ]
 crbug.com/591099 fast/forms/select/listbox-overlay-scrollbar.html [ Failure ]
@@ -9807,13 +10326,13 @@
 crbug.com/591099 fast/forms/select/popup-closes-on-blur.html [ Failure ]
 crbug.com/591099 fast/forms/select-popup/popup-menu-appearance-coarse.html [ Failure ]
 crbug.com/591099 fast/forms/select-popup/popup-menu-appearance-fractional-width.html [ Failure ]
-crbug.com/591099 fast/forms/select-popup/popup-menu-appearance.html [ Failure ]
+crbug.com/591099 fast/forms/select-popup/popup-menu-appearance.html [ Failure Timeout ]
 crbug.com/591099 fast/forms/select-popup/popup-menu-appearance-long.html [ Failure ]
 crbug.com/591099 fast/forms/select-popup/popup-menu-appearance-many.html [ Failure ]
 crbug.com/591099 fast/forms/select-popup/popup-menu-appearance-minimum-font.html [ Failure ]
 crbug.com/591099 fast/forms/select-popup/popup-menu-appearance-rtl-default.html [ Failure ]
 crbug.com/591099 fast/forms/select-popup/popup-menu-appearance-rtl.html [ Failure ]
-crbug.com/591099 fast/forms/select-popup/popup-menu-appearance-single-option.html [ Failure ]
+crbug.com/591099 fast/forms/select-popup/popup-menu-appearance-single-option.html [ Failure Timeout ]
 crbug.com/591099 fast/forms/select-popup/popup-menu-appearance-styled.html [ Failure ]
 crbug.com/591099 fast/forms/select-popup/popup-menu-appearance-texttransform.html [ Failure ]
 crbug.com/591099 fast/forms/select-popup/popup-menu-appearance-transform.html [ Failure ]
@@ -9831,6 +10350,7 @@
 crbug.com/591099 fast/forms/select-popup/popup-menu-update-from-element.html [ Failure ]
 crbug.com/591099 fast/forms/select/popup-with-display-none-optgroup.html [ Failure ]
 crbug.com/591099 fast/forms/select/remove-element-from-within-focus-handler-crash.html [ Crash ]
+crbug.com/591099 fast/forms/select/select-accesskey.html [ Failure ]
 crbug.com/591099 fast/forms/select/select-add-assertion.html [ Crash ]
 crbug.com/591099 fast/forms/select/select-add.html [ Failure ]
 crbug.com/591099 fast/forms/select/select-align.html [ Failure ]
@@ -9937,13 +10457,14 @@
 crbug.com/591099 fast/forms/suggestion-picker/date-suggestion-picker-appearance.html [ Failure ]
 crbug.com/591099 fast/forms/suggestion-picker/date-suggestion-picker-appearance-rtl.html [ Failure ]
 crbug.com/591099 fast/forms/suggestion-picker/date-suggestion-picker-appearance-with-scroll-bar.html [ Failure ]
+crbug.com/591099 fast/forms/suggestion-picker/date-suggestion-picker-appearance-zoom125.html [ Failure Timeout ]
 crbug.com/591099 fast/forms/suggestion-picker/date-suggestion-picker-key-operations.html [ Timeout ]
 crbug.com/591099 fast/forms/suggestion-picker/date-suggestion-picker-min-max-attribute.html [ Failure ]
 crbug.com/591099 fast/forms/suggestion-picker/date-suggestion-picker-mouse-operations.html [ Failure ]
 crbug.com/591099 fast/forms/suggestion-picker/date-suggestion-picker-reset-value-after-reload.html [ Crash ]
 crbug.com/591099 fast/forms/suggestion-picker/date-suggestion-picker-step-attribute.html [ Failure ]
 crbug.com/591099 fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance.html [ Failure ]
-crbug.com/591099 fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-locale-hebrew.html [ Failure ]
+crbug.com/591099 fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-locale-hebrew.html [ Failure Timeout ]
 crbug.com/591099 fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-rtl.html [ Failure ]
 crbug.com/591099 fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-with-scroll-bar.html [ Failure ]
 crbug.com/591099 fast/forms/suggestion-picker/datetimelocal-suggestion-picker-key-operations.html [ Failure ]
@@ -9968,7 +10489,7 @@
 crbug.com/591099 fast/forms/suggestion-picker/time-suggestion-picker-mouse-operations.html [ Failure ]
 crbug.com/591099 fast/forms/suggestion-picker/time-suggestion-picker-step-attribute.html [ Failure ]
 crbug.com/591099 fast/forms/suggestion-picker/week-suggestion-picker-appearance.html [ Failure ]
-crbug.com/591099 fast/forms/suggestion-picker/week-suggestion-picker-appearance-rtl.html [ Failure ]
+crbug.com/591099 fast/forms/suggestion-picker/week-suggestion-picker-appearance-rtl.html [ Failure Timeout ]
 crbug.com/591099 fast/forms/suggestion-picker/week-suggestion-picker-appearance-with-scroll-bar.html [ Failure ]
 crbug.com/591099 fast/forms/suggestion-picker/week-suggestion-picker-key-operations.html [ Timeout ]
 crbug.com/591099 fast/forms/suggestion-picker/week-suggestion-picker-min-max-attribute.html [ Failure ]
@@ -10014,6 +10535,7 @@
 crbug.com/591099 fast/forms/textarea/textarea-newline.html [ Failure ]
 crbug.com/591099 fast/forms/textarea/textarea-node-removed-from-document-crash.html [ Crash ]
 crbug.com/591099 fast/forms/textarea/textarea-no-scroll-on-blur.html [ Failure ]
+crbug.com/591099 fast/forms/textarea/textarea-nowrap-paste-eol.html [ Failure ]
 crbug.com/591099 fast/forms/textarea/textarea-paste-newline.html [ Failure ]
 crbug.com/591099 fast/forms/textarea/textarea-placeholder-dom-property.html [ Failure ]
 crbug.com/591099 fast/forms/textarea/textarea-placeholder-paint-order-2.html [ Failure ]
@@ -10057,7 +10579,7 @@
 crbug.com/591099 fast/forms/text/input-appearance-preventDefault.html [ Failure ]
 crbug.com/591099 fast/forms/text/input-appearance-readonly.html [ Failure ]
 crbug.com/591099 fast/forms/text/input-appearance-selection.html [ Failure ]
-crbug.com/591099 fast/forms/text/input-appearance-visibility.html [ Failure ]
+crbug.com/591099 fast/forms/text/input-appearance-visibility.html [ Crash Failure ]
 crbug.com/591099 fast/forms/text/input-appearance-width.html [ Failure ]
 crbug.com/591099 fast/forms/text/input-baseline.html [ Failure ]
 crbug.com/591099 fast/forms/text/input-changing-value.html [ Failure ]
@@ -10185,7 +10707,7 @@
 crbug.com/591099 fast/forms/validationMessage.html [ Crash ]
 crbug.com/591099 fast/forms/validity-property.html [ Failure ]
 crbug.com/591099 fast/forms/ValidityState-customError.html [ Failure ]
-crbug.com/591099 fast/forms/ValidityState-patternMismatch.html [ Failure ]
+crbug.com/591099 fast/forms/ValidityState-patternMismatch.html [ Crash Failure ]
 crbug.com/591099 fast/forms/ValidityState-patternMismatch-unsupported.html [ Failure ]
 crbug.com/591099 fast/forms/ValidityState-rangeOverflow.html [ Failure ]
 crbug.com/591099 fast/forms/ValidityState-rangeUnderflow.html [ Failure ]
@@ -10317,7 +10839,8 @@
 crbug.com/591099 fast/frames/onlyCommentInIFrame.html [ Failure ]
 crbug.com/591099 fast/frames/open-then-unload.html [ Failure ]
 crbug.com/591099 fast/frames/open-without-opener-frame-crash.html [ Failure ]
-crbug.com/591099 fast/frames/out-of-document-iframe-has-child-frame.html [ Crash ]
+crbug.com/591099 fast/frames/out-of-document-iframe-has-child-frame.html [ Crash Failure ]
+crbug.com/591099 fast/frames/page-visibility-crash.html [ Crash ]
 crbug.com/591099 fast/frames/paint-iframe-background.html [ Failure ]
 crbug.com/591099 fast/frames/parser-append-subframe-count.html [ Failure ]
 crbug.com/591099 fast/frames/reattach-in-unload.html [ Failure ]
@@ -10432,9 +10955,10 @@
 crbug.com/591099 fast/harness/results.html [ Crash ]
 crbug.com/591099 fast/harness/should-be-now.html [ Failure ]
 crbug.com/591099 fast/harness/user-preferred-language.html [ Failure ]
-crbug.com/591099 fast/hidpi/broken-image-icon-hidpi.html [ Failure ]
+crbug.com/591099 fast/hidpi/broken-image-icon-hidpi.html [ Crash Failure ]
 crbug.com/591099 fast/hidpi/broken-image-with-size-hidpi.html [ Failure ]
 crbug.com/591099 fast/hidpi/clip-text-in-hidpi.html [ Failure ]
+crbug.com/591099 fast/hidpi/gradient-with-scaled-ancestor.html [ Failure ]
 crbug.com/591099 fast/hidpi/image-set-shape-outside.html [ Failure ]
 crbug.com/591099 fast/hidpi/image-srcset-png-2.html [ Failure ]
 crbug.com/591099 fast/hidpi/image-srcset-png-3.html [ Failure ]
@@ -10508,6 +11032,7 @@
 crbug.com/591099 fast/html/tab-order.html [ Failure ]
 crbug.com/591099 fast/html/unknown-tag.html [ Failure ]
 crbug.com/591099 fast/inline/001.html [ Failure ]
+crbug.com/591099 fast/inline/002.html [ Failure ]
 crbug.com/591099 fast/inline/25277-2.html [ Failure ]
 crbug.com/591099 fast/inline/25277.html [ Failure ]
 crbug.com/591099 fast/inline/absolute-positioned-inline-in-centred-block.html [ Failure ]
@@ -10563,7 +11088,7 @@
 crbug.com/591099 fast/inline/inline-focus-ring.html [ Failure ]
 crbug.com/591099 fast/inline/inline-focus-ring-under-absolute-enclosing-relative-div.html [ Failure ]
 crbug.com/591099 fast/inline/inline-offsetLeft-continuation.html [ Failure ]
-crbug.com/591099 fast/inline/inline-offsetLeft-relpos.html [ Failure ]
+crbug.com/591099 fast/inline/inline-offsetLeft-relpos.html [ Crash Failure ]
 crbug.com/591099 fast/inline/inline-padding-disables-text-quirk.html [ Failure ]
 crbug.com/591099 fast/inline/inline-position-top-align.html [ Failure ]
 crbug.com/591099 fast/inline/inline-relative-offset-boundingbox.html [ Failure ]
@@ -10579,7 +11104,7 @@
 crbug.com/591099 fast/inline/nested-top-alignment.html [ Failure ]
 crbug.com/591099 fast/inline/outline-continuations.html [ Failure ]
 crbug.com/591099 fast/inline/outline-offset.html [ Failure ]
-crbug.com/591099 fast/inline/out-of-flow-objects-and-whitespace-after-empty-inline.html [ Crash ]
+crbug.com/591099 fast/inline/out-of-flow-objects-and-whitespace-after-empty-inline.html [ Crash Failure ]
 crbug.com/591099 fast/inline/parent-inline-element-padding-contributes-width.html [ Failure ]
 crbug.com/591099 fast/inline/percentage-margins.html [ Failure ]
 crbug.com/591099 fast/inline/positioned-element-padding-contributes-width.html [ Failure ]
@@ -10606,7 +11131,7 @@
 crbug.com/591099 fast/invalid/002.html [ Failure ]
 crbug.com/591099 fast/invalid/003.html [ Failure ]
 crbug.com/591099 fast/invalid/004.html [ Failure ]
-crbug.com/591099 fast/invalid/005.html [ Failure ]
+crbug.com/591099 fast/invalid/005.html [ Crash Failure ]
 crbug.com/591099 fast/invalid/006.html [ Failure ]
 crbug.com/591099 fast/invalid/007.html [ Failure ]
 crbug.com/591099 fast/invalid/008.html [ Failure ]
@@ -10670,7 +11195,7 @@
 crbug.com/591099 fast/js/dfg-cross-global-object-inline-new-array-literal-with-variables.html [ Failure ]
 crbug.com/591099 fast/js/dfg-cross-global-object-inline-new-array-with-size.html [ Failure ]
 crbug.com/591099 fast/js/dfg-custom-getter.html [ Failure ]
-crbug.com/591099 fast/js/dfg-custom-getter-throw.html [ Failure ]
+crbug.com/591099 fast/js/dfg-custom-getter-throw.html [ Failure Timeout ]
 crbug.com/591099 fast/js/dfg-custom-getter-throw-inlined.html [ Failure Timeout ]
 crbug.com/591099 fast/js/dfg-logical-not-final-object-or-other.html [ Failure ]
 crbug.com/591099 fast/js/dfg-peephole-compare-final-object-to-final-object-or-other.html [ Failure ]
@@ -10712,6 +11237,7 @@
 crbug.com/591099 fast/js/instanceof-test.html [ Failure ]
 crbug.com/591099 fast/js/iterable-object.html [ Failure ]
 crbug.com/591099 fast/js/js-constructors-use-correct-global.html [ Failure ]
+crbug.com/591099 fast/js/JSON-parse.html [ Timeout ]
 crbug.com/591099 fast/js/kde/garbage-n.html [ Failure ]
 crbug.com/591099 fast/js/kde/string-1-n.html [ Failure ]
 crbug.com/591099 fast/js/kde/string-2-n.html [ Failure ]
@@ -10850,9 +11376,10 @@
 crbug.com/591099 fast/js/script-line-number.html [ Failure ]
 crbug.com/591099 fast/js/select-options-add.html [ Failure ]
 crbug.com/591099 fast/js/select-options-remove-gc.html [ Failure ]
-crbug.com/591099 fast/js/select-options-remove.html [ Failure ]
+crbug.com/591099 fast/js/select-options-remove.html [ Crash Failure ]
 crbug.com/591099 fast/js/strict-readonly-statics.html [ Failure ]
 crbug.com/591099 fast/js/string-localeCompare.html [ Failure ]
+crbug.com/591099 fast/js/string-prototype-properties.html [ Failure ]
 crbug.com/591099 fast/js/string-replace-3.html [ Failure ]
 crbug.com/591099 fast/js/string-replace-exception-crash.html [ Failure ]
 crbug.com/591099 fast/js/switch-behaviour.html [ Failure ]
@@ -10889,6 +11416,8 @@
 crbug.com/591099 fast/layers/layer-visibility-sublayer.html [ Failure ]
 crbug.com/591099 fast/layers/negative-scroll-positions.html [ Failure ]
 crbug.com/591099 fast/layers/no-clipping-overflow-hidden-added-after-transform.html [ Failure ]
+crbug.com/591099 fast/layers/no-clipping-overflow-hidden-added-after-transition.html [ Failure ]
+crbug.com/591099 fast/layers/no-clipping-overflow-hidden-hardware-acceleration.html [ Failure ]
 crbug.com/591099 fast/layers/normal-flow-hit-test.html [ Failure ]
 crbug.com/591099 fast/layers/opacity-change-stacking-context.html [ Failure ]
 crbug.com/591099 fast/layers/opacity-outline.html [ Failure ]
@@ -10970,7 +11499,7 @@
 crbug.com/591099 fast/lists/drag-into-marker.html [ Failure ]
 crbug.com/591099 fast/lists/dynamic-marker-crash.html [ Failure ]
 crbug.com/591099 fast/lists/inline-before-content-after-list-marker.html [ Failure ]
-crbug.com/591099 fast/lists/inlineBoxWrapperNullCheck.html [ Failure ]
+crbug.com/591099 fast/lists/inlineBoxWrapperNullCheck.html [ Crash Failure ]
 crbug.com/591099 fast/lists/item-not-in-list-line-wrapping.html [ Failure ]
 crbug.com/591099 fast/lists/li-br.html [ Failure ]
 crbug.com/591099 fast/lists/list-item-line-height.html [ Failure ]
@@ -11017,7 +11546,7 @@
 crbug.com/591099 fast/lists/w3-css3-list-styles-alphabetic.html [ Failure Timeout ]
 crbug.com/591099 fast/lists/w3-css3-list-styles-deprecated.html [ Failure ]
 crbug.com/591099 fast/lists/w3-css3-list-styles-fallback-style.html [ Failure ]
-crbug.com/591099 fast/lists/w3-css3-list-styles-numeric.html [ Timeout ]
+crbug.com/591099 fast/lists/w3-css3-list-styles-numeric.html [ Failure Timeout ]
 crbug.com/591099 fast/lists/w3-css3-lower-armenian.html [ Failure ]
 crbug.com/591099 fast/lists/w3-css3-upper-armenian.html [ Failure ]
 crbug.com/591099 fast/lists/w3-list-styles.html [ Failure ]
@@ -11070,6 +11599,7 @@
 crbug.com/591099 fast/loader/scroll-restore-overrides-fragment.html [ Failure ]
 crbug.com/591099 fast/loader/scroll-restore-should-happen-during-load.html [ Failure ]
 crbug.com/591099 fast/loader/scroll-restore-target-pseudo.html [ Failure ]
+crbug.com/591099 fast/loader/start-load-in-unload.html [ Crash ]
 crbug.com/591099 fast/loader/stateobjects/pushstate-object-types.html [ Failure ]
 crbug.com/591099 fast/loader/stateobjects/replacestate-in-onunload.html [ Failure ]
 crbug.com/591099 fast/loader/stateobjects/state-attribute-object-types.html [ Failure ]
@@ -11102,13 +11632,16 @@
 crbug.com/591099 fast/media/media-query-list-listener-ordering.html [ Failure ]
 crbug.com/591099 fast/media/media-query-overflow-value.html [ Failure ]
 crbug.com/591099 fast/media/media-query-serialization.html [ Failure ]
+crbug.com/591099 fast/media/mq-compound-query-05.html [ Failure Pass ]
 crbug.com/591099 fast/media/mq-display-mode-fullscreen.html [ Failure ]
 crbug.com/591099 fast/media/mq-display-mode.html [ Failure ]
 crbug.com/591099 fast/media/mq-hover.html [ Failure ]
 crbug.com/591099 fast/media/mq-pixel-ratio-print.html [ Failure ]
 crbug.com/591099 fast/media/mq-pointer.html [ Failure ]
 crbug.com/591099 fast/media/mq-resolution.html [ Failure ]
-crbug.com/591099 fast/media/mq-simple-neg-query-03.html [ Failure ]
+crbug.com/591099 fast/media/mq-simple-neg-query-03.html [ Failure Pass ]
+crbug.com/591099 fast/media/mq-simple-query-01.html [ Crash ]
+crbug.com/591099 fast/media/mq-width-absolute-03.html [ Failure ]
 crbug.com/591099 fast/media/mq-with-screen-size-in-physical-pixels-quirk.html [ Failure ]
 crbug.com/591099 fast/mediastream/argument-types.html [ Failure ]
 crbug.com/591099 fast/mediastream/constructors.html [ Failure ]
@@ -11145,7 +11678,7 @@
 crbug.com/591099 fast/multicol/balance-inner-near-outer-boundary.html [ Failure ]
 crbug.com/591099 fast/multicol/balance-line-underflow-1.html [ Failure ]
 crbug.com/591099 fast/multicol/balance-line-underflow-2.html [ Failure ]
-crbug.com/591099 fast/multicol/balance-repeating-table-headers.html [ Crash ]
+crbug.com/591099 fast/multicol/balance-repeating-table-headers.html [ Crash Failure ]
 crbug.com/591099 fast/multicol/balance-short-trailing-empty-block.html [ Failure ]
 crbug.com/591099 fast/multicol/balance-trailing-border-after-break.html [ Failure ]
 crbug.com/591099 fast/multicol/balance-trailing-border.html [ Failure ]
@@ -11167,6 +11700,7 @@
 crbug.com/591099 fast/multicol/client-rects-crossing-boundaries.html [ Failure ]
 crbug.com/591099 fast/multicol/client-rects.html [ Failure ]
 crbug.com/591099 fast/multicol/client-rects-rtl.html [ Failure ]
+crbug.com/591099 fast/multicol/client-rects-sole-empty-block.html [ Failure ]
 crbug.com/591099 fast/multicol/clone-block-children-inline-mismatch-crash.html [ Crash ]
 crbug.com/591099 fast/multicol/column-break-with-balancing.html [ Failure ]
 crbug.com/591099 fast/multicol/column-count-with-rules.html [ Failure ]
@@ -11182,21 +11716,22 @@
 crbug.com/591099 fast/multicol/composited-relpos-in-clipped.html [ Failure ]
 crbug.com/591099 fast/multicol/composited-relpos-overlapping-will-change.html [ Failure ]
 crbug.com/591099 fast/multicol/composited-relpos-resize.html [ Failure ]
+crbug.com/591099 fast/multicol/composited-relpos-simple.html [ Crash ]
 crbug.com/591099 fast/multicol/composited-with-child-layer-in-next-column.html [ Failure ]
 crbug.com/591099 fast/multicol/composited-with-overflow-in-next-column.html [ Failure ]
-crbug.com/591099 fast/multicol/constrained-content-height-with-overflow-crash.html [ Crash ]
+crbug.com/591099 fast/multicol/constrained-content-height-with-overflow-crash.html [ Crash Failure ]
 crbug.com/591099 fast/multicol/content-change-same-height.html [ Failure ]
 crbug.com/591099 fast/multicol/content-height-zero-crash.html [ Failure ]
 crbug.com/591099 fast/multicol/doubly-nested-with-increasing-row-heights-crash.html [ Failure ]
 crbug.com/591099 fast/multicol/dynamic/abspos-multicol-with-spanner-becomes-spanner.html [ Failure ]
 crbug.com/591099 fast/multicol/dynamic/block-becomes-spanner.html [ Failure ]
 crbug.com/591099 fast/multicol/dynamic/block-with-abspos-video-becomes-multicol-crash.html [ Failure ]
-crbug.com/591099 fast/multicol/dynamic/block-with-spanner-and-inline-and-table-column.html [ Crash ]
+crbug.com/591099 fast/multicol/dynamic/block-with-spanner-and-inline-and-table-column.html [ Crash Failure ]
 crbug.com/591099 fast/multicol/dynamic/bottom-aligned-abspos-change-column-height.html [ Failure ]
 crbug.com/591099 fast/multicol/dynamic/change-block-with-inline-to-multicol-assert.html [ Failure ]
 crbug.com/591099 fast/multicol/dynamic/change-second-row-height.html [ Failure ]
 crbug.com/591099 fast/multicol/dynamic/change-spanner-display.html [ Failure ]
-crbug.com/591099 fast/multicol/dynamic/change-spanner-parent-display.html [ Crash ]
+crbug.com/591099 fast/multicol/dynamic/change-spanner-parent-display.html [ Crash Failure ]
 crbug.com/591099 fast/multicol/dynamic/insert-before-sole-abspos.html [ Failure ]
 crbug.com/591099 fast/multicol/dynamic/insert-block-among-text-in-anonymous-wrapper.html [ Failure ]
 crbug.com/591099 fast/multicol/dynamic/insert-block-before-spanner-before-content.html [ Failure ]
@@ -11235,10 +11770,10 @@
 crbug.com/591099 fast/multicol/dynamic/sole-spanner-becomes-abspos-crash.html [ Failure ]
 crbug.com/591099 fast/multicol/dynamic/spanner-after-content-becomes-regular-block.html [ Failure ]
 crbug.com/591099 fast/multicol/dynamic/spanner-ancestor-becomes-spanner.html [ Failure ]
-crbug.com/591099 fast/multicol/dynamic/spanner-becomes-abspos-crash.html [ Crash ]
+crbug.com/591099 fast/multicol/dynamic/spanner-becomes-abspos-crash.html [ Crash Failure ]
 crbug.com/591099 fast/multicol/dynamic/spanner-becomes-regular-block.html [ Failure ]
-crbug.com/591099 fast/multicol/dynamic/static-becomes-relpos-has-abspos-crash.html [ Crash ]
-crbug.com/591099 fast/multicol/dynamic/static-becomes-relpos-has-abspos.html [ Crash ]
+crbug.com/591099 fast/multicol/dynamic/static-becomes-relpos-has-abspos-crash.html [ Crash Failure ]
+crbug.com/591099 fast/multicol/dynamic/static-becomes-relpos-has-abspos.html [ Crash Failure ]
 crbug.com/591099 fast/multicol/dynamic/untransformed-becomes-transformed-has-abspos-crash.html [ Failure ]
 crbug.com/591099 fast/multicol/empty-list-item.html [ Failure ]
 crbug.com/591099 fast/multicol/event-offset-complex-tree.html [ Failure ]
@@ -11276,7 +11811,7 @@
 crbug.com/591099 fast/multicol/float-with-margin-moved-by-child-line-and-unbreakable.html [ Failure ]
 crbug.com/591099 fast/multicol/float-with-margin-moved-by-child-line.html [ Failure ]
 crbug.com/591099 fast/multicol/float-with-margin-moved-unbreakable.html [ Failure ]
-crbug.com/591099 fast/multicol/forced-break-after-block-with-spanner.html [ Crash ]
+crbug.com/591099 fast/multicol/forced-break-after-block-with-spanner.html [ Crash Failure ]
 crbug.com/591099 fast/multicol/forced-break-after-last-block-before-spanner.html [ Failure ]
 crbug.com/591099 fast/multicol/forced-break-before-complex-margin-collapsing.html [ Failure ]
 crbug.com/591099 fast/multicol/forced-break-in-nested-columns.html [ Failure ]
@@ -11285,14 +11820,16 @@
 crbug.com/591099 fast/multicol/gap-non-negative.html [ Failure ]
 crbug.com/591099 fast/multicol/grid-with-auto-scrollbar-crash.html [ Failure ]
 crbug.com/591099 fast/multicol/hit-test-float.html [ Failure ]
-crbug.com/591099 fast/multicol/hit-test-gap-between-pages-flipped.html [ Crash ]
-crbug.com/591099 fast/multicol/hit-test-gap-between-pages.html [ Crash ]
+crbug.com/591099 fast/multicol/hit-test-gap-between-pages-flipped.html [ Crash Failure ]
+crbug.com/591099 fast/multicol/hit-test-gap-between-pages.html [ Crash Failure ]
 crbug.com/591099 fast/multicol/image-inside-nested-blocks-with-border.html [ Failure ]
 crbug.com/591099 fast/multicol/image-loaded-before-layout-assert.html [ Failure ]
 crbug.com/591099 fast/multicol/infinitely-tall-content-in-outer-crash.html [ Failure ]
+crbug.com/591099 fast/multicol/inline-block-baseline.html [ Failure ]
 crbug.com/591099 fast/multicol/inline-children-crash.html [ Failure ]
 crbug.com/591099 fast/multicol/inner-multicol-in-second-column.html [ Failure ]
 crbug.com/591099 fast/multicol/inner-multicol-moved-into-continuation.html [ Failure ]
+crbug.com/591099 fast/multicol/input-as-multicol.html [ Failure ]
 crbug.com/591099 fast/multicol/large-padding-crash.html [ Crash ]
 crbug.com/591099 fast/multicol/layers-in-multicol.html [ Failure ]
 crbug.com/591099 fast/multicol/layers-split-across-columns.html [ Failure ]
@@ -11307,10 +11844,11 @@
 crbug.com/591099 fast/multicol/mixed-positioning-stacking-order.html [ Failure ]
 crbug.com/591099 fast/multicol/multicol-becomes-paged-auto-height.html [ Crash ]
 crbug.com/591099 fast/multicol/multicol-becomes-paged-fixed-height.html [ Crash ]
-crbug.com/591099 fast/multicol/multicol-with-spanner-becomes-paged.html [ Crash ]
+crbug.com/591099 fast/multicol/multicol-with-spanner-becomes-paged.html [ Crash Failure ]
 crbug.com/591099 fast/multicol/negative-margins-crash.html [ Failure ]
 crbug.com/591099 fast/multicol/nested-3-multicols-fixed-height.html [ Failure ]
 crbug.com/591099 fast/multicol/nested-after-composited-layer-crash.html [ Failure ]
+crbug.com/591099 fast/multicol/nested-auto-height-short-first-row.html [ Failure ]
 crbug.com/591099 fast/multicol/nested-balanced-inner-column-count-1-with-forced-break-2.html [ Failure ]
 crbug.com/591099 fast/multicol/nested-balanced-inner-column-count-1-with-forced-break.html [ Failure ]
 crbug.com/591099 fast/multicol/nested-balanced-inner-with-many-breaks-2.html [ Failure ]
@@ -11320,11 +11858,13 @@
 crbug.com/591099 fast/multicol/nested-balancing-with-lines-and-space-left-in-previous-row.html [ Failure ]
 crbug.com/591099 fast/multicol/nested-fixed-height-with-struts.html [ Failure ]
 crbug.com/591099 fast/multicol/nested-inner-auto-height-outer-extra-space.html [ Failure ]
-crbug.com/591099 fast/multicol/nested-multicol-two-spanners-dynamic.html [ Crash ]
+crbug.com/591099 fast/multicol/nested-multicol-two-spanners-dynamic.html [ Crash Failure ]
 crbug.com/591099 fast/multicol/nested-one-line-in-inner.html [ Failure ]
+crbug.com/591099 fast/multicol/nested-outer-fixed-height.html [ Failure ]
 crbug.com/591099 fast/multicol/nested-short-first-row-extra-tall-line.html [ Failure ]
 crbug.com/591099 fast/multicol/nested-short-first-row-unsplittable-block.html [ Failure ]
 crbug.com/591099 fast/multicol/nested-uneven-inner-column-height.html [ Failure ]
+crbug.com/591099 fast/multicol/nested-with-clipped-first-column.html [ Failure ]
 crbug.com/591099 fast/multicol/nested-with-composited-and-multicol-crash.html [ Failure ]
 crbug.com/591099 fast/multicol/nested-with-forced-breaks-in-eariler-rows.html [ Failure ]
 crbug.com/591099 fast/multicol/nested-with-line-taller-than-outer.html [ Failure ]
@@ -11361,14 +11901,17 @@
 crbug.com/591099 fast/multicol/one-column-with-break.html [ Failure ]
 crbug.com/591099 fast/multicol/orphaned-line-at-exact-top-of-column.html [ Failure ]
 crbug.com/591099 fast/multicol/orphans-relayout.html [ Failure ]
+crbug.com/591099 fast/multicol/out-of-flow/abspos-auto-left-right.html [ Failure ]
 crbug.com/591099 fast/multicol/out-of-flow/abspos-auto-position-on-line.html [ Failure ]
 crbug.com/591099 fast/multicol/out-of-flow/abspos-auto-position-on-line-rtl.html [ Crash Failure ]
 crbug.com/591099 fast/multicol/out-of-flow/abspos-auto-position-small-on-line-at-boundary.html [ Failure ]
+crbug.com/591099 fast/multicol/out-of-flow/offset-properties.html [ Failure ]
 crbug.com/591099 fast/multicol/overflow-content.html [ Failure ]
 crbug.com/591099 fast/multicol/overflowing-columns-large-gaps.html [ Failure ]
 crbug.com/591099 fast/multicol/overflow-into-columngap.html [ Failure ]
 crbug.com/591099 fast/multicol/overflow-unsplittable.html [ Failure ]
-crbug.com/591099 fast/multicol/paged-in-multicol-crash.html [ Crash ]
+crbug.com/591099 fast/multicol/paged-becomes-multicol-auto-height.html [ Failure ]
+crbug.com/591099 fast/multicol/paged-in-multicol-crash.html [ Crash Failure ]
 crbug.com/591099 fast/multicol/pageLogicalOffset-vertical.html [ Failure ]
 crbug.com/591099 fast/multicol/paginate-block-replaced.html [ Failure ]
 crbug.com/591099 fast/multicol/paginated-layer-crash.html [ Failure ]
@@ -11384,12 +11927,12 @@
 crbug.com/591099 fast/multicol/scrolling-overflow.html [ Failure ]
 crbug.com/591099 fast/multicol/shadow-breaking.html [ Failure ]
 crbug.com/591099 fast/multicol/short-columns-insane-unbreakable-content-height-crash.html [ Failure ]
-crbug.com/591099 fast/multicol/shrink-to-column-height-for-pagination.html [ Crash ]
+crbug.com/591099 fast/multicol/shrink-to-column-height-for-pagination.html [ Crash Failure ]
 crbug.com/591099 fast/multicol/single-line.html [ Failure ]
 crbug.com/591099 fast/multicol/span/abspos-containing-block-outside-spanner.html [ Crash ]
-crbug.com/591099 fast/multicol/span/adjacent-spanners.html [ Crash ]
+crbug.com/591099 fast/multicol/span/adjacent-spanners.html [ Crash Failure ]
 crbug.com/591099 fast/multicol/span/after-row-with-uneven-height-nested-multicol.html [ Failure ]
-crbug.com/591099 fast/multicol/span/anonymous-before-child-parent-crash.html [ Crash ]
+crbug.com/591099 fast/multicol/span/anonymous-before-child-parent-crash.html [ Crash Failure ]
 crbug.com/591099 fast/multicol/span/anonymous-split-block-crash.html [ Failure ]
 crbug.com/591099 fast/multicol/span/as-inner-multicol-after-composited-layer-crash.html [ Failure ]
 crbug.com/591099 fast/multicol/span/as-inner-multicol.html [ Failure ]
@@ -11401,8 +11944,8 @@
 crbug.com/591099 fast/multicol/span/balance-before-spanner-extra-height.html [ Failure ]
 crbug.com/591099 fast/multicol/span/becomes-empty-spanner-crash.html [ Failure ]
 crbug.com/591099 fast/multicol/span/becomes-spanner-with-new-width.html [ Failure ]
-crbug.com/591099 fast/multicol/span/block-with-top-border-and-margin-around-spanner-exact-fit.html [ Crash ]
-crbug.com/591099 fast/multicol/span/block-with-top-border-and-margin-around-spanner-extra-space.html [ Crash ]
+crbug.com/591099 fast/multicol/span/block-with-top-border-and-margin-around-spanner-exact-fit.html [ Crash Failure ]
+crbug.com/591099 fast/multicol/span/block-with-top-border-and-margin-around-spanner-extra-space.html [ Crash Failure ]
 crbug.com/591099 fast/multicol/span/break-in-columns-before-spanner.html [ Failure ]
 crbug.com/591099 fast/multicol/span/button-with-spanner-crash.html [ Failure ]
 crbug.com/591099 fast/multicol/span/change-spanner-margins.html [ Failure ]
@@ -11420,11 +11963,12 @@
 crbug.com/591099 fast/multicol/span/in-nested-multicol-with-list-item.html [ Failure ]
 crbug.com/591099 fast/multicol/span/in-nested-multicol-with-soft-breaks-inside.html [ Failure ]
 crbug.com/591099 fast/multicol/span/inside-abspos-crash.html [ Failure ]
-crbug.com/591099 fast/multicol/span/inside-block-with-fixed-height-crash.html [ Crash ]
-crbug.com/591099 fast/multicol/span/inside-block-with-fixed-height.html [ Crash ]
+crbug.com/591099 fast/multicol/span/inside-block-with-fixed-height-crash.html [ Crash Failure ]
+crbug.com/591099 fast/multicol/span/inside-block-with-fixed-height.html [ Crash Failure ]
 crbug.com/591099 fast/multicol/span/inside-float-crash.html [ Failure ]
 crbug.com/591099 fast/multicol/span/inside-overflow-hidden-crash.html [ Failure ]
 crbug.com/591099 fast/multicol/span/invalid-span-1.html [ Failure ]
+crbug.com/591099 fast/multicol/span/invalid-spanner-in-abspos.html [ Failure ]
 crbug.com/591099 fast/multicol/span/invalid-spanner-in-transform.html [ Failure ]
 crbug.com/591099 fast/multicol/span/list-multi-column-crash.html [ Crash ]
 crbug.com/591099 fast/multicol/span/margin-on-multicol.html [ Failure ]
@@ -11432,16 +11976,16 @@
 crbug.com/591099 fast/multicol/span/multicol-with-spanner-becomes-regular-block.html [ Crash ]
 crbug.com/591099 fast/multicol/span/nested-multicol.html [ Failure ]
 crbug.com/591099 fast/multicol/span/offset-properties.html [ Failure ]
-crbug.com/591099 fast/multicol/span/outer-column-break-after-inner-spanner-2.html [ Crash ]
+crbug.com/591099 fast/multicol/span/outer-column-break-after-inner-spanner-2.html [ Crash Failure ]
 crbug.com/591099 fast/multicol/span/outer-column-break-after-inner-spanner-and-float.html [ Failure ]
 crbug.com/591099 fast/multicol/span/outer-column-break-after-inner-spanner.html [ Failure ]
 crbug.com/591099 fast/multicol/span/outline.html [ Failure ]
 crbug.com/591099 fast/multicol/span/outside-multicol.html [ Failure ]
 crbug.com/591099 fast/multicol/span/overflow-on-multicol.html [ Failure ]
-crbug.com/591099 fast/multicol/span/padding-before-unbreakable-content-crash.html [ Crash ]
+crbug.com/591099 fast/multicol/span/padding-before-unbreakable-content-crash.html [ Crash Failure ]
 crbug.com/591099 fast/multicol/span/percent-margins.html [ Failure ]
 crbug.com/591099 fast/multicol/span/preferred-widths-with-column-content.html [ Failure ]
-crbug.com/591099 fast/multicol/span/relpos-in-block.html [ Crash ]
+crbug.com/591099 fast/multicol/span/relpos-in-block.html [ Crash Failure ]
 crbug.com/591099 fast/multicol/span/relpos-spanner-with-abspos-child.html [ Failure ]
 crbug.com/591099 fast/multicol/span/remaining-space-in-last-column.html [ Failure ]
 crbug.com/591099 fast/multicol/span/runin-continuation-crash.html [ Crash ]
@@ -11449,15 +11993,15 @@
 crbug.com/591099 fast/multicol/span/sole-spanner-inside-div.html [ Failure ]
 crbug.com/591099 fast/multicol/span/sole-svg-spanner-with-foreignObject-crash.html [ Failure ]
 crbug.com/591099 fast/multicol/span/span-between-text.html [ Crash Failure ]
-crbug.com/591099 fast/multicol/span/spanner-first.html [ Crash ]
-crbug.com/591099 fast/multicol/span/spanner-img.html [ Crash ]
+crbug.com/591099 fast/multicol/span/spanner-first.html [ Crash Failure ]
+crbug.com/591099 fast/multicol/span/spanner-img.html [ Crash Failure ]
 crbug.com/591099 fast/multicol/span/spanner-in-flexbox-in-multicol-in-flexbox-crash.html [ Failure ]
 crbug.com/591099 fast/multicol/span/spanner-inline-block.html [ Failure ]
 crbug.com/591099 fast/multicol/span/spanner-table.html [ Crash ]
-crbug.com/591099 fast/multicol/span/spanner-with-margin.html [ Crash ]
+crbug.com/591099 fast/multicol/span/spanner-with-margin.html [ Crash Failure ]
 crbug.com/591099 fast/multicol/span/summary-split.html [ Failure ]
 crbug.com/591099 fast/multicol/span/two-rows-then-spanner-then-two-rows.html [ Failure ]
-crbug.com/591099 fast/multicol/span/underflow-after-spanner.html [ Crash ]
+crbug.com/591099 fast/multicol/span/underflow-after-spanner.html [ Crash Failure ]
 crbug.com/591099 fast/multicol/span/update-after-content-before-child-crash.html [ Crash ]
 crbug.com/591099 fast/multicol/span/vertical-lr.html [ Failure ]
 crbug.com/591099 fast/multicol/span/vertical-rl.html [ Failure ]
@@ -11467,13 +12011,14 @@
 crbug.com/591099 fast/multicol/table-caption-with-block.html [ Failure ]
 crbug.com/591099 fast/multicol/table-cell-content-change.html [ Failure ]
 crbug.com/591099 fast/multicol/table-cell-content-change-with-decorations.html [ Failure ]
+crbug.com/591099 fast/multicol/tall-content-in-inner-with-fixed-height.html [ Failure ]
 crbug.com/591099 fast/multicol/tall-float1.html [ Failure ]
 crbug.com/591099 fast/multicol/tall-float2.html [ Failure ]
 crbug.com/591099 fast/multicol/tall-line-in-short-block.html [ Failure ]
 crbug.com/591099 fast/multicol/textarea-with-placeholder-as-multicol-crash.html [ Failure ]
 crbug.com/591099 fast/multicol/three-inner-rows.html [ Failure ]
 crbug.com/591099 fast/multicol/transform-inside-opacity.html [ Failure ]
-crbug.com/591099 fast/multicol/transform-with-fixedpos.html [ Crash ]
+crbug.com/591099 fast/multicol/transform-with-fixedpos.html [ Crash Failure ]
 crbug.com/591099 fast/multicol/triply-nested-with-padding-crash.html [ Failure ]
 crbug.com/591099 fast/multicol/unbreakable-block-too-tall-to-fit.html [ Failure ]
 crbug.com/591099 fast/multicol/unbreakable-content-taller-than-height-crash.html [ Failure ]
@@ -11544,7 +12089,8 @@
 crbug.com/591099 fast/overflow/007.html [ Failure ]
 crbug.com/591099 fast/overflow/008.html [ Failure ]
 crbug.com/591099 fast/overflow/add-visual-overflow-and-change-container-position.html [ Failure ]
-crbug.com/591099 fast/overflow/border-radius-clipping.html [ Failure ]
+crbug.com/591099 fast/overflow/before-after-overflow-hidden-vertical-writing-mode-rl.html [ Failure ]
+crbug.com/591099 fast/overflow/border-radius-clipping.html [ Crash Failure ]
 crbug.com/591099 fast/overflow/child-100percent-height-inside-fixed-container-with-overflow-auto.html [ Failure ]
 crbug.com/591099 fast/overflow/childFocusRingClip.html [ Failure ]
 crbug.com/591099 fast/overflow/clip-rects-fixed-ancestor.html [ Failure ]
@@ -11552,7 +12098,8 @@
 crbug.com/591099 fast/overflow/float-in-relpositioned.html [ Failure ]
 crbug.com/591099 fast/overflow/generated-content-crash.html [ Failure ]
 crbug.com/591099 fast/overflow/height-during-simplified-layout.html [ Failure ]
-crbug.com/591099 fast/overflow/hidden-html-paged-body.html [ Crash ]
+crbug.com/591099 fast/overflow/hidden-html-auto-body.html [ Failure ]
+crbug.com/591099 fast/overflow/hidden-html-paged-body.html [ Crash Failure ]
 crbug.com/591099 fast/overflow/hidden-viewport-x.html [ Failure ]
 crbug.com/591099 fast/overflow/hidden-viewport-y.html [ Failure ]
 crbug.com/591099 fast/overflow/hit-test-overflow-controls.html [ Failure ]
@@ -11590,7 +12137,8 @@
 crbug.com/591099 fast/overflow/scrollbar-restored-and-then-locked.html [ Failure ]
 crbug.com/591099 fast/overflow/scrollbar-restored.html [ Failure ]
 crbug.com/591099 fast/overflow/scroll-div-hide-show.html [ Failure ]
-crbug.com/591099 fast/overflow/scroll-html-paged-body.html [ Crash ]
+crbug.com/591099 fast/overflow/scroll-html-hidden-body.html [ Failure ]
+crbug.com/591099 fast/overflow/scroll-html-paged-body.html [ Crash Pass ]
 crbug.com/591099 fast/overflow/scroll-nested-positioned-layer-in-overflow.html [ Failure ]
 crbug.com/591099 fast/overflow/scrollRevealButton.html [ Failure ]
 crbug.com/591099 fast/overflow/scroll-vertical-not-horizontal.html [ Failure ]
@@ -11600,33 +12148,36 @@
 crbug.com/591099 fast/overflow/unreachable-content-test.html [ Crash ]
 crbug.com/591099 fast/overflow/unreachable-overflow-rtl-bug.html [ Failure ]
 crbug.com/591099 fast/pagination/auto-height.html [ Crash ]
-crbug.com/591099 fast/pagination/auto-height-with-break.html [ Crash ]
-crbug.com/591099 fast/pagination/break-in-paged-overflow.html [ Crash ]
-crbug.com/591099 fast/pagination/caret-range-outside-paged-x.html [ Crash ]
-crbug.com/591099 fast/pagination/caret-range-outside-paged-x-rtl.html [ Crash ]
-crbug.com/591099 fast/pagination/caret-range-outside-paged-x-rtl-vertical-rl.html [ Crash ]
-crbug.com/591099 fast/pagination/caret-range-outside-paged-x-vertical-rl.html [ Crash ]
-crbug.com/591099 fast/pagination/caret-range-outside-paged-y.html [ Crash ]
-crbug.com/591099 fast/pagination/caret-range-outside-paged-y-rtl.html [ Crash ]
-crbug.com/591099 fast/pagination/caret-range-outside-paged-y-rtl-vertical-rl.html [ Crash ]
+crbug.com/591099 fast/pagination/auto-height-with-break.html [ Crash Failure ]
+crbug.com/591099 fast/pagination/body-make-unpaginated.html [ Failure ]
+crbug.com/591099 fast/pagination/break-in-paged-overflow.html [ Crash Failure ]
+crbug.com/591099 fast/pagination/caret-range-outside-paged-x.html [ Crash Failure ]
+crbug.com/591099 fast/pagination/caret-range-outside-paged-x-rtl.html [ Crash Failure ]
+crbug.com/591099 fast/pagination/caret-range-outside-paged-x-rtl-vertical-rl.html [ Crash Failure ]
+crbug.com/591099 fast/pagination/caret-range-outside-paged-x-vertical-rl.html [ Crash Failure ]
+crbug.com/591099 fast/pagination/caret-range-outside-paged-y.html [ Crash Failure ]
+crbug.com/591099 fast/pagination/caret-range-outside-paged-y-rtl.html [ Crash Failure ]
+crbug.com/591099 fast/pagination/caret-range-outside-paged-y-rtl-vertical-rl.html [ Crash Failure ]
 crbug.com/591099 fast/pagination/div-make-paginated.html [ Crash ]
-crbug.com/591099 fast/pagination/div-x-horizontal-tb-ltr.html [ Crash ]
-crbug.com/591099 fast/pagination/div-x-horizontal-tb-rtl.html [ Crash ]
-crbug.com/591099 fast/pagination/div-x-vertical-lr-ltr.html [ Crash ]
-crbug.com/591099 fast/pagination/div-x-vertical-lr-rtl.html [ Crash ]
-crbug.com/591099 fast/pagination/div-x-vertical-rl-ltr.html [ Crash ]
-crbug.com/591099 fast/pagination/div-x-vertical-rl-rtl.html [ Crash ]
-crbug.com/591099 fast/pagination/div-y-horizontal-tb-ltr.html [ Crash ]
-crbug.com/591099 fast/pagination/div-y-horizontal-tb-rtl.html [ Crash ]
-crbug.com/591099 fast/pagination/div-y-vertical-lr-ltr.html [ Crash ]
-crbug.com/591099 fast/pagination/div-y-vertical-lr-rtl.html [ Crash ]
-crbug.com/591099 fast/pagination/div-y-vertical-rl-ltr.html [ Crash ]
-crbug.com/591099 fast/pagination/div-y-vertical-rl-rtl.html [ Crash ]
-crbug.com/591099 fast/pagination/first-letter-inherit-all-crash.html [ Crash ]
-crbug.com/591099 fast/pagination/modal-dialog-crash.html [ Crash ]
-crbug.com/591099 fast/pagination/multicol.html [ Crash ]
-crbug.com/591099 fast/pagination/short-pages-tall-content.html [ Crash ]
-crbug.com/591099 fast/pagination/very-tall-auto-height-crash.html [ Crash ]
+crbug.com/591099 fast/pagination/div-x-horizontal-tb-ltr.html [ Crash Failure ]
+crbug.com/591099 fast/pagination/div-x-horizontal-tb-rtl.html [ Crash Failure ]
+crbug.com/591099 fast/pagination/div-x-vertical-lr-ltr.html [ Crash Failure ]
+crbug.com/591099 fast/pagination/div-x-vertical-lr-rtl.html [ Crash Failure ]
+crbug.com/591099 fast/pagination/div-x-vertical-rl-ltr.html [ Crash Failure ]
+crbug.com/591099 fast/pagination/div-x-vertical-rl-rtl.html [ Crash Failure ]
+crbug.com/591099 fast/pagination/div-y-horizontal-tb-ltr.html [ Crash Failure ]
+crbug.com/591099 fast/pagination/div-y-horizontal-tb-rtl.html [ Crash Failure ]
+crbug.com/591099 fast/pagination/div-y-vertical-lr-ltr.html [ Crash Failure ]
+crbug.com/591099 fast/pagination/div-y-vertical-lr-rtl.html [ Crash Failure ]
+crbug.com/591099 fast/pagination/div-y-vertical-rl-ltr.html [ Crash Failure ]
+crbug.com/591099 fast/pagination/div-y-vertical-rl-rtl.html [ Crash Failure ]
+crbug.com/591099 fast/pagination/first-letter-inherit-all-crash.html [ Crash Failure ]
+crbug.com/591099 fast/pagination/modal-dialog-crash.html [ Crash Failure ]
+crbug.com/591099 fast/pagination/multicol.html [ Crash Failure ]
+crbug.com/591099 fast/pagination/paged-x-to-paged-y.html [ Failure ]
+crbug.com/591099 fast/pagination/paged-y-to-paged-x.html [ Failure ]
+crbug.com/591099 fast/pagination/short-pages-tall-content.html [ Crash Failure ]
+crbug.com/591099 fast/pagination/very-tall-auto-height-crash.html [ Crash Failure ]
 crbug.com/591099 fast/parser/001.html [ Failure ]
 crbug.com/591099 fast/parser/ampersand-escaped-parseXMLFragment.xhtml [ Failure ]
 crbug.com/591099 fast/parser/area-in-div.html [ Failure ]
@@ -11642,12 +12193,12 @@
 crbug.com/591099 fast/parser/broken-comment-6.html [ Failure ]
 crbug.com/591099 fast/parser/broken-comments-vs-parsing-mode.html [ Failure ]
 crbug.com/591099 fast/parser/close-while-stopping.html [ Failure ]
-crbug.com/591099 fast/parser/comment-in-script.html [ Failure ]
+crbug.com/591099 fast/parser/comment-in-script.html [ Failure Pass ]
 crbug.com/591099 fast/parser/comment-in-textarea.html [ Failure ]
 crbug.com/591099 fast/parser/comments.html [ Failure ]
 crbug.com/591099 fast/parser/crash-HTMLParser-createHead.html [ Failure ]
 crbug.com/591099 fast/parser/disable-frameset-ok-flag-inside-template.html [ Crash ]
-crbug.com/591099 fast/parser/document-open-in-unload.html [ Crash ]
+crbug.com/591099 fast/parser/document-open-in-unload.html [ Crash Failure ]
 crbug.com/591099 fast/parser/document-reload-with-failed-deferred-scripts.html [ Failure ]
 crbug.com/591099 fast/parser/document-write-into-initial-document.html [ Crash ]
 crbug.com/591099 fast/parser/document-write-onload-nesting.html [ Failure ]
@@ -11718,7 +12269,7 @@
 crbug.com/591099 fast/parser/title-error-test.html [ Failure ]
 crbug.com/591099 fast/parser/tokenizer-close-during-document-write.html [ Failure ]
 crbug.com/591099 fast/parser/write-script-waiting-for-style-crash.html [ Crash ]
-crbug.com/591099 fast/parser/xhtml-alternate-entities.xml [ Failure ]
+crbug.com/591099 fast/parser/xhtml-alternate-entities.xml [ Crash Failure ]
 crbug.com/591099 fast/parser/xhtml-document-with-html-object.xhtml [ Failure ]
 crbug.com/591099 fast/parser/xhtml-dom-character-data-modified-crash.html [ Crash ]
 crbug.com/591099 fast/parser/xhtml-html-comment-in-style-block.xhtml [ Failure ]
@@ -11774,7 +12325,7 @@
 crbug.com/591099 fast/replaced/005.html [ Failure ]
 crbug.com/591099 fast/replaced/006.html [ Failure ]
 crbug.com/591099 fast/replaced/007.html [ Failure ]
-crbug.com/591099 fast/replaced/008.html [ Failure ]
+crbug.com/591099 fast/replaced/008.html [ Crash Failure ]
 crbug.com/591099 fast/replaced/absolute-image-sizing.html [ Failure ]
 crbug.com/591099 fast/replaced/absolute-position-auto-width-and-left-and-right-and-intrinsic-width.html [ Failure ]
 crbug.com/591099 fast/replaced/absolute-position-auto-width-and-left-and-right-and-intrinsic-width-quirks.html [ Failure ]
@@ -11996,6 +12547,7 @@
 crbug.com/591099 fast/scrolling/scroll-non-descendant-of-root-scroller.html [ Failure ]
 crbug.com/591099 fast/scrolling/scroll-to-origin-with-options-no-layout.html [ Failure ]
 crbug.com/591099 fast/scrolling/set-root-scroller.html [ Failure ]
+crbug.com/591099 fast/selectors/007b.html [ Failure Pass ]
 crbug.com/591099 fast/selectors/012.html [ Failure ]
 crbug.com/591099 fast/selectors/018b.html [ Failure ]
 crbug.com/591099 fast/selectors/018.html [ Failure ]
@@ -12013,14 +12565,18 @@
 crbug.com/591099 fast/selectors/043b.html [ Failure ]
 crbug.com/591099 fast/selectors/043.html [ Failure ]
 crbug.com/591099 fast/selectors/044b.html [ Failure ]
+crbug.com/591099 fast/selectors/044d.html [ Crash ]
 crbug.com/591099 fast/selectors/044.html [ Failure ]
+crbug.com/591099 fast/selectors/046.html [ Failure ]
 crbug.com/591099 fast/selectors/061.html [ Failure ]
 crbug.com/591099 fast/selectors/062.html [ Failure ]
+crbug.com/591099 fast/selectors/063.html [ Crash ]
 crbug.com/591099 fast/selectors/065.html [ Failure ]
 crbug.com/591099 fast/selectors/066.html [ Failure ]
 crbug.com/591099 fast/selectors/077b.html [ Failure ]
 crbug.com/591099 fast/selectors/077.html [ Failure ]
 crbug.com/591099 fast/selectors/078b.html [ Failure ]
+crbug.com/591099 fast/selectors/155.html [ Failure ]
 crbug.com/591099 fast/selectors/166a.html [ Failure ]
 crbug.com/591099 fast/selectors/166.html [ Failure ]
 crbug.com/591099 fast/selectors/168a.html [ Failure ]
@@ -12092,8 +12648,8 @@
 crbug.com/591099 fast/shapes/shape-outside-floats/shape-outside-floats-inset.html [ Failure ]
 crbug.com/591099 fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-bottom-left.html [ Failure ]
 crbug.com/591099 fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-bottom-right.html [ Failure ]
-crbug.com/591099 fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-different-writing-modes-left.html [ Crash ]
-crbug.com/591099 fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-different-writing-modes-right.html [ Crash ]
+crbug.com/591099 fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-different-writing-modes-left.html [ Crash Failure ]
+crbug.com/591099 fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-different-writing-modes-right.html [ Crash Failure ]
 crbug.com/591099 fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-large-radius.html [ Failure ]
 crbug.com/591099 fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-top-left.html [ Failure ]
 crbug.com/591099 fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-top-right.html [ Failure ]
@@ -12101,14 +12657,14 @@
 crbug.com/591099 fast/shapes/shape-outside-floats/shape-outside-floats-negative-top-margin.html [ Failure ]
 crbug.com/591099 fast/shapes/shape-outside-floats/shape-outside-floats-not-a-layer.html [ Failure ]
 crbug.com/591099 fast/shapes/shape-outside-floats/shape-outside-floats-outermost.html [ Failure ]
-crbug.com/591099 fast/shapes/shape-outside-floats/shape-outside-floats-polygon-000.html [ Crash ]
+crbug.com/591099 fast/shapes/shape-outside-floats/shape-outside-floats-polygon-000.html [ Crash Failure ]
 crbug.com/591099 fast/shapes/shape-outside-floats/shape-outside-floats-polygon-001.html [ Failure ]
 crbug.com/591099 fast/shapes/shape-outside-floats/shape-outside-floats-polygon-002.html [ Failure ]
 crbug.com/591099 fast/shapes/shape-outside-floats/shape-outside-floats-shape-margin-crash.html [ Failure ]
 crbug.com/591099 fast/shapes/shape-outside-floats/shape-outside-floats-shape-margin-percent.html [ Failure ]
-crbug.com/591099 fast/shapes/shape-outside-floats/shape-outside-floats-stacked-000.html [ Crash ]
-crbug.com/591099 fast/shapes/shape-outside-floats/shape-outside-floats-stacked-001.html [ Crash ]
-crbug.com/591099 fast/shapes/shape-outside-floats/shape-outside-floats-stacked-002.html [ Crash ]
+crbug.com/591099 fast/shapes/shape-outside-floats/shape-outside-floats-stacked-000.html [ Crash Failure ]
+crbug.com/591099 fast/shapes/shape-outside-floats/shape-outside-floats-stacked-001.html [ Crash Failure ]
+crbug.com/591099 fast/shapes/shape-outside-floats/shape-outside-floats-stacked-002.html [ Crash Failure ]
 crbug.com/591099 fast/shapes/shape-outside-floats/shape-outside-image-fit-001.html [ Failure ]
 crbug.com/591099 fast/shapes/shape-outside-floats/shape-outside-image-fit-002.html [ Failure ]
 crbug.com/591099 fast/shapes/shape-outside-floats/shape-outside-image-fit-003.html [ Failure ]
@@ -12120,7 +12676,7 @@
 crbug.com/591099 fast/shapes/shape-outside-floats/shape-outside-linear-gradient.html [ Failure ]
 crbug.com/591099 fast/shapes/shape-outside-floats/shape-outside-line-height-crash2.html [ Failure ]
 crbug.com/591099 fast/shapes/shape-outside-floats/shape-outside-line-height-crash.html [ Failure ]
-crbug.com/591099 fast/shapes/shape-outside-floats/shape-outside-negative-height-crash.html [ Crash ]
+crbug.com/591099 fast/shapes/shape-outside-floats/shape-outside-negative-height-crash.html [ Crash Failure ]
 crbug.com/591099 fast/shapes/shape-outside-floats/shape-outside-one-pixel.html [ Failure ]
 crbug.com/591099 fast/shapes/shape-outside-floats/shape-outside-polygon-012.html [ Failure ]
 crbug.com/591099 fast/shapes/shape-outside-floats/shape-outside-polygon-013.html [ Failure ]
@@ -12198,6 +12754,7 @@
 crbug.com/591099 fast/sub-pixel/float-with-right-margin-zoom.html [ Failure ]
 crbug.com/591099 fast/sub-pixel/float-wrap-with-subpixel-top.html [ Failure ]
 crbug.com/591099 fast/sub-pixel/float-wrap-zoom.html [ Failure ]
+crbug.com/591099 fast/sub-pixel/inline-block-with-margin.html [ Failure ]
 crbug.com/591099 fast/sub-pixel/inline-block-with-padding.html [ Failure ]
 crbug.com/591099 fast/sub-pixel/replaced-element-baseline.html [ Failure ]
 crbug.com/591099 fast/sub-pixel/selection/selection-rect-in-sub-pixel-table.html [ Failure ]
@@ -12208,6 +12765,7 @@
 crbug.com/591099 fast/sub-pixel/sub-pixel-precision-on-height-of-replaced-element.html [ Failure ]
 crbug.com/591099 fast/sub-pixel/sub-pixel-root-layer.html [ Failure ]
 crbug.com/591099 fast/sub-pixel/table-rows-have-stable-height.html [ Failure ]
+crbug.com/591099 fast/sub-pixel/table-with-subpixel-cell-size.html [ Crash Pass ]
 crbug.com/591099 fast/sub-pixel/vertical-align-middle-overflow.html [ Failure ]
 crbug.com/591099 fast/table/002.html [ Failure ]
 crbug.com/591099 fast/table/003.html [ Failure ]
@@ -12243,6 +12801,7 @@
 crbug.com/591099 fast/table/035-vertical.html [ Failure ]
 crbug.com/591099 fast/table/036.html [ Failure ]
 crbug.com/591099 fast/table/037.xml [ Failure ]
+crbug.com/591099 fast/table/038-vertical.html [ Failure ]
 crbug.com/591099 fast/table/039.html [ Failure ]
 crbug.com/591099 fast/table/040.html [ Failure ]
 crbug.com/591099 fast/table/040-vertical.html [ Failure ]
@@ -12267,6 +12826,7 @@
 crbug.com/591099 fast/table/backgr_layers-opacity.html [ Failure ]
 crbug.com/591099 fast/table/backgr_layers-show-collapsed-border.html [ Failure ]
 crbug.com/591099 fast/table/backgr_layers-show.html [ Failure ]
+crbug.com/591099 fast/table/backgr_position-table-cell.html [ Failure ]
 crbug.com/591099 fast/table/backgr_position-table-column-collapsed-border.html [ Failure ]
 crbug.com/591099 fast/table/backgr_position-table-column-group-collapsed-border.html [ Failure ]
 crbug.com/591099 fast/table/backgr_position-table-column-group.html [ Failure ]
@@ -12290,6 +12850,7 @@
 crbug.com/591099 fast/table/border-collapsing/collapsed-border-with-col-colgroup-span.html [ Failure ]
 crbug.com/591099 fast/table/border-collapsing/dynamic-border-width-change.html [ Failure ]
 crbug.com/591099 fast/table/border-collapsing/equal-precedence-resolution.html [ Failure ]
+crbug.com/591099 fast/table/border-collapsing/equal-precedence-resolution-vertical.html [ Failure ]
 crbug.com/591099 fast/table/border-collapsing/rtl-border-collapsing.html [ Failure ]
 crbug.com/591099 fast/table/border-collapsing/rtl-border-collapsing-vertical.html [ Failure ]
 crbug.com/591099 fast/table/border-radius-with-image.html [ Failure ]
@@ -12347,9 +12908,10 @@
 crbug.com/591099 fast/table/empty-cells-spread-2.html [ Failure ]
 crbug.com/591099 fast/table/empty-cells-spread.html [ Failure ]
 crbug.com/591099 fast/table/empty-table-percent-height.html [ Failure ]
-crbug.com/591099 fast/table/fixed-granular-cols.html [ Failure ]
+crbug.com/591099 fast/table/fixed-granular-cols.html [ Crash Failure ]
 crbug.com/591099 fast/table/fixed-nested.html [ Failure ]
 crbug.com/591099 fast/table/fixed-table-layout/colgroup-removal-crash.html [ Failure ]
+crbug.com/591099 fast/table/fixed-table-layout/column-in-column-group-box-sizing-fixed-table-layout.html [ Failure ]
 crbug.com/591099 fast/table/fixed-table-layout/fixed-layout-column-colspan-wrong-size.html [ Failure ]
 crbug.com/591099 fast/table/fixed-table-layout-large-colspan-crash.html [ Failure ]
 crbug.com/591099 fast/table/fixed-table-layout/prepend-in-fixed-table.html [ Failure ]
@@ -12371,7 +12933,7 @@
 crbug.com/591099 fast/table/height-percent-test.html [ Failure ]
 crbug.com/591099 fast/table/height-percent-test-vertical.html [ Failure ]
 crbug.com/591099 fast/table/hittest-tablecell-bottom-edge.html [ Failure Timeout ]
-crbug.com/591099 fast/table/hittest-tablecell-right-edge.html [ Failure ]
+crbug.com/591099 fast/table/hittest-tablecell-right-edge.html [ Failure Timeout ]
 crbug.com/591099 fast/table/hittest-tablecell-with-borders-bottom-edge.html [ Failure Timeout ]
 crbug.com/591099 fast/table/hittest-tablecell-with-borders-right-edge.html [ Failure Timeout ]
 crbug.com/591099 fast/table/incomplete-table-in-fragment-2.html [ Failure ]
@@ -12389,6 +12951,7 @@
 crbug.com/591099 fast/table/large-shrink-wrapped-width.html [ Failure ]
 crbug.com/591099 fast/table/large-width.html [ Failure ]
 crbug.com/591099 fast/table/margins-flipped-text-direction.html [ Failure ]
+crbug.com/591099 fast/table/margins-perpendicular-containing-block.html [ Failure ]
 crbug.com/591099 fast/table/min-width-css-block-table.html [ Timeout ]
 crbug.com/591099 fast/table/min-width-css-inline-table.html [ Timeout ]
 crbug.com/591099 fast/table/min-width-html-block-table.html [ Timeout ]
@@ -12516,6 +13079,8 @@
 crbug.com/591099 fast/table/vertical-align-baseline.html [ Failure ]
 crbug.com/591099 fast/table/whitespace-in-table-cells-when-div-appended-2.html [ Failure ]
 crbug.com/591099 fast/table/whitespace-in-table-cells-when-div-appended.html [ Failure ]
+crbug.com/591099 fast/table/wide-colspan.html [ Failure ]
+crbug.com/591099 fast/table/wide-column.html [ Failure ]
 crbug.com/591099 fast/text/align-center-rtl-spill.html [ Failure ]
 crbug.com/591099 fast/text/apply-start-width-after-skipped-text.html [ Failure ]
 crbug.com/591099 fast/text/atsui-kerning-and-ligatures.html [ Failure ]
@@ -12810,7 +13375,7 @@
 crbug.com/591099 fast/text/offsetForPosition-cluster-at-zero.html [ Failure ]
 crbug.com/591099 fast/text/offsetForPosition-complex-fallback.html [ Failure ]
 crbug.com/591099 fast/text/orientation-sideways.html [ Failure ]
-crbug.com/591099 fast/text/output-isolate-at-end-of-line-crash.html [ Crash ]
+crbug.com/591099 fast/text/output-isolate-at-end-of-line-crash.html [ Crash Failure ]
 crbug.com/591099 fast/text/place-ellipsis-in-inline-blocks-align-center.html [ Failure ]
 crbug.com/591099 fast/text/place-ellipsis-in-inline-blocks-align-justify.html [ Failure ]
 crbug.com/591099 fast/text/place-ellipsis-in-inline-blocks-align-left.html [ Failure ]
@@ -12934,7 +13499,7 @@
 crbug.com/591099 fast/text/word-space-monospace.html [ Failure ]
 crbug.com/591099 fast/text/word-space-with-kerning-2.html [ Failure ]
 crbug.com/591099 fast/text/word-spacing-nbsp.html [ Failure ]
-crbug.com/591099 fast/text/writing-root-with-overflow-clip-baseline.html [ Crash ]
+crbug.com/591099 fast/text/writing-root-with-overflow-clip-baseline.html [ Crash Failure ]
 crbug.com/591099 fast/text/zero-font-size.html [ Failure ]
 crbug.com/591099 fast/text/zero-width-characters-complex-script.html [ Failure ]
 crbug.com/591099 fast/text/zero-width-characters.html [ Failure ]
@@ -12951,6 +13516,7 @@
 crbug.com/591099 fast/tokenizer/missing-style-end-tag-2.html [ Failure ]
 crbug.com/591099 fast/tokenizer/nested-cached-scripts-and-stylesheet.html [ Failure ]
 crbug.com/591099 fast/tokenizer/nested-cached-scripts.html [ Failure ]
+crbug.com/591099 fast/tokenizer/nested-multiple-scripts.html [ Failure ]
 crbug.com/591099 fast/tokenizer/script_extra_close.html [ Failure ]
 crbug.com/591099 fast/tokenizer/write-partial-entity.html [ Failure ]
 crbug.com/591099 fast/tokenizer/write-unclosed-script.html [ Failure ]
@@ -13086,6 +13652,7 @@
 crbug.com/591099 fast/writing-mode/html-and-body-writing-mode-propagation.html [ Crash Failure ]
 crbug.com/591099 fast/writing-mode/html-direction-propagation.html [ Failure ]
 crbug.com/591099 fast/writing-mode/html-writing-mode-propagation.html [ Failure ]
+crbug.com/591099 fast/writing-mode/inline-direction-positioning.html [ Failure ]
 crbug.com/591099 fast/writing-mode/japanese-lr-selection.html [ Failure ]
 crbug.com/591099 fast/writing-mode/japanese-lr-text.html [ Failure ]
 crbug.com/591099 fast/writing-mode/japanese-rl-selection.html [ Failure ]
@@ -13095,8 +13662,10 @@
 crbug.com/591099 fast/writing-mode/japanese-ruby-vertical-rl.html [ Failure ]
 crbug.com/591099 fast/writing-mode/Kusa-Makura-background-canvas.html [ Failure ]
 crbug.com/591099 fast/writing-mode/logical-height-after-clear.html [ Failure ]
+crbug.com/591099 fast/writing-mode/margin-collapse.html [ Failure ]
 crbug.com/591099 fast/writing-mode/margins.html [ Failure ]
 crbug.com/591099 fast/writing-mode/orthogonal-writing-modes-available-width-absolute-crash.html [ Failure ]
+crbug.com/591099 fast/writing-mode/orthogonal-writing-modes-change-root-inline-crash.html [ Crash ]
 crbug.com/591099 fast/writing-mode/orthogonal-writing-modes-floats-crash-3.html [ Crash ]
 crbug.com/591099 fast/writing-mode/orthogonal-writing-modes-in-layoutview-with-floats.html [ Crash ]
 crbug.com/591099 fast/writing-mode/orthogonal-writing-modes-scrollbarpart-crash.html [ Failure ]
@@ -13105,7 +13674,7 @@
 crbug.com/591099 fast/writing-mode/percentage-margins-absolute.html [ Failure ]
 crbug.com/591099 fast/writing-mode/percentage-margins-absolute-replaced.html [ Failure ]
 crbug.com/591099 fast/writing-mode/table-hit-test.html [ Failure ]
-crbug.com/591099 fast/writing-mode/table-percent-width-quirk.html [ Crash ]
+crbug.com/591099 fast/writing-mode/table-percent-width-quirk.html [ Crash Failure ]
 crbug.com/591099 fast/writing-mode/table-vertical-child-width.html [ Failure ]
 crbug.com/591099 fast/writing-mode/text-combine-compress.html [ Crash ]
 crbug.com/591099 fast/writing-mode/text-combine-justify.html [ Failure ]
@@ -13264,6 +13833,7 @@
 crbug.com/591099 fragmentation/single-line-cells-in-multiple-table-sections.html [ Failure ]
 crbug.com/591099 fragmentation/single-line-cells-nested-repeating-thead-3.html [ Failure ]
 crbug.com/591099 fragmentation/single-line-cells-paginated.html [ Failure ]
+crbug.com/591099 fragmentation/single-line-cells-paginated-with-text.html [ Failure ]
 crbug.com/591099 fragmentation/single-line-cells-repeating-thead-cell-straddles-page.html [ Failure ]
 crbug.com/591099 fragmentation/table-disable-fragmentation.html [ Failure ]
 crbug.com/591099 fragmentation/table-in-subpixel-fragmentainer.html [ Failure ]
@@ -13401,7 +13971,7 @@
 crbug.com/591099 html/details_summary/details-clone.html [ Failure ]
 crbug.com/591099 html/details_summary/details-keyboard-show-hide.html [ Failure ]
 crbug.com/591099 html/details_summary/details-marker-style.html [ Failure ]
-crbug.com/591099 html/details_summary/details-mouse-click.html [ Crash ]
+crbug.com/591099 html/details_summary/details-mouse-click.html [ Crash Failure ]
 crbug.com/591099 html/details_summary/details-nested-1.html [ Failure ]
 crbug.com/591099 html/details_summary/details-nested-2.html [ Failure ]
 crbug.com/591099 html/details_summary/details-no-summary1.html [ Failure ]
@@ -13430,7 +14000,7 @@
 crbug.com/591099 html/details_summary/details-remove-summary-5-and-click.html [ Failure ]
 crbug.com/591099 html/details_summary/details-remove-summary-5.html [ Failure ]
 crbug.com/591099 html/details_summary/details-remove-summary-6-and-click.html [ Failure ]
-crbug.com/591099 html/details_summary/details-remove-summary-6.html [ Failure ]
+crbug.com/591099 html/details_summary/details-remove-summary-6.html [ Crash Failure ]
 crbug.com/591099 html/details_summary/details-remove-summary-child-1.html [ Failure ]
 crbug.com/591099 html/details_summary/details-remove-summary-child-2.html [ Failure ]
 crbug.com/591099 html/details_summary/details-replace-summary-child.html [ Failure ]
@@ -13503,6 +14073,7 @@
 crbug.com/591099 html/sections/hgroup-element.html [ Failure ]
 crbug.com/591099 html/sections/nav-element.html [ Failure ]
 crbug.com/591099 html/sections/numbered-header-element.html [ Failure ]
+crbug.com/591099 html/sections/remove-body-during-body-replacement2.html [ Timeout ]
 crbug.com/591099 html/sections/section-element.html [ Failure ]
 crbug.com/591099 html/tabular_data/col_width_resizing_table.html [ Failure ]
 crbug.com/591099 html/tabular_data/early-acid3-65-excerpt.html [ Failure ]
@@ -13543,13 +14114,14 @@
 crbug.com/591099 http/tests/appcache/different-https-origin-resource-main.html [ Failure ]
 crbug.com/591099 http/tests/appcache/different-origin-manifest.html [ Failure ]
 crbug.com/591099 http/tests/appcache/different-scheme.html [ Failure ]
-crbug.com/591099 http/tests/appcache/empty-manifest.html [ Timeout ]
+crbug.com/591099 http/tests/appcache/empty-manifest.html [ Pass Timeout ]
 crbug.com/591099 http/tests/appcache/exceptions.html [ Failure ]
+crbug.com/591099 http/tests/appcache/fail-on-update.html [ Timeout ]
 crbug.com/591099 http/tests/appcache/fallback.html [ Failure ]
 crbug.com/591099 http/tests/appcache/foreign-fallback.html [ Failure ]
 crbug.com/591099 http/tests/appcache/foreign-iframe-main.html [ Failure Timeout ]
 crbug.com/591099 http/tests/appcache/local-content.html [ Failure ]
-crbug.com/591099 http/tests/appcache/main-resource-hash.html [ Failure ]
+crbug.com/591099 http/tests/appcache/main-resource-hash.html [ Failure Timeout ]
 crbug.com/591099 http/tests/appcache/main-resource-redirect.html [ Failure ]
 crbug.com/591099 http/tests/appcache/manifest-parsing.html [ Failure ]
 crbug.com/591099 http/tests/appcache/manifest-redirect-2.html [ Failure ]
@@ -13557,15 +14129,16 @@
 crbug.com/591099 http/tests/appcache/modified-manifest.html [ Failure ]
 crbug.com/591099 http/tests/appcache/multi-fallback.html [ Failure ]
 crbug.com/591099 http/tests/appcache/non-html.xhtml [ Failure ]
-crbug.com/591099 http/tests/appcache/obsolete-error-events.html [ Failure ]
+crbug.com/591099 http/tests/appcache/obsolete-error-events.html [ Failure Timeout ]
 crbug.com/591099 http/tests/appcache/offline-access.html [ Failure ]
 crbug.com/591099 http/tests/appcache/online-fallback-layering.html [ Failure ]
 crbug.com/591099 http/tests/appcache/online-whitelist.html [ Failure ]
-crbug.com/591099 http/tests/appcache/progress-counter.html [ Timeout ]
+crbug.com/591099 http/tests/appcache/progress-counter.html [ Pass Timeout ]
 crbug.com/591099 http/tests/appcache/reload.html [ Failure ]
 crbug.com/591099 http/tests/appcache/remove-cache.html [ Failure ]
 crbug.com/591099 http/tests/appcache/resource-redirect-2.html [ Failure ]
 crbug.com/591099 http/tests/appcache/resource-redirect.html [ Failure ]
+crbug.com/591099 http/tests/appcache/simple.html [ Pass Timeout ]
 crbug.com/591099 http/tests/appcache/top-frame-1.html [ Failure ]
 crbug.com/591099 http/tests/appcache/top-frame-2.html [ Failure Timeout ]
 crbug.com/591099 http/tests/appcache/top-frame-3.html [ Failure ]
@@ -13581,7 +14154,7 @@
 crbug.com/591099 http/tests/cache/history-only-cached-subresource-loads.html [ Failure ]
 crbug.com/591099 http/tests/cache/history-only-cached-subresource-loads-max-age-https.html [ Failure ]
 crbug.com/591099 http/tests/cache/network-error-during-revalidation.html [ Failure ]
-crbug.com/591099 http/tests/cachestorage/serviceworker/credentials.html [ Timeout ]
+crbug.com/591099 http/tests/cachestorage/serviceworker/credentials.html [ Pass Timeout ]
 crbug.com/591099 http/tests/cache/subresource-fragment-identifier.html [ Crash ]
 crbug.com/591099 http/tests/cache/subresource-multiple-instances.html [ Failure ]
 crbug.com/591099 http/tests/cache/subresource-revalidation-referrer.html [ Failure ]
@@ -13704,12 +14277,14 @@
 crbug.com/591099 http/tests/htmlimports/encoding.html [ Failure ]
 crbug.com/591099 http/tests/htmlimports/import-script-block-crossorigin-dynamic.html [ Failure ]
 crbug.com/591099 http/tests/images/drag-image-to-desktop.html [ Timeout ]
+crbug.com/591099 http/tests/images/image-currentsrc-broken.html [ Crash ]
+crbug.com/591099 http/tests/images/image-currentsrc-error.html [ Crash ]
 crbug.com/591099 http/tests/images/image-currentsrc-invalid.html [ Crash ]
 crbug.com/591099 http/tests/images/image-error-event-not-firing.html [ Crash ]
 crbug.com/591099 http/tests/images/image-with-dpr-natural-dimensions.html [ Crash ]
 crbug.com/591099 http/tests/images/image-with-origin-header.html [ Failure ]
 crbug.com/591099 http/tests/images/png-partial-load-as-document.html [ Failure ]
-crbug.com/591099 http/tests/images/restyle-decode-error.html [ Crash ]
+crbug.com/591099 http/tests/images/restyle-decode-error.html [ Crash Pass ]
 crbug.com/591099 http/tests/incremental/doc-write-before-end.pl [ Crash ]
 crbug.com/591099 http/tests/incremental/frame-focus-before-load.html [ Failure ]
 crbug.com/591099 http/tests/incremental/slow-utf8-css.html [ Failure ]
@@ -13729,7 +14304,7 @@
 crbug.com/591099 http/tests/inspector/bindings/navigator-frame-attach-detach.html [ Failure Timeout ]
 crbug.com/591099 http/tests/inspector/bindings/navigator-frame-navigate.html [ Failure ]
 crbug.com/591099 http/tests/inspector/bindings/navigator-main-frame-navigated.html [ Failure ]
-crbug.com/591099 http/tests/inspector/bindings/navigator-multiple-frames.html [ Crash ]
+crbug.com/591099 http/tests/inspector/bindings/navigator-multiple-frames.html [ Crash Timeout ]
 crbug.com/591099 http/tests/inspector/bindings/shadowdom-bindings.html [ Failure ]
 crbug.com/591099 http/tests/inspector/bindings/shadowdom-navigator.html [ Failure ]
 crbug.com/591099 http/tests/inspector/bindings/sourcemap-bindings-multiple-frames.html [ Crash ]
@@ -13739,7 +14314,7 @@
 crbug.com/591099 http/tests/inspector/cache-storage/cache-entry-deletion.html [ Failure ]
 crbug.com/591099 http/tests/inspector/cache-storage/cache-names.html [ Failure ]
 crbug.com/591099 http/tests/inspector/change-iframe-src.html [ Crash ]
-crbug.com/591099 http/tests/inspector/command-line-api-inspect.html [ Failure ]
+crbug.com/591099 http/tests/inspector/command-line-api-inspect.html [ Crash Failure ]
 crbug.com/591099 http/tests/inspector/compiler-script-mapping.html [ Failure ]
 crbug.com/591099 http/tests/inspector/compiler-source-mapping-debug.html [ Failure ]
 crbug.com/591099 http/tests/inspector/console-cd-completions.html [ Failure ]
@@ -13862,7 +14437,7 @@
 crbug.com/591099 http/tests/inspector/network/script-as-text-loading-with-caret.html [ Failure ]
 crbug.com/591099 http/tests/inspector/network/subresource-integrity-number-of-requests-for-script.html [ Failure ]
 crbug.com/591099 http/tests/inspector/network/subresource-integrity-number-of-requests-for-stylesheet.html [ Failure ]
-crbug.com/591099 http/tests/inspector/network/waterfall-images.html [ Failure ]
+crbug.com/591099 http/tests/inspector/network/waterfall-images.html [ Failure Pass ]
 crbug.com/591099 http/tests/inspector/network/x-frame-options-deny.html [ Failure ]
 crbug.com/591099 http/tests/inspector/persistence/automapping-absolute-paths.html [ Failure ]
 crbug.com/591099 http/tests/inspector/persistence/automapping-dynamic-uisourcecodes.html [ Failure ]
@@ -13889,15 +14464,15 @@
 crbug.com/591099 http/tests/inspector/persistence/persistence-tabbed-editor-tabs-order.html [ Failure ]
 crbug.com/591099 http/tests/inspector-protocol/access-inspected-object.html [ Failure Timeout ]
 crbug.com/591099 http/tests/inspector-protocol/cookies-protocol-test.html [ Failure Timeout ]
-crbug.com/591099 http/tests/inspector-protocol/network-data-length.html [ Failure ]
-crbug.com/591099 http/tests/inspector-protocol/override-referrer.html [ Timeout ]
+crbug.com/591099 http/tests/inspector-protocol/network-data-length.html [ Failure Timeout ]
+crbug.com/591099 http/tests/inspector-protocol/override-referrer.html [ Pass Timeout ]
 crbug.com/591099 http/tests/inspector-protocol/ping-redirect.html [ Failure Timeout ]
 crbug.com/591099 http/tests/inspector-protocol/reload-memory-cache.html [ Failure ]
 crbug.com/591099 http/tests/inspector-protocol/request-mixed-content-status-blockable.html [ Failure Timeout ]
-crbug.com/591099 http/tests/inspector-protocol/request-mixed-content-status-none.html [ Failure ]
+crbug.com/591099 http/tests/inspector-protocol/request-mixed-content-status-none.html [ Failure Timeout ]
 crbug.com/591099 http/tests/inspector-protocol/request-mixed-content-status-optionally-blockable.html [ Failure ]
-crbug.com/591099 http/tests/inspector-protocol/request-referrer-policy.html [ Failure ]
-crbug.com/591099 http/tests/inspector-protocol/runtime-get-properties-doesnt-crash-on-window-frame.html [ Timeout ]
+crbug.com/591099 http/tests/inspector-protocol/request-referrer-policy.html [ Crash Failure Timeout ]
+crbug.com/591099 http/tests/inspector-protocol/runtime-get-properties-doesnt-crash-on-window-frame.html [ Pass Timeout ]
 crbug.com/591099 http/tests/inspector-protocol/websocket/websocket-user-agent-override.html [ Failure ]
 crbug.com/591099 http/tests/inspector/resource-har-conversion.html [ Crash Failure ]
 crbug.com/591099 http/tests/inspector/resource-har-headers.html [ Failure ]
@@ -13928,13 +14503,13 @@
 crbug.com/591099 http/tests/inspector/search/source-frame-search.html [ Failure ]
 crbug.com/591099 http/tests/inspector/search/sources-search-scope-in-files.html [ Failure ]
 crbug.com/591099 http/tests/inspector/search/sources-search-scope-many-projects.html [ Failure ]
-crbug.com/591099 http/tests/inspector/security/active-and-passive-subresources-with-cert-errors.html [ Failure ]
+crbug.com/591099 http/tests/inspector/security/active-and-passive-subresources-with-cert-errors.html [ Failure Timeout ]
 crbug.com/591099 http/tests/inspector/security/active-subresource-with-cert-errors.html [ Failure ]
 crbug.com/591099 http/tests/inspector/security/blank-origins-not-shown.html [ Failure Timeout ]
 crbug.com/591099 http/tests/inspector/security/blocked-mixed-content-and-subresources-with-cert-errors.html [ Failure ]
 crbug.com/591099 http/tests/inspector/security/failed-request.html [ Failure ]
 crbug.com/591099 http/tests/inspector/security/interstitial-sidebar.html [ Failure ]
-crbug.com/591099 http/tests/inspector/security/main-origin-assigned-despite-request-missing.html [ Failure ]
+crbug.com/591099 http/tests/inspector/security/main-origin-assigned-despite-request-missing.html [ Failure Timeout ]
 crbug.com/591099 http/tests/inspector/security/mixed-content-active-and-passive-reload.html [ Failure ]
 crbug.com/591099 http/tests/inspector/security/mixed-content-and-subresources-with-cert-errors.html [ Failure ]
 crbug.com/591099 http/tests/inspector/security/mixed-content-reload.html [ Failure ]
@@ -13982,7 +14557,7 @@
 crbug.com/591099 http/tests/inspector/tracing/timeline-receive-response-event.html [ Crash ]
 crbug.com/591099 http/tests/inspector/tracing/timeline-script-parse.html [ Crash ]
 crbug.com/591099 http/tests/inspector/tracing/timeline-xhr-event.html [ Crash ]
-crbug.com/591099 http/tests/inspector/tracing/timeline-xhr-response-type-blob-event.html [ Crash ]
+crbug.com/591099 http/tests/inspector/tracing/timeline-xhr-response-type-blob-event.html [ Crash Timeout ]
 crbug.com/591099 http/tests/inspector/tracing/websocket/timeline-websocket-event.html [ Crash ]
 crbug.com/591099 http/tests/inspector-unit/list-control-equal-height.js [ Failure ]
 crbug.com/591099 http/tests/inspector-unit/list-control-various-height.js [ Failure ]
@@ -14004,9 +14579,15 @@
 crbug.com/591099 http/tests/loading/preload-css-test.html [ Failure ]
 crbug.com/591099 http/tests/loading/preload-image-sizes-2x.html [ Failure ]
 crbug.com/591099 http/tests/loading/preload-image-sizes.html [ Failure ]
+crbug.com/591099 http/tests/loading/preload-image-srcset-2x.html [ Crash Pass ]
+crbug.com/591099 http/tests/loading/preload-image-srcset-duplicate.html [ Crash Pass ]
+crbug.com/591099 http/tests/loading/preload-image-srcset.html [ Crash Pass ]
+crbug.com/591099 http/tests/loading/preload-image-srcset-reverse-order.html [ Crash Pass ]
+crbug.com/591099 http/tests/loading/preload-image-srcset-src-preloaded.html [ Crash Pass ]
+crbug.com/591099 http/tests/loading/preload-image-srcset-src-preloaded-reverse-order.html [ Crash Pass ]
 crbug.com/591099 http/tests/loading/preload-picture-invalid.html [ Crash Failure ]
-crbug.com/591099 http/tests/loading/preload-picture-nested.html [ Failure ]
-crbug.com/591099 http/tests/loading/preload-picture-sizes-2x.html [ Failure ]
+crbug.com/591099 http/tests/loading/preload-picture-nested.html [ Crash Failure ]
+crbug.com/591099 http/tests/loading/preload-picture-sizes-2x.html [ Crash Failure ]
 crbug.com/591099 http/tests/loading/preload-picture-sizes.html [ Failure ]
 crbug.com/591099 http/tests/loading/redirect-methods.html [ Failure ]
 crbug.com/591099 http/tests/loading/simple-subframe.html [ Failure ]
@@ -14015,10 +14596,10 @@
 crbug.com/591099 http/tests/local/blob/send-hybrid-blob.html [ Failure ]
 crbug.com/591099 http/tests/local/blob/send-sliced-data-blob.html [ Failure ]
 crbug.com/591099 http/tests/local/drag-over-remote-content.html [ Failure ]
-crbug.com/591099 http/tests/local/fileapi/file-last-modified-after-delete.html [ Crash ]
+crbug.com/591099 http/tests/local/fileapi/file-last-modified-after-delete.html [ Crash Failure ]
 crbug.com/591099 http/tests/local/fileapi/file-last-modified.html [ Crash ]
 crbug.com/591099 http/tests/local/fileapi/send-dragged-file.html [ Crash ]
-crbug.com/591099 http/tests/local/fileapi/send-sliced-dragged-file.html [ Crash ]
+crbug.com/591099 http/tests/local/fileapi/send-sliced-dragged-file.html [ Crash Failure ]
 crbug.com/591099 http/tests/local/file-url-sent-as-referer.html [ Failure ]
 crbug.com/591099 http/tests/local/formdata/send-form-data.html [ Failure ]
 crbug.com/591099 http/tests/local/formdata/send-form-data-with-bad-string.html [ Failure ]
@@ -14108,7 +14689,7 @@
 crbug.com/591099 http/tests/media/video-load-with-userpass.html [ Crash ]
 crbug.com/591099 http/tests/media/video-play-progress.html [ Crash ]
 crbug.com/591099 http/tests/media/video-play-stall-before-meta-data.html [ Crash ]
-crbug.com/591099 http/tests/media/video-play-stall.html [ Crash ]
+crbug.com/591099 http/tests/media/video-play-stall.html [ Crash Timeout ]
 crbug.com/591099 http/tests/media/video-query-url.html [ Crash ]
 crbug.com/591099 http/tests/media/video-referer.html [ Crash ]
 crbug.com/591099 http/tests/media/video-seek-to-duration.html [ Crash ]
@@ -14156,7 +14737,7 @@
 crbug.com/591099 http/tests/misc/delete-frame-during-readystatechange-with-gc-after-video-removal.html [ Crash ]
 crbug.com/591099 http/tests/misc/detach-during-notifyDone.html [ Crash ]
 crbug.com/591099 http/tests/misc/dns-prefetch-control.html [ Failure ]
-crbug.com/591099 http/tests/misc/DOMContentLoaded-event.html [ Failure ]
+crbug.com/591099 http/tests/misc/DOMContentLoaded-event.html [ Crash Failure ]
 crbug.com/591099 http/tests/misc/drag-over-iframe-invalid-source-crash.html [ Failure ]
 crbug.com/591099 http/tests/misc/empty-cookie.html [ Failure ]
 crbug.com/591099 http/tests/misc/empty-file-formdata.html [ Failure ]
@@ -14184,7 +14765,7 @@
 crbug.com/591099 http/tests/misc/location-replace-crossdomain.html [ Failure ]
 crbug.com/591099 http/tests/misc/object-embedding-svg-delayed-size-negotiation-2.htm [ Failure ]
 crbug.com/591099 http/tests/misc/object-embedding-svg-delayed-size-negotiation.xhtml [ Failure ]
-crbug.com/591099 http/tests/misc/object-image-error.html [ Crash ]
+crbug.com/591099 http/tests/misc/object-image-error.html [ Crash Failure ]
 crbug.com/591099 http/tests/misc/object-image-error-with-onload.html [ Crash Failure ]
 crbug.com/591099 http/tests/misc/onload-remove-iframe-crash-2.html [ Crash ]
 crbug.com/591099 http/tests/misc/percent-sign-in-form-field-name.html [ Failure ]
@@ -14208,7 +14789,7 @@
 crbug.com/591099 http/tests/misc/submit-post-in-utf16le.html [ Failure ]
 crbug.com/591099 http/tests/misc/submit-post-in-utf32be.html [ Failure ]
 crbug.com/591099 http/tests/misc/submit-post-in-utf32le.html [ Failure ]
-crbug.com/591099 http/tests/misc/uncacheable-script-repeated.html [ Failure ]
+crbug.com/591099 http/tests/misc/uncacheable-script-repeated.html [ Crash Failure ]
 crbug.com/591099 http/tests/misc/unloadable-script.html [ Failure ]
 crbug.com/591099 http/tests/misc/webtiming-buffer-full-no-event.html [ Failure ]
 crbug.com/591099 http/tests/misc/webtiming-cross-origin-and-back.html [ Failure ]
@@ -14237,9 +14818,10 @@
 crbug.com/591099 http/tests/navigation/form-targets-cross-site-frame-post.html [ Failure ]
 crbug.com/591099 http/tests/navigation/form-with-enctype-targets-cross-site-frame.html [ Failure ]
 crbug.com/591099 http/tests/navigation/forward-and-cancel.html [ Failure ]
-crbug.com/591099 http/tests/navigation/forward-to-fragment-fires-onload.html [ Failure ]
+crbug.com/591099 http/tests/navigation/forward-to-fragment-fires-onload.html [ Crash Failure ]
 crbug.com/591099 http/tests/navigation/history-back-across-form-submission-to-fragment.html [ Failure ]
 crbug.com/591099 http/tests/navigation/image-load-in-subframe-unload-handler.html [ Crash ]
+crbug.com/591099 http/tests/navigation/image-load-in-unload-handler.html [ Crash ]
 crbug.com/591099 http/tests/navigation/javascriptlink-basic.html [ Timeout ]
 crbug.com/591099 http/tests/navigation/javascriptlink-frames.html [ Timeout ]
 crbug.com/591099 http/tests/navigation/javascriptlink-goback.html [ Timeout ]
@@ -14248,14 +14830,14 @@
 crbug.com/591099 http/tests/navigation/metaredirect-basic.html [ Failure ]
 crbug.com/591099 http/tests/navigation/metaredirect-goback.html [ Failure ]
 crbug.com/591099 http/tests/navigation/navigate-during-commit.html [ Crash ]
-crbug.com/591099 http/tests/navigation/navigation-with-detached-origin-document.html [ Crash ]
+crbug.com/591099 http/tests/navigation/navigation-with-detached-origin-document.html [ Crash Pass ]
 crbug.com/591099 http/tests/navigation/no-referrer-reset.html [ Timeout ]
 crbug.com/591099 http/tests/navigation/no-referrer-same-window.html [ Timeout ]
 crbug.com/591099 http/tests/navigation/no-referrer-subframe.html [ Timeout ]
 crbug.com/591099 http/tests/navigation/no-referrer-target-blank.html [ Timeout ]
 crbug.com/591099 http/tests/navigation/onload-navigation-iframe-2.html [ Failure ]
-crbug.com/591099 http/tests/navigation/ping-cookie.html [ Timeout ]
-crbug.com/591099 http/tests/navigation/ping-cross-origin-from-https.html [ Timeout ]
+crbug.com/591099 http/tests/navigation/ping-cookie.html [ Crash Timeout ]
+crbug.com/591099 http/tests/navigation/ping-cross-origin-from-https.html [ Crash Timeout ]
 crbug.com/591099 http/tests/navigation/ping-cross-origin.html [ Timeout ]
 crbug.com/591099 http/tests/navigation/ping-same-origin.html [ Timeout ]
 crbug.com/591099 http/tests/navigation/post-basic.html [ Failure ]
@@ -14296,7 +14878,8 @@
 crbug.com/591099 http/tests/navigatorcontentutils/unregister-protocol-handler.html [ Failure ]
 crbug.com/591099 http/tests/notifications/notification-sandbox-permission.html [ Failure ]
 crbug.com/591099 http/tests/permissionclient/image-permissions.html [ Failure ]
-crbug.com/591099 http/tests/permissions/chromium/test-request-worker.html [ Timeout ]
+crbug.com/591099 http/tests/permissions/chromium/test-request-sharedworker.html [ Timeout ]
+crbug.com/591099 http/tests/permissions/chromium/test-request-worker.html [ Pass Timeout ]
 crbug.com/591099 http/tests/pointer-lock/iframe-sandboxed-allow-pointer-lock.html [ Failure ]
 crbug.com/591099 http/tests/pointer-lock/iframe-sandboxed.html [ Failure ]
 crbug.com/591099 http/tests/pointer-lock/iframe-sandboxed-nested-allow-pointer-lock.html [ Failure ]
@@ -14304,9 +14887,12 @@
 crbug.com/591099 http/tests/pointer-lock/pointerlockelement-different-origin.html [ Failure ]
 crbug.com/591099 http/tests/pointer-lock/pointerlockelement-same-origin.html [ Failure ]
 crbug.com/591099 http/tests/pointer-lock/requestPointerLock-can-not-transfer-between-documents.html [ Failure ]
-crbug.com/591099 http/tests/preload/dynamic_remove_preload_href.html [ Failure ]
+crbug.com/591099 http/tests/preload/dynamic_remove_preload_href.html [ Failure Pass ]
+crbug.com/591099 http/tests/preload/dynamic_removing_preload.html [ Failure ]
 crbug.com/591099 http/tests/preload/multiple-meta-csp.html [ Crash ]
 crbug.com/591099 http/tests/preload/preload-video-cors.html [ Crash ]
+crbug.com/591099 http/tests/push_messaging/application-server-key-format-test.html [ Failure ]
+crbug.com/591099 http/tests/push_messaging/application-server-key-standard-endpoint.html [ Failure Pass ]
 crbug.com/591099 http/tests/security/aboutBlank/security-context-alias.html [ Crash ]
 crbug.com/591099 http/tests/security/aboutBlank/security-context-grandchildren-alias.html [ Crash ]
 crbug.com/591099 http/tests/security/anchor-download-allow-blob.html [ Failure ]
@@ -14375,9 +14961,9 @@
 crbug.com/591099 http/tests/security/contentSecurityPolicy/plugin-in-iframe-with-csp.html [ Failure ]
 crbug.com/591099 http/tests/security/contentSecurityPolicy/redirect-does-not-match-paths.html [ Crash ]
 crbug.com/591099 http/tests/security/contentSecurityPolicy/redirect-with-delay.html [ Crash ]
-crbug.com/591099 http/tests/security/contentSecurityPolicy/register-bypassing-scheme.html [ Crash ]
-crbug.com/591099 http/tests/security/contentSecurityPolicy/register-bypassing-scheme-partial.html [ Failure ]
-crbug.com/591099 http/tests/security/contentSecurityPolicy/report-multiple-violations-01.php [ Failure ]
+crbug.com/591099 http/tests/security/contentSecurityPolicy/register-bypassing-scheme.html [ Crash Pass ]
+crbug.com/591099 http/tests/security/contentSecurityPolicy/register-bypassing-scheme-partial.html [ Crash Failure ]
+crbug.com/591099 http/tests/security/contentSecurityPolicy/report-multiple-violations-01.php [ Crash Failure ]
 crbug.com/591099 http/tests/security/contentSecurityPolicy/require-sri-for/require-sri-for-svg-script-blocked.php [ Crash ]
 crbug.com/591099 http/tests/security/contentSecurityPolicy/script-src-in-iframe.html [ Failure ]
 crbug.com/591099 http/tests/security/contentSecurityPolicy/script-src-none.html [ Failure ]
@@ -14471,6 +15057,7 @@
 crbug.com/591099 http/tests/security/drag-drop-same-unique-origin.html [ Failure ]
 crbug.com/591099 http/tests/security/drag-over-remote-content-iframe.html [ Failure ]
 crbug.com/591099 http/tests/security/escape-form-data-field-names.html [ Failure ]
+crbug.com/591099 http/tests/security/filesystem-iframe-from-remote.html [ Pass Timeout ]
 crbug.com/591099 http/tests/security/frameNavigation/sandbox-ALLOWED-top-navigation-with-two-flags.html [ Timeout ]
 crbug.com/591099 http/tests/security/frameNavigation/sandbox-ALLOWED-top-navigation-with-user-gesture.html [ Timeout ]
 crbug.com/591099 http/tests/security/frameNavigation/xss-ALLOWED-parent-navigation-change-async.html [ Timeout ]
@@ -14481,10 +15068,12 @@
 crbug.com/591099 http/tests/security/frameNavigation/xss-DENIED-top-navigation-without-user-gesture.html [ Failure ]
 crbug.com/591099 http/tests/security/host-compare-case-insensitive.html [ Failure ]
 crbug.com/591099 http/tests/security/img-crossorigin-cookies.html [ Crash ]
-crbug.com/591099 http/tests/security/img-crossorigin-redirect-anonymous.html [ Failure ]
+crbug.com/591099 http/tests/security/img-crossorigin-no-credentials-prompt.html [ Crash Failure ]
+crbug.com/591099 http/tests/security/img-crossorigin-redirect-anonymous.html [ Crash Failure ]
 crbug.com/591099 http/tests/security/img-crossorigin-redirect-credentials.html [ Crash ]
-crbug.com/591099 http/tests/security/img-crossorigin-redirect-no-cors.html [ Failure ]
+crbug.com/591099 http/tests/security/img-crossorigin-redirect-no-cors.html [ Crash Failure ]
 crbug.com/591099 http/tests/security/img-redirect-to-crossorigin-credentials.html [ Crash ]
+crbug.com/591099 http/tests/security/img-with-failed-cors-check-fails-to-load.html [ Crash ]
 crbug.com/591099 http/tests/security/isolatedWorld/bypass-main-world-csp-for-inline-script.html [ Failure ]
 crbug.com/591099 http/tests/security/isolatedWorld/bypass-main-world-csp.html [ Crash ]
 crbug.com/591099 http/tests/security/isolatedWorld/cross-origin-xhr.html [ Failure ]
@@ -14556,6 +15145,7 @@
 crbug.com/591099 http/tests/security/mixedContent/data-url-script-in-data-iframe.https.html [ Crash ]
 crbug.com/591099 http/tests/security/mixedContent/data-url-script-in-iframe.html [ Failure ]
 crbug.com/591099 http/tests/security/mixedContent/empty-url-plugin-in-frame.html [ Failure ]
+crbug.com/591099 http/tests/security/mixedContent/filesystem-url-in-iframe.html [ Pass Timeout ]
 crbug.com/591099 http/tests/security/mixedContent/insecure-css-in-iframe.html [ Failure ]
 crbug.com/591099 http/tests/security/mixedContent/insecure-iframe-in-iframe.html [ Failure ]
 crbug.com/591099 http/tests/security/mixedContent/insecure-image-in-iframe.html [ Failure ]
@@ -14698,7 +15288,7 @@
 crbug.com/591099 http/tests/security/vibration/vibrate-on-top-page-before-during-after-user-gesture.html [ Crash ]
 crbug.com/591099 http/tests/security/video-cross-origin-readback.html [ Crash ]
 crbug.com/591099 http/tests/security/video-cross-origin-via-dom.html [ Crash ]
-crbug.com/591099 http/tests/security/video-poster-cross-origin-crash2.html [ Failure ]
+crbug.com/591099 http/tests/security/video-poster-cross-origin-crash2.html [ Crash Failure ]
 crbug.com/591099 http/tests/security/webgl-cross-origin-ImageBitmap-blocked.html [ Failure ]
 crbug.com/591099 http/tests/security/window-onerror-exception-in-iframe.html [ Failure ]
 crbug.com/591099 http/tests/security/XFrameOptions/x-frame-options-allowall.html [ Failure ]
@@ -14716,6 +15306,7 @@
 crbug.com/591099 http/tests/security/xssAuditor/block-does-not-leak-location.html [ Failure ]
 crbug.com/591099 http/tests/security/xssAuditor/cached-frame.html [ Failure ]
 crbug.com/591099 http/tests/security/xssAuditor/chunked-big-script.html [ Failure ]
+crbug.com/591099 http/tests/security/xssAuditor/dom-write-innerHTML.html [ Crash Pass ]
 crbug.com/591099 http/tests/security/xssAuditor/embed-tag-in-path-unterminated.html [ Failure ]
 crbug.com/591099 http/tests/security/xssAuditor/form-action-token-fragment.html [ Failure ]
 crbug.com/591099 http/tests/security/xssAuditor/full-block-base-href.html [ Failure ]
@@ -14728,6 +15319,14 @@
 crbug.com/591099 http/tests/security/xssAuditor/full-block-script-tag.html [ Failure ]
 crbug.com/591099 http/tests/security/xssAuditor/full-block-script-tag-with-source.html [ Failure ]
 crbug.com/591099 http/tests/security/xssAuditor/iframe-srcdoc-property-blocked.html [ Failure ]
+crbug.com/591099 http/tests/security/xssAuditor/img-onerror-accented-char.html [ Crash Pass ]
+crbug.com/591099 http/tests/security/xssAuditor/img-onerror-GBK-char.html [ Crash Pass ]
+crbug.com/591099 http/tests/security/xssAuditor/img-onerror-non-ASCII-char2-default-encoding.html [ Crash Pass ]
+crbug.com/591099 http/tests/security/xssAuditor/img-onerror-non-ASCII-char-default-encoding.html [ Crash Pass ]
+crbug.com/591099 http/tests/security/xssAuditor/img-onerror-non-ASCII-char.html [ Crash Pass ]
+crbug.com/591099 http/tests/security/xssAuditor/img-onerror-tricky.html [ Crash ]
+crbug.com/591099 http/tests/security/xssAuditor/img-tag-with-comma.html [ Crash Pass ]
+crbug.com/591099 http/tests/security/xssAuditor/inline-event-HTML-entities.html [ Crash Pass ]
 crbug.com/591099 http/tests/security/xssAuditor/malformed-xss-protection-header-1.html [ Failure ]
 crbug.com/591099 http/tests/security/xssAuditor/malformed-xss-protection-header-2.html [ Failure ]
 crbug.com/591099 http/tests/security/xssAuditor/malformed-xss-protection-header-3.html [ Failure ]
@@ -14745,6 +15344,7 @@
 crbug.com/591099 http/tests/security/xssAuditor/report-script-tag.html [ Failure ]
 crbug.com/591099 http/tests/security/xssAuditor/report-script-tag-replace-state.html [ Failure ]
 crbug.com/591099 http/tests/security/xssAuditor/script-tag-post-redirect.html [ Failure ]
+crbug.com/591099 http/tests/security/xssAuditor/script-tag-safe4.html [ Crash Pass ]
 crbug.com/591099 http/tests/security/xssAuditor/svg-animate-clutter-2.html [ Failure ]
 crbug.com/591099 http/tests/security/xssAuditor/svg-animate-clutter.html [ Failure ]
 crbug.com/591099 http/tests/security/xssAuditor/svg-animate-href.html [ Failure ]
@@ -14773,8 +15373,13 @@
 crbug.com/591099 http/tests/serviceworker/chromium/window-close-during-registration.html [ Failure ]
 crbug.com/591099 http/tests/serviceworker/fetch-event.html [ Crash ]
 crbug.com/591099 http/tests/serviceworker/fetch-frame-resource.html [ Crash ]
+crbug.com/591099 http/tests/serviceworker/fetch-mixed-content-to-inscope.html [ Crash ]
+crbug.com/591099 http/tests/serviceworker/fetch-request-fallback.html [ Crash ]
+crbug.com/591099 http/tests/serviceworker/fetch-request-xhr.html [ Failure Pass ]
+crbug.com/591099 http/tests/serviceworker/indexeddb.html [ Pass Timeout ]
+crbug.com/591099 http/tests/serviceworker/navigation-redirect.html [ Pass Timeout ]
 crbug.com/591099 http/tests/serviceworker/sandbox-iframe-register-link-element.html [ Crash ]
-crbug.com/591099 http/tests/serviceworker/ServiceWorkerGlobalScope/registration-attribute.html [ Failure ]
+crbug.com/591099 http/tests/serviceworker/ServiceWorkerGlobalScope/registration-attribute.html [ Failure Pass ]
 crbug.com/591099 http/tests/shapes/shape-outside-image-shape-margin.html [ Failure ]
 crbug.com/591099 http/tests/shapes/shape-outside-svg-image-shape-margin.html [ Failure ]
 crbug.com/591099 http/tests/subresource_filter/image-disallowed-after-redirect.html [ Crash ]
@@ -14788,6 +15393,7 @@
 crbug.com/591099 http/tests/uri/resolve-encoding-relative.html [ Failure ]
 crbug.com/591099 http/tests/uri/utf8-path.html [ Failure ]
 crbug.com/591099 http/tests/w3c/webperf/approved/navigation-timing/html/test_performance_attributes_exist_in_object.html [ Crash ]
+crbug.com/591099 http/tests/w3c/webperf/submission/Google/resource-timing/html/test_resource_ignore_failures.html [ Crash ]
 crbug.com/591099 http/tests/w3c/webperf/submission/Intel/resource-timing/test_resource_timing_cross_origin_redirect_chain_allow_timing.html [ Crash ]
 crbug.com/591099 http/tests/w3c/webperf/submission/Intel/resource-timing/test_resource_timing_cross_origin_redirect_chain.html [ Crash ]
 crbug.com/591099 http/tests/w3c/webperf/submission/Intel/resource-timing/test_resource_timing_cross_origin_redirect.html [ Crash ]
@@ -15257,7 +15863,7 @@
 crbug.com/591099 images/23-55.html [ Failure ]
 crbug.com/591099 images/2-comp.html [ Failure ]
 crbug.com/591099 images/2-dht.html [ Failure ]
-crbug.com/591099 images/55.html [ Failure ]
+crbug.com/591099 images/55.html [ Crash Failure ]
 crbug.com/591099 images/alt-text-wrapping.html [ Failure ]
 crbug.com/591099 images/animated-background-image-crash.html [ Failure ]
 crbug.com/591099 images/color-jpeg-with-color-profile.html [ Failure ]
@@ -15269,6 +15875,7 @@
 crbug.com/591099 images/color-profile-background-image-space.html [ Failure ]
 crbug.com/591099 images/color-profile-border-image-source.html [ Failure ]
 crbug.com/591099 images/color-profile-border-radius.html [ Failure ]
+crbug.com/591099 images/color-profile-clip.html [ Failure ]
 crbug.com/591099 images/color-profile-drag-image.html [ Failure ]
 crbug.com/591099 images/color-profile-filter.html [ Failure ]
 crbug.com/591099 images/color-profile-group.html [ Failure ]
@@ -15282,14 +15889,14 @@
 crbug.com/591099 images/color-profile-image-profile-match.html [ Failure ]
 crbug.com/591099 images/color-profile-image-pseudo-content.html [ Failure ]
 crbug.com/591099 images/color-profile-image-shape.html [ Failure ]
-crbug.com/591099 images/color-profile-layer-filter.html [ Failure ]
+crbug.com/591099 images/color-profile-layer-filter.html [ Crash Failure ]
 crbug.com/591099 images/color-profile-layer.html [ Failure ]
 crbug.com/591099 images/color-profile-mask-image-svg.html [ Failure ]
 crbug.com/591099 images/color-profile-munsell-adobe-to-srgb.html [ Failure ]
 crbug.com/591099 images/color-profile-munsell-srgb-to-srgb.html [ Failure ]
 crbug.com/591099 images/color-profile-svg-foreign-object.html [ Failure ]
 crbug.com/591099 images/content-url-broken-image-with-alt-text.html [ Crash ]
-crbug.com/591099 images/content-url-image-with-alt-text-dynamic-2.html [ Crash ]
+crbug.com/591099 images/content-url-image-with-alt-text-dynamic-2.html [ Crash Pass ]
 crbug.com/591099 images/cross-fade-background-size.html [ Failure ]
 crbug.com/591099 images/cross-fade-blending.html [ Failure ]
 crbug.com/591099 images/cross-fade-invalidation.html [ Failure ]
@@ -15310,6 +15917,7 @@
 crbug.com/591099 images/gray-scale-png-with-color-profile.html [ Failure ]
 crbug.com/591099 images/icon-0colors.html [ Failure ]
 crbug.com/591099 images/icon-decoding.html [ Failure ]
+crbug.com/591099 images/image-change-src.html [ Crash ]
 crbug.com/591099 images/image-change-without-resize-shouldnt-layout.html [ Crash ]
 crbug.com/591099 images/image-click-scale-restore-zoomed-image.html [ Failure ]
 crbug.com/591099 images/image-css3-content-data.html [ Failure ]
@@ -15317,7 +15925,7 @@
 crbug.com/591099 images/image-empty-data.html [ Failure ]
 crbug.com/591099 images/image-hover-display-alt.html [ Failure ]
 crbug.com/591099 images/image-in-map.html [ Failure ]
-crbug.com/591099 images/image-invalid-data.html [ Failure ]
+crbug.com/591099 images/image-invalid-data.html [ Crash Failure ]
 crbug.com/591099 images/image-load-event-in-fragment.html [ Failure ]
 crbug.com/591099 images/image-map-anchor-children.html [ Failure ]
 crbug.com/591099 images/imagemap-circle-focus-ring.html [ Failure ]
@@ -15348,6 +15956,7 @@
 crbug.com/591099 images/jpeg-yuv-image-decoding.html [ Failure ]
 crbug.com/591099 images/jpeg-yuv-progressive-canvas.html [ Failure ]
 crbug.com/591099 images/jpeg-yuv-progressive-image.html [ Failure ]
+crbug.com/591099 images/large-size-image-crash.html [ Crash ]
 crbug.com/591099 images/link-body-content-imageDimensionChanged-crash.html [ Failure ]
 crbug.com/591099 images/load-img-with-empty-src.html [ Failure ]
 crbug.com/591099 images/motion-jpeg-single-frame.html [ Failure ]
@@ -15357,17 +15966,26 @@
 crbug.com/591099 images/percent-height-image.html [ Failure ]
 crbug.com/591099 images/pixel-crack-image-background-webkit-transform-scale.html [ Failure ]
 crbug.com/591099 images/png-extra-row-crash.html [ Failure ]
+crbug.com/591099 images/png-missing-plte-before-trns-crash.html [ Crash ]
 crbug.com/591099 images/png_per_row_alpha_decoding.html [ Failure ]
-crbug.com/591099 images/png-suite/test.html [ Failure ]
+crbug.com/591099 images/png-suite/test.html [ Crash Failure ]
+crbug.com/591099 images/rendering-broken-10px-images.html [ Failure ]
+crbug.com/591099 images/rendering-broken-16px-images.html [ Failure ]
+crbug.com/591099 images/rendering-broken-1px-images.html [ Failure ]
+crbug.com/591099 images/rendering-broken-block-flow-images.html [ Failure ]
+crbug.com/591099 images/rendering-broken-images-empty-alt.html [ Failure ]
+crbug.com/591099 images/rendering-broken-images.html [ Failure ]
 crbug.com/591099 images/script-counter-imageDimensionChanged-crash.html [ Failure ]
 crbug.com/591099 images/sprite-no-bleed.html [ Failure ]
 crbug.com/591099 images/style-access-during-imageChanged-crash.html [ Failure ]
 crbug.com/591099 images/style-access-during-imageChanged-style-freeze.html [ Crash ]
 crbug.com/591099 images/text-content-crash-2.html [ Failure ]
 crbug.com/591099 images/text-content-crash.html [ Failure ]
+crbug.com/591099 images/update-alt-text.html [ Crash ]
 crbug.com/591099 images/viewport-in-standalone-image-document.html [ Failure ]
 crbug.com/591099 images/webgl-teximage2d.html [ Crash ]
 crbug.com/591099 images/webp-flip.html [ Failure ]
+crbug.com/591099 images/width-on-broken-data-src.html [ Crash ]
 crbug.com/591099 images/zoomed-img-size.html [ Failure ]
 crbug.com/591099 images/zoomed-offset-size.html [ Crash ]
 crbug.com/591099 inspector/agents-enable-disable.html [ Failure ]
@@ -15567,7 +16185,7 @@
 crbug.com/591099 inspector/elements/dom-search-crash.html [ Crash ]
 crbug.com/591099 inspector/elements/edit/delete-from-document.html [ Crash ]
 crbug.com/591099 inspector/elements/edit/edit-dom-actions-1.html [ Crash ]
-crbug.com/591099 inspector/elements/edit/edit-dom-actions-2.html [ Crash ]
+crbug.com/591099 inspector/elements/edit/edit-dom-actions-2.html [ Crash Timeout ]
 crbug.com/591099 inspector/elements/edit/edit-dom-actions-3.html [ Crash ]
 crbug.com/591099 inspector/elements/edit/edit-dom-actions-4.html [ Crash ]
 crbug.com/591099 inspector/elements/edit/edit-dom-actions-shadow-1.html [ Crash ]
@@ -15788,7 +16406,7 @@
 crbug.com/591099 inspector/extensions/extensions-eval-content-script.html [ Failure ]
 crbug.com/591099 inspector/extensions/extensions-eval.html [ Failure ]
 crbug.com/591099 inspector/extensions/extensions-events.html [ Crash ]
-crbug.com/591099 inspector/extensions/extensions-network.html [ Crash ]
+crbug.com/591099 inspector/extensions/extensions-network.html [ Crash Failure ]
 crbug.com/591099 inspector/extensions/extensions-panel.html [ Crash ]
 crbug.com/591099 inspector/extensions/extensions-reload.html [ Failure ]
 crbug.com/591099 inspector/extensions/extensions-resources.html [ Failure ]
@@ -15878,6 +16496,7 @@
 crbug.com/591099 inspector-protocol/cpu-profiler/record-cpu-profile.html [ Failure ]
 crbug.com/591099 inspector-protocol/cpu-profiler/stop-without-preceeding-start.html [ Failure ]
 crbug.com/591099 inspector-protocol/css/css-add-rule.html [ Timeout ]
+crbug.com/591099 inspector-protocol/css/css-collect-class-names.html [ Crash ]
 crbug.com/591099 inspector-protocol/css/css-coverage-poll.html [ Failure ]
 crbug.com/591099 inspector-protocol/css/css-fonts-updated-event.html [ Failure ]
 crbug.com/591099 inspector-protocol/css/css-get-background-colors.html [ Failure ]
@@ -15932,6 +16551,7 @@
 crbug.com/591099 inspector-protocol/network/resource-type.html [ Failure ]
 crbug.com/591099 inspector-protocol/network/websocket-initiator.html [ Failure ]
 crbug.com/591099 inspector-protocol/page/get-layout-metrics.html [ Failure ]
+crbug.com/591099 inspector-protocol/runtime/runtime-console-line-and-column.html [ Crash ]
 crbug.com/591099 inspector-protocol/runtime/runtime-shouldnt-crash-after-inspected-context-destroyed.html [ Crash ]
 crbug.com/591099 inspector-protocol/shadow-dom-rules-in-styleSheetAddedEvent.html [ Failure ]
 crbug.com/591099 inspector-protocol/stylesheet-tracking-restart.html [ Failure ]
@@ -16003,13 +16623,13 @@
 crbug.com/591099 inspector/sources/debugger-async/async-callstack-xhrs.html [ Failure ]
 crbug.com/591099 inspector/sources/debugger-breakpoints/breakpoint-manager.html [ Failure ]
 crbug.com/591099 inspector/sources/debugger-breakpoints/breakpoint-manager-listeners-count.html [ Failure ]
-crbug.com/591099 inspector/sources/debugger-breakpoints/debugger-breakpoints-not-activated-on-reload.html [ Failure ]
+crbug.com/591099 inspector/sources/debugger-breakpoints/debugger-breakpoints-not-activated-on-reload.html [ Crash Failure ]
 crbug.com/591099 inspector/sources/debugger-breakpoints/debugger-disable-add-breakpoint.html [ Failure ]
 crbug.com/591099 inspector/sources/debugger-breakpoints/debugger-reload-breakpoints-with-source-maps.html [ Failure ]
 crbug.com/591099 inspector/sources/debugger-breakpoints/debugger-set-breakpoint-regex.html [ Failure ]
 crbug.com/591099 inspector/sources/debugger-breakpoints/disable-breakpoints.html [ Failure ]
-crbug.com/591099 inspector/sources/debugger-breakpoints/dom-breakpoints-editing-dom-from-inspector.html [ Failure ]
-crbug.com/591099 inspector/sources/debugger-breakpoints/dom-breakpoints.html [ Timeout ]
+crbug.com/591099 inspector/sources/debugger-breakpoints/dom-breakpoints-editing-dom-from-inspector.html [ Crash Failure ]
+crbug.com/591099 inspector/sources/debugger-breakpoints/dom-breakpoints.html [ Failure Timeout ]
 crbug.com/591099 inspector/sources/debugger-breakpoints/dynamic-scripts-breakpoints.html [ Failure ]
 crbug.com/591099 inspector/sources/debugger-breakpoints/event-listener-breakpoints-after-suspension.html [ Failure ]
 crbug.com/591099 inspector/sources/debugger-breakpoints/event-listener-breakpoints.html [ Failure ]
@@ -16017,7 +16637,7 @@
 crbug.com/591099 inspector/sources/debugger-breakpoints/event-listener-breakpoints-xhr.html [ Failure ]
 crbug.com/591099 inspector/sources/debugger-breakpoints/nodejs-set-breakpoint.html [ Failure ]
 crbug.com/591099 inspector/sources/debugger-breakpoints/possible-breakpoints.html [ Failure ]
-crbug.com/591099 inspector/sources/debugger-breakpoints/set-breakpoint.html [ Failure ]
+crbug.com/591099 inspector/sources/debugger-breakpoints/set-breakpoint.html [ Failure Timeout ]
 crbug.com/591099 inspector/sources/debugger-breakpoints/set-conditional-breakpoint.html [ Failure ]
 crbug.com/591099 inspector/sources/debugger-breakpoints/use-possible-breakpoints-to-resolve-breakpoint.html [ Failure ]
 crbug.com/591099 inspector/sources/debugger-breakpoints/xhr-breakpoints.html [ Failure ]
@@ -16124,12 +16744,12 @@
 crbug.com/591099 inspector/sources/debugger-ui/function-details.html [ Failure ]
 crbug.com/591099 inspector/sources/debugger-ui/function-display-name-call-stack.html [ Failure ]
 crbug.com/591099 inspector/sources/debugger-ui/function-generator-details.html [ Failure ]
-crbug.com/591099 inspector/sources/debugger-ui/inline-scope-variables.html [ Failure ]
+crbug.com/591099 inspector/sources/debugger-ui/inline-scope-variables.html [ Crash Failure ]
 crbug.com/591099 inspector/sources/debugger-ui/last-execution-context.html [ Failure ]
 crbug.com/591099 inspector/sources/debugger-ui/monitor-console-command.html [ Failure ]
 crbug.com/591099 inspector/sources/debugger-ui/reveal-execution-line.html [ Failure ]
 crbug.com/591099 inspector/sources/debugger-ui/reveal-not-skipped.html [ Failure ]
-crbug.com/591099 inspector/sources/debugger-ui/script-formatter-breakpoints-2.html [ Failure ]
+crbug.com/591099 inspector/sources/debugger-ui/script-formatter-breakpoints-2.html [ Crash Failure ]
 crbug.com/591099 inspector/sources/debugger-ui/script-formatter-breakpoints-3.html [ Failure ]
 crbug.com/591099 inspector/sources/debugger-ui/script-formatter-search.html [ Failure ]
 crbug.com/591099 inspector/sources/debugger-ui/script-snippet-model.html [ Failure ]
@@ -16171,6 +16791,7 @@
 crbug.com/591099 inspector/sources/pretty-print-javascript-6.html [ Failure ]
 crbug.com/591099 inspector/sources/pretty-print-javascript-7.html [ Failure ]
 crbug.com/591099 inspector/sources/pretty-print-javascript-8.html [ Failure ]
+crbug.com/591099 inspector/sources/pretty-print-javascript-9.html [ Failure ]
 crbug.com/591099 inspector/sources/pretty-print-javascript-classes.html [ Failure ]
 crbug.com/591099 inspector/sources/pretty-print-javascript-template-literals.html [ Failure ]
 crbug.com/591099 inspector/sources/sass-highlighter.html [ Failure ]
@@ -16373,7 +16994,7 @@
 crbug.com/591099 media/remoteplayback/prompt-twice-throws.html [ Crash ]
 crbug.com/591099 media/remoteplayback/watch-availability-throws-low-end-device.html [ Crash ]
 crbug.com/591099 media/remove-from-document-before-load.html [ Crash ]
-crbug.com/591099 media/remove-from-document-config-controls-no-crash.html [ Failure ]
+crbug.com/591099 media/remove-from-document-config-controls-no-crash.html [ Crash Failure ]
 crbug.com/591099 media/remove-from-document.html [ Crash ]
 crbug.com/591099 media/svg-as-image-with-media-blocked.html [ Failure ]
 crbug.com/591099 media/track/cue-style-invalidation.html [ Crash ]
@@ -16427,7 +17048,7 @@
 crbug.com/591099 media/track/track-kind-user-preference.html [ Crash ]
 crbug.com/591099 media/track/track-language-preference.html [ Crash ]
 crbug.com/591099 media/track/track-large-timestamp.html [ Crash ]
-crbug.com/591099 media/track/track-load-error-readyState.html [ Crash ]
+crbug.com/591099 media/track/track-load-error-readyState.html [ Crash Timeout ]
 crbug.com/591099 media/track/track-load-from-element-readyState.html [ Crash ]
 crbug.com/591099 media/track/track-load-from-src-readyState.html [ Crash ]
 crbug.com/591099 media/track/track-mode-disabled-crash.html [ Crash ]
@@ -16742,6 +17363,7 @@
 crbug.com/591099 mhtml/data-uri-font.mht [ Failure ]
 crbug.com/591099 mhtml/image_document.mht [ Failure ]
 crbug.com/591099 mhtml/invalid-bad-boundary2.mht [ Failure ]
+crbug.com/591099 mhtml/relaxed-content-type-parameters.mht [ Crash ]
 crbug.com/591099 netinfo/basic-operation.html [ Failure ]
 crbug.com/591099 netinfo/connection-types.html [ Failure ]
 crbug.com/591099 netinfo/gc-frame-listeners.html [ Failure ]
@@ -16752,6 +17374,7 @@
 crbug.com/591099 netinfo/unregister-during-event.html [ Failure ]
 crbug.com/591099 netinfo/web-worker.html [ Failure ]
 crbug.com/591099 paint/background/background-and-shadow.html [ Failure ]
+crbug.com/591099 paint/background/fieldset-legend-background-shadow-border-radius.html [ Failure ]
 crbug.com/591099 paint/background/rounded-clip-fractional-offset.html [ Failure ]
 crbug.com/591099 paint/frames/frameset-with-stacking-context-and-not-stacking-context-children.html [ Failure ]
 crbug.com/591099 paint/frames/frameset-with-stacking-contexts.html [ Failure ]
@@ -16809,9 +17432,9 @@
 crbug.com/591099 paint/invalidation/bugzilla-3509.html [ Failure ]
 crbug.com/591099 paint/invalidation/bugzilla-5699.html [ Failure ]
 crbug.com/591099 paint/invalidation/bugzilla-6278.html [ Failure ]
-crbug.com/591099 paint/invalidation/bugzilla-6388.html [ Failure ]
+crbug.com/591099 paint/invalidation/bugzilla-6388.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/bugzilla-6473.html [ Failure ]
-crbug.com/591099 paint/invalidation/bugzilla-7235.html [ Crash ]
+crbug.com/591099 paint/invalidation/bugzilla-7235.html [ Crash Failure ]
 crbug.com/591099 paint/invalidation/button-checkbox-click-method-repaint.html [ Failure ]
 crbug.com/591099 paint/invalidation/canvas-composite-repaint-by-all-imagesource.html [ Failure ]
 crbug.com/591099 paint/invalidation/caret-change-paint-offset-keep-visual.html [ Failure ]
@@ -16879,7 +17502,7 @@
 crbug.com/591099 paint/invalidation/continuation-after-outline.html [ Failure ]
 crbug.com/591099 paint/invalidation/control-clip.html [ Failure ]
 crbug.com/591099 paint/invalidation/crbug-371640-2.html [ Failure ]
-crbug.com/591099 paint/invalidation/crbug-371640-3.html [ Crash ]
+crbug.com/591099 paint/invalidation/crbug-371640-3.html [ Crash Failure ]
 crbug.com/591099 paint/invalidation/crbug-371640-4.html [ Failure ]
 crbug.com/591099 paint/invalidation/crbug-371640.html [ Failure ]
 crbug.com/591099 paint/invalidation/create-layer-repaint.html [ Failure ]
@@ -16931,6 +17554,7 @@
 crbug.com/591099 paint/invalidation/forms/checkbox-focus-by-mouse-then-keydown.html [ Failure ]
 crbug.com/591099 paint/invalidation/forms/radio-focus-by-mouse-then-keydown.html [ Failure ]
 crbug.com/591099 paint/invalidation/forms/range-focus-by-mouse-then-keydown.html [ Failure ]
+crbug.com/591099 paint/invalidation/forms/submit-focus-by-mouse-then-keydown.html [ Failure ]
 crbug.com/591099 paint/invalidation/gradients-em-stops-repaint.html [ Failure ]
 crbug.com/591099 paint/invalidation/hover-create-scrollbar-part.html [ Failure ]
 crbug.com/591099 paint/invalidation/hover-destroy-scrollbar-part.html [ Failure ]
@@ -16938,6 +17562,7 @@
 crbug.com/591099 paint/invalidation/hover-pseudo-borders-whitespace.html [ Failure ]
 crbug.com/591099 paint/invalidation/iframe-display-block-to-display-none.html [ Failure ]
 crbug.com/591099 paint/invalidation/iframe-display-none-to-display-block.html [ Failure ]
+crbug.com/591099 paint/invalidation/iframe-rounding.html [ Failure ]
 crbug.com/591099 paint/invalidation/inline-block-overflow.html [ Failure ]
 crbug.com/591099 paint/invalidation/inline-block-resize.html [ Failure ]
 crbug.com/591099 paint/invalidation/inline-color-change.html [ Failure ]
@@ -16951,7 +17576,7 @@
 crbug.com/591099 paint/invalidation/inline-vertical-rl-overflow.html [ Failure ]
 crbug.com/591099 paint/invalidation/input-overflow-in-table.html [ Failure ]
 crbug.com/591099 paint/invalidation/insert-frame.html [ Failure ]
-crbug.com/591099 paint/invalidation/intermediate-layout-position-clip.html [ Crash ]
+crbug.com/591099 paint/invalidation/intermediate-layout-position-clip.html [ Crash Failure ]
 crbug.com/591099 paint/invalidation/intermediate-layout-position.html [ Failure ]
 crbug.com/591099 paint/invalidation/invalidate-after-composited-scroll.html [ Failure ]
 crbug.com/591099 paint/invalidation/invalidate-box-shadow-currentColor.html [ Failure ]
@@ -17052,7 +17677,7 @@
 crbug.com/591099 paint/invalidation/overflow-show.html [ Failure ]
 crbug.com/591099 paint/invalidation/overflow-visible-to-hidden.html [ Failure ]
 crbug.com/591099 paint/invalidation/overhanging-float-detach-repaint.html [ Failure ]
-crbug.com/591099 paint/invalidation/paged-with-overflowing-block-rl.html [ Crash ]
+crbug.com/591099 paint/invalidation/paged-with-overflowing-block-rl.html [ Crash Failure ]
 crbug.com/591099 paint/invalidation/paint-invalidation-with-reparent-across-frame-boundaries.html [ Failure ]
 crbug.com/591099 paint/invalidation/percentage-transform-paint-offset.html [ Crash ]
 crbug.com/591099 paint/invalidation/position-change-keeping-geometry.html [ Failure ]
@@ -17064,6 +17689,7 @@
 crbug.com/591099 paint/invalidation/reflection-redraw.html [ Failure ]
 crbug.com/591099 paint/invalidation/relative-inline-positioned-movement-repaint.html [ Failure ]
 crbug.com/591099 paint/invalidation/relative-positioned-movement-repaint.html [ Failure ]
+crbug.com/591099 paint/invalidation/relative-position-under-composited-scroll.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/relayout-fixed-position-after-scale.html [ Failure ]
 crbug.com/591099 paint/invalidation/rel-positioned-inline-with-overflow.html [ Failure ]
 crbug.com/591099 paint/invalidation/remove-block-after-layout.html [ Failure ]
@@ -17074,12 +17700,12 @@
 crbug.com/591099 paint/invalidation/repaint-across-writing-mode-boundary.html [ Failure ]
 crbug.com/591099 paint/invalidation/repaint-composited-child-in-scrolled-container.html [ Failure ]
 crbug.com/591099 paint/invalidation/repaint-descandant-on-ancestor-layer-move.html [ Failure ]
-crbug.com/591099 paint/invalidation/repaint-during-scroll.html [ Timeout ]
+crbug.com/591099 paint/invalidation/repaint-during-scroll.html [ Failure Timeout ]
 crbug.com/591099 paint/invalidation/repaint-during-scroll-with-zoom.html [ Failure ]
 crbug.com/591099 paint/invalidation/repaint-resized-overflow.html [ Failure ]
 crbug.com/591099 paint/invalidation/repaint-subsequence-on-ancestor-clip-change-complex.html [ Failure ]
 crbug.com/591099 paint/invalidation/repaint-table-row-in-composited-document.html [ Failure ]
-crbug.com/591099 paint/invalidation/repaint-tile-clipped.html [ Crash ]
+crbug.com/591099 paint/invalidation/repaint-tile-clipped.html [ Crash Failure ]
 crbug.com/591099 paint/invalidation/replaced-clipped-positioned-not-wrong-incremental-repainting.html [ Failure ]
 crbug.com/591099 paint/invalidation/resize-child-within-overflow.html [ Failure ]
 crbug.com/591099 paint/invalidation/resize-iframe-text.html [ Failure ]
@@ -17153,10 +17779,12 @@
 crbug.com/591099 paint/invalidation/svg/fecomponenttransfer-in1-change.svg [ Failure ]
 crbug.com/591099 paint/invalidation/svg/hit-test-with-br.xhtml [ Failure ]
 crbug.com/591099 paint/invalidation/svg-layout-root-style-attr-update.html [ Failure ]
+crbug.com/591099 paint/invalidation/svg/modify-inserted-listitem.html [ Failure ]
 crbug.com/591099 paint/invalidation/svg/nested-embedded-svg-size-changes.html [ Failure ]
 crbug.com/591099 paint/invalidation/svg/nested-embedded-svg-size-changes-no-layout-triggers-1.html [ Failure ]
 crbug.com/591099 paint/invalidation/svg/nested-embedded-svg-size-changes-no-layout-triggers-2.html [ Failure ]
 crbug.com/591099 paint/invalidation/svg/object-sizing-no-width-height-change-content-box-size.xhtml [ Failure ]
+crbug.com/591099 paint/invalidation/svg/pending-resource-after-removal.xhtml [ Failure ]
 crbug.com/591099 paint/invalidation/svg/relative-sized-content-with-resources.xhtml [ Failure ]
 crbug.com/591099 paint/invalidation/svg/relative-sized-content.xhtml [ Failure ]
 crbug.com/591099 paint/invalidation/svg/relative-sized-deep-shadow-tree-content.xhtml [ Failure ]
@@ -17197,9 +17825,10 @@
 crbug.com/591099 paint/invalidation/table-cell-move.html [ Failure ]
 crbug.com/591099 paint/invalidation/table-cell-overflow.html [ Failure ]
 crbug.com/591099 paint/invalidation/table-cell-vertical-overflow.html [ Failure ]
+crbug.com/591099 paint/invalidation/table-col-background.html [ Failure ]
 crbug.com/591099 paint/invalidation/table/collapsed-border-cell-resize.html [ Failure ]
 crbug.com/591099 paint/invalidation/table-collapsed-border.html [ Failure ]
-crbug.com/591099 paint/invalidation/table/composited-table-background-composited-row-initial-empty.html [ Failure ]
+crbug.com/591099 paint/invalidation/table/composited-table-background-composited-row-initial-empty.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/table-extra-bottom-grow.html [ Failure ]
 crbug.com/591099 paint/invalidation/table-outer-border.html [ Failure ]
 crbug.com/591099 paint/invalidation/table-overflow-auto-in-overflow-auto-scrolled.html [ Failure ]
@@ -17271,6 +17900,8 @@
 crbug.com/591099 paint/selection/text-selection-newline-span.html [ Failure ]
 crbug.com/591099 paint/selection/text-selection-newline-vertical-lr.html [ Failure ]
 crbug.com/591099 paint/selection/text-selection-newline-vertical-rl.html [ Failure ]
+crbug.com/591099 paint/spellmarkers/document-markers.html [ Failure ]
+crbug.com/591099 paint/spellmarkers/document-markers-zoom-125.html [ Failure Pass ]
 crbug.com/591099 paint/spellmarkers/document-markers-zoom-250.html [ Failure ]
 crbug.com/591099 paint/spellmarkers/inline-spelling-markers-hidpi-composited.html [ Failure ]
 crbug.com/591099 paint/spellmarkers/inline-spelling-markers-hidpi.html [ Failure ]
@@ -17290,11 +17921,11 @@
 crbug.com/591099 payments/payment-request-in-iframe-nested-allowed.html [ Crash ]
 crbug.com/591099 payments/payment-request-in-iframe-nested-not-allowed.html [ Crash ]
 crbug.com/591099 permissionclient/image-permissions.html [ Failure ]
-crbug.com/591099 permissionclient/storage-permission-detached.html [ Failure ]
+crbug.com/591099 permissionclient/storage-permission-detached.html [ Crash Failure ]
 crbug.com/591099 plugins/change-widget-and-click-crash.html [ Crash ]
 crbug.com/591099 plugins/createScriptableObject-before-start.html [ Failure ]
 crbug.com/591099 plugins/embed-attributes-active.html [ Crash ]
-crbug.com/591099 plugins/embed-attributes-setting.html [ Failure ]
+crbug.com/591099 plugins/embed-attributes-setting.html [ Failure Pass ]
 crbug.com/591099 plugins/embed-attributes-style.html [ Failure ]
 crbug.com/591099 plugins/empty-per-context-data.html [ Crash ]
 crbug.com/591099 plugins/focus-change-1-no-change.html [ Failure ]
@@ -17332,6 +17963,7 @@
 crbug.com/591099 plugins/sequential-focus.html [ Failure ]
 crbug.com/591099 plugins/simple-expando.html [ Crash ]
 crbug.com/591099 plugins/tabindex.html [ Crash ]
+crbug.com/591099 plugins/transformed-events.html [ Failure Pass ]
 crbug.com/591099 plugins/webview-plugin-nested-iframe-scroll.html [ Failure ]
 crbug.com/591099 pointer-lock/bug90391-move-then-window-open-crash.html [ Failure ]
 crbug.com/591099 pointer-lock/lock-already-locked.html [ Failure ]
@@ -17346,7 +17978,7 @@
 crbug.com/591099 pointer-lock/pointerlock-then-fullscreen.html [ Failure ]
 crbug.com/591099 presentation/presentationconnectionavailableevent-ctor-mock.html [ Crash ]
 crbug.com/591099 presentation/presentation-controller-close-connection.html [ Crash ]
-crbug.com/591099 presentation/presentation-controller-connection-closed-by-receiver.html [ Crash ]
+crbug.com/591099 presentation/presentation-controller-connection-closed-by-receiver.html [ Crash Timeout ]
 crbug.com/591099 presentation/presentation-controller-terminate-connection.html [ Crash ]
 crbug.com/591099 presentation/presentation-navigation.html [ Crash ]
 crbug.com/591099 presentation/presentation-navigation-multipleurls.html [ Crash ]
@@ -17355,7 +17987,7 @@
 crbug.com/591099 presentation/presentation-request-iframe-sandbox-error.html [ Crash ]
 crbug.com/591099 presentation/presentation-request-iframe-sandbox-success.html [ Crash ]
 crbug.com/591099 presentation/presentation-start-error.html [ Crash ]
-crbug.com/591099 presentation/presentation-start.html [ Crash ]
+crbug.com/591099 presentation/presentation-start.html [ Crash Timeout ]
 crbug.com/591099 printing/absolute-positioned.html [ Failure ]
 crbug.com/591099 printing/absolute-position-headers-and-footers.html [ Failure ]
 crbug.com/591099 printing/allowed-page-breaks.html [ Failure ]
@@ -17372,7 +18004,7 @@
 crbug.com/591099 printing/fixed-positioned-headers-and-footers-absolute-covering-some-pages.html [ Failure ]
 crbug.com/591099 printing/fixed-positioned-headers-and-footers-clipped.html [ Failure ]
 crbug.com/591099 printing/fixed-positioned-headers-and-footers.html [ Failure ]
-crbug.com/591099 printing/fixed-positioned-headers-and-footers-inside-transform.html [ Crash ]
+crbug.com/591099 printing/fixed-positioned-headers-and-footers-inside-transform.html [ Crash Failure ]
 crbug.com/591099 printing/fixed-positioned-headers-and-footers-larger-than-page.html [ Failure ]
 crbug.com/591099 printing/fixed-positioned.html [ Failure ]
 crbug.com/591099 printing/forced-break-tree-dump-only.html [ Failure ]
@@ -17420,15 +18052,17 @@
 crbug.com/591099 scrollbars/auto-scrollbar-fit-content.html [ Failure ]
 crbug.com/591099 scrollbars/basic-scrollbar.html [ Failure ]
 crbug.com/591099 scrollbars/border-box-rect-clips-scrollbars.html [ Failure ]
+crbug.com/591099 scrollbars/custom-scrollbar-adjust-on-inactive-pseudo.html [ Failure Pass ]
 crbug.com/591099 scrollbars/custom-scrollbar-appearance-property.html [ Failure ]
 crbug.com/591099 scrollbars/custom-scrollbar-display.html [ Failure ]
-crbug.com/591099 scrollbars/custom-scrollbar-inactive-only-on-windowinactive-selector.html [ Failure ]
+crbug.com/591099 scrollbars/custom-scrollbar-inactive-only-on-windowinactive-selector.html [ Failure Pass ]
 crbug.com/591099 scrollbars/custom-scrollbar-inactive-pseudo.html [ Failure ]
 crbug.com/591099 scrollbars/custom-scrollbar-not-inherited-by-iframe.html [ Crash ]
 crbug.com/591099 scrollbars/custom-scrollbar-reconstruction-document-write.html [ Crash ]
 crbug.com/591099 scrollbars/custom-scrollbar-reconstruction-on-setting-newstyle.html [ Failure ]
 crbug.com/591099 scrollbars/custom-scrollbar-table-cell.html [ Failure ]
 crbug.com/591099 scrollbars/custom-scrollbar-thumb-focus-iframe-inactive-pseudo.html [ Failure ]
+crbug.com/591099 scrollbars/custom-scrollbar-thumb-inactive-pseudo.html [ Failure Pass ]
 crbug.com/591099 scrollbars/custom-scrollbar-thumb-width-changed-on-inactive-pseudo.html [ Failure ]
 crbug.com/591099 scrollbars/custom-scrollbar-with-incomplete-style.html [ Failure ]
 crbug.com/591099 scrollbars/disabled-composited-scrollbar.html [ Failure ]
@@ -17447,7 +18081,7 @@
 crbug.com/591099 scrollbars/scrollbar-click-does-not-blur-content.html [ Crash ]
 crbug.com/591099 scrollbars/scrollbar-content-crash.html [ Failure ]
 crbug.com/591099 scrollbars/scrollbar-crash-on-refresh.html [ Failure ]
-crbug.com/591099 scrollbars/scrollbar-large-overflow-rectangle.html [ Crash ]
+crbug.com/591099 scrollbars/scrollbar-large-overflow-rectangle.html [ Crash Pass ]
 crbug.com/591099 scrollbars/scrollbar-miss-mousemove-disabled.html [ Failure ]
 crbug.com/591099 scrollbars/scrollbar-miss-mousemove.html [ Failure ]
 crbug.com/591099 scrollbars/scrollbar-orientation.html [ Failure ]
@@ -17466,7 +18100,7 @@
 crbug.com/591099 scrollingcoordinator/plugin-with-wheel-handler.html [ Failure ]
 crbug.com/591099 security/autocomplete-cleared-on-back.html [ Failure ]
 crbug.com/591099 security/block-test.html [ Failure ]
-crbug.com/591099 security/block-test-no-port.html [ Failure ]
+crbug.com/591099 security/block-test-no-port.html [ Crash Failure ]
 crbug.com/591099 security/cannot-read-self-from-file.html [ Crash ]
 crbug.com/591099 shadow-dom/crashes/focus-navigation-infinite-loop.html [ Crash ]
 crbug.com/591099 shadow-dom/css-cascade-inner-scope-important.html [ Failure ]
@@ -17486,7 +18120,9 @@
 crbug.com/591099 shadow-dom/focus-navigation-slot-with-tabindex.html [ Crash ]
 crbug.com/591099 shadow-dom/focus-navigation-with-delegatesFocus.html [ Timeout ]
 crbug.com/591099 shadow-dom/focus-slide-on-shadow-host.html [ Crash ]
+crbug.com/591099 shadow-dom/focus-with-dom-mutation.html [ Failure ]
 crbug.com/591099 shadow-dom/focus-with-negative-index.html [ Crash ]
+crbug.com/591099 shadow-dom/fullscreen-element-in-shadow-complex.html [ Crash Pass ]
 crbug.com/591099 shadow-dom/nodetree-labels-node-list.html [ Crash ]
 crbug.com/591099 shadow-dom/nodetree-radio-node-list.html [ Crash ]
 crbug.com/591099 shadow-dom/pointer-lock-in-shadow.html [ Crash ]
@@ -17591,7 +18227,7 @@
 crbug.com/591099 storage/indexeddb/factory-deletedatabase.html [ Failure ]
 crbug.com/591099 storage/indexeddb/getdatabasenames-failed-open.html [ Failure ]
 crbug.com/591099 storage/indexeddb/get-keyrange.html [ Failure ]
-crbug.com/591099 storage/indexeddb/index-basics.html [ Failure ]
+crbug.com/591099 storage/indexeddb/index-basics.html [ Failure Timeout ]
 crbug.com/591099 storage/indexeddb/index-basics-workers.html [ Failure ]
 crbug.com/591099 storage/indexeddb/index-count.html [ Failure ]
 crbug.com/591099 storage/indexeddb/index-cursor.html [ Timeout ]
@@ -17622,7 +18258,7 @@
 crbug.com/591099 storage/indexeddb/intversion-upgrades.html [ Failure ]
 crbug.com/591099 storage/indexeddb/invalid-keys.html [ Failure ]
 crbug.com/591099 storage/indexeddb/key-cursor-request-cycle.html [ Failure ]
-crbug.com/591099 storage/indexeddb/key-generator.html [ Timeout ]
+crbug.com/591099 storage/indexeddb/key-generator.html [ Failure Timeout ]
 crbug.com/591099 storage/indexeddb/keypath-arrays.html [ Failure ]
 crbug.com/591099 storage/indexeddb/keypath-basics.html [ Timeout ]
 crbug.com/591099 storage/indexeddb/keypath-edges.html [ Failure ]
@@ -17683,7 +18319,7 @@
 crbug.com/591099 storage/indexeddb/mutating-cursor.html [ Failure ]
 crbug.com/591099 storage/indexeddb/object-lookups-in-versionchange.html [ Failure ]
 crbug.com/591099 storage/indexeddb/objectstore-autoincrement.html [ Failure ]
-crbug.com/591099 storage/indexeddb/objectstore-basics.html [ Failure ]
+crbug.com/591099 storage/indexeddb/objectstore-basics.html [ Failure Timeout ]
 crbug.com/591099 storage/indexeddb/objectstore-basics-workers.html [ Failure ]
 crbug.com/591099 storage/indexeddb/objectstore-clear.html [ Failure ]
 crbug.com/591099 storage/indexeddb/objectstore-count.html [ Failure ]
@@ -17757,6 +18393,7 @@
 crbug.com/591099 storage/websql/database-removed-context-crash.html [ Crash ]
 crbug.com/591099 storage/websql/execute-sql-rowsAffected.html [ Failure ]
 crbug.com/591099 storage/websql/null-characters.html [ Failure ]
+crbug.com/591099 storage/websql/sql-error-codes.html [ Failure ]
 crbug.com/591099 storage/websql/transaction-removed-context-crash.html [ Crash ]
 crbug.com/591099 svg/animations/accumulate-use-count.html [ Crash ]
 crbug.com/591099 svg/animations/accumulate-values-width-animation.html [ Failure ]
@@ -17862,14 +18499,15 @@
 crbug.com/591099 svg/animations/discard-on-svg-crash.html [ Crash ]
 crbug.com/591099 svg/animations/dynamic-modify-transform-without-baseval.html [ Crash ]
 crbug.com/591099 svg/animations/end-use-counters.html [ Crash ]
-crbug.com/591099 svg/animations/filter-primitive-region.html [ Failure ]
+crbug.com/591099 svg/animations/filter-primitive-region.html [ Failure Pass ]
 crbug.com/591099 svg/animations/force-use-shadow-tree-recreation-while-animating.html [ Failure ]
 crbug.com/591099 svg/animations/img-tag-css-length-animation-crash.html [ Crash ]
 crbug.com/591099 svg/animations/multiple-animations-ending.html [ Timeout ]
 crbug.com/591099 svg/animations/multiple-animations-fill-freeze.html [ Failure ]
 crbug.com/591099 svg/animations/multiple-begin-additive-animation.html [ Failure ]
 crbug.com/591099 svg/animations/multiple-begin-animation-events.html [ Failure ]
-crbug.com/591099 svg/animations/no-attr-radialgradient-fr.svg [ Crash ]
+crbug.com/591099 svg/animations/no-attr-pattern-par.svg [ Crash Pass ]
+crbug.com/591099 svg/animations/no-attr-radialgradient-fr.svg [ Crash Pass ]
 crbug.com/591099 svg/animations/non-additive-type-by-animation.html [ Failure ]
 crbug.com/591099 svg/animations/non-additive-type-from-by-animation.html [ Failure ]
 crbug.com/591099 svg/animations/pause-setcurrenttime-unpause-before-timeline-start.html [ Crash ]
@@ -17998,11 +18636,16 @@
 crbug.com/591099 svg/canvas/canvas-draw-image-size.html [ Crash ]
 crbug.com/591099 svg/canvas/canvas-draw-image-svg-fragment.html [ Crash ]
 crbug.com/591099 svg/canvas/canvas-draw-pattern-size.html [ Crash ]
-crbug.com/591099 svg/canvas/canvas-draw-pattern-svg-fragment.html [ Crash ]
+crbug.com/591099 svg/canvas/canvas-draw-pattern-svg-fragment.html [ Crash Pass ]
 crbug.com/591099 svg/canvas/canvas-pattern-svg.html [ Failure ]
 crbug.com/591099 svg/canvas/image-svg-intrinsic-size.html [ Crash ]
 crbug.com/591099 svg/carto.net/frameless-svg-parse-error.html [ Failure ]
+crbug.com/591099 svg/clip-path/clip-path-shape-polygon-3.svg [ Crash Pass ]
+crbug.com/591099 svg/clip-path/clip-path-use-as-child3.svg [ Crash ]
+crbug.com/591099 svg/clip-path/clip-path-use-as-child.svg [ Crash ]
+crbug.com/591099 svg/clip-path/clip-path-with-different-unittypes2.svg [ Crash ]
 crbug.com/591099 svg/clip-path/opacity-assertion.svg [ Crash ]
+crbug.com/591099 svg/css/background-image-svg.html [ Crash Pass ]
 crbug.com/591099 svg/css/baseline-shift-inherit.html [ Crash ]
 crbug.com/591099 svg/css/buffered-rendering.html [ Failure ]
 crbug.com/591099 svg/css/css-box-min-width.html [ Failure ]
@@ -18049,10 +18692,12 @@
 crbug.com/591099 svg/custom/disallow-non-lengths-in-attrs.html [ Crash ]
 crbug.com/591099 svg/custom/display-none-a-does-not-stop-focus-navigation.html [ Crash ]
 crbug.com/591099 svg/custom/dominant-baseline-hanging.svg [ Failure ]
-crbug.com/591099 svg/custom/draw-image-crash.html [ Crash ]
+crbug.com/591099 svg/custom/draw-image-crash.html [ Crash Pass ]
+crbug.com/591099 svg/custom/duplicate-ids-style-change.html [ Failure Pass ]
 crbug.com/591099 svg/custom/elementTimeControl-nan-crash.html [ Failure ]
 crbug.com/591099 svg/custom/embedded-svg-allowed-in-dashboard.xml [ Failure ]
 crbug.com/591099 svg/custom/events-in-shadow-tree.html [ Crash ]
+crbug.com/591099 svg/custom/fill-fallback-currentcolor-2.svg [ Crash ]
 crbug.com/591099 svg/custom/focus-event-handling-keyboard.xhtml [ Failure ]
 crbug.com/591099 svg/custom/focus-event-handling.xhtml [ Failure ]
 crbug.com/591099 svg/custom/fragment-navigation-01.html [ Failure ]
@@ -18073,6 +18718,7 @@
 crbug.com/591099 svg/custom/getsvgdocument.html [ Failure ]
 crbug.com/591099 svg/custom/getsvgdocument-null.html [ Failure ]
 crbug.com/591099 svg/custom/global-constructors.html [ Failure ]
+crbug.com/591099 svg/custom/gradient-deep-referencing.svg [ Crash ]
 crbug.com/591099 svg/custom/hit-test-path-stroke.svg [ Failure ]
 crbug.com/591099 svg/custom/hit-test-path.svg [ Failure ]
 crbug.com/591099 svg/custom/image-parent-translation.xhtml [ Failure ]
@@ -18083,6 +18729,7 @@
 crbug.com/591099 svg/custom/inline-svg-in-xhtml.xml [ Failure ]
 crbug.com/591099 svg/custom/inline-svg-use-available-width.html [ Failure ]
 crbug.com/591099 svg/custom/inline-svg-use-available-width-in-stf.html [ Failure ]
+crbug.com/591099 svg/custom/inline-text-zero-length.svg [ Crash ]
 crbug.com/591099 svg/custom/invalid-filter-reference-and-opacity-crash.html [ Failure ]
 crbug.com/591099 svg/custom/invalid-length-units.html [ Failure ]
 crbug.com/591099 svg/custom/invisible-text-after-scrolling.xhtml [ Failure ]
@@ -18096,6 +18743,7 @@
 crbug.com/591099 svg/custom/load-svgfragments-inserted-after-docload.html [ Crash ]
 crbug.com/591099 svg/custom/manually-parsed-embedded-svg-allowed-in-dashboard.html [ Failure ]
 crbug.com/591099 svg/custom/manually-parsed-svg-allowed-in-dashboard.html [ Failure ]
+crbug.com/591099 svg/custom/marker-default-width-height.svg [ Failure Pass ]
 crbug.com/591099 svg/custom/marker-orient-auto.html [ Failure ]
 crbug.com/591099 svg/custom/missing-xlink.svg [ Failure ]
 crbug.com/591099 svg/custom/mouse-move-on-svg-container.xhtml [ Timeout ]
@@ -18123,6 +18771,7 @@
 crbug.com/591099 svg/custom/pointer-events-on-svg-with-pointer.xhtml [ Failure ]
 crbug.com/591099 svg/custom/poly-parsing-error.html [ Failure ]
 crbug.com/591099 svg/custom/removed-from-animation-crash.html [ Crash ]
+crbug.com/591099 svg/custom/rootelement.svg [ Crash ]
 crbug.com/591099 svg/custom/rootmost-svg-xy-attrs.xhtml [ Failure ]
 crbug.com/591099 svg/custom/root-size-attribute-changes.html [ Failure ]
 crbug.com/591099 svg/custom/scroll-to-svg-element-assertion.html [ Failure ]
@@ -18141,6 +18790,7 @@
 crbug.com/591099 svg/custom/svg-image-intrinsic-size-with-cssstyle-auto.html [ Crash ]
 crbug.com/591099 svg/custom/svg-image-par-none-viewbox-percentage-size.html [ Crash ]
 crbug.com/591099 svg/custom/svg-modify-currentTranslate.html [ Failure ]
+crbug.com/591099 svg/custom/SVGRect-interface.svg [ Failure ]
 crbug.com/591099 svg/custom/svg-root-padding-border-margin.html [ Failure ]
 crbug.com/591099 svg/custom/svg-viewBox-dynamic.html [ Failure ]
 crbug.com/591099 svg/custom/svg-xml-dom-sync.html [ Failure ]
@@ -18149,6 +18799,7 @@
 crbug.com/591099 svg/custom/text-dom-01-f.svg [ Failure ]
 crbug.com/591099 svg/custom/text-filter.svg [ Crash ]
 crbug.com/591099 svg/custom/text-match-highlight.html [ Failure ]
+crbug.com/591099 svg/custom/text-rotation.svg [ Failure ]
 crbug.com/591099 svg/custom/text-use-click-crash.xhtml [ Crash ]
 crbug.com/591099 svg/custom/title-assertion.html [ Failure ]
 crbug.com/591099 svg/custom/touch-events.html [ Failure ]
@@ -18163,10 +18814,12 @@
 crbug.com/591099 svg/custom/use-invalid-pattern.svg [ Failure ]
 crbug.com/591099 svg/custom/use-invalid-style.svg [ Failure ]
 crbug.com/591099 svg/custom/use-multiple-pending-resources.svg [ Failure ]
+crbug.com/591099 svg/custom/use-nested-sibling-symbols.html [ Crash ]
 crbug.com/591099 svg/custom/use-property-synchronization-crash.svg [ Failure ]
 crbug.com/591099 svg/custom/use-recalcStyle-crash.svg [ Failure ]
 crbug.com/591099 svg/custom/use-referencing-style-crash.svg [ Failure ]
-crbug.com/591099 svg/custom/use-transfer-width-height-properties-to-svg.svg [ Failure ]
+crbug.com/591099 svg/custom/use-transfer-width-height-properties-to-svg1.svg [ Crash Pass ]
+crbug.com/591099 svg/custom/use-transfer-width-height-properties-to-svg.svg [ Failure Pass ]
 crbug.com/591099 svg/custom/zoomed-alignment-baseline.html [ Crash ]
 crbug.com/591099 svg/custom/zoomed-baseline-shift.html [ Crash ]
 crbug.com/591099 svg/custom/zoomed-ex-em-font-sizes.html [ Crash ]
@@ -18190,7 +18843,7 @@
 crbug.com/591099 svg/dom/no-error-reporting-on-attribute-removal.html [ Failure ]
 crbug.com/591099 svg/dom/operatorAttribute.html [ Failure ]
 crbug.com/591099 svg/dom/points-parser.html [ Failure ]
-crbug.com/591099 svg/dom/preserve-aspect-ratio-parser.html [ Failure ]
+crbug.com/591099 svg/dom/preserve-aspect-ratio-parser.html [ Failure Timeout ]
 crbug.com/591099 svg/dom/remove-use-target-element-indirectly.html [ Failure ]
 crbug.com/591099 svg/dom/rgb-color-parser.html [ Failure ]
 crbug.com/591099 svg/dom/set-class-attribute.html [ Failure ]
@@ -18573,11 +19226,15 @@
 crbug.com/591099 svg/dynamic-updates/SVGUseElement-dom-href2-attr.html [ Failure ]
 crbug.com/591099 svg/dynamic-updates/SVGUseElement-svgdom-href1-prop.html [ Failure ]
 crbug.com/591099 svg/dynamic-updates/SVGUseElement-svgdom-href2-prop.html [ Failure ]
+crbug.com/591099 svg/filters/big-width-filter.svg [ Crash ]
+crbug.com/591099 svg/filters/feColorMatrix-values.svg [ Failure ]
 crbug.com/591099 svg/filters/feComponentTransfer-style-crash.xhtml [ Crash ]
 crbug.com/591099 svg/filters/feDisplacementMap-crash-test.xhtml [ Crash ]
+crbug.com/591099 svg/filters/feFlood-rgba-flood-color-w-opacity-1.svg [ Crash ]
 crbug.com/591099 svg/filters/feLighting-crash.svg [ Crash ]
 crbug.com/591099 svg/filters/feLight-non-lighting-parent-crash.html [ Failure ]
 crbug.com/591099 svg/filters/feTurbulence-bad-seeds.html [ Failure ]
+crbug.com/591099 svg/filters/feTurbulence-primitiveUnits.svg [ Crash ]
 crbug.com/591099 svg/filters/filter-detach-crash.html [ Crash ]
 crbug.com/591099 svg/filters/reparent-animated-filter-target.html [ Failure ]
 crbug.com/591099 svg/foreignObject/background-render-phase.html [ Failure ]
@@ -18614,6 +19271,8 @@
 crbug.com/591099 svg/hittest/zero-length-butt-cap-path.xhtml [ Crash ]
 crbug.com/591099 svg/hittest/zero-length-round-cap-path.xhtml [ Crash ]
 crbug.com/591099 svg/hittest/zero-length-square-cap-path.xhtml [ Crash ]
+crbug.com/591099 svg/hixie/dynamic/003.xml [ Failure ]
+crbug.com/591099 svg/hixie/error/006.xml [ Crash ]
 crbug.com/591099 svg/hixie/error/011.xml [ Crash ]
 crbug.com/591099 svg/hixie/error/012.xml [ Failure ]
 crbug.com/591099 svg/hixie/error/013.xml [ Failure ]
@@ -18626,7 +19285,7 @@
 crbug.com/591099 svg/in-html/sizing/svg-inline.html [ Failure ]
 crbug.com/591099 svg/in-html/sizing/svg-inline-vertical.html [ Crash ]
 crbug.com/591099 svg/overflow/overflow-on-outermost-svg-element-horizontal-auto.svg [ Failure ]
-crbug.com/591099 svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-2.svg [ Crash ]
+crbug.com/591099 svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-2.svg [ Crash Pass ]
 crbug.com/591099 svg/overflow/overflow-on-outermost-svg-element-in-xhtml-auto.xhtml [ Failure ]
 crbug.com/591099 svg/overflow/overflow-on-outermost-svg-element-in-xhtml-defaults.xhtml [ Failure ]
 crbug.com/591099 svg/overflow/overflow-on-outermost-svg-element-in-xhtml-hidden.xhtml [ Failure ]
@@ -18658,7 +19317,7 @@
 crbug.com/591099 svg/text/invalid-non-bmp-characters.html [ Crash ]
 crbug.com/591099 svg/text/lengthAdjust-text-metrics.html [ Failure ]
 crbug.com/591099 svg/text/scaling-font-with-geometric-precision.html [ Failure ]
-crbug.com/591099 svg/text/selection-doubleclick.svg [ Failure ]
+crbug.com/591099 svg/text/selection-doubleclick.svg [ Failure Pass ]
 crbug.com/591099 svg/text/selection-dragging-outside-1.html [ Crash ]
 crbug.com/591099 svg/text/selection-dragging-outside-2.html [ Crash ]
 crbug.com/591099 svg/text/selection-dragging-outside-3.html [ Crash ]
@@ -18667,6 +19326,8 @@
 crbug.com/591099 svg/text/select-text-inside-non-static-position.html [ Failure ]
 crbug.com/591099 svg/text/select-textLength-spacingAndGlyphs-squeeze-1.svg [ Failure ]
 crbug.com/591099 svg/text/select-textLength-spacingAndGlyphs-stretch-4.svg [ Failure ]
+crbug.com/591099 svg/text/select-x-list-2.svg [ Failure ]
+crbug.com/591099 svg/text/select-x-list-with-tspans-4.svg [ Failure Pass ]
 crbug.com/591099 svg/text/svgtextcontentelement-glyphqueries-rtl.html [ Crash ]
 crbug.com/591099 svg/text/text-bbox-empty.html [ Crash ]
 crbug.com/591099 svg/text/text-bbox-of-empty-after-change.html [ Crash ]
@@ -18674,18 +19335,26 @@
 crbug.com/591099 svg/text/text-layout-crash.html [ Failure ]
 crbug.com/591099 svg/text/text-outline-2.html [ Failure ]
 crbug.com/591099 svg/text/textPathBoundsBug.svg [ Failure ]
+crbug.com/591099 svg/text/textpath-outline.svg [ Failure ]
 crbug.com/591099 svg/text/textpath-reference-crash.html [ Crash ]
 crbug.com/591099 svg/text/textquery-collapsed-whitespace.html [ Crash ]
 crbug.com/591099 svg/text/text-repaint-rects.xhtml [ Failure ]
 crbug.com/591099 svg/text/text-selection-align-01-b.svg [ Failure ]
-crbug.com/591099 svg/text/text-selection-align-04-b.svg [ Failure ]
+crbug.com/591099 svg/text/text-selection-align-02-b.svg [ Failure Pass ]
+crbug.com/591099 svg/text/text-selection-align-04-b.svg [ Failure Pass ]
 crbug.com/591099 svg/text/text-selection-align-05-b.svg [ Failure ]
-crbug.com/591099 svg/text/text-selection-deco-01-b.svg [ Failure ]
+crbug.com/591099 svg/text/text-selection-deco-01-b.svg [ Failure Pass ]
+crbug.com/591099 svg/text/text-selection-fonts-01-t.svg [ Failure ]
 crbug.com/591099 svg/text/text-selection-fonts-02-t.svg [ Failure ]
 crbug.com/591099 svg/text/text-selection-intro-05-t.svg [ Failure ]
+crbug.com/591099 svg/text/text-selection-path-01-b.svg [ Failure ]
+crbug.com/591099 svg/text/text-selection-spacing-01-b.svg [ Failure Pass ]
+crbug.com/591099 svg/text/text-selection-text-01-b.svg [ Failure ]
+crbug.com/591099 svg/text/text-selection-text-04-t.svg [ Failure ]
 crbug.com/591099 svg/text/text-selection-text-06-t.svg [ Failure ]
 crbug.com/591099 svg/text/text-selection-text-07-t.svg [ Failure ]
-crbug.com/591099 svg/text/text-selection-text-08-b.svg [ Failure ]
+crbug.com/591099 svg/text/text-selection-text-08-b.svg [ Failure Pass ]
+crbug.com/591099 svg/text/text-selection-tselect-02-f.svg [ Failure Pass ]
 crbug.com/591099 svg/text/text-selection-tspan-01-b.svg [ Failure ]
 crbug.com/591099 svg/text/text-selection-ws-01-t.svg [ Failure ]
 crbug.com/591099 svg/text/tspan-multiple-outline.svg [ Failure ]
@@ -18706,30 +19375,48 @@
 crbug.com/591099 svg/transforms/transform-origin-presentation-attribute.xhtml [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/animate-elem-02-t.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/animate-elem-03-t.svg [ Failure ]
-crbug.com/591099 svg/W3C-SVG-1.1/animate-elem-05-t.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/animate-elem-04-t.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/animate-elem-05-t.svg [ Failure Pass ]
 crbug.com/591099 svg/W3C-SVG-1.1/animate-elem-06-t.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/animate-elem-07-t.svg [ Failure ]
-crbug.com/591099 svg/W3C-SVG-1.1/animate-elem-08-t.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/animate-elem-08-t.svg [ Failure Pass ]
+crbug.com/591099 svg/W3C-SVG-1.1/animate-elem-09-t.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/animate-elem-10-t.svg [ Failure Pass ]
 crbug.com/591099 svg/W3C-SVG-1.1/animate-elem-11-t.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/animate-elem-12-t.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/animate-elem-13-t.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/animate-elem-14-t.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/animate-elem-15-t.svg [ Failure Pass ]
 crbug.com/591099 svg/W3C-SVG-1.1/animate-elem-16-t.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/animate-elem-17-t.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/animate-elem-20-t.svg [ Failure ]
-crbug.com/591099 svg/W3C-SVG-1.1/animate-elem-21-t.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/animate-elem-21-t.svg [ Failure Pass ]
+crbug.com/591099 svg/W3C-SVG-1.1/animate-elem-22-b.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/animate-elem-23-t.svg [ Failure ]
-crbug.com/591099 svg/W3C-SVG-1.1/animate-elem-25-t.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/animate-elem-24-t.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/animate-elem-25-t.svg [ Failure Pass ]
+crbug.com/591099 svg/W3C-SVG-1.1/animate-elem-26-t.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/animate-elem-27-t.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/animate-elem-28-t.svg [ Failure ]
-crbug.com/591099 svg/W3C-SVG-1.1/animate-elem-30-t.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/animate-elem-29-b.svg [ Failure Pass ]
+crbug.com/591099 svg/W3C-SVG-1.1/animate-elem-30-t.svg [ Failure Pass ]
+crbug.com/591099 svg/W3C-SVG-1.1/animate-elem-31-t.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/animate-elem-32-t.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/animate-elem-33-t.svg [ Failure Pass ]
 crbug.com/591099 svg/W3C-SVG-1.1/animate-elem-34-t.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/animate-elem-36-t.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/animate-elem-37-t.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/animate-elem-40-t.svg [ Failure ]
-crbug.com/591099 svg/W3C-SVG-1.1/animate-elem-52-t.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/animate-elem-41-t.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/animate-elem-44-t.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/animate-elem-46-t.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/animate-elem-52-t.svg [ Failure Pass ]
 crbug.com/591099 svg/W3C-SVG-1.1/animate-elem-60-t.svg [ Failure ]
-crbug.com/591099 svg/W3C-SVG-1.1/animate-elem-61-t.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/animate-elem-61-t.svg [ Failure Pass ]
 crbug.com/591099 svg/W3C-SVG-1.1/animate-elem-62-t.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/animate-elem-63-t.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/animate-elem-64-t.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/animate-elem-65-t.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/animate-elem-66-t.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/animate-elem-67-t.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/animate-elem-68-t.svg [ Failure ]
@@ -18738,135 +19425,218 @@
 crbug.com/591099 svg/W3C-SVG-1.1/animate-elem-77-t.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/animate-elem-78-t.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/animate-elem-80-t.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/animate-elem-81-t.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/animate-elem-82-t.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/animate-elem-83-t.svg [ Failure Pass ]
 crbug.com/591099 svg/W3C-SVG-1.1/animate-elem-84-t.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/animate-elem-85-t.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/color-prof-01-f.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/color-prop-01-b.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/color-prop-02-f.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/color-prop-03-t.svg [ Failure ]
-crbug.com/591099 svg/W3C-SVG-1.1/coords-coord-01-t.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/coords-coord-01-t.svg [ Failure Pass ]
 crbug.com/591099 svg/W3C-SVG-1.1/coords-coord-02-t.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/coords-trans-01-b.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/coords-trans-02-t.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/coords-trans-03-t.svg [ Failure Pass ]
+crbug.com/591099 svg/W3C-SVG-1.1/coords-trans-04-t.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/coords-trans-05-t.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/coords-units-01-b.svg [ Failure ]
-crbug.com/591099 svg/W3C-SVG-1.1/coords-units-02-b.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/coords-units-02-b.svg [ Failure Pass ]
 crbug.com/591099 svg/W3C-SVG-1.1/coords-viewattr-01-b.svg [ Failure ]
-crbug.com/591099 svg/W3C-SVG-1.1/coords-viewattr-03-b.svg [ Failure ]
-crbug.com/591099 svg/W3C-SVG-1.1/extend-namespace-01-f.svg [ Failure ]
-crbug.com/591099 svg/W3C-SVG-1.1/filters-blend-01-b.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/coords-viewattr-02-b.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/coords-viewattr-03-b.svg [ Failure Pass ]
+crbug.com/591099 svg/W3C-SVG-1.1/extend-namespace-01-f.svg [ Failure Pass ]
+crbug.com/591099 svg/W3C-SVG-1.1/filters-blend-01-b.svg [ Failure Pass ]
 crbug.com/591099 svg/W3C-SVG-1.1/filters-color-01-b.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/filters-composite-02-b.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/filters-conv-01-f.svg [ Failure Pass ]
 crbug.com/591099 svg/W3C-SVG-1.1/filters-diffuse-01-f.svg [ Failure ]
-crbug.com/591099 svg/W3C-SVG-1.1/filters-example-01-b.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/filters-example-01-b.svg [ Failure Pass ]
 crbug.com/591099 svg/W3C-SVG-1.1/filters-gauss-01-b.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/filters-image-01-b.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/filters-light-04-f.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/filters-morph-01-f.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/filters-offset-01-b.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/filters-specular-01-f.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/filters-tile-01-b.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/filters-turb-01-f.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/filters-turb-02-f.svg [ Failure ]
-crbug.com/591099 svg/W3C-SVG-1.1/fonts-elem-03-b.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/fonts-elem-03-b.svg [ Failure Pass ]
 crbug.com/591099 svg/W3C-SVG-1.1/fonts-elem-04-b.svg [ Failure ]
-crbug.com/591099 svg/W3C-SVG-1.1/interact-cursor-01-f.svg [ Failure ]
-crbug.com/591099 svg/W3C-SVG-1.1/interact-dom-01-b.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/fonts-elem-07-b.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/interact-cursor-01-f.svg [ Failure Pass ]
+crbug.com/591099 svg/W3C-SVG-1.1/interact-dom-01-b.svg [ Failure Pass ]
 crbug.com/591099 svg/W3C-SVG-1.1/interact-events-01-b.svg [ Failure ]
-crbug.com/591099 svg/W3C-SVG-1.1/interact-order-02-b.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/interact-order-01-b.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/interact-order-02-b.svg [ Failure Pass ]
 crbug.com/591099 svg/W3C-SVG-1.1/interact-order-03-b.svg [ Failure ]
-crbug.com/591099 svg/W3C-SVG-1.1/linking-a-02-b.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/interact-zoom-01-t.svg [ Failure Pass ]
+crbug.com/591099 svg/W3C-SVG-1.1/linking-a-01-b.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/linking-a-02-b.svg [ Failure Pass ]
 crbug.com/591099 svg/W3C-SVG-1.1/linking-a-03-b.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/linking-a-04-t.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/linking-a-05-t.svg [ Failure ]
-crbug.com/591099 svg/W3C-SVG-1.1/linking-uri-03-t.svg [ Failure ]
-crbug.com/591099 svg/W3C-SVG-1.1/masking-mask-01-b.svg [ Failure ]
-crbug.com/591099 svg/W3C-SVG-1.1/masking-path-01-b.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/linking-uri-03-t.svg [ Failure Pass ]
+crbug.com/591099 svg/W3C-SVG-1.1/masking-intro-01-f.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/masking-mask-01-b.svg [ Failure Pass ]
+crbug.com/591099 svg/W3C-SVG-1.1/masking-opacity-01-b.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/masking-path-01-b.svg [ Failure Pass ]
+crbug.com/591099 svg/W3C-SVG-1.1/masking-path-02-b.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/masking-path-03-b.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/masking-path-04-b.svg [ Failure Pass ]
 crbug.com/591099 svg/W3C-SVG-1.1/masking-path-05-f.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/metadata-example-01-b.svg [ Failure ]
-crbug.com/591099 svg/W3C-SVG-1.1/painting-fill-01-t.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/painting-fill-01-t.svg [ Failure Pass ]
 crbug.com/591099 svg/W3C-SVG-1.1/painting-fill-02-t.svg [ Failure ]
-crbug.com/591099 svg/W3C-SVG-1.1/painting-fill-03-t.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/painting-fill-03-t.svg [ Failure Pass ]
+crbug.com/591099 svg/W3C-SVG-1.1/painting-fill-04-t.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/painting-fill-05-b.svg [ Failure ]
-crbug.com/591099 svg/W3C-SVG-1.1/painting-marker-03-f.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/painting-marker-01-f.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/painting-marker-02-f.svg [ Failure Pass ]
+crbug.com/591099 svg/W3C-SVG-1.1/painting-marker-03-f.svg [ Failure Pass ]
 crbug.com/591099 svg/W3C-SVG-1.1/painting-stroke-01-t.svg [ Failure ]
-crbug.com/591099 svg/W3C-SVG-1.1/painting-stroke-04-t.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/painting-stroke-02-t.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/painting-stroke-03-t.svg [ Failure Pass ]
+crbug.com/591099 svg/W3C-SVG-1.1/painting-stroke-04-t.svg [ Failure Pass ]
 crbug.com/591099 svg/W3C-SVG-1.1/painting-stroke-07-t.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/paths-data-01-t.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/paths-data-02-t.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/paths-data-03-f.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/paths-data-04-t.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/paths-data-05-t.svg [ Failure ]
-crbug.com/591099 svg/W3C-SVG-1.1/paths-data-06-t.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/paths-data-06-t.svg [ Failure Pass ]
 crbug.com/591099 svg/W3C-SVG-1.1/paths-data-07-t.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/paths-data-08-t.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/paths-data-09-t.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/paths-data-10-t.svg [ Failure Pass ]
 crbug.com/591099 svg/W3C-SVG-1.1/paths-data-12-t.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/paths-data-13-t.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/paths-data-14-t.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/paths-data-15-t.svg [ Failure ]
-crbug.com/591099 svg/W3C-SVG-1.1/pservers-grad-03-b.svg [ Failure ]
-crbug.com/591099 svg/W3C-SVG-1.1/pservers-grad-04-b.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/pservers-grad-01-b.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/pservers-grad-02-b.svg [ Failure Pass ]
+crbug.com/591099 svg/W3C-SVG-1.1/pservers-grad-03-b.svg [ Failure Pass ]
+crbug.com/591099 svg/W3C-SVG-1.1/pservers-grad-04-b.svg [ Failure Pass ]
+crbug.com/591099 svg/W3C-SVG-1.1/pservers-grad-05-b.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/pservers-grad-07-b.svg [ Failure Pass ]
+crbug.com/591099 svg/W3C-SVG-1.1/pservers-grad-08-b.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/pservers-grad-10-b.svg [ Failure ]
-crbug.com/591099 svg/W3C-SVG-1.1/pservers-grad-11-b.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/pservers-grad-11-b.svg [ Failure Pass ]
 crbug.com/591099 svg/W3C-SVG-1.1/pservers-grad-12-b.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/pservers-grad-13-b.svg [ Failure ]
-crbug.com/591099 svg/W3C-SVG-1.1/pservers-grad-14-b.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/pservers-grad-14-b.svg [ Failure Pass ]
 crbug.com/591099 svg/W3C-SVG-1.1/pservers-grad-15-b.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/pservers-grad-16-b.svg [ Failure Pass ]
 crbug.com/591099 svg/W3C-SVG-1.1/pservers-grad-19-b.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/pservers-pattern-01-b.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/render-elems-01-t.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/render-elems-02-t.svg [ Failure ]
-crbug.com/591099 svg/W3C-SVG-1.1/render-elems-06-t.svg [ Failure ]
-crbug.com/591099 svg/W3C-SVG-1.1/render-elems-07-t.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/render-elems-06-t.svg [ Failure Pass ]
+crbug.com/591099 svg/W3C-SVG-1.1/render-elems-07-t.svg [ Failure Pass ]
 crbug.com/591099 svg/W3C-SVG-1.1/render-elems-08-t.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/render-groups-01-b.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/render-groups-03-t.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/script-handle-01-b.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/script-handle-02-b.svg [ Failure ]
-crbug.com/591099 svg/W3C-SVG-1.1/script-handle-03-b.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/script-handle-03-b.svg [ Failure Pass ]
+crbug.com/591099 svg/W3C-SVG-1.1/script-handle-04-b.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1-SE/color-prop-05-t.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1-SE/coords-dom-01-f.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1-SE/coords-dom-02-f.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1-SE/coords-dom-03-f.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1-SE/coords-dom-04-f.svg [ Failure ]
-crbug.com/591099 svg/W3C-SVG-1.1-SE/coords-units-03-b.svg [ Failure ]
-crbug.com/591099 svg/W3C-SVG-1.1-SE/filters-image-03-f.svg [ Failure ]
-crbug.com/591099 svg/W3C-SVG-1.1-SE/interact-pointer-03-t.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1-SE/coords-units-03-b.svg [ Failure Pass ]
+crbug.com/591099 svg/W3C-SVG-1.1-SE/filters-felem-01-b.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1-SE/filters-image-03-f.svg [ Failure Pass ]
+crbug.com/591099 svg/W3C-SVG-1.1-SE/filters-image-05-f.svg [ Failure Pass ]
+crbug.com/591099 svg/W3C-SVG-1.1-SE/interact-pointer-03-t.svg [ Failure Pass ]
+crbug.com/591099 svg/W3C-SVG-1.1-SE/linking-uri-01-b.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1-SE/painting-control-04-f.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1-SE/painting-marker-05-f.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1-SE/painting-marker-07-f.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1-SE/pservers-grad-17-b.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1-SE/pservers-grad-20-b.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1-SE/pservers-pattern-03-f.svg [ Failure Pass ]
+crbug.com/591099 svg/W3C-SVG-1.1-SE/pservers-pattern-04-f.svg [ Failure Pass ]
 crbug.com/591099 svg/W3C-SVG-1.1-SE/struct-dom-11-f.svg [ Failure ]
-crbug.com/591099 svg/W3C-SVG-1.1-SE/struct-use-14-f.svg [ Failure ]
-crbug.com/591099 svg/W3C-SVG-1.1-SE/styling-pres-02-f.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1-SE/struct-use-14-f.svg [ Failure Pass ]
+crbug.com/591099 svg/W3C-SVG-1.1-SE/styling-pres-02-f.svg [ Failure Pass ]
+crbug.com/591099 svg/W3C-SVG-1.1-SE/svgdom-over-01-f.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1-SE/text-intro-05-t.svg [ Failure Pass ]
 crbug.com/591099 svg/W3C-SVG-1.1-SE/text-intro-09-b.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1-SE/text-tspan-02-b.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1-SE/types-dom-02-f.svg [ Failure ]
-crbug.com/591099 svg/W3C-SVG-1.1-SE/types-dom-03-b.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1-SE/types-dom-03-b.svg [ Failure Pass ]
 crbug.com/591099 svg/W3C-SVG-1.1-SE/types-dom-04-b.svg [ Failure ]
-crbug.com/591099 svg/W3C-SVG-1.1-SE/types-dom-05-b.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1-SE/types-dom-05-b.svg [ Failure Pass ]
 crbug.com/591099 svg/W3C-SVG-1.1-SE/types-dom-07-f.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/shapes-circle-01-t.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/shapes-circle-02-t.svg [ Failure ]
-crbug.com/591099 svg/W3C-SVG-1.1/shapes-polyline-01-t.svg [ Failure ]
-crbug.com/591099 svg/W3C-SVG-1.1/shapes-rect-01-t.svg [ Failure ]
-crbug.com/591099 svg/W3C-SVG-1.1/struct-cond-01-t.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/shapes-ellipse-01-t.svg [ Failure Pass ]
+crbug.com/591099 svg/W3C-SVG-1.1/shapes-intro-01-t.svg [ Failure Pass ]
+crbug.com/591099 svg/W3C-SVG-1.1/shapes-line-01-t.svg [ Failure Pass ]
+crbug.com/591099 svg/W3C-SVG-1.1/shapes-polygon-01-t.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/shapes-polyline-01-t.svg [ Failure Pass ]
+crbug.com/591099 svg/W3C-SVG-1.1/shapes-rect-01-t.svg [ Failure Pass ]
+crbug.com/591099 svg/W3C-SVG-1.1/shapes-rect-02-t.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/struct-cond-01-t.svg [ Failure Pass ]
 crbug.com/591099 svg/W3C-SVG-1.1/struct-cond-02-t.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/struct-cond-03-t.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/struct-defs-01-t.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/struct-dom-01-b.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/struct-dom-02-b.svg [ Failure ]
-crbug.com/591099 svg/W3C-SVG-1.1/struct-dom-03-b.svg [ Failure ]
-crbug.com/591099 svg/W3C-SVG-1.1/struct-dom-05-b.svg [ Failure ]
-crbug.com/591099 svg/W3C-SVG-1.1/struct-dom-06-b.svg [ Failure ]
-crbug.com/591099 svg/W3C-SVG-1.1/struct-frag-04-t.svg [ Failure ]
-crbug.com/591099 svg/W3C-SVG-1.1/struct-frag-06-t.svg [ Failure ]
-crbug.com/591099 svg/W3C-SVG-1.1/struct-group-01-t.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/struct-dom-03-b.svg [ Failure Pass ]
+crbug.com/591099 svg/W3C-SVG-1.1/struct-dom-04-b.svg [ Failure Pass ]
+crbug.com/591099 svg/W3C-SVG-1.1/struct-dom-05-b.svg [ Failure Pass ]
+crbug.com/591099 svg/W3C-SVG-1.1/struct-dom-06-b.svg [ Failure Pass ]
+crbug.com/591099 svg/W3C-SVG-1.1/struct-frag-01-t.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/struct-frag-02-t.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/struct-frag-03-t.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/struct-frag-04-t.svg [ Failure Pass ]
+crbug.com/591099 svg/W3C-SVG-1.1/struct-frag-06-t.svg [ Failure Pass ]
+crbug.com/591099 svg/W3C-SVG-1.1/struct-group-01-t.svg [ Failure Pass ]
+crbug.com/591099 svg/W3C-SVG-1.1/struct-group-02-b.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/struct-group-03-t.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/struct-image-01-t.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/struct-image-02-b.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/struct-image-04-t.svg [ Failure ]
-crbug.com/591099 svg/W3C-SVG-1.1/struct-image-06-t.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/struct-image-05-b.svg [ Failure Pass ]
+crbug.com/591099 svg/W3C-SVG-1.1/struct-image-06-t.svg [ Failure Pass ]
 crbug.com/591099 svg/W3C-SVG-1.1/struct-image-08-t.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/struct-image-09-t.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/struct-image-10-t.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/struct-symbol-01-b.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/struct-use-01-t.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/struct-use-03-t.svg [ Failure ]
-crbug.com/591099 svg/W3C-SVG-1.1/styling-css-03-b.svg [ Failure ]
-crbug.com/591099 svg/W3C-SVG-1.1/styling-inherit-01-b.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/styling-css-02-b.svg [ Failure Pass ]
+crbug.com/591099 svg/W3C-SVG-1.1/styling-css-03-b.svg [ Failure Pass ]
+crbug.com/591099 svg/W3C-SVG-1.1/styling-css-05-b.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/styling-css-06-b.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/styling-inherit-01-b.svg [ Failure Pass ]
+crbug.com/591099 svg/W3C-SVG-1.1/styling-pres-01-t.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/text-align-01-b.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/text-align-03-b.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/text-align-04-b.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/text-align-05-b.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/text-align-06-b.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/text-deco-01-b.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/text-fonts-01-t.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/text-fonts-02-t.svg [ Failure ]
-crbug.com/591099 svg/W3C-SVG-1.1/text-intro-03-b.svg [ Failure ]
-crbug.com/591099 svg/W3C-SVG-1.1/text-path-01-b.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/text-intro-01-t.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/text-intro-03-b.svg [ Failure Pass ]
+crbug.com/591099 svg/W3C-SVG-1.1/text-intro-04-t.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/text-path-01-b.svg [ Failure Pass ]
 crbug.com/591099 svg/W3C-SVG-1.1/text-spacing-01-b.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/text-text-01-b.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/text-text-03-b.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/text-text-04-t.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/text-text-05-t.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/text-text-06-t.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/text-text-07-t.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/text-tselect-01-b.svg [ Failure Pass ]
+crbug.com/591099 svg/W3C-SVG-1.1/text-tspan-01-b.svg [ Failure ]
+crbug.com/591099 svg/W3C-SVG-1.1/text-ws-01-t.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/text-ws-02-t.svg [ Failure ]
 crbug.com/591099 svg/W3C-SVG-1.1/types-basicDOM-01-b.svg [ Failure ]
 crbug.com/591099 svg/wicd/rightsizing-grid.html [ Failure ]
@@ -18876,6 +19646,7 @@
 crbug.com/591099 svg/wicd/test-scalable-background-image2.xhtml [ Failure ]
 crbug.com/591099 svg/zoom/page/zoom-background-images.html [ Failure ]
 crbug.com/591099 svg/zoom/page/zoom-clip-path.html [ Failure ]
+crbug.com/591099 svg/zoom/page/zoom-css-transforms.svg [ Failure ]
 crbug.com/591099 svg/zoom/page/zoom-getBoundingClientRect.xhtml [ Failure ]
 crbug.com/591099 svg/zoom/page/zoom-hixie-mixed-008.xml [ Failure ]
 crbug.com/591099 svg/zoom/page/zoom-img-preserveAspectRatio-support-1.html [ Failure ]
@@ -19023,6 +19794,7 @@
 crbug.com/591099 tables/mozilla/bugs/bug220536.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug221784-1.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug221784-2.html [ Failure ]
+crbug.com/591099 tables/mozilla/bugs/bug222336.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug222467.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug22513.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug2267.html [ Failure ]
@@ -19036,7 +19808,7 @@
 crbug.com/591099 tables/mozilla/bugs/bug24627.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug24661.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug2469.html [ Failure ]
-crbug.com/591099 tables/mozilla/bugs/bug2479-1.html [ Failure ]
+crbug.com/591099 tables/mozilla/bugs/bug2479-1.html [ Crash Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug2479-3.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug2479-4.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug24880.html [ Failure ]
@@ -19064,6 +19836,7 @@
 crbug.com/591099 tables/mozilla/bugs/bug29058-1.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug29058-3.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug29157.html [ Failure ]
+crbug.com/591099 tables/mozilla/bugs/bug29314.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug29326.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug29429.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug2947.html [ Failure ]
@@ -19080,7 +19853,7 @@
 crbug.com/591099 tables/mozilla/bugs/bug30418.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug30559.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug30692.html [ Failure ]
-crbug.com/591099 tables/mozilla/bugs/bug30985.html [ Failure ]
+crbug.com/591099 tables/mozilla/bugs/bug30985.html [ Crash Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug3103.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug3191.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug32205-2.html [ Failure ]
@@ -19108,6 +19881,7 @@
 crbug.com/591099 tables/mozilla/bugs/bug42187.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug42443.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug4284.html [ Failure ]
+crbug.com/591099 tables/mozilla/bugs/bug43039.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug43204.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug4382.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug43854-1.html [ Failure ]
@@ -19123,7 +19897,7 @@
 crbug.com/591099 tables/mozilla/bugs/bug4520.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug4523.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug4527.html [ Failure ]
-crbug.com/591099 tables/mozilla/bugs/bug45350.html [ Failure ]
+crbug.com/591099 tables/mozilla/bugs/bug45350.html [ Crash Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug45486.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug4576.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug46268-1.html [ Failure ]
@@ -19193,7 +19967,7 @@
 crbug.com/591099 tables/mozilla/bugs/bug68998.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug69187.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug69382-1.html [ Failure ]
-crbug.com/591099 tables/mozilla/bugs/bug69382-2.html [ Failure ]
+crbug.com/591099 tables/mozilla/bugs/bug69382-2.html [ Crash Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug709.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug7112-1.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug7112-2.html [ Failure ]
@@ -19210,7 +19984,7 @@
 crbug.com/591099 tables/mozilla/bugs/bug82946-1.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug82946-2.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug8361.html [ Failure ]
-crbug.com/591099 tables/mozilla/bugs/bug83786.html [ Failure ]
+crbug.com/591099 tables/mozilla/bugs/bug83786.html [ Crash Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug8381.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug86220.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug86708.html [ Failure ]
@@ -19226,6 +20000,7 @@
 crbug.com/591099 tables/mozilla/bugs/bug92647-2.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug92868.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug93363.html [ Failure ]
+crbug.com/591099 tables/mozilla/bugs/bug96334.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug96343.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug965.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug97138.html [ Failure ]
@@ -19233,7 +20008,7 @@
 crbug.com/591099 tables/mozilla/bugs/bug98196.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug9879-1.html [ Failure ]
 crbug.com/591099 tables/mozilla/collapsing_borders/bug127040.html [ Failure ]
-crbug.com/591099 tables/mozilla/collapsing_borders/bug41262-3.html [ Failure ]
+crbug.com/591099 tables/mozilla/collapsing_borders/bug41262-3.html [ Crash Failure ]
 crbug.com/591099 tables/mozilla/collapsing_borders/bug41262-4.html [ Failure ]
 crbug.com/591099 tables/mozilla/core/bloomberg.html [ Failure ]
 crbug.com/591099 tables/mozilla/core/borders.html [ Failure ]
@@ -19313,6 +20088,7 @@
 crbug.com/591099 tables/mozilla_expected_failures/bugs/bug18770.html [ Failure ]
 crbug.com/591099 tables/mozilla_expected_failures/bugs/bug19526.html [ Failure ]
 crbug.com/591099 tables/mozilla_expected_failures/bugs/bug21518.html [ Failure ]
+crbug.com/591099 tables/mozilla_expected_failures/bugs/bug220653.html [ Failure ]
 crbug.com/591099 tables/mozilla_expected_failures/bugs/bug22122.html [ Failure ]
 crbug.com/591099 tables/mozilla_expected_failures/bugs/bug23847.html [ Failure ]
 crbug.com/591099 tables/mozilla_expected_failures/bugs/bug2479-5.html [ Failure ]
@@ -19324,13 +20100,13 @@
 crbug.com/591099 tables/mozilla_expected_failures/bugs/bug3166-11.html [ Failure ]
 crbug.com/591099 tables/mozilla_expected_failures/bugs/bug3166-12.html [ Failure ]
 crbug.com/591099 tables/mozilla_expected_failures/bugs/bug3166-13.html [ Failure ]
-crbug.com/591099 tables/mozilla_expected_failures/bugs/bug3166-14.html [ Failure ]
+crbug.com/591099 tables/mozilla_expected_failures/bugs/bug3166-14.html [ Crash Failure ]
 crbug.com/591099 tables/mozilla_expected_failures/bugs/bug3166-15.html [ Failure ]
 crbug.com/591099 tables/mozilla_expected_failures/bugs/bug3166-16.html [ Failure ]
 crbug.com/591099 tables/mozilla_expected_failures/bugs/bug3166-17.html [ Failure ]
 crbug.com/591099 tables/mozilla_expected_failures/bugs/bug3166-18.html [ Failure ]
 crbug.com/591099 tables/mozilla_expected_failures/bugs/bug3166-1.html [ Failure ]
-crbug.com/591099 tables/mozilla_expected_failures/bugs/bug3166-2.html [ Failure ]
+crbug.com/591099 tables/mozilla_expected_failures/bugs/bug3166-2.html [ Crash Failure ]
 crbug.com/591099 tables/mozilla_expected_failures/bugs/bug3166-3.html [ Failure ]
 crbug.com/591099 tables/mozilla_expected_failures/bugs/bug3166-4.html [ Failure ]
 crbug.com/591099 tables/mozilla_expected_failures/bugs/bug3166-5.html [ Failure ]
@@ -19352,6 +20128,7 @@
 crbug.com/591099 tables/mozilla_expected_failures/bugs/bug61042-1.html [ Failure ]
 crbug.com/591099 tables/mozilla_expected_failures/bugs/bug61042-2.html [ Failure ]
 crbug.com/591099 tables/mozilla_expected_failures/bugs/bug65372.html [ Failure ]
+crbug.com/591099 tables/mozilla_expected_failures/bugs/bug67915-2.html [ Failure ]
 crbug.com/591099 tables/mozilla_expected_failures/bugs/bug6933.html [ Failure ]
 crbug.com/591099 tables/mozilla_expected_failures/bugs/bug7113.html [ Failure ]
 crbug.com/591099 tables/mozilla_expected_failures/bugs/bug7121-2.html [ Failure ]
@@ -19587,9 +20364,11 @@
 crbug.com/591099 tables/mozilla/marvin/x_td_colspan.xml [ Failure ]
 crbug.com/591099 tables/mozilla/marvin/x_td_height.xml [ Failure ]
 crbug.com/591099 tables/mozilla/marvin/x_td_id.xml [ Failure ]
+crbug.com/591099 tables/mozilla/marvin/x_td_nowrap.xml [ Failure ]
 crbug.com/591099 tables/mozilla/marvin/x_td_rowspan.xml [ Failure ]
 crbug.com/591099 tables/mozilla/marvin/x_td_style.xml [ Failure ]
 crbug.com/591099 tables/mozilla/marvin/x_td_width.xml [ Failure ]
+crbug.com/591099 tables/mozilla/marvin/x_tfoot_align_left.xml [ Failure Pass ]
 crbug.com/591099 tables/mozilla/marvin/x_tfoot_class.xml [ Failure ]
 crbug.com/591099 tables/mozilla/marvin/x_tfoot_id.xml [ Failure ]
 crbug.com/591099 tables/mozilla/marvin/x_tfoot_style.xml [ Failure ]
@@ -19604,6 +20383,7 @@
 crbug.com/591099 tables/mozilla/marvin/x_thead_style.xml [ Failure ]
 crbug.com/591099 tables/mozilla/marvin/x_th_height.xml [ Failure ]
 crbug.com/591099 tables/mozilla/marvin/x_th_id.xml [ Failure ]
+crbug.com/591099 tables/mozilla/marvin/x_th_nowrap.xml [ Failure ]
 crbug.com/591099 tables/mozilla/marvin/x_th_rowspan.xml [ Failure ]
 crbug.com/591099 tables/mozilla/marvin/x_th_style.xml [ Failure ]
 crbug.com/591099 tables/mozilla/marvin/x_th_width.xml [ Failure ]
@@ -19618,7 +20398,7 @@
 crbug.com/591099 tables/mozilla/other/cellspacing.html [ Failure ]
 crbug.com/591099 tables/mozilla/other/cell_widths.html [ Failure ]
 crbug.com/591099 tables/mozilla/other/move_row.html [ Failure ]
-crbug.com/591099 tables/mozilla/other/nested2.html [ Failure ]
+crbug.com/591099 tables/mozilla/other/nested2.html [ Crash Failure ]
 crbug.com/591099 tables/mozilla/other/nestedTables.html [ Failure ]
 crbug.com/591099 tables/mozilla/other/padding.html [ Failure ]
 crbug.com/591099 tables/mozilla/other/slashlogo.html [ Failure ]
@@ -19688,7 +20468,7 @@
 crbug.com/591099 transforms/diamond.html [ Failure ]
 crbug.com/591099 transforms/hit-test-large-scale.html [ Failure ]
 crbug.com/591099 transforms/identity-matrix.html [ Failure ]
-crbug.com/591099 transforms/matrix-01.html [ Failure ]
+crbug.com/591099 transforms/matrix-01.html [ Crash Failure ]
 crbug.com/591099 transforms/matrix-02.html [ Failure ]
 crbug.com/591099 transforms/matrix-with-zoom.html [ Failure ]
 crbug.com/591099 transforms/mirror-transform-tiled-scaled-background.html [ Failure ]
@@ -19705,7 +20485,7 @@
 crbug.com/591099 transforms/svg-vs-css.xhtml [ Failure ]
 crbug.com/591099 transforms/topmost-becomes-bottomost-for-scrolling.html [ Failure ]
 crbug.com/591099 transforms/transformed-caret.html [ Failure ]
-crbug.com/591099 transforms/transformed-document-element.html [ Failure ]
+crbug.com/591099 transforms/transformed-document-element.html [ Crash Failure ]
 crbug.com/591099 transforms/transformed-focused-text-input.html [ Failure ]
 crbug.com/591099 transforms/transform-focus-ring.html [ Failure ]
 crbug.com/591099 transforms/transform-hit-test-flipped.html [ Failure ]
@@ -19828,11 +20608,13 @@
 crbug.com/591099 virtual/disable-spinvalidation/compositing/change-preferCompositingToLCDText-setting.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/checkerboard.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/child-transform-layer-requires-box.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/child-transform-layer-rounding.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/columns/geometry-map-paginated-assert.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/composited-negative-zindex-child.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/compositing-visible-descendant.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/contents-opaque/body-background-painted.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/contents-opaque/body-background-skipped.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/contents-opaque/filter.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/contents-opaque/hidden-with-visible-child.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/contents-opaque/hidden-with-visible-text.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/contents-opaque/overflow-hidden-child-layers.html [ Failure ]
@@ -19844,6 +20626,7 @@
 crbug.com/591099 virtual/disable-spinvalidation/compositing/empty-render-surface-crasher.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/fixed-position-changed-to-absolute.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/fixed-position-container.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/fixed-position-scroll-offset-history-restore.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/force-compositing-mode/overflow-iframe-enter-compositing.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/force-compositing-mode/overflow-iframe-layer.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/framesets/composited-frame-alignment.html [ Failure ]
@@ -19853,6 +20636,7 @@
 crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/bounds-clipped-composited-child.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/bounds-ignores-hidden-composited-descendant.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/bounds-ignores-hidden-dynamic.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/bounds-ignores-hidden-dynamic-negzindex.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/bounds-ignores-hidden.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/clip.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/clip-inside.html [ Failure ]
@@ -19934,8 +20718,11 @@
 crbug.com/591099 virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-skew-matrix.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-with-box-shadow.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-with-squashing.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/iframes/become-composited-nested-iframes.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/iframes/become-overlapped-iframe.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/iframes/composited-iframe-alignment.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/iframes/composited-iframe-scroll.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/iframes/composited-parent-iframe.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/iframes/connect-compositing-iframe2.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/iframes/connect-compositing-iframe3.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/iframes/connect-compositing-iframe-delayed.html [ Failure ]
@@ -19951,12 +20738,15 @@
 crbug.com/591099 virtual/disable-spinvalidation/compositing/iframes/invisible-iframe.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/iframes/invisible-nested-iframe-hide.html [ Crash ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/iframes/invisible-nested-iframe.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/iframes/invisible-nested-iframe-show.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/iframes/layout-on-compositing-change.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/iframes/nested-iframe-scrolling.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/iframes/overlapped-iframe.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/iframes/overlapped-iframe-iframe.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/iframes/overlapped-nested-iframes.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/iframes/remove-iframe-crash.html [ Crash ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/iframes/repaint-after-losing-scrollbars.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/iframes/resizer.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/iframes/scroll-fixed-transformed-element.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/iframes/scroll-grandchild-iframe.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/iframes/scrolling-iframe.html [ Failure ]
@@ -19978,6 +20768,7 @@
 crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/overflow-scroll-overlap.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/overlap-animation-container.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/overlap-child-layer.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/overlap-transformed-layer.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/overlap-transformed-layer-with-transform-body.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/overlap-transformed-preserved-3d.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/rotate3d-overlap.html [ Failure ]
@@ -19990,6 +20781,7 @@
 crbug.com/591099 virtual/disable-spinvalidation/compositing/lots-of-img-layers-with-opacity.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/masks/direct-image-mask.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/masks/masked-ancestor.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/masks/mask-layer-size.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/masks/mask-of-clipped-layer.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/masks/mask-with-added-filters.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/masks/mask-with-removed-filters.html [ Failure ]
@@ -20026,7 +20818,7 @@
 crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/content-gains-scrollbars.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/content-loses-scrollbars.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/descendant-with-clip-path.html [ Failure ]
-crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/do-not-crash-use-after-free-update-widget-positions.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/do-not-crash-use-after-free-update-widget-positions.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/fixed-position-ancestor-clip.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/fractional-sized-scrolling-layer.html [ Failure ]
@@ -20066,6 +20858,7 @@
 crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/remove-overflow-crash2.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/repaint-after-losing-scrollbars.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/reparented-scrollbars-non-sc-anc.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/resize-painting.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/scaled-mask.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/scaled-overflow.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/scroll-ancestor-update.html [ Failure ]
@@ -20129,8 +20922,10 @@
 crbug.com/591099 virtual/disable-spinvalidation/compositing/rtl/rtl-iframe-fixed.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/rtl/rtl-iframe-fixed-overflow.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/rtl/rtl-iframe-fixed-overflow-scrolled.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/rtl/rtl-iframe-relative.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/rtl/rtl-overflow-invalidation.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/rtl/rtl-overflow-scrolling.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/rtl/rtl-relative.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/scrollbar-painting.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/scrollbars/custom-composited-different-track-parts.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/scrollbars/nested-overlay-scrollbars.html [ Failure ]
@@ -20188,6 +20983,7 @@
 crbug.com/591099 virtual/disable-spinvalidation/compositing/writing-mode-rl-overflow.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/z-order/collect-layers-does-not-initialize-pos-z-order-list.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/background/background-and-shadow.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/background/fieldset-legend-background-shadow-border-radius.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/background/rounded-clip-fractional-offset.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/frames/frameset-with-stacking-context-and-not-stacking-context-children.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/frames/frameset-with-stacking-contexts.html [ Failure ]
@@ -20805,6 +21601,7 @@
 crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/canvas-ImageData-workers.html [ Failure ]
 crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/canvas-imageSmoothingEnabled-repaint.html [ Crash ]
 crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/canvas-imageSmoothingQuality.html [ Crash ]
+crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/canvas-incremental-repaint.html [ Failure ]
 crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/canvas-invalid-fillstyle.html [ Crash ]
 crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/canvas-invalid-strokestyle.html [ Crash ]
 crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/canvas-invalid-video.html [ Failure ]
@@ -20815,6 +21612,7 @@
 crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/canvas-lineDash-input-sequence.html [ Crash ]
 crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/canvas-lineDash-invalid.html [ Crash ]
 crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/canvas-lineWidth-intact-after-strokeRect.html [ Crash ]
+crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/canvas-lost-gpu-context.html [ Failure ]
 crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/canvas-negative-size.html [ Failure ]
 crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/canvas-normalize-string.html [ Failure ]
 crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/canvas-path-context-clip.html [ Crash ]
@@ -20841,6 +21639,7 @@
 crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/canvas-strokePath-shadow.html [ Crash ]
 crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/canvas-strokeRect-alpha-shadow.html [ Crash ]
 crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/canvas-strokeRect-gradient-shadow.html [ Crash ]
+crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/canvas-text-alignment.html [ Failure ]
 crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/canvas-textMetrics-width.html [ Failure ]
 crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/canvas-text-space-characters.html [ Crash ]
 crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/canvas-transforms-during-path.html [ Failure ]
@@ -20889,10 +21688,11 @@
 crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/webgl/texture-color-profile.html [ Failure ]
 crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/webgl/webgl-composite-modes.html [ Failure ]
 crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/webgl/webgl-composite-modes-repaint.html [ Failure ]
+crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/webgl/webgl-composite-modes-tabswitching.html [ Failure ]
 crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/webgl/webgl-texture-binding-preserved.html [ Failure ]
 crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/webgl/webgl-viewport-parameters-preserved.html [ Failure ]
 crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/zero-size-fill-rect.html [ Crash ]
-crbug.com/591099 virtual/enable_wasm/http/tests/wasm/wasm_local_iframe_test.html [ Crash ]
+crbug.com/591099 virtual/enable_wasm/http/tests/wasm/wasm_local_iframe_test.html [ Crash Timeout ]
 crbug.com/591099 virtual/gpu/fast/canvas/2d.composite.globalAlpha.fillPath.html [ Crash ]
 crbug.com/591099 virtual/gpu/fast/canvas/2d.fillText.gradient.html [ Crash ]
 crbug.com/591099 virtual/gpu/fast/canvas/2d.text.draw.fill.maxWidth.gradient.html [ Crash ]
@@ -20976,10 +21776,11 @@
 crbug.com/591099 virtual/gpu/fast/canvas/canvas-ImageBitmap-transferable.html [ Failure ]
 crbug.com/591099 virtual/gpu/fast/canvas/canvas-ImageData-neutered-source.html [ Crash Failure ]
 crbug.com/591099 virtual/gpu/fast/canvas/canvas-ImageData-workers.html [ Failure ]
-crbug.com/591099 virtual/gpu/fast/canvas/canvas-imageSmoothingEnabled.html [ Crash ]
-crbug.com/591099 virtual/gpu/fast/canvas/canvas-imageSmoothingEnabled-patterns.html [ Crash ]
+crbug.com/591099 virtual/gpu/fast/canvas/canvas-imageSmoothingEnabled.html [ Crash Pass ]
+crbug.com/591099 virtual/gpu/fast/canvas/canvas-imageSmoothingEnabled-patterns.html [ Crash Pass ]
 crbug.com/591099 virtual/gpu/fast/canvas/canvas-imageSmoothingEnabled-repaint.html [ Crash ]
 crbug.com/591099 virtual/gpu/fast/canvas/canvas-imageSmoothingQuality.html [ Crash ]
+crbug.com/591099 virtual/gpu/fast/canvas/canvas-incremental-repaint.html [ Failure ]
 crbug.com/591099 virtual/gpu/fast/canvas/canvas-invalid-fillstyle.html [ Crash ]
 crbug.com/591099 virtual/gpu/fast/canvas/canvas-invalid-strokestyle.html [ Crash ]
 crbug.com/591099 virtual/gpu/fast/canvas/canvas-invalid-video.html [ Failure ]
@@ -20990,6 +21791,7 @@
 crbug.com/591099 virtual/gpu/fast/canvas/canvas-lineDash-input-sequence.html [ Crash ]
 crbug.com/591099 virtual/gpu/fast/canvas/canvas-lineDash-invalid.html [ Crash ]
 crbug.com/591099 virtual/gpu/fast/canvas/canvas-lineWidth-intact-after-strokeRect.html [ Crash ]
+crbug.com/591099 virtual/gpu/fast/canvas/canvas-lost-gpu-context.html [ Failure ]
 crbug.com/591099 virtual/gpu/fast/canvas/canvas-negative-size.html [ Failure ]
 crbug.com/591099 virtual/gpu/fast/canvas/canvas-normalize-string.html [ Failure ]
 crbug.com/591099 virtual/gpu/fast/canvas/canvas-path-context-clip.html [ Crash ]
@@ -21016,6 +21818,7 @@
 crbug.com/591099 virtual/gpu/fast/canvas/canvas-strokePath-shadow.html [ Crash ]
 crbug.com/591099 virtual/gpu/fast/canvas/canvas-strokeRect-alpha-shadow.html [ Crash ]
 crbug.com/591099 virtual/gpu/fast/canvas/canvas-strokeRect-gradient-shadow.html [ Crash ]
+crbug.com/591099 virtual/gpu/fast/canvas/canvas-text-alignment.html [ Failure ]
 crbug.com/591099 virtual/gpu/fast/canvas/canvas-textMetrics-width.html [ Failure ]
 crbug.com/591099 virtual/gpu/fast/canvas/canvas-text-space-characters.html [ Crash ]
 crbug.com/591099 virtual/gpu/fast/canvas/canvas-transforms-during-path.html [ Failure ]
@@ -21033,14 +21836,14 @@
 crbug.com/591099 virtual/gpu/fast/canvas/font-no-zoom.html [ Crash ]
 crbug.com/591099 virtual/gpu/fast/canvas/gradient-with-clip.html [ Crash ]
 crbug.com/591099 virtual/gpu/fast/canvas/image-object-in-canvas.html [ Failure ]
-crbug.com/591099 virtual/gpu/fast/canvas/OffscreenCanvas-2d-imageSmoothing-in-worker.html [ Crash ]
+crbug.com/591099 virtual/gpu/fast/canvas/OffscreenCanvas-2d-imageSmoothing-in-worker.html [ Crash Pass ]
 crbug.com/591099 virtual/gpu/fast/canvas/OffscreenCanvas-constructor-in-worker.html [ Failure ]
 crbug.com/591099 virtual/gpu/fast/canvas/OffscreenCanvas-invalid-args-in-worker.html [ Failure ]
 crbug.com/591099 virtual/gpu/fast/canvas/OffscreenCanvas-transferable-exceptions.html [ Failure ]
 crbug.com/591099 virtual/gpu/fast/canvas/OffscreenCanvas-transferable.html [ Failure ]
 crbug.com/591099 virtual/gpu/fast/canvas/painting-on-bad-canvas.html [ Crash ]
 crbug.com/591099 virtual/gpu/fast/canvas/pattern-with-transform.html [ Crash ]
-crbug.com/591099 virtual/gpu/fast/canvas/pixelated-off-screen.html [ Crash ]
+crbug.com/591099 virtual/gpu/fast/canvas/pixelated-off-screen.html [ Crash Pass ]
 crbug.com/591099 virtual/gpu/fast/canvas/quadraticCurveTo.xml [ Failure ]
 crbug.com/591099 virtual/gpu/fast/canvas/resize-while-save-active.html [ Crash ]
 crbug.com/591099 virtual/gpu/fast/canvas/set-empty-font-crash.html [ Crash ]
@@ -21053,7 +21856,7 @@
 crbug.com/591099 virtual/gpu/fast/canvas/toDataURL-supportedTypes.html [ Failure ]
 crbug.com/591099 virtual/gpu/fast/canvas/transformed-canvas-reset.html [ Crash ]
 crbug.com/591099 virtual/gpu/fast/canvas/unclosed-canvas-1.html [ Failure ]
-crbug.com/591099 virtual/gpu/fast/canvas/unclosed-canvas-3.html [ Failure ]
+crbug.com/591099 virtual/gpu/fast/canvas/unclosed-canvas-3.html [ Crash Failure ]
 crbug.com/591099 virtual/gpu/fast/canvas/unclosed-canvas-4.html [ Failure ]
 crbug.com/591099 virtual/gpu/fast/canvas/webgl/canvas-getContext-crash.html [ Failure ]
 crbug.com/591099 virtual/gpu/fast/canvas/webgl/canvas-resize-crash.html [ Failure ]
@@ -21065,6 +21868,7 @@
 crbug.com/591099 virtual/gpu/fast/canvas/webgl/tex-sub-image-cube-maps.html [ Failure ]
 crbug.com/591099 virtual/gpu/fast/canvas/webgl/texture-color-profile.html [ Failure ]
 crbug.com/591099 virtual/gpu/fast/canvas/webgl/webgl-composite-modes.html [ Failure ]
+crbug.com/591099 virtual/gpu/fast/canvas/webgl/webgl-composite-modes-repaint.html [ Failure Pass ]
 crbug.com/591099 virtual/gpu/fast/canvas/webgl/webgl-composite-modes-tabswitching.html [ Failure ]
 crbug.com/591099 virtual/gpu/fast/canvas/webgl/webgl-texture-binding-preserved.html [ Failure ]
 crbug.com/591099 virtual/gpu/fast/canvas/webgl/webgl-viewport-parameters-preserved.html [ Failure ]
@@ -21074,7 +21878,7 @@
 crbug.com/591099 virtual/gpu-rasterization/images/23-55.html [ Failure ]
 crbug.com/591099 virtual/gpu-rasterization/images/2-comp.html [ Failure ]
 crbug.com/591099 virtual/gpu-rasterization/images/2-dht.html [ Failure ]
-crbug.com/591099 virtual/gpu-rasterization/images/55.html [ Failure ]
+crbug.com/591099 virtual/gpu-rasterization/images/55.html [ Crash Failure ]
 crbug.com/591099 virtual/gpu-rasterization/images/alt-text-wrapping.html [ Failure ]
 crbug.com/591099 virtual/gpu-rasterization/images/animated-background-image-crash.html [ Failure ]
 crbug.com/591099 virtual/gpu-rasterization/images/color-jpeg-with-color-profile.html [ Failure ]
@@ -21085,6 +21889,7 @@
 crbug.com/591099 virtual/gpu-rasterization/images/color-profile-background-image-space.html [ Failure ]
 crbug.com/591099 virtual/gpu-rasterization/images/color-profile-border-image-source.html [ Failure ]
 crbug.com/591099 virtual/gpu-rasterization/images/color-profile-border-radius.html [ Failure ]
+crbug.com/591099 virtual/gpu-rasterization/images/color-profile-clip.html [ Failure ]
 crbug.com/591099 virtual/gpu-rasterization/images/color-profile-drag-image.html [ Failure ]
 crbug.com/591099 virtual/gpu-rasterization/images/color-profile-filter.html [ Failure ]
 crbug.com/591099 virtual/gpu-rasterization/images/color-profile-group.html [ Crash Failure ]
@@ -21104,7 +21909,7 @@
 crbug.com/591099 virtual/gpu-rasterization/images/color-profile-munsell-adobe-to-srgb.html [ Failure ]
 crbug.com/591099 virtual/gpu-rasterization/images/color-profile-munsell-srgb-to-srgb.html [ Failure ]
 crbug.com/591099 virtual/gpu-rasterization/images/color-profile-svg-foreign-object.html [ Failure ]
-crbug.com/591099 virtual/gpu-rasterization/images/content-url-broken-image-with-alt-text.html [ Crash ]
+crbug.com/591099 virtual/gpu-rasterization/images/content-url-broken-image-with-alt-text.html [ Crash Pass ]
 crbug.com/591099 virtual/gpu-rasterization/images/content-url-image-with-alt-text-dynamic-2.html [ Crash ]
 crbug.com/591099 virtual/gpu-rasterization/images/crash-when-fallback-content-deleted.html [ Crash ]
 crbug.com/591099 virtual/gpu-rasterization/images/cross-fade-background-size.html [ Failure ]
@@ -21127,6 +21932,7 @@
 crbug.com/591099 virtual/gpu-rasterization/images/gray-scale-png-with-color-profile.html [ Failure ]
 crbug.com/591099 virtual/gpu-rasterization/images/icon-0colors.html [ Failure ]
 crbug.com/591099 virtual/gpu-rasterization/images/icon-decoding.html [ Failure ]
+crbug.com/591099 virtual/gpu-rasterization/images/image-change-src.html [ Crash ]
 crbug.com/591099 virtual/gpu-rasterization/images/image-change-without-resize-shouldnt-layout.html [ Crash ]
 crbug.com/591099 virtual/gpu-rasterization/images/image-click-scale-restore-zoomed-image.html [ Failure ]
 crbug.com/591099 virtual/gpu-rasterization/images/image-css3-content-data.html [ Failure ]
@@ -21134,7 +21940,7 @@
 crbug.com/591099 virtual/gpu-rasterization/images/image-empty-data.html [ Failure ]
 crbug.com/591099 virtual/gpu-rasterization/images/image-hover-display-alt.html [ Failure ]
 crbug.com/591099 virtual/gpu-rasterization/images/image-in-map.html [ Failure ]
-crbug.com/591099 virtual/gpu-rasterization/images/image-invalid-data.html [ Failure ]
+crbug.com/591099 virtual/gpu-rasterization/images/image-invalid-data.html [ Crash Failure ]
 crbug.com/591099 virtual/gpu-rasterization/images/image-load-event-in-fragment.html [ Failure ]
 crbug.com/591099 virtual/gpu-rasterization/images/image-map-anchor-children.html [ Failure ]
 crbug.com/591099 virtual/gpu-rasterization/images/imagemap-circle-focus-ring.html [ Failure ]
@@ -21165,6 +21971,7 @@
 crbug.com/591099 virtual/gpu-rasterization/images/jpeg-yuv-image-decoding.html [ Failure ]
 crbug.com/591099 virtual/gpu-rasterization/images/jpeg-yuv-progressive-canvas.html [ Failure ]
 crbug.com/591099 virtual/gpu-rasterization/images/jpeg-yuv-progressive-image.html [ Failure ]
+crbug.com/591099 virtual/gpu-rasterization/images/large-size-image-crash.html [ Crash Pass ]
 crbug.com/591099 virtual/gpu-rasterization/images/link-body-content-imageDimensionChanged-crash.html [ Failure ]
 crbug.com/591099 virtual/gpu-rasterization/images/load-img-with-empty-src.html [ Failure ]
 crbug.com/591099 virtual/gpu-rasterization/images/motion-jpeg-single-frame.html [ Failure ]
@@ -21175,44 +21982,73 @@
 crbug.com/591099 virtual/gpu-rasterization/images/pixel-crack-image-background-webkit-transform-scale.html [ Failure ]
 crbug.com/591099 virtual/gpu-rasterization/images/png-extra-row-crash.html [ Failure ]
 crbug.com/591099 virtual/gpu-rasterization/images/png_per_row_alpha_decoding.html [ Failure ]
-crbug.com/591099 virtual/gpu-rasterization/images/png-suite/test.html [ Failure ]
+crbug.com/591099 virtual/gpu-rasterization/images/png-suite/test.html [ Crash Failure ]
+crbug.com/591099 virtual/gpu-rasterization/images/rendering-broken-10px-images.html [ Failure ]
+crbug.com/591099 virtual/gpu-rasterization/images/rendering-broken-16px-images.html [ Failure ]
+crbug.com/591099 virtual/gpu-rasterization/images/rendering-broken-1px-images.html [ Failure ]
+crbug.com/591099 virtual/gpu-rasterization/images/rendering-broken-block-flow-images.html [ Failure ]
+crbug.com/591099 virtual/gpu-rasterization/images/rendering-broken-images-empty-alt.html [ Failure ]
+crbug.com/591099 virtual/gpu-rasterization/images/rendering-broken-images.html [ Failure ]
 crbug.com/591099 virtual/gpu-rasterization/images/script-counter-imageDimensionChanged-crash.html [ Failure ]
 crbug.com/591099 virtual/gpu-rasterization/images/sprite-no-bleed.html [ Failure ]
 crbug.com/591099 virtual/gpu-rasterization/images/style-access-during-imageChanged-crash.html [ Failure ]
 crbug.com/591099 virtual/gpu-rasterization/images/style-access-during-imageChanged-style-freeze.html [ Crash ]
 crbug.com/591099 virtual/gpu-rasterization/images/text-content-crash-2.html [ Failure ]
 crbug.com/591099 virtual/gpu-rasterization/images/text-content-crash.html [ Failure ]
+crbug.com/591099 virtual/gpu-rasterization/images/update-alt-text.html [ Crash ]
 crbug.com/591099 virtual/gpu-rasterization/images/viewport-in-standalone-image-document.html [ Failure ]
 crbug.com/591099 virtual/gpu-rasterization/images/webgl-teximage2d.html [ Crash ]
 crbug.com/591099 virtual/gpu-rasterization/images/webp-flip.html [ Failure ]
 crbug.com/591099 virtual/gpu-rasterization/images/zoomed-img-size.html [ Failure ]
 crbug.com/591099 virtual/gpu-rasterization/images/zoomed-offset-size.html [ Crash ]
-crbug.com/591099 virtual/mojo-loading/http/tests/appcache/update-cache.html [ Timeout ]
-crbug.com/591099 virtual/mojo-loading/http/tests/appcache/whitelist-wildcard.html [ Timeout ]
-crbug.com/591099 virtual/mojo-loading/http/tests/inspector/appcache/appcache-iframe-manifests.html [ Timeout ]
+crbug.com/591099 virtual/mojo-loading/http/tests/appcache/access-via-redirect.php [ Pass Timeout ]
+crbug.com/591099 virtual/mojo-loading/http/tests/appcache/main-resource-hash.html [ Timeout ]
+crbug.com/591099 virtual/mojo-loading/http/tests/appcache/non-html.xhtml [ Pass Timeout ]
+crbug.com/591099 virtual/mojo-loading/http/tests/appcache/remove-cache.html [ Timeout ]
+crbug.com/591099 virtual/mojo-loading/http/tests/appcache/top-frame-1.html [ Pass Timeout ]
+crbug.com/591099 virtual/mojo-loading/http/tests/appcache/update-cache.html [ Pass Timeout ]
+crbug.com/591099 virtual/mojo-loading/http/tests/appcache/whitelist-wildcard.html [ Pass Timeout ]
+crbug.com/591099 virtual/mojo-loading/http/tests/fetch/referrer/origin-when-cross-origin-serviceworker-from-document.html [ Crash Pass ]
+crbug.com/591099 virtual/mojo-loading/http/tests/filesystem/input-display.html [ Timeout ]
+crbug.com/591099 virtual/mojo-loading/http/tests/filesystem/workers/resolve-url.html [ Failure Pass ]
+crbug.com/591099 virtual/mojo-loading/http/tests/inspector/appcache/appcache-iframe-manifests.html [ Pass Timeout ]
 crbug.com/591099 virtual/mojo-loading/http/tests/inspector/appcache/appcache-manifest-with-non-existing-file.html [ Timeout ]
-crbug.com/591099 virtual/mojo-loading/http/tests/inspector/network/network-disable-cache-xhrs.html [ Timeout ]
-crbug.com/591099 virtual/mojo-loading/http/tests/inspector/network/network-filters.html [ Failure ]
+crbug.com/591099 virtual/mojo-loading/http/tests/inspector/appcache/appcache-swap.html [ Pass Timeout ]
+crbug.com/591099 virtual/mojo-loading/http/tests/inspector/bindings/bindings-multiple-frames.html [ Timeout ]
+crbug.com/591099 virtual/mojo-loading/http/tests/inspector/network/network-disable-cache-xhrs.html [ Pass Timeout ]
+crbug.com/591099 virtual/mojo-loading/http/tests/inspector/network/network-filters.html [ Failure Pass ]
+crbug.com/591099 virtual/mojo-loading/http/tests/inspector/network/network-filters-internals.html [ Failure Timeout ]
 crbug.com/591099 virtual/mojo-loading/http/tests/inspector/network/request-parameters-decoding.html [ Timeout ]
 crbug.com/591099 virtual/mojo-loading/http/tests/inspector/network/waterfall-images.html [ Failure ]
 crbug.com/591099 virtual/mojo-loading/http/tests/inspector/persistence/persistence-move-breakpoints-on-reload.html [ Failure ]
-crbug.com/591099 virtual/mojo-loading/http/tests/inspector-protocol/access-inspected-object.html [ Timeout ]
-crbug.com/591099 virtual/mojo-loading/http/tests/inspector-protocol/network-data-length.html [ Timeout ]
-crbug.com/591099 virtual/mojo-loading/http/tests/inspector-protocol/override-referrer.html [ Timeout ]
-crbug.com/591099 virtual/mojo-loading/http/tests/inspector-protocol/ping-redirect.html [ Timeout ]
-crbug.com/591099 virtual/mojo-loading/http/tests/inspector-protocol/request-mixed-content-status-optionally-blockable.html [ Timeout ]
-crbug.com/591099 virtual/mojo-loading/http/tests/inspector-protocol/request-referrer-policy.html [ Timeout ]
-crbug.com/591099 virtual/mojo-loading/http/tests/inspector/search/search-in-static.html [ Timeout ]
-crbug.com/591099 virtual/mojo-loading/http/tests/inspector/service-workers/service-worker-manager.html [ Failure ]
-crbug.com/591099 virtual/mojo-loading/http/tests/inspector-unit/test-failure.js [ Failure ]
-crbug.com/591099 virtual/mojo-loading/http/tests/inspector/workers-on-navigation.html [ Failure ]
-crbug.com/591099 virtual/mojo-loading/http/tests/push_messaging/application-server-key-format-test.html [ Failure ]
-crbug.com/591099 virtual/mojo-loading/http/tests/push_messaging/subscribe-failure-mismatched-sender-id.html [ Failure ]
-crbug.com/591099 virtual/mojo-loading/http/tests/security/contentSecurityPolicy/cascade/same-origin-window-open.html [ Timeout ]
-crbug.com/591099 virtual/mojo-loading/http/tests/security/contentSecurityPolicy/cascade/same-origin-with-own-policy-window-open.html [ Timeout ]
-crbug.com/591099 virtual/mojo-loading/http/tests/security/contentSecurityPolicy/filesystem-urls-match-self.html [ Timeout ]
-crbug.com/591099 virtual/mojo-loading/http/tests/security/contentSecurityPolicy/register-bypassing-scheme-partial.html [ Crash ]
-crbug.com/591099 virtual/mojo-loading/http/tests/security/media-element-audio-source-node-cross-origin-with-credentials.html [ Failure ]
+crbug.com/591099 virtual/mojo-loading/http/tests/inspector-protocol/access-inspected-object.html [ Pass Timeout ]
+crbug.com/591099 virtual/mojo-loading/http/tests/inspector-protocol/cookies-protocol-test.html [ Pass Timeout ]
+crbug.com/591099 virtual/mojo-loading/http/tests/inspector-protocol/network-data-length.html [ Pass Timeout ]
+crbug.com/591099 virtual/mojo-loading/http/tests/inspector-protocol/override-referrer.html [ Pass Timeout ]
+crbug.com/591099 virtual/mojo-loading/http/tests/inspector-protocol/ping-redirect.html [ Pass Timeout ]
+crbug.com/591099 virtual/mojo-loading/http/tests/inspector-protocol/reload-memory-cache.html [ Pass Timeout ]
+crbug.com/591099 virtual/mojo-loading/http/tests/inspector-protocol/request-mixed-content-status-optionally-blockable.html [ Pass Timeout ]
+crbug.com/591099 virtual/mojo-loading/http/tests/inspector-protocol/request-referrer-policy.html [ Pass Timeout ]
+crbug.com/591099 virtual/mojo-loading/http/tests/inspector/resource-tree/resource-tree-document-url.html [ Pass Timeout ]
+crbug.com/591099 virtual/mojo-loading/http/tests/inspector/search/search-in-static.html [ Pass Timeout ]
+crbug.com/591099 virtual/mojo-loading/http/tests/inspector/search/sources-search-scope.html [ Timeout ]
+crbug.com/591099 virtual/mojo-loading/http/tests/inspector/service-workers/service-worker-manager.html [ Failure Pass ]
+crbug.com/591099 virtual/mojo-loading/http/tests/inspector-unit/test-failure.js [ Failure Pass ]
+crbug.com/591099 virtual/mojo-loading/http/tests/inspector/workers-on-navigation.html [ Failure Pass ]
+crbug.com/591099 virtual/mojo-loading/http/tests/misc/resource-timing-sizes-cache-worker.html [ Failure Pass ]
+crbug.com/591099 virtual/mojo-loading/http/tests/misc/resource-timing-sizes-redirect-worker.html [ Failure ]
+crbug.com/591099 virtual/mojo-loading/http/tests/permissions/chromium/test-request-sharedworker.html [ Pass Timeout ]
+crbug.com/591099 virtual/mojo-loading/http/tests/push_messaging/application-server-key-format-test.html [ Failure Pass ]
+crbug.com/591099 virtual/mojo-loading/http/tests/push_messaging/subscribe-failure-mismatched-sender-id.html [ Failure Pass ]
+crbug.com/591099 virtual/mojo-loading/http/tests/security/contentSecurityPolicy/cascade/same-origin-window-open.html [ Pass Timeout ]
+crbug.com/591099 virtual/mojo-loading/http/tests/security/contentSecurityPolicy/cascade/same-origin-with-own-policy.html [ Pass Timeout ]
+crbug.com/591099 virtual/mojo-loading/http/tests/security/contentSecurityPolicy/cascade/same-origin-with-own-policy-window-open.html [ Pass Timeout ]
+crbug.com/591099 virtual/mojo-loading/http/tests/security/contentSecurityPolicy/filesystem-urls-match-self.html [ Pass Timeout ]
+crbug.com/591099 virtual/mojo-loading/http/tests/security/contentSecurityPolicy/register-bypassing-scheme.html [ Crash ]
+crbug.com/591099 virtual/mojo-loading/http/tests/security/contentSecurityPolicy/register-bypassing-scheme-partial.html [ Crash Pass ]
+crbug.com/591099 virtual/mojo-loading/http/tests/security/media-element-audio-source-node-cross-origin-allowed.html [ Failure Pass ]
+crbug.com/591099 virtual/mojo-loading/http/tests/security/media-element-audio-source-node-cross-origin-with-credentials.html [ Failure Pass ]
+crbug.com/591099 virtual/mojo-loading/http/tests/serviceworker/chromium/unregister-on-detached-iframe.html [ Crash Pass ]
 crbug.com/591099 virtual/mojo-localstorage/external/wpt/webstorage/event_no_duplicates.html [ Crash ]
 crbug.com/591099 virtual/mojo-localstorage/storage/domstorage/localstorage/missing-arguments.html [ Failure ]
 crbug.com/591099 virtual/mse-1mb-buffers/http/tests/media/media-source/stream_memory_tests/mediasource-appendbuffer-quota-exceeded-1mb-buffers.html [ Crash ]
@@ -21244,6 +22080,7 @@
 crbug.com/591099 virtual/prefer_compositing_to_lcd_text/compositing/overflow/content-gains-scrollbars.html [ Failure ]
 crbug.com/591099 virtual/prefer_compositing_to_lcd_text/compositing/overflow/content-loses-scrollbars.html [ Failure ]
 crbug.com/591099 virtual/prefer_compositing_to_lcd_text/compositing/overflow/descendant-with-clip-path.html [ Failure ]
+crbug.com/591099 virtual/prefer_compositing_to_lcd_text/compositing/overflow/do-not-crash-use-after-free-update-widget-positions.html [ Failure Pass ]
 crbug.com/591099 virtual/prefer_compositing_to_lcd_text/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents.html [ Failure ]
 crbug.com/591099 virtual/prefer_compositing_to_lcd_text/compositing/overflow/fixed-element-escape-fixed-overflow-clip.html [ Failure ]
 crbug.com/591099 virtual/prefer_compositing_to_lcd_text/compositing/overflow/fixed-position-ancestor-clip.html [ Failure ]
@@ -21285,6 +22122,7 @@
 crbug.com/591099 virtual/prefer_compositing_to_lcd_text/compositing/overflow/remove-overflow-crash2.html [ Failure ]
 crbug.com/591099 virtual/prefer_compositing_to_lcd_text/compositing/overflow/repaint-after-losing-scrollbars.html [ Failure ]
 crbug.com/591099 virtual/prefer_compositing_to_lcd_text/compositing/overflow/reparented-scrollbars-non-sc-anc.html [ Failure ]
+crbug.com/591099 virtual/prefer_compositing_to_lcd_text/compositing/overflow/resize-painting.html [ Failure ]
 crbug.com/591099 virtual/prefer_compositing_to_lcd_text/compositing/overflow/scaled-mask.html [ Failure ]
 crbug.com/591099 virtual/prefer_compositing_to_lcd_text/compositing/overflow/scaled-overflow.html [ Failure ]
 crbug.com/591099 virtual/prefer_compositing_to_lcd_text/compositing/overflow/scroll-ancestor-update.html [ Failure ]
@@ -21470,11 +22308,12 @@
 crbug.com/591099 virtual/sharedarraybuffer/fast/canvas/rendering-contexts-back-references.html [ Failure ]
 crbug.com/591099 virtual/sharedarraybuffer/fast/dom/minor-dom-gc.html [ Failure ]
 crbug.com/591099 virtual/sharedarraybuffer/fast/dom/StyleSheet/gc-styleheet-wrapper.xhtml [ Failure ]
-crbug.com/591099 virtual/sharedarraybuffer/fast/dom/Window/property-access-on-cached-properties-after-frame-navigated.html [ Failure ]
-crbug.com/591099 virtual/sharedarraybuffer/fast/dom/Window/property-access-on-cached-properties-after-frame-removed-and-gced.html [ Failure ]
-crbug.com/591099 virtual/sharedarraybuffer/fast/dom/Window/property-access-on-cached-properties-after-frame-removed.html [ Failure ]
-crbug.com/591099 virtual/sharedarraybuffer/fast/dom/Window/property-access-on-cached-window-after-frame-navigated.html [ Failure ]
-crbug.com/591099 virtual/sharedarraybuffer/http/tests/push_messaging/subscribe-failure-mismatched-sender-id.html [ Failure ]
+crbug.com/591099 virtual/sharedarraybuffer/fast/dom/Window/property-access-on-cached-properties-after-frame-navigated.html [ Failure Pass ]
+crbug.com/591099 virtual/sharedarraybuffer/fast/dom/Window/property-access-on-cached-properties-after-frame-removed-and-gced.html [ Failure Pass ]
+crbug.com/591099 virtual/sharedarraybuffer/fast/dom/Window/property-access-on-cached-properties-after-frame-removed.html [ Failure Pass ]
+crbug.com/591099 virtual/sharedarraybuffer/fast/dom/Window/property-access-on-cached-window-after-frame-navigated.html [ Failure Pass ]
+crbug.com/591099 virtual/sharedarraybuffer/http/tests/push_messaging/subscribe-failure-mismatched-sender-id.html [ Failure Pass ]
+crbug.com/591099 virtual/sharedarraybuffer/http/tests/websocket/send-file-blob.html [ Failure Pass ]
 crbug.com/591099 virtual/spv2/compositing/framesets/composited-frame-alignment.html [ Failure ]
 crbug.com/591099 virtual/stable/fast/css3-text/css3-text-decoration/stable/first-letter-text-decoration.html [ Failure ]
 crbug.com/591099 virtual/stable/fast/css3-text/css3-text-decoration/stable/getComputedStyle-text-decoration.html [ Failure ]
@@ -21492,7 +22331,7 @@
 crbug.com/591099 virtual/stable/http/tests/navigation/form-targets-cross-site-frame-post.html [ Failure ]
 crbug.com/591099 virtual/stable/http/tests/navigation/form-with-enctype-targets-cross-site-frame.html [ Failure ]
 crbug.com/591099 virtual/stable/http/tests/navigation/forward-and-cancel.html [ Failure ]
-crbug.com/591099 virtual/stable/http/tests/navigation/forward-to-fragment-fires-onload.html [ Failure ]
+crbug.com/591099 virtual/stable/http/tests/navigation/forward-to-fragment-fires-onload.html [ Crash Failure ]
 crbug.com/591099 virtual/stable/http/tests/navigation/history-back-across-form-submission-to-fragment.html [ Failure ]
 crbug.com/591099 virtual/stable/http/tests/navigation/image-load-in-subframe-unload-handler.html [ Crash ]
 crbug.com/591099 virtual/stable/http/tests/navigation/javascriptlink-basic.html [ Timeout ]
@@ -21509,10 +22348,10 @@
 crbug.com/591099 virtual/stable/http/tests/navigation/no-referrer-subframe.html [ Timeout ]
 crbug.com/591099 virtual/stable/http/tests/navigation/no-referrer-target-blank.html [ Timeout ]
 crbug.com/591099 virtual/stable/http/tests/navigation/onload-navigation-iframe-2.html [ Failure ]
-crbug.com/591099 virtual/stable/http/tests/navigation/ping-cookie.html [ Timeout ]
+crbug.com/591099 virtual/stable/http/tests/navigation/ping-cookie.html [ Crash Timeout ]
 crbug.com/591099 virtual/stable/http/tests/navigation/ping-cross-origin-from-https.html [ Timeout ]
 crbug.com/591099 virtual/stable/http/tests/navigation/ping-cross-origin.html [ Timeout ]
-crbug.com/591099 virtual/stable/http/tests/navigation/ping-same-origin.html [ Timeout ]
+crbug.com/591099 virtual/stable/http/tests/navigation/ping-same-origin.html [ Crash Timeout ]
 crbug.com/591099 virtual/stable/http/tests/navigation/post-basic.html [ Failure ]
 crbug.com/591099 virtual/stable/http/tests/navigation/post-frames-goback1.html [ Failure ]
 crbug.com/591099 virtual/stable/http/tests/navigation/post-frames.html [ Failure ]
@@ -21685,7 +22524,7 @@
 crbug.com/591099 virtual/threaded/animations/keyframe-multiple-timing-functions-transform.html [ Failure ]
 crbug.com/591099 virtual/threaded/animations/keyframes-cssom-prefixed-02.html [ Failure ]
 crbug.com/591099 virtual/threaded/animations/keyframes-cssom-unprefixed-02.html [ Failure ]
-crbug.com/591099 virtual/threaded/animations/keyframes-invalid-keys.html [ Timeout ]
+crbug.com/591099 virtual/threaded/animations/keyframes-invalid-keys.html [ Pass Timeout ]
 crbug.com/591099 virtual/threaded/animations/keyframes-iteration-count-non-integer.html [ Failure ]
 crbug.com/591099 virtual/threaded/animations/keyframes-rule.html [ Failure ]
 crbug.com/591099 virtual/threaded/animations/lazy-detached-animation-stop.html [ Failure ]
@@ -21871,6 +22710,7 @@
 crbug.com/591099 virtual/threaded/fast/compositorworker/basic-plumbing-worker-to-main.html [ Failure ]
 crbug.com/591099 virtual/threaded/fast/compositorworker/request-animation-frame.html [ Failure ]
 crbug.com/591099 virtual/threaded/fast/idle-callback/timeout.html [ Timeout ]
+crbug.com/591099 virtual/threaded/fast/idleToBlob/OffscreenCanvas-convertToBlob-webgl-worker.html [ Timeout ]
 crbug.com/591099 virtual/threaded/fast/scroll-behavior/bordered-container-child-scroll.html [ Failure ]
 crbug.com/591099 virtual/threaded/fast/scroll-behavior/first-scroll-runs-on-compositor.html [ Failure ]
 crbug.com/591099 virtual/threaded/fast/scroll-behavior/main-frame-element-scrollBy.html [ Timeout ]
@@ -21892,7 +22732,7 @@
 crbug.com/591099 virtual/threaded/fast/scroll-behavior/overflow-interrupted-scroll.html [ Timeout ]
 crbug.com/591099 virtual/threaded/fast/scroll-behavior/overflow-scroll-loses-composited-scrolling.html [ Timeout ]
 crbug.com/591099 virtual/threaded/fast/scroll-behavior/overflow-scroll-precise-deltas-dont-animate.html [ Timeout ]
-crbug.com/591099 virtual/threaded/fast/scroll-behavior/overflow-scroll-root-frame-animates.html [ Failure ]
+crbug.com/591099 virtual/threaded/fast/scroll-behavior/overflow-scroll-root-frame-animates.html [ Failure Timeout ]
 crbug.com/591099 virtual/threaded/fast/scroll-behavior/overflow-scroll-scrollBy.html [ Timeout ]
 crbug.com/591099 virtual/threaded/fast/scroll-behavior/overflow-scroll-scroll.html [ Timeout ]
 crbug.com/591099 virtual/threaded/fast/scroll-behavior/overflow-scroll-scrollLeft.html [ Timeout ]
@@ -21915,7 +22755,7 @@
 crbug.com/591099 virtual/threaded/fast/scroll-behavior/subframe-scroll.html [ Timeout ]
 crbug.com/591099 virtual/threaded/fast/scroll-behavior/subframe-scrollLeft.html [ Timeout ]
 crbug.com/591099 virtual/threaded/fast/scroll-behavior/subframe-scrollTo.html [ Timeout ]
-crbug.com/591099 virtual/threaded/fast/scroll-behavior/wheel-and-touch-scroll-use-count.html [ Timeout ]
+crbug.com/591099 virtual/threaded/fast/scroll-behavior/wheel-and-touch-scroll-use-count.html [ Pass Timeout ]
 crbug.com/591099 virtual/threaded/http/tests/worklet/chromium/import-on-detached-iframe.html [ Crash ]
 crbug.com/591099 virtual/threaded/inspector/tracing/anonymous-image-object.html [ Crash ]
 crbug.com/591099 virtual/threaded/inspector/tracing/buffer-usage.html [ Failure ]
@@ -21998,7 +22838,7 @@
 crbug.com/591099 virtual/threaded/printing/fixed-positioned-headers-and-footers-absolute-covering-some-pages.html [ Failure ]
 crbug.com/591099 virtual/threaded/printing/fixed-positioned-headers-and-footers-clipped.html [ Failure ]
 crbug.com/591099 virtual/threaded/printing/fixed-positioned-headers-and-footers.html [ Failure ]
-crbug.com/591099 virtual/threaded/printing/fixed-positioned-headers-and-footers-inside-transform.html [ Crash ]
+crbug.com/591099 virtual/threaded/printing/fixed-positioned-headers-and-footers-inside-transform.html [ Crash Failure ]
 crbug.com/591099 virtual/threaded/printing/fixed-positioned-headers-and-footers-larger-than-page.html [ Failure ]
 crbug.com/591099 virtual/threaded/printing/fixed-positioned.html [ Failure ]
 crbug.com/591099 virtual/threaded/printing/forced-break-tree-dump-only.html [ Failure ]
@@ -22038,6 +22878,7 @@
 crbug.com/591099 virtual/threaded/printing/thead-repeats-at-top-of-each-page.html [ Failure ]
 crbug.com/591099 virtual/threaded/printing/thead-repeats-at-top-of-each-page-multiple-tables.html [ Failure ]
 crbug.com/591099 virtual/threaded/printing/viewport-size-dependant-iframe-with-multicol-crash.html [ Failure ]
+crbug.com/591099 virtual/threaded/printing/webgl-repeated-printing.html [ Failure ]
 crbug.com/591099 virtual/threaded/transitions/3d/interrupted-transition.html [ Failure ]
 crbug.com/591099 virtual/threaded/transitions/bad-transition-shorthand-crash.html [ Failure ]
 crbug.com/591099 virtual/threaded/transitions/cubic-bezier-overflow-svg-length.html [ Crash ]
diff --git a/third_party/WebKit/Source/bindings/core/v8/ScriptStreamer.cpp b/third_party/WebKit/Source/bindings/core/v8/ScriptStreamer.cpp
index b60b02b..6b1c919 100644
--- a/third_party/WebKit/Source/bindings/core/v8/ScriptStreamer.cpp
+++ b/third_party/WebKit/Source/bindings/core/v8/ScriptStreamer.cpp
@@ -7,9 +7,9 @@
 #include <memory>
 #include "bindings/core/v8/ScriptStreamerThread.h"
 #include "bindings/core/v8/V8ScriptRunner.h"
+#include "core/dom/ClassicPendingScript.h"
 #include "core/dom/Document.h"
 #include "core/dom/Element.h"
-#include "core/dom/PendingScript.h"
 #include "core/frame/Settings.h"
 #include "core/html/parser/TextResourceDecoder.h"
 #include "core/loader/resource/ScriptResource.h"
@@ -327,7 +327,7 @@
 
 size_t ScriptStreamer::small_script_threshold_ = 30 * 1024;
 
-void ScriptStreamer::StartStreaming(PendingScript* script,
+void ScriptStreamer::StartStreaming(ClassicPendingScript* script,
                                     Type script_type,
                                     Settings* settings,
                                     ScriptState* script_state,
@@ -517,7 +517,7 @@
 }
 
 ScriptStreamer::ScriptStreamer(
-    PendingScript* script,
+    ClassicPendingScript* script,
     Type script_type,
     ScriptState* script_state,
     v8::ScriptCompiler::CompileOptions compile_options,
@@ -581,7 +581,7 @@
 }
 
 bool ScriptStreamer::StartStreamingInternal(
-    PendingScript* script,
+    ClassicPendingScript* script,
     Type script_type,
     Settings* settings,
     ScriptState* script_state,
@@ -600,7 +600,7 @@
   if (resource->IsCacheValidator()) {
     RecordNotStreamingReasonHistogram(script_type, kReload);
     // This happens e.g., during reloads. We're actually not going to load
-    // the current Resource of the PendingScript but switch to another
+    // the current Resource of the ClassicPendingScript but switch to another
     // Resource -> don't stream.
     return false;
   }
@@ -615,8 +615,8 @@
   if (settings->GetV8CacheOptions() == kV8CacheOptionsParse)
     compile_option = v8::ScriptCompiler::kProduceParserCache;
 
-  // The Resource might go out of scope if the script is no longer
-  // needed. This makes PendingScript notify the ScriptStreamer when it is
+  // The Resource might go out of scope if the script is no longer needed.
+  // This makes ClassicPendingScript notify the ScriptStreamer when it is
   // destroyed.
   script->SetStreamer(ScriptStreamer::Create(script, script_type, script_state,
                                              compile_option,
diff --git a/third_party/WebKit/Source/bindings/core/v8/ScriptStreamer.h b/third_party/WebKit/Source/bindings/core/v8/ScriptStreamer.h
index 81c2f92..cb582ba 100644
--- a/third_party/WebKit/Source/bindings/core/v8/ScriptStreamer.h
+++ b/third_party/WebKit/Source/bindings/core/v8/ScriptStreamer.h
@@ -8,6 +8,7 @@
 #include <memory>
 
 #include "core/CoreExport.h"
+#include "platform/WebTaskRunner.h"
 #include "platform/heap/Handle.h"
 #include "platform/wtf/Noncopyable.h"
 #include "platform/wtf/text/WTFString.h"
@@ -15,21 +16,20 @@
 
 namespace blink {
 
-class PendingScript;
+class ClassicPendingScript;
 class Resource;
 class ScriptResource;
 class ScriptState;
 class Settings;
 class SourceStream;
-class WebTaskRunner;
 
 // ScriptStreamer streams incomplete script data to V8 so that it can be parsed
-// while it's loaded. PendingScript holds a reference to ScriptStreamer. At the
-// moment, ScriptStreamer is only used for parser blocking scripts; this means
-// that the Document stays stable and no other scripts are executing while we're
-// streaming. It is possible, though, that Document and the PendingScript are
-// destroyed while the streaming is in progress, and ScriptStreamer handles it
-// gracefully.
+// while it's loaded. ClassicPendingScript holds a reference to ScriptStreamer.
+// At the moment, ScriptStreamer is only used for parser blocking scripts; this
+// means that the Document stays stable and no other scripts are executing
+// while we're streaming. It is possible, though, that Document and the
+// ClassicPendingScript are destroyed while the streaming is in progress, and
+// ScriptStreamer handles it gracefully.
 class CORE_EXPORT ScriptStreamer final
     : public GarbageCollectedFinalized<ScriptStreamer> {
   WTF_MAKE_NONCOPYABLE(ScriptStreamer);
@@ -41,8 +41,8 @@
   DECLARE_TRACE();
 
   // Launches a task (on a background thread) which will stream the given
-  // PendingScript into V8 as it loads.
-  static void StartStreaming(PendingScript*,
+  // ClassicPendingScript into V8 as it loads.
+  static void StartStreaming(ClassicPendingScript*,
                              Type,
                              Settings*,
                              ScriptState*,
@@ -58,9 +58,9 @@
   ScriptResource* GetResource() const { return resource_; }
 
   // Called when the script is not needed any more (e.g., loading was
-  // cancelled). After calling cancel, PendingScript can drop its reference to
-  // ScriptStreamer, and ScriptStreamer takes care of eventually deleting
-  // itself (after the V8 side has finished too).
+  // cancelled). After calling cancel, ClassicPendingScript can drop its
+  // reference to ScriptStreamer, and ScriptStreamer takes care of eventually
+  // deleting itself (after the V8 side has finished too).
   void Cancel();
 
   // When the streaming is suppressed, the data is not given to V8, but
@@ -72,7 +72,7 @@
   void SuppressStreaming();
   bool StreamingSuppressed() const { return streaming_suppressed_; }
 
-  // Called by PendingScript when data arrives from the network.
+  // Called by ClassicPendingScript when data arrives from the network.
   void NotifyAppendData(ScriptResource*);
   void NotifyFinished(Resource*);
 
@@ -95,7 +95,7 @@
   static size_t small_script_threshold_;
 
   static ScriptStreamer* Create(
-      PendingScript* script,
+      ClassicPendingScript* script,
       Type script_type,
       ScriptState* script_state,
       v8::ScriptCompiler::CompileOptions compile_options,
@@ -103,7 +103,7 @@
     return new ScriptStreamer(script, script_type, script_state,
                               compile_options, std::move(loading_task_runner));
   }
-  ScriptStreamer(PendingScript*,
+  ScriptStreamer(ClassicPendingScript*,
                  Type,
                  ScriptState*,
                  v8::ScriptCompiler::CompileOptions,
@@ -112,16 +112,16 @@
   void StreamingComplete();
   void NotifyFinishedToClient();
 
-  static bool StartStreamingInternal(PendingScript*,
+  static bool StartStreamingInternal(ClassicPendingScript*,
                                      Type,
                                      Settings*,
                                      ScriptState*,
                                      RefPtr<WebTaskRunner>);
 
-  Member<PendingScript> pending_script_;
-  // This pointer is weak. If PendingScript and its Resource are deleted
-  // before ScriptStreamer, PendingScript will notify ScriptStreamer of its
-  // deletion by calling cancel().
+  Member<ClassicPendingScript> pending_script_;
+  // This pointer is weak. If ClassicPendingScript and its Resource are deleted
+  // before ScriptStreamer, ClassicPendingScript will notify ScriptStreamer of
+  // its deletion by calling cancel().
   Member<ScriptResource> resource_;
   // Whether ScriptStreamer is detached from the Resource. In those cases, the
   // script data is not needed any more, and the client won't get notified
diff --git a/third_party/WebKit/Source/bindings/core/v8/ScriptStreamerTest.cpp b/third_party/WebKit/Source/bindings/core/v8/ScriptStreamerTest.cpp
index c5749fa4..81e77fe 100644
--- a/third_party/WebKit/Source/bindings/core/v8/ScriptStreamerTest.cpp
+++ b/third_party/WebKit/Source/bindings/core/v8/ScriptStreamerTest.cpp
@@ -11,9 +11,9 @@
 #include "bindings/core/v8/V8BindingForCore.h"
 #include "bindings/core/v8/V8BindingForTesting.h"
 #include "bindings/core/v8/V8ScriptRunner.h"
+#include "core/dom/ClassicPendingScript.h"
 #include "core/dom/ClassicScript.h"
-#include "core/dom/Element.h"
-#include "core/dom/PendingScript.h"
+#include "core/dom/MockScriptElementBase.h"
 #include "core/frame/Settings.h"
 #include "platform/heap/Handle.h"
 #include "platform/testing/UnitTestHelpers.h"
@@ -35,10 +35,16 @@
                                  ->LoadingTaskRunner()),
         settings_(Settings::Create()),
         resource_request_("http://www.streaming-test.com/"),
-        resource_(ScriptResource::Create(resource_request_, "UTF-8")),
-        pending_script_(PendingScript::CreateForTesting(resource_.Get())) {
+        resource_(ScriptResource::Create(resource_request_, "UTF-8")) {
     resource_->SetStatus(ResourceStatus::kPending);
-    pending_script_ = PendingScript::CreateForTesting(resource_.Get());
+
+    MockScriptElementBase* element = MockScriptElementBase::Create();
+    // Basically we are not interested in ScriptElementBase* calls, just making
+    // the method(s) to return default values.
+    EXPECT_CALL(*element, IntegrityAttributeValue())
+        .WillRepeatedly(::testing::Return(String()));
+
+    pending_script_ = ClassicPendingScript::Create(element, resource_.Get());
     ScriptStreamer::SetSmallScriptThresholdForTesting(0);
   }
 
@@ -47,7 +53,9 @@
       pending_script_->Dispose();
   }
 
-  PendingScript* GetPendingScript() const { return pending_script_.Get(); }
+  ClassicPendingScript* GetPendingScript() const {
+    return pending_script_.Get();
+  }
 
  protected:
   void AppendData(const char* data) {
@@ -90,7 +98,7 @@
   // ScriptResource::appendData.
   ResourceRequest resource_request_;
   Persistent<ScriptResource> resource_;
-  Persistent<PendingScript> pending_script_;
+  Persistent<ClassicPendingScript> pending_script_;
 };
 
 class TestPendingScriptClient
@@ -409,6 +417,23 @@
   EXPECT_FALSE(try_catch.HasCaught());
 }
 
+// A test for crbug.com/711703. Should not crash.
+TEST_F(ScriptStreamingTest, GarbageCollectDuringStreaming) {
+  V8TestingScope scope;
+  ScriptStreamer::StartStreaming(
+      GetPendingScript(), ScriptStreamer::kParsingBlocking, settings_.get(),
+      scope.GetScriptState(), loading_task_runner_);
+
+  TestPendingScriptClient* client = new TestPendingScriptClient;
+  GetPendingScript()->WatchForLoad(client);
+  EXPECT_FALSE(client->Finished());
+
+  pending_script_ = nullptr;
+  ThreadState::Current()->CollectGarbage(BlinkGC::kNoHeapPointersOnStack,
+                                         BlinkGC::kGCWithSweep,
+                                         BlinkGC::kForcedGC);
+}
+
 }  // namespace
 
 }  // namespace blink
diff --git a/third_party/WebKit/Source/core/dom/BUILD.gn b/third_party/WebKit/Source/core/dom/BUILD.gn
index 80821d3..d7d88ec 100644
--- a/third_party/WebKit/Source/core/dom/BUILD.gn
+++ b/third_party/WebKit/Source/core/dom/BUILD.gn
@@ -33,6 +33,8 @@
     "ChildNodeList.h",
     "ClassCollection.cpp",
     "ClassCollection.h",
+    "ClassicPendingScript.cpp",
+    "ClassicPendingScript.h",
     "ClassicScript.cpp",
     "ClassicScript.h",
     "ClientRect.cpp",
diff --git a/third_party/WebKit/Source/core/dom/ClassicPendingScript.cpp b/third_party/WebKit/Source/core/dom/ClassicPendingScript.cpp
new file mode 100644
index 0000000..c060bbe
--- /dev/null
+++ b/third_party/WebKit/Source/core/dom/ClassicPendingScript.cpp
@@ -0,0 +1,237 @@
+// 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.
+
+#include "core/dom/ClassicPendingScript.h"
+
+#include "bindings/core/v8/ScriptSourceCode.h"
+#include "bindings/core/v8/ScriptState.h"
+#include "bindings/core/v8/ScriptStreamer.h"
+#include "bindings/core/v8/V8BindingForCore.h"
+#include "core/dom/Document.h"
+#include "core/dom/TaskRunnerHelper.h"
+#include "core/frame/LocalFrame.h"
+#include "core/frame/SubresourceIntegrity.h"
+#include "platform/loader/fetch/MemoryCache.h"
+
+namespace blink {
+
+ClassicPendingScript* ClassicPendingScript::Create(ScriptElementBase* element,
+                                                   ScriptResource* resource) {
+  return new ClassicPendingScript(element, resource, TextPosition());
+}
+
+ClassicPendingScript* ClassicPendingScript::Create(
+    ScriptElementBase* element,
+    const TextPosition& starting_position) {
+  return new ClassicPendingScript(element, nullptr, starting_position);
+}
+
+ClassicPendingScript::ClassicPendingScript(
+    ScriptElementBase* element,
+    ScriptResource* resource,
+    const TextPosition& starting_position)
+    : PendingScript(element, starting_position), integrity_failure_(false) {
+  CheckState();
+  SetResource(resource);
+  MemoryCoordinator::Instance().RegisterClient(this);
+}
+
+ClassicPendingScript::~ClassicPendingScript() {}
+
+NOINLINE void ClassicPendingScript::CheckState() const {
+  // TODO(hiroshige): Turn these CHECK()s into DCHECK() before going to beta.
+  CHECK(GetElement());
+  CHECK(GetResource() || !streamer_);
+  CHECK(!streamer_ || streamer_->GetResource() == GetResource());
+}
+
+NOINLINE void ClassicPendingScript::Dispose() {
+  PendingScript::Dispose();
+}
+
+void ClassicPendingScript::DisposeInternal() {
+  MemoryCoordinator::Instance().UnregisterClient(this);
+  SetResource(nullptr);
+  integrity_failure_ = false;
+  if (streamer_)
+    streamer_->Cancel();
+  streamer_ = nullptr;
+}
+
+void ClassicPendingScript::StreamingFinished() {
+  CheckState();
+  DCHECK(GetResource());
+  if (Client())
+    Client()->PendingScriptFinished(this);
+}
+
+// Returns true if SRI check passed.
+static bool CheckScriptResourceIntegrity(Resource* resource,
+                                         ScriptElementBase* element) {
+  DCHECK_EQ(resource->GetType(), Resource::kScript);
+  ScriptResource* script_resource = ToScriptResource(resource);
+  String integrity_attr = element->IntegrityAttributeValue();
+
+  // It is possible to get back a script resource with integrity metadata
+  // for a request with an empty integrity attribute. In that case, the
+  // integrity check should be skipped, so this check ensures that the
+  // integrity attribute isn't empty in addition to checking if the
+  // resource has empty integrity metadata.
+  if (integrity_attr.IsEmpty() ||
+      script_resource->IntegrityMetadata().IsEmpty())
+    return true;
+
+  switch (script_resource->IntegrityDisposition()) {
+    case ResourceIntegrityDisposition::kPassed:
+      return true;
+
+    case ResourceIntegrityDisposition::kFailed:
+      // TODO(jww): This should probably also generate a console
+      // message identical to the one produced by
+      // CheckSubresourceIntegrity below. See https://crbug.com/585267.
+      return false;
+
+    case ResourceIntegrityDisposition::kNotChecked: {
+      if (!resource->ResourceBuffer())
+        return true;
+
+      bool passed = SubresourceIntegrity::CheckSubresourceIntegrity(
+          script_resource->IntegrityMetadata(), element->GetDocument(),
+          resource->ResourceBuffer()->Data(),
+          resource->ResourceBuffer()->size(), resource->Url(), *resource);
+      script_resource->SetIntegrityDisposition(
+          passed ? ResourceIntegrityDisposition::kPassed
+                 : ResourceIntegrityDisposition::kFailed);
+      return passed;
+    }
+  }
+
+  NOTREACHED();
+  return true;
+}
+
+void ClassicPendingScript::NotifyFinished(Resource* resource) {
+  // The following SRI checks need to be here because, unfortunately, fetches
+  // are not done purely according to the Fetch spec. In particular,
+  // different requests for the same resource do not have different
+  // responses; the memory cache can (and will) return the exact same
+  // Resource object.
+  //
+  // For different requests, the same Resource object will be returned and
+  // will not be associated with the particular request.  Therefore, when the
+  // body of the response comes in, there's no way to validate the integrity
+  // of the Resource object against a particular request (since there may be
+  // several pending requests all tied to the identical object, and the
+  // actual requests are not stored).
+  //
+  // In order to simulate the correct behavior, Blink explicitly does the SRI
+  // checks here, when a PendingScript tied to a particular request is
+  // finished (and in the case of a StyleSheet, at the point of execution),
+  // while having proper Fetch checks in the fetch module for use in the
+  // fetch JavaScript API. In a future world where the ResourceFetcher uses
+  // the Fetch algorithm, this should be fixed by having separate Response
+  // objects (perhaps attached to identical Resource objects) per request.
+  //
+  // See https://crbug.com/500701 for more information.
+  CheckState();
+  if (GetElement()) {
+    integrity_failure_ = !CheckScriptResourceIntegrity(resource, GetElement());
+  }
+
+  // If script streaming is in use, the client will be notified in
+  // streamingFinished.
+  if (streamer_)
+    streamer_->NotifyFinished(resource);
+  else if (Client())
+    Client()->PendingScriptFinished(this);
+}
+
+void ClassicPendingScript::NotifyAppendData(ScriptResource* resource) {
+  if (streamer_)
+    streamer_->NotifyAppendData(resource);
+}
+
+DEFINE_TRACE(ClassicPendingScript) {
+  visitor->Trace(streamer_);
+  ResourceOwner<ScriptResource>::Trace(visitor);
+  MemoryCoordinatorClient::Trace(visitor);
+  PendingScript::Trace(visitor);
+}
+
+ClassicScript* ClassicPendingScript::GetSource(const KURL& document_url,
+                                               bool& error_occurred) const {
+  CheckState();
+
+  error_occurred = this->ErrorOccurred();
+  if (GetResource()) {
+    DCHECK(GetResource()->IsLoaded());
+    if (streamer_ && !streamer_->StreamingSuppressed())
+      return ClassicScript::Create(ScriptSourceCode(streamer_, GetResource()));
+    return ClassicScript::Create(ScriptSourceCode(GetResource()));
+  }
+
+  return ClassicScript::Create(ScriptSourceCode(
+      GetElement()->TextContent(), document_url, StartingPosition()));
+}
+
+void ClassicPendingScript::SetStreamer(ScriptStreamer* streamer) {
+  DCHECK(!streamer_);
+  DCHECK(!IsWatchingForLoad());
+  streamer_ = streamer;
+  CheckState();
+}
+
+bool ClassicPendingScript::IsReady() const {
+  CheckState();
+  if (GetResource()) {
+    return GetResource()->IsLoaded() && (!streamer_ || streamer_->IsFinished());
+  }
+
+  return true;
+}
+
+bool ClassicPendingScript::ErrorOccurred() const {
+  CheckState();
+  if (GetResource())
+    return GetResource()->ErrorOccurred() || integrity_failure_;
+
+  return false;
+}
+
+void ClassicPendingScript::OnPurgeMemory() {
+  CheckState();
+  if (!streamer_)
+    return;
+  streamer_->Cancel();
+  streamer_ = nullptr;
+}
+
+void ClassicPendingScript::StartStreamingIfPossible(
+    Document* document,
+    ScriptStreamer::Type streamer_type) {
+  if (!document->GetFrame())
+    return;
+
+  ScriptState* script_state = ToScriptStateForMainWorld(document->GetFrame());
+  if (!script_state)
+    return;
+
+  ScriptStreamer::StartStreaming(
+      this, streamer_type, document->GetFrame()->GetSettings(), script_state,
+      TaskRunnerHelper::Get(TaskType::kNetworking, document));
+}
+
+bool ClassicPendingScript::WasCanceled() const {
+  return GetResource()->WasCanceled();
+}
+
+KURL ClassicPendingScript::Url() const {
+  return GetResource()->Url();
+}
+
+void ClassicPendingScript::RemoveFromMemoryCache() {
+  GetMemoryCache()->Remove(GetResource());
+}
+
+}  // namespace blink
diff --git a/third_party/WebKit/Source/core/dom/ClassicPendingScript.h b/third_party/WebKit/Source/core/dom/ClassicPendingScript.h
new file mode 100644
index 0000000..a5184e2a
--- /dev/null
+++ b/third_party/WebKit/Source/core/dom/ClassicPendingScript.h
@@ -0,0 +1,93 @@
+// 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.
+
+#ifndef ClassicPendingScript_h
+#define ClassicPendingScript_h
+
+#include "bindings/core/v8/ScriptStreamer.h"
+#include "core/dom/ClassicScript.h"
+#include "core/dom/PendingScript.h"
+#include "core/loader/resource/ScriptResource.h"
+#include "platform/MemoryCoordinator.h"
+#include "platform/loader/fetch/ResourceOwner.h"
+
+namespace blink {
+
+// PendingScript for a classic script
+// https://html.spec.whatwg.org/#classic-script.
+//
+// TODO(kochi): The comment below is from pre-oilpan age and may not be correct
+// now.
+// A RefPtr alone does not prevent the underlying Resource from purging its data
+// buffer. This class holds a dummy client open for its lifetime in order to
+// guarantee that the data buffer will not be purged.
+class CORE_EXPORT ClassicPendingScript final
+    : public PendingScript,
+      public ResourceOwner<ScriptResource>,
+      public MemoryCoordinatorClient {
+  USING_GARBAGE_COLLECTED_MIXIN(ClassicPendingScript);
+
+  // In order to call Dispose() before ResourceOwner's prefinalizer, we
+  // also register ClassicPendingScript::Dispose() as the prefinalizer of
+  // ClassicPendingScript here. https://crbug.com/711703
+  USING_PRE_FINALIZER(ClassicPendingScript, Dispose);
+
+ public:
+  // For script from an external file.
+  static ClassicPendingScript* Create(ScriptElementBase*, ScriptResource*);
+  // For inline script.
+  static ClassicPendingScript* Create(ScriptElementBase*, const TextPosition&);
+
+  ~ClassicPendingScript() override;
+
+  void SetStreamer(ScriptStreamer*);
+  void StreamingFinished();
+
+  DECLARE_TRACE();
+
+  blink::ScriptType GetScriptType() const override {
+    return blink::ScriptType::kClassic;
+  }
+
+  ClassicScript* GetSource(const KURL& document_url,
+                           bool& error_occurred) const override;
+  bool IsReady() const override;
+  KURL Url() const override;
+  bool IsExternal() const override { return GetResource(); }
+  bool ErrorOccurred() const override;
+  bool WasCanceled() const override;
+  void StartStreamingIfPossible(Document*, ScriptStreamer::Type) override;
+  void RemoveFromMemoryCache() override;
+  void DisposeInternal() override;
+
+  // Just used as the prefinalizer, does the same as PendingScript::Dispose().
+  // We define Dispose() with NOINLINE in ClassicPendingScript just to make
+  // the prefinalizers of PendingScript and ClassicPendingScript have
+  // different addresses to avoid assertion failures on Windows test bots.
+  void Dispose();
+
+ private:
+  ClassicPendingScript(ScriptElementBase*,
+                       ScriptResource*,
+                       const TextPosition&);
+  ClassicPendingScript() = delete;
+
+  void CheckState() const override;
+
+  // ScriptResourceClient
+  void NotifyFinished(Resource*) override;
+  String DebugName() const override { return "PendingScript"; }
+  void NotifyAppendData(ScriptResource*) override;
+
+  // MemoryCoordinatorClient
+  void OnPurgeMemory() override;
+
+  bool integrity_failure_;
+
+  Member<ScriptStreamer> streamer_;
+};
+
+}  // namespace blink
+
+#endif  // PendingScript_h
diff --git a/third_party/WebKit/Source/core/dom/ModuleScript.h b/third_party/WebKit/Source/core/dom/ModuleScript.h
index f334179..4e6c2dfa6 100644
--- a/third_party/WebKit/Source/core/dom/ModuleScript.h
+++ b/third_party/WebKit/Source/core/dom/ModuleScript.h
@@ -49,6 +49,10 @@
     return instantiation_state_;
   }
 
+  v8::Local<v8::Value> CreateInstantiationError(v8::Isolate* isolate) const {
+    return instantiation_error_.NewLocal(isolate);
+  }
+
   // Implements Step 7.1 of:
   // https://html.spec.whatwg.org/multipage/webappapis.html#internal-module-script-graph-fetching-procedure
   void SetInstantiationErrorAndClearRecord(ScriptValue error);
diff --git a/third_party/WebKit/Source/core/dom/PendingScript.cpp b/third_party/WebKit/Source/core/dom/PendingScript.cpp
index 602f407..cb907e2 100644
--- a/third_party/WebKit/Source/core/dom/PendingScript.cpp
+++ b/third_party/WebKit/Source/core/dom/PendingScript.cpp
@@ -25,79 +25,37 @@
 
 #include "core/dom/PendingScript.h"
 
-#include "bindings/core/v8/ScriptSourceCode.h"
-#include "bindings/core/v8/ScriptState.h"
-#include "bindings/core/v8/V8BindingForCore.h"
-#include "core/dom/ClassicScript.h"
-#include "core/dom/Document.h"
 #include "core/dom/ScriptElementBase.h"
-#include "core/dom/TaskRunnerHelper.h"
-#include "core/frame/LocalFrame.h"
-#include "core/frame/SubresourceIntegrity.h"
-#include "platform/SharedBuffer.h"
 #include "platform/wtf/CurrentTime.h"
 
 namespace blink {
 
-PendingScript* PendingScript::Create(ScriptElementBase* element,
-                                     ScriptResource* resource) {
-  return new PendingScript(element, resource, TextPosition());
-}
-
-PendingScript* PendingScript::Create(ScriptElementBase* element,
-                                     const TextPosition& starting_position) {
-  return new PendingScript(element, nullptr, starting_position);
-}
-
-PendingScript* PendingScript::CreateForTesting(ScriptResource* resource) {
-  return new PendingScript(nullptr, resource, TextPosition(), true);
-}
-
 PendingScript::PendingScript(ScriptElementBase* element,
-                             ScriptResource* resource,
-                             const TextPosition& starting_position,
-                             bool is_for_testing)
+                             const TextPosition& starting_position)
     : watching_for_load_(false),
       element_(element),
       starting_position_(starting_position),
-      integrity_failure_(false),
       parser_blocking_load_start_time_(0),
-      client_(nullptr),
-      is_for_testing_(is_for_testing) {
-  CheckState();
-  SetResource(resource);
-  MemoryCoordinator::Instance().RegisterClient(this);
-}
+      client_(nullptr) {}
 
 PendingScript::~PendingScript() {}
 
-NOINLINE void PendingScript::CheckState() const {
-  // TODO(hiroshige): Turn these CHECK()s into DCHECK() before going to beta.
-  CHECK(is_for_testing_ || element_);
-  CHECK(GetResource() || !streamer_);
-  CHECK(!streamer_ || streamer_->GetResource() == GetResource());
-}
-
 void PendingScript::Dispose() {
   StopWatchingForLoad();
-  DCHECK(!client_);
-  DCHECK(!watching_for_load_);
+  DCHECK(!Client());
+  DCHECK(!IsWatchingForLoad());
 
-  MemoryCoordinator::Instance().UnregisterClient(this);
-  SetResource(nullptr);
   starting_position_ = TextPosition::BelowRangePosition();
-  integrity_failure_ = false;
   parser_blocking_load_start_time_ = 0;
-  if (streamer_)
-    streamer_->Cancel();
-  streamer_ = nullptr;
+
+  DisposeInternal();
   element_ = nullptr;
 }
 
 void PendingScript::WatchForLoad(PendingScriptClient* client) {
   CheckState();
 
-  DCHECK(!watching_for_load_);
+  DCHECK(!IsWatchingForLoad());
   // addClient() will call streamingFinished() if the load is complete. Callers
   // who do not expect to be re-entered from this call should not call
   // watchForLoad for a PendingScript which isReady. We also need to set
@@ -110,10 +68,10 @@
 }
 
 void PendingScript::StopWatchingForLoad() {
-  if (!watching_for_load_)
+  if (!IsWatchingForLoad())
     return;
   CheckState();
-  DCHECK(GetResource());
+  DCHECK(IsExternal());
   client_ = nullptr;
   watching_for_load_ = false;
 }
@@ -126,173 +84,14 @@
   return element_.Get();
 }
 
-void PendingScript::StreamingFinished() {
-  CheckState();
-  DCHECK(GetResource());
-  if (client_)
-    client_->PendingScriptFinished(this);
-}
-
 void PendingScript::MarkParserBlockingLoadStartTime() {
   DCHECK_EQ(parser_blocking_load_start_time_, 0.0);
   parser_blocking_load_start_time_ = MonotonicallyIncreasingTime();
 }
 
-// Returns true if SRI check passed.
-static bool CheckScriptResourceIntegrity(Resource* resource,
-                                         ScriptElementBase* element) {
-  DCHECK_EQ(resource->GetType(), Resource::kScript);
-  ScriptResource* script_resource = ToScriptResource(resource);
-  String integrity_attr = element->IntegrityAttributeValue();
-
-  // It is possible to get back a script resource with integrity metadata
-  // for a request with an empty integrity attribute. In that case, the
-  // integrity check should be skipped, so this check ensures that the
-  // integrity attribute isn't empty in addition to checking if the
-  // resource has empty integrity metadata.
-  if (integrity_attr.IsEmpty() ||
-      script_resource->IntegrityMetadata().IsEmpty())
-    return true;
-
-  switch (script_resource->IntegrityDisposition()) {
-    case ResourceIntegrityDisposition::kPassed:
-      return true;
-
-    case ResourceIntegrityDisposition::kFailed:
-      // TODO(jww): This should probably also generate a console
-      // message identical to the one produced by
-      // CheckSubresourceIntegrity below. See https://crbug.com/585267.
-      return false;
-
-    case ResourceIntegrityDisposition::kNotChecked: {
-      if (!resource->ResourceBuffer())
-        return true;
-
-      bool passed = SubresourceIntegrity::CheckSubresourceIntegrity(
-          script_resource->IntegrityMetadata(), element->GetDocument(),
-          resource->ResourceBuffer()->Data(),
-          resource->ResourceBuffer()->size(), resource->Url(), *resource);
-      script_resource->SetIntegrityDisposition(
-          passed ? ResourceIntegrityDisposition::kPassed
-                 : ResourceIntegrityDisposition::kFailed);
-      return passed;
-    }
-  }
-
-  NOTREACHED();
-  return true;
-}
-
-void PendingScript::NotifyFinished(Resource* resource) {
-  // The following SRI checks need to be here because, unfortunately, fetches
-  // are not done purely according to the Fetch spec. In particular,
-  // different requests for the same resource do not have different
-  // responses; the memory cache can (and will) return the exact same
-  // Resource object.
-  //
-  // For different requests, the same Resource object will be returned and
-  // will not be associated with the particular request.  Therefore, when the
-  // body of the response comes in, there's no way to validate the integrity
-  // of the Resource object against a particular request (since there may be
-  // several pending requests all tied to the identical object, and the
-  // actual requests are not stored).
-  //
-  // In order to simulate the correct behavior, Blink explicitly does the SRI
-  // checks here, when a PendingScript tied to a particular request is
-  // finished (and in the case of a StyleSheet, at the point of execution),
-  // while having proper Fetch checks in the fetch module for use in the
-  // fetch JavaScript API. In a future world where the ResourceFetcher uses
-  // the Fetch algorithm, this should be fixed by having separate Response
-  // objects (perhaps attached to identical Resource objects) per request.
-  //
-  // See https://crbug.com/500701 for more information.
-  CheckState();
-  if (element_) {
-    integrity_failure_ = !CheckScriptResourceIntegrity(resource, element_);
-  }
-
-  // If script streaming is in use, the client will be notified in
-  // streamingFinished.
-  if (streamer_)
-    streamer_->NotifyFinished(resource);
-  else if (client_)
-    client_->PendingScriptFinished(this);
-}
-
-void PendingScript::NotifyAppendData(ScriptResource* resource) {
-  if (streamer_)
-    streamer_->NotifyAppendData(resource);
-}
-
 DEFINE_TRACE(PendingScript) {
   visitor->Trace(element_);
-  visitor->Trace(streamer_);
   visitor->Trace(client_);
-  ResourceOwner<ScriptResource>::Trace(visitor);
-  MemoryCoordinatorClient::Trace(visitor);
-}
-
-ClassicScript* PendingScript::GetSource(const KURL& document_url,
-                                        bool& error_occurred) const {
-  CheckState();
-
-  error_occurred = this->ErrorOccurred();
-  if (GetResource()) {
-    DCHECK(GetResource()->IsLoaded());
-    if (streamer_ && !streamer_->StreamingSuppressed())
-      return ClassicScript::Create(ScriptSourceCode(streamer_, GetResource()));
-    return ClassicScript::Create(ScriptSourceCode(GetResource()));
-  }
-
-  return ClassicScript::Create(ScriptSourceCode(
-      element_->TextContent(), document_url, StartingPosition()));
-}
-
-void PendingScript::SetStreamer(ScriptStreamer* streamer) {
-  DCHECK(!streamer_);
-  DCHECK(!watching_for_load_);
-  streamer_ = streamer;
-  CheckState();
-}
-
-bool PendingScript::IsReady() const {
-  CheckState();
-  if (GetResource()) {
-    return GetResource()->IsLoaded() && (!streamer_ || streamer_->IsFinished());
-  }
-
-  return true;
-}
-
-bool PendingScript::ErrorOccurred() const {
-  CheckState();
-  if (GetResource())
-    return GetResource()->ErrorOccurred() || integrity_failure_;
-
-  return false;
-}
-
-void PendingScript::OnPurgeMemory() {
-  CheckState();
-  if (!streamer_)
-    return;
-  streamer_->Cancel();
-  streamer_ = nullptr;
-}
-
-void PendingScript::StartStreamingIfPossible(
-    Document* document,
-    ScriptStreamer::Type streamer_type) {
-  if (!document->GetFrame())
-    return;
-
-  ScriptState* script_state = ToScriptStateForMainWorld(document->GetFrame());
-  if (!script_state)
-    return;
-
-  ScriptStreamer::StartStreaming(
-      this, streamer_type, document->GetFrame()->GetSettings(), script_state,
-      TaskRunnerHelper::Get(TaskType::kNetworking, document));
 }
 
 }  // namespace blink
diff --git a/third_party/WebKit/Source/core/dom/PendingScript.h b/third_party/WebKit/Source/core/dom/PendingScript.h
index 0be3dcf..f0175f5 100644
--- a/third_party/WebKit/Source/core/dom/PendingScript.h
+++ b/third_party/WebKit/Source/core/dom/PendingScript.h
@@ -28,25 +28,24 @@
 
 #include "bindings/core/v8/ScriptStreamer.h"
 #include "core/CoreExport.h"
+#include "core/dom/Script.h"
 #include "core/dom/ScriptElementBase.h"
-#include "core/loader/resource/ScriptResource.h"
-#include "platform/MemoryCoordinator.h"
 #include "platform/heap/Handle.h"
-#include "platform/loader/fetch/ResourceOwner.h"
+#include "platform/weborigin/KURL.h"
 #include "platform/wtf/Noncopyable.h"
 #include "platform/wtf/text/TextPosition.h"
 
 namespace blink {
 
+class Document;
 class PendingScript;
-class ClassicScript;
 
 class CORE_EXPORT PendingScriptClient : public GarbageCollectedMixin {
  public:
   virtual ~PendingScriptClient() {}
 
-  // Invoked when the pending script has finished loading. This could be during
-  // |watchForLoad| (if the pending script was already ready), or when the
+  // Invoked when the pending script is ready. This could be during
+  // WatchForLoad() (if the pending script was already ready), or when the
   // resource loads (if script streaming is not occurring), or when script
   // streaming finishes.
   virtual void PendingScriptFinished(PendingScript*) = 0;
@@ -55,29 +54,15 @@
 };
 
 // A container for an external script which may be loaded and executed.
-//
-// TODO(kochi): The comment below is from pre-oilpan age and may not be correct
-// now.
-// A RefPtr alone does not prevent the underlying Resource from purging its data
-// buffer. This class holds a dummy client open for its lifetime in order to
-// guarantee that the data buffer will not be purged.
-class CORE_EXPORT PendingScript final
-    : public GarbageCollectedFinalized<PendingScript>,
-      public ResourceOwner<ScriptResource>,
-      public MemoryCoordinatorClient {
-  USING_GARBAGE_COLLECTED_MIXIN(PendingScript);
+// This is used to receive a notification of "script is ready"
+// https://html.spec.whatwg.org/#the-script-is-ready via PendingScriptClient.
+class CORE_EXPORT PendingScript
+    : public GarbageCollectedFinalized<PendingScript> {
   USING_PRE_FINALIZER(PendingScript, Dispose);
   WTF_MAKE_NONCOPYABLE(PendingScript);
 
  public:
-  // For script from an external file.
-  static PendingScript* Create(ScriptElementBase*, ScriptResource*);
-  // For inline script.
-  static PendingScript* Create(ScriptElementBase*, const TextPosition&);
-
-  static PendingScript* CreateForTesting(ScriptResource*);
-
-  ~PendingScript() override;
+  virtual ~PendingScript();
 
   TextPosition StartingPosition() const { return starting_position_; }
   void MarkParserBlockingLoadStartTime();
@@ -93,37 +78,39 @@
 
   ScriptElementBase* GetElement() const;
 
-  DECLARE_TRACE();
+  virtual ScriptType GetScriptType() const = 0;
 
-  ClassicScript* GetSource(const KURL& document_url,
-                           bool& error_occurred) const;
+  DECLARE_VIRTUAL_TRACE();
 
-  void SetStreamer(ScriptStreamer*);
-  void StreamingFinished();
+  virtual Script* GetSource(const KURL& document_url,
+                            bool& error_occurred) const = 0;
 
-  bool IsReady() const;
-  bool ErrorOccurred() const;
+  // https://html.spec.whatwg.org/#the-script-is-ready
+  virtual bool IsReady() const = 0;
 
-  void StartStreamingIfPossible(Document*, ScriptStreamer::Type);
+  virtual KURL Url() const = 0;
+  virtual bool IsExternal() const = 0;
+  virtual bool ErrorOccurred() const = 0;
+  virtual bool WasCanceled() const = 0;
+  virtual void StartStreamingIfPossible(Document*, ScriptStreamer::Type) = 0;
+
+  // Used for document.write() intervention.
+  // Has effects only for classic scripts.
+  virtual void RemoveFromMemoryCache() = 0;
+
   void Dispose();
 
+ protected:
+  PendingScript(ScriptElementBase*, const TextPosition& starting_position);
+
+  virtual void DisposeInternal() = 0;
+
+  PendingScriptClient* Client() { return client_; }
+  bool IsWatchingForLoad() const { return watching_for_load_; }
+
+  virtual void CheckState() const = 0;
+
  private:
-  PendingScript(ScriptElementBase*,
-                ScriptResource*,
-                const TextPosition&,
-                bool is_for_testing = false);
-  PendingScript() = delete;
-
-  void CheckState() const;
-
-  // ScriptResourceClient
-  void NotifyFinished(Resource*) override;
-  String DebugName() const override { return "PendingScript"; }
-  void NotifyAppendData(ScriptResource*) override;
-
-  // MemoryCoordinatorClient
-  void OnPurgeMemory() override;
-
   bool watching_for_load_;
 
   // |m_element| must points to the corresponding ScriptLoader's
@@ -132,15 +119,9 @@
   Member<ScriptElementBase> element_;
 
   TextPosition starting_position_;  // Only used for inline script tags.
-  bool integrity_failure_;
   double parser_blocking_load_start_time_;
 
-  Member<ScriptStreamer> streamer_;
   Member<PendingScriptClient> client_;
-
-  // This flag is used to skip non-null checks of |m_element| in unit
-  // tests, because |m_element| can be null in unit tests.
-  const bool is_for_testing_;
 };
 
 }  // namespace blink
diff --git a/third_party/WebKit/Source/core/dom/ScriptLoader.cpp b/third_party/WebKit/Source/core/dom/ScriptLoader.cpp
index 0be80ebb1..d5488e2 100644
--- a/third_party/WebKit/Source/core/dom/ScriptLoader.cpp
+++ b/third_party/WebKit/Source/core/dom/ScriptLoader.cpp
@@ -26,9 +26,9 @@
 
 #include "bindings/core/v8/ScriptController.h"
 #include "bindings/core/v8/ScriptSourceCode.h"
-#include "bindings/core/v8/V8BindingForCore.h"
 #include "core/HTMLNames.h"
 #include "core/SVGNames.h"
+#include "core/dom/ClassicPendingScript.h"
 #include "core/dom/ClassicScript.h"
 #include "core/dom/Document.h"
 #include "core/dom/DocumentParserTiming.h"
@@ -48,7 +48,6 @@
 #include "platform/WebFrameScheduler.h"
 #include "platform/loader/fetch/AccessControlStatus.h"
 #include "platform/loader/fetch/FetchParameters.h"
-#include "platform/loader/fetch/MemoryCache.h"
 #include "platform/loader/fetch/ResourceFetcher.h"
 #include "platform/network/mime/MIMETypeRegistry.h"
 #include "platform/weborigin/SecurityOrigin.h"
@@ -670,7 +669,7 @@
 
 PendingScript* ScriptLoader::CreatePendingScript() {
   CHECK(resource_);
-  return PendingScript::Create(element_, resource_);
+  return ClassicPendingScript::Create(element_, resource_);
 }
 
 bool ScriptLoader::ExecuteScript(const Script* script) {
@@ -776,13 +775,14 @@
 void ScriptLoader::Execute() {
   DCHECK(!will_be_parser_executed_);
   DCHECK(async_exec_type_ != ScriptRunner::kNone);
-  DCHECK(pending_script_->GetResource());
+  DCHECK(pending_script_->IsExternal());
   bool error_occurred = false;
   Script* script = pending_script_->GetSource(KURL(), error_occurred);
+  const bool wasCanceled = pending_script_->WasCanceled();
   DetachPendingScript();
   if (error_occurred) {
     DispatchErrorEvent();
-  } else if (!resource_->WasCanceled()) {
+  } else if (!wasCanceled) {
     if (ExecuteScript(script))
       DispatchLoadEvent();
     else
@@ -794,7 +794,6 @@
 void ScriptLoader::PendingScriptFinished(PendingScript* pending_script) {
   DCHECK(!will_be_parser_executed_);
   DCHECK_EQ(pending_script_, pending_script);
-  DCHECK_EQ(pending_script->GetResource(), resource_);
 
   // We do not need this script in the memory cache. The primary goals of
   // sending this fetch request are to let the third party server know
@@ -802,7 +801,8 @@
   // cache for subsequent uses.
   if (document_write_intervention_ ==
       DocumentWriteIntervention::kFetchDocWrittenScriptDeferIdle) {
-    GetMemoryCache()->Remove(pending_script_->GetResource());
+    DCHECK_EQ(pending_script_->GetScriptType(), ScriptType::kClassic);
+    pending_script_->RemoveFromMemoryCache();
     pending_script_->StopWatchingForLoad();
     return;
   }
diff --git a/third_party/WebKit/Source/core/html/parser/HTMLParserScriptRunner.cpp b/third_party/WebKit/Source/core/html/parser/HTMLParserScriptRunner.cpp
index 97ff8b8..ec40bba 100644
--- a/third_party/WebKit/Source/core/html/parser/HTMLParserScriptRunner.cpp
+++ b/third_party/WebKit/Source/core/html/parser/HTMLParserScriptRunner.cpp
@@ -31,6 +31,7 @@
 #include "bindings/core/v8/ScriptSourceCode.h"
 #include "bindings/core/v8/V8BindingForCore.h"
 #include "bindings/core/v8/V8PerIsolateData.h"
+#include "core/dom/ClassicPendingScript.h"
 #include "core/dom/ClassicScript.h"
 #include "core/dom/DocumentParserTiming.h"
 #include "core/dom/Element.h"
@@ -48,7 +49,6 @@
 #include "platform/WebFrameScheduler.h"
 #include "platform/instrumentation/tracing/TraceEvent.h"
 #include "platform/instrumentation/tracing/TracedValue.h"
-#include "platform/loader/fetch/MemoryCache.h"
 #include "public/platform/Platform.h"
 
 namespace blink {
@@ -335,9 +335,12 @@
   if (!script_loader || !script_loader->DisallowedFetchForDocWrittenScript())
     return;
 
+  // We don't allow document.write() and its intervention with module scripts.
+  CHECK_EQ(pending_script->GetScriptType(), ScriptType::kClassic);
+
   if (!pending_script->ErrorOccurred()) {
-    EmitWarningForDocWriteScripts(
-        pending_script->GetResource()->Url().GetString(), *document_);
+    EmitWarningForDocWriteScripts(pending_script->Url().GetString(),
+                                  *document_);
     return;
   }
 
@@ -345,13 +348,12 @@
   // ERR_CACHE_MISS but other errors are rare with
   // WebCachePolicy::ReturnCacheDataDontLoad.
 
-  EmitErrorForDocWriteScripts(pending_script->GetResource()->Url().GetString(),
-                              *document_);
+  EmitErrorForDocWriteScripts(pending_script->Url().GetString(), *document_);
   TextPosition starting_position = ParserBlockingScript()->StartingPosition();
   bool is_parser_inserted = script_loader->IsParserInserted();
   // Remove this resource entry from memory cache as the new request
   // should not join onto this existing entry.
-  GetMemoryCache()->Remove(pending_script->GetResource());
+  pending_script->RemoveFromMemoryCache();
   FetchBlockedDocWriteScript(element, is_parser_inserted, starting_position);
 }
 
@@ -363,7 +365,7 @@
   // script execution to signal an abrupt stop (e.g., window.close().)
   //
   // The parser is unprepared to be told, and doesn't need to be.
-  if (IsExecutingScript() && pending_script->GetResource()->WasCanceled()) {
+  if (IsExecutingScript() && pending_script->WasCanceled()) {
     pending_script->Dispose();
 
     if (pending_script == ParserBlockingScript()) {
@@ -505,7 +507,7 @@
   while (!scripts_to_execute_after_parsing_.IsEmpty()) {
     DCHECK(!IsExecutingScript());
     DCHECK(!HasParserBlockingScript());
-    DCHECK(scripts_to_execute_after_parsing_.front()->GetResource());
+    DCHECK(scripts_to_execute_after_parsing_.front()->IsExternal());
 
     // 1. "Spin the event loop until the first script in the list of scripts
     //     that will execute when the document has finished parsing
@@ -551,7 +553,7 @@
   if (!ParserBlockingScript())
     return;
 
-  DCHECK(ParserBlockingScript()->GetResource());
+  DCHECK(ParserBlockingScript()->IsExternal());
 
   // We only care about a load callback if resource is not already in the cache.
   // Callers will attempt to run the m_parserBlockingScript if possible before
@@ -574,7 +576,7 @@
                                              ScriptStreamer::kDeferred);
   }
 
-  DCHECK(pending_script->GetResource());
+  DCHECK(pending_script->IsExternal());
 
   // "Add the element to the end of the list of scripts that will execute
   //  when the document has finished parsing associated with the Document
@@ -644,7 +646,7 @@
         //  (There can only be one such script per Document at a time.)"
         CHECK(!parser_blocking_script_);
         parser_blocking_script_ =
-            PendingScript::Create(element, script_start_position);
+            ClassicPendingScript::Create(element, script_start_position);
       } else {
         // 6th Clause of Step 23.
         // "Immediately execute the script block,
diff --git a/third_party/WebKit/Source/devtools/front_end/resources/AppManifestView.js b/third_party/WebKit/Source/devtools/front_end/resources/AppManifestView.js
index c7ff814..2354b93 100644
--- a/third_party/WebKit/Source/devtools/front_end/resources/AppManifestView.js
+++ b/third_party/WebKit/Source/devtools/front_end/resources/AppManifestView.js
@@ -106,6 +106,9 @@
     if (!data)
       return;
 
+    if (data.charCodeAt(0) === 0xFEFF)
+      data = data.slice(1);  // Trim the BOM as per https://tools.ietf.org/html/rfc7159#section-8.1.
+
     var parsedManifest = JSON.parse(data);
     this._nameField.textContent = stringProperty('name');
     this._shortNameField.textContent = stringProperty('short_name');
diff --git a/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.cpp b/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.cpp
index ec844b02..41846fa1 100644
--- a/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.cpp
+++ b/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.cpp
@@ -427,6 +427,8 @@
   if (isContextLost())
     return;
 
+  DrawingBuffer::ScopedRGBEmulationForBlitFramebuffer emulation(
+      GetDrawingBuffer());
   ContextGL()->BlitFramebufferCHROMIUM(src_x0, src_y0, src_x1, src_y1, dst_x0,
                                        dst_y0, dst_x1, dst_y1, mask, filter);
 }
diff --git a/third_party/WebKit/Source/platform/fonts/Font.cpp b/third_party/WebKit/Source/platform/fonts/Font.cpp
index df1d2049..2241673 100644
--- a/third_party/WebKit/Source/platform/fonts/Font.cpp
+++ b/third_party/WebKit/Source/platform/fonts/Font.cpp
@@ -142,7 +142,10 @@
     return false;
 
   ShapeResultBloberizer bloberizer(*this, device_scale_factor);
-  CachingWordShaper(*this).FillGlyphs(run_info, bloberizer);
+  CachingWordShaper word_shaper(*this);
+  ShapeResultBuffer buffer;
+  word_shaper.FillResultBuffer(run_info, &buffer);
+  bloberizer.FillGlyphs(run_info, buffer);
   DrawBlobs(canvas, flags, bloberizer.Blobs(), point);
   return true;
 }
@@ -178,6 +181,7 @@
 
   FloatPoint curr_point = point;
   BidiCharacterRun* bidi_run = bidi_runs.FirstRun();
+  CachingWordShaper word_shaper(*this);
   while (bidi_run) {
     TextRun subrun =
         run.SubRun(bidi_run->Start(), bidi_run->Stop() - bidi_run->Start());
@@ -189,8 +193,9 @@
     subrun_info.bounds = run_info.bounds;
 
     ShapeResultBloberizer bloberizer(*this, device_scale_factor);
-    float run_width =
-        CachingWordShaper(*this).FillGlyphs(subrun_info, bloberizer);
+    ShapeResultBuffer buffer;
+    word_shaper.FillResultBuffer(subrun_info, &buffer);
+    float run_width = bloberizer.FillGlyphs(subrun_info, buffer);
     DrawBlobs(canvas, flags, bloberizer.Blobs(), curr_point);
 
     bidi_run = bidi_run->Next();
@@ -217,8 +222,10 @@
     return;
 
   ShapeResultBloberizer bloberizer(*this, device_scale_factor);
-  CachingWordShaper(*this).FillTextEmphasisGlyphs(run_info, emphasis_glyph_data,
-                                                  bloberizer);
+  CachingWordShaper word_shaper(*this);
+  ShapeResultBuffer buffer;
+  word_shaper.FillResultBuffer(run_info, &buffer);
+  bloberizer.FillTextEmphasisGlyphs(run_info, emphasis_glyph_data, buffer);
   DrawBlobs(canvas, flags, bloberizer.Blobs(), point);
 }
 
@@ -267,7 +274,12 @@
 
   ShapeResultBloberizer bloberizer(
       *this, device_scale_factor, ShapeResultBloberizer::Type::kTextIntercepts);
-  CachingWordShaper(*this).FillGlyphs(run_info, bloberizer);
+
+  CachingWordShaper word_shaper(*this);
+  ShapeResultBuffer buffer;
+  word_shaper.FillResultBuffer(run_info, &buffer);
+  bloberizer.FillGlyphs(run_info, buffer);
+
   const auto& blobs = bloberizer.Blobs();
 
   // Get the number of intervals, without copying the actual values by
diff --git a/third_party/WebKit/Source/platform/fonts/shaping/CachingWordShaper.cpp b/third_party/WebKit/Source/platform/fonts/shaping/CachingWordShaper.cpp
index bbec6556..47d4c122 100644
--- a/third_party/WebKit/Source/platform/fonts/shaping/CachingWordShaper.cpp
+++ b/third_party/WebKit/Source/platform/fonts/shaping/CachingWordShaper.cpp
@@ -88,22 +88,10 @@
   return buffer.OffsetForPosition(run, target_x, include_partial_glyphs);
 }
 
-float CachingWordShaper::FillGlyphs(const TextRunPaintInfo& run_info,
-                                    ShapeResultBloberizer& bloberizer) {
-  ShapeResultBuffer buffer;
-  ShapeResultsForRun(GetShapeCache(), &font_, run_info.run, &buffer);
-
-  return buffer.FillGlyphs(run_info, bloberizer);
-}
-
-void CachingWordShaper::FillTextEmphasisGlyphs(
-    const TextRunPaintInfo& run_info,
-    const GlyphData& emphasis_data,
-    ShapeResultBloberizer& bloberizer) {
-  ShapeResultBuffer buffer;
-  ShapeResultsForRun(GetShapeCache(), &font_, run_info.run, &buffer);
-
-  buffer.FillTextEmphasisGlyphs(run_info, emphasis_data, bloberizer);
+void CachingWordShaper::FillResultBuffer(const TextRunPaintInfo& run_info,
+                                         ShapeResultBuffer* buffer) {
+  DCHECK(buffer);
+  ShapeResultsForRun(GetShapeCache(), &font_, run_info.run, buffer);
 }
 
 CharacterRange CachingWordShaper::GetCharacterRange(const TextRun& run,
diff --git a/third_party/WebKit/Source/platform/fonts/shaping/CachingWordShaper.h b/third_party/WebKit/Source/platform/fonts/shaping/CachingWordShaper.h
index f89d612..ab31c893 100644
--- a/third_party/WebKit/Source/platform/fonts/shaping/CachingWordShaper.h
+++ b/third_party/WebKit/Source/platform/fonts/shaping/CachingWordShaper.h
@@ -39,7 +39,6 @@
 class Font;
 class ShapeCache;
 class SimpleFontData;
-class ShapeResultBloberizer;
 struct GlyphData;
 
 class PLATFORM_EXPORT CachingWordShaper final {
@@ -57,10 +56,7 @@
                         float target_x,
                         bool include_partial_glyphs);
 
-  float FillGlyphs(const TextRunPaintInfo&, ShapeResultBloberizer&);
-  void FillTextEmphasisGlyphs(const TextRunPaintInfo&,
-                              const GlyphData& emphasis_data,
-                              ShapeResultBloberizer&);
+  void FillResultBuffer(const TextRunPaintInfo&, ShapeResultBuffer*);
   CharacterRange GetCharacterRange(const TextRun&, unsigned from, unsigned to);
   Vector<CharacterRange> IndividualCharacterRanges(const TextRun&);
 
diff --git a/third_party/WebKit/Source/platform/fonts/shaping/CachingWordShaperTest.cpp b/third_party/WebKit/Source/platform/fonts/shaping/CachingWordShaperTest.cpp
index 1de4021..fd2d7d7 100644
--- a/third_party/WebKit/Source/platform/fonts/shaping/CachingWordShaperTest.cpp
+++ b/third_party/WebKit/Source/platform/fonts/shaping/CachingWordShaperTest.cpp
@@ -5,7 +5,6 @@
 #include "platform/fonts/shaping/CachingWordShaper.h"
 
 #include <memory>
-#include "platform/fonts/CharacterRange.h"
 #include "platform/fonts/FontCache.h"
 #include "platform/fonts/shaping/CachingWordShapeIterator.h"
 #include "platform/fonts/shaping/ShapeResultTestInfo.h"
@@ -108,89 +107,6 @@
   ASSERT_FALSE(iterator.Next(&result));
 }
 
-// Tests that filling a glyph buffer for a specific range returns the same
-// results when shaping word by word as when shaping the full run in one go.
-TEST_F(CachingWordShaperTest, CommonAccentLeftToRightFillGlyphBuffer) {
-  // "/. ." with an accent mark over the first dot.
-  const UChar kStr[] = {0x2F, 0x301, 0x2E, 0x20, 0x2E, 0x0};
-  TextRun text_run(kStr, 5);
-  TextRunPaintInfo run_info(text_run);
-  run_info.to = 3;
-
-  ShapeResultBloberizer bloberizer(font, 1);
-  CachingWordShaper(font).FillGlyphs(run_info, bloberizer);
-
-  Font reference_font(font_description);
-  reference_font.Update(nullptr);
-  reference_font.SetCanShapeWordByWordForTesting(false);
-  ShapeResultBloberizer reference_bloberizer(reference_font, 1);
-  CachingWordShaper(reference_font).FillGlyphs(run_info, reference_bloberizer);
-
-  const auto& glyphs =
-      ShapeResultBloberizerTestInfo::PendingRunGlyphs(bloberizer);
-  ASSERT_EQ(glyphs.size(), 3ul);
-  const auto reference_glyphs =
-      ShapeResultBloberizerTestInfo::PendingRunGlyphs(reference_bloberizer);
-  ASSERT_EQ(reference_glyphs.size(), 3ul);
-
-  EXPECT_EQ(reference_glyphs[0], glyphs[0]);
-  EXPECT_EQ(reference_glyphs[1], glyphs[1]);
-  EXPECT_EQ(reference_glyphs[2], glyphs[2]);
-}
-
-// Tests that filling a glyph buffer for a specific range returns the same
-// results when shaping word by word as when shaping the full run in one go.
-TEST_F(CachingWordShaperTest, CommonAccentRightToLeftFillGlyphBuffer) {
-  // "[] []" with an accent mark over the last square bracket.
-  const UChar kStr[] = {0x5B, 0x5D, 0x20, 0x5B, 0x301, 0x5D, 0x0};
-  TextRun text_run(kStr, 6);
-  text_run.SetDirection(TextDirection::kRtl);
-  TextRunPaintInfo run_info(text_run);
-  run_info.from = 1;
-
-  ShapeResultBloberizer bloberizer(font, 1);
-  CachingWordShaper(font).FillGlyphs(run_info, bloberizer);
-
-  Font reference_font(font_description);
-  reference_font.Update(nullptr);
-  reference_font.SetCanShapeWordByWordForTesting(false);
-  ShapeResultBloberizer reference_bloberizer(reference_font, 1);
-  CachingWordShaper(reference_font).FillGlyphs(run_info, reference_bloberizer);
-
-  const auto& glyphs =
-      ShapeResultBloberizerTestInfo::PendingRunGlyphs(bloberizer);
-  ASSERT_EQ(5u, glyphs.size());
-  const auto reference_glyphs =
-      ShapeResultBloberizerTestInfo::PendingRunGlyphs(reference_bloberizer);
-  ASSERT_EQ(5u, reference_glyphs.size());
-
-  EXPECT_EQ(reference_glyphs[0], glyphs[0]);
-  EXPECT_EQ(reference_glyphs[1], glyphs[1]);
-  EXPECT_EQ(reference_glyphs[2], glyphs[2]);
-  EXPECT_EQ(reference_glyphs[3], glyphs[3]);
-  EXPECT_EQ(reference_glyphs[4], glyphs[4]);
-}
-
-// Tests that runs with zero glyphs (the ZWJ non-printable character in this
-// case) are handled correctly. This test passes if it does not cause a crash.
-TEST_F(CachingWordShaperTest, SubRunWithZeroGlyphs) {
-  // "Foo &zwnj; bar"
-  const UChar kStr[] = {0x46, 0x6F, 0x6F, 0x20, 0x200C,
-                        0x20, 0x62, 0x61, 0x71, 0x0};
-  TextRun text_run(kStr, 9);
-
-  CachingWordShaper shaper(font);
-  FloatRect glyph_bounds;
-  ASSERT_GT(shaper.Width(text_run, nullptr, &glyph_bounds), 0);
-
-  ShapeResultBloberizer bloberizer(font, 1);
-  TextRunPaintInfo run_info(text_run);
-  run_info.to = 8;
-  shaper.FillGlyphs(run_info, bloberizer);
-
-  shaper.GetCharacterRange(text_run, 0, 8);
-}
-
 TEST_F(CachingWordShaperTest, SegmentCJKByCharacter) {
   const UChar kStr[] = {0x56FD, 0x56FD,  // CJK Unified Ideograph
                         'a',    'b',
diff --git a/third_party/WebKit/Source/platform/fonts/shaping/ShapeResult.h b/third_party/WebKit/Source/platform/fonts/shaping/ShapeResult.h
index 4a397df0..b6923ef 100644
--- a/third_party/WebKit/Source/platform/fonts/shaping/ShapeResult.h
+++ b/third_party/WebKit/Source/platform/fonts/shaping/ShapeResult.h
@@ -126,6 +126,7 @@
 
   friend class HarfBuzzShaper;
   friend class ShapeResultBuffer;
+  friend class ShapeResultBloberizer;
 };
 
 }  // namespace blink
diff --git a/third_party/WebKit/Source/platform/fonts/shaping/ShapeResultBloberizer.cpp b/third_party/WebKit/Source/platform/fonts/shaping/ShapeResultBloberizer.cpp
index f04be8e..ad1a6b7e 100644
--- a/third_party/WebKit/Source/platform/fonts/shaping/ShapeResultBloberizer.cpp
+++ b/third_party/WebKit/Source/platform/fonts/shaping/ShapeResultBloberizer.cpp
@@ -4,8 +4,12 @@
 
 #include "platform/fonts/shaping/ShapeResultBloberizer.h"
 
+#include <hb.h>
 #include "platform/fonts/Font.h"
 #include "platform/fonts/shaping/CachingWordShaper.h"
+#include "platform/fonts/shaping/ShapeResult.h"
+#include "platform/fonts/shaping/ShapeResultInlineHeaders.h"
+#include "platform/text/TextBreakIterator.h"
 #include "platform/text/TextRun.h"
 
 namespace blink {
@@ -81,4 +85,285 @@
              : BlobRotation::kNoRotation;
 }
 
+float ShapeResultBloberizer::FillGlyphs(
+    const TextRunPaintInfo& run_info,
+    const ShapeResultBuffer& result_buffer) {
+  // Fast path: full run with no vertical offsets, no text intercepts.
+  if (!run_info.from && run_info.to == run_info.run.length() &&
+      !result_buffer.HasVerticalOffsets() &&
+      GetType() != ShapeResultBloberizer::Type::kTextIntercepts) {
+    return FillFastHorizontalGlyphs(result_buffer, run_info.run);
+  }
+
+  float advance = 0;
+  auto results = result_buffer.results_;
+
+  if (run_info.run.Rtl()) {
+    unsigned word_offset = run_info.run.length();
+    for (unsigned j = 0; j < results.size(); j++) {
+      unsigned resolved_index = results.size() - 1 - j;
+      const RefPtr<const ShapeResult>& word_result = results[resolved_index];
+      word_offset -= word_result->NumCharacters();
+      advance =
+          FillGlyphsForResult(*word_result, run_info, advance, word_offset);
+    }
+  } else {
+    unsigned word_offset = 0;
+    for (const auto& word_result : results) {
+      advance =
+          FillGlyphsForResult(*word_result, run_info, advance, word_offset);
+      word_offset += word_result->NumCharacters();
+    }
+  }
+
+  return advance;
+}
+
+void ShapeResultBloberizer::FillTextEmphasisGlyphs(
+    const TextRunPaintInfo& run_info,
+    const GlyphData& emphasis_data,
+    const ShapeResultBuffer& result_buffer) {
+  float advance = 0;
+  unsigned word_offset = run_info.run.Rtl() ? run_info.run.length() : 0;
+  auto results = result_buffer.results_;
+
+  for (unsigned j = 0; j < results.size(); j++) {
+    unsigned resolved_index = run_info.run.Rtl() ? results.size() - 1 - j : j;
+    const RefPtr<const ShapeResult>& word_result = results[resolved_index];
+    for (unsigned i = 0; i < word_result->runs_.size(); i++) {
+      unsigned resolved_offset =
+          word_offset - (run_info.run.Rtl() ? word_result->NumCharacters() : 0);
+      advance +=
+          FillTextEmphasisGlyphsForRun(word_result->runs_[i].get(), run_info,
+                                       emphasis_data, advance, resolved_offset);
+    }
+    word_offset += word_result->NumCharacters() * (run_info.run.Rtl() ? -1 : 1);
+  }
+}
+
+namespace {
+
+inline bool IsSkipInkException(const ShapeResultBloberizer& bloberizer,
+                               const TextRun& run,
+                               unsigned character_index) {
+  // We want to skip descenders in general, but it is undesirable renderings for
+  // CJK characters.
+  return bloberizer.GetType() == ShapeResultBloberizer::Type::kTextIntercepts &&
+         !run.Is8Bit() &&
+         Character::IsCJKIdeographOrSymbol(run.CodepointAt(character_index));
+}
+
+inline void AddGlyphToBloberizer(ShapeResultBloberizer& bloberizer,
+                                 float advance,
+                                 hb_direction_t direction,
+                                 const SimpleFontData* font_data,
+                                 const HarfBuzzRunGlyphData& glyph_data,
+                                 const TextRun& run,
+                                 unsigned character_index) {
+  FloatPoint start_offset = HB_DIRECTION_IS_HORIZONTAL(direction)
+                                ? FloatPoint(advance, 0)
+                                : FloatPoint(0, advance);
+  if (!IsSkipInkException(bloberizer, run, character_index)) {
+    bloberizer.Add(glyph_data.glyph, font_data,
+                   start_offset + glyph_data.offset);
+  }
+}
+
+inline void AddEmphasisMark(ShapeResultBloberizer& bloberizer,
+                            const GlyphData& emphasis_data,
+                            FloatPoint glyph_center,
+                            float mid_glyph_offset) {
+  const SimpleFontData* emphasis_font_data = emphasis_data.font_data;
+  DCHECK(emphasis_font_data);
+
+  bool is_vertical =
+      emphasis_font_data->PlatformData().IsVerticalAnyUpright() &&
+      emphasis_font_data->VerticalData();
+
+  if (!is_vertical) {
+    bloberizer.Add(emphasis_data.glyph, emphasis_font_data,
+                   mid_glyph_offset - glyph_center.X());
+  } else {
+    bloberizer.Add(
+        emphasis_data.glyph, emphasis_font_data,
+        FloatPoint(-glyph_center.X(), mid_glyph_offset - glyph_center.Y()));
+  }
+}
+
+inline unsigned CountGraphemesInCluster(const UChar* str,
+                                        unsigned str_length,
+                                        uint16_t start_index,
+                                        uint16_t end_index) {
+  if (start_index > end_index) {
+    uint16_t temp_index = start_index;
+    start_index = end_index;
+    end_index = temp_index;
+  }
+  uint16_t length = end_index - start_index;
+  DCHECK_LE(static_cast<unsigned>(start_index + length), str_length);
+  TextBreakIterator* cursor_pos_iterator =
+      CursorMovementIterator(&str[start_index], length);
+
+  int cursor_pos = cursor_pos_iterator->current();
+  int num_graphemes = -1;
+  while (0 <= cursor_pos) {
+    cursor_pos = cursor_pos_iterator->next();
+    num_graphemes++;
+  }
+  return std::max(0, num_graphemes);
+}
+
+}  // namespace
+
+float ShapeResultBloberizer::FillGlyphsForResult(
+    const ShapeResult& result,
+    const TextRunPaintInfo& run_info,
+    float initial_advance,
+    unsigned run_offset) {
+  auto total_advance = initial_advance;
+
+  for (const auto& run : result.runs_) {
+    total_advance = run->ForEachGlyphInRange(
+        total_advance, run_info.from, run_info.to, run_offset,
+        [&](const HarfBuzzRunGlyphData& glyph_data, float total_advance,
+            uint16_t character_index) -> bool {
+
+          AddGlyphToBloberizer(*this, total_advance, run->direction_,
+                               run->font_data_.Get(), glyph_data, run_info.run,
+                               character_index);
+          return true;
+        });
+  }
+
+  return total_advance;
+}
+
+float ShapeResultBloberizer::FillFastHorizontalGlyphs(
+    const ShapeResultBuffer& result_buffer,
+    const TextRun& text_run) {
+  DCHECK(!result_buffer.HasVerticalOffsets());
+  DCHECK_NE(GetType(), ShapeResultBloberizer::Type::kTextIntercepts);
+
+  float advance = 0;
+  auto results = result_buffer.results_;
+
+  for (unsigned i = 0; i < results.size(); ++i) {
+    const auto& word_result = IsLeftToRightDirection(text_run.Direction())
+                                  ? results[i]
+                                  : results[results.size() - 1 - i];
+    DCHECK(!word_result->HasVerticalOffsets());
+
+    for (const auto& run : word_result->runs_) {
+      DCHECK(run);
+      DCHECK(HB_DIRECTION_IS_HORIZONTAL(run->direction_));
+
+      advance =
+          run->ForEachGlyph(advance,
+                            [&](const HarfBuzzRunGlyphData& glyph_data,
+                                float total_advance) -> bool {
+                              DCHECK(!glyph_data.offset.Height());
+                              Add(glyph_data.glyph, run->font_data_.Get(),
+                                  total_advance + glyph_data.offset.Width());
+                              return true;
+                            });
+    }
+  }
+
+  return advance;
+}
+
+float ShapeResultBloberizer::FillTextEmphasisGlyphsForRun(
+    const ShapeResult::RunInfo* run,
+    const TextRunPaintInfo& run_info,
+    const GlyphData& emphasis_data,
+    float initial_advance,
+    unsigned run_offset) {
+  if (!run)
+    return 0;
+
+  unsigned graphemes_in_cluster = 1;
+  float cluster_advance = 0;
+
+  FloatPoint glyph_center =
+      emphasis_data.font_data->BoundsForGlyph(emphasis_data.glyph).Center();
+
+  const auto& text_run = run_info.run;
+  const auto from = run_info.from;
+  const auto to = run_info.to;
+
+  TextDirection direction = text_run.Direction();
+
+  // A "cluster" in this context means a cluster as it is used by HarfBuzz:
+  // The minimal group of characters and corresponding glyphs, that cannot be
+  // broken down further from a text shaping point of view.  A cluster can
+  // contain multiple glyphs and grapheme clusters, with mutually overlapping
+  // boundaries. Below we count grapheme clusters per HarfBuzz clusters, then
+  // linearly split the sum of corresponding glyph advances by the number of
+  // grapheme clusters in order to find positions for emphasis mark drawing.
+  uint16_t cluster_start = static_cast<uint16_t>(
+      direction == TextDirection::kRtl
+          ? run->start_index_ + run->num_characters_ + run_offset
+          : run->GlyphToCharacterIndex(0) + run_offset);
+
+  float advance_so_far = initial_advance;
+  const unsigned num_glyphs = run->glyph_data_.size();
+  for (unsigned i = 0; i < num_glyphs; ++i) {
+    const HarfBuzzRunGlyphData& glyph_data = run->glyph_data_[i];
+    uint16_t current_character_index =
+        run->start_index_ + glyph_data.character_index + run_offset;
+    bool is_run_end = (i + 1 == num_glyphs);
+    bool is_cluster_end =
+        is_run_end || (run->GlyphToCharacterIndex(i + 1) + run_offset !=
+                       current_character_index);
+
+    if ((direction == TextDirection::kRtl && current_character_index >= to) ||
+        (direction != TextDirection::kRtl && current_character_index < from)) {
+      advance_so_far += glyph_data.advance;
+      direction == TextDirection::kRtl ? --cluster_start : ++cluster_start;
+      continue;
+    }
+
+    cluster_advance += glyph_data.advance;
+
+    if (text_run.Is8Bit()) {
+      float glyph_advance_x = glyph_data.advance;
+      if (Character::CanReceiveTextEmphasis(
+              text_run[current_character_index])) {
+        AddEmphasisMark(*this, emphasis_data, glyph_center,
+                        advance_so_far + glyph_advance_x / 2);
+      }
+      advance_so_far += glyph_advance_x;
+    } else if (is_cluster_end) {
+      uint16_t cluster_end;
+      if (direction == TextDirection::kRtl) {
+        cluster_end = current_character_index;
+      } else {
+        cluster_end = static_cast<uint16_t>(
+            is_run_end ? run->start_index_ + run->num_characters_ + run_offset
+                       : run->GlyphToCharacterIndex(i + 1) + run_offset);
+      }
+      graphemes_in_cluster = CountGraphemesInCluster(
+          text_run.Characters16(), text_run.CharactersLength(), cluster_start,
+          cluster_end);
+      if (!graphemes_in_cluster || !cluster_advance)
+        continue;
+
+      float glyph_advance_x = cluster_advance / graphemes_in_cluster;
+      for (unsigned j = 0; j < graphemes_in_cluster; ++j) {
+        // Do not put emphasis marks on space, separator, and control
+        // characters.
+        if (Character::CanReceiveTextEmphasis(
+                text_run[current_character_index])) {
+          AddEmphasisMark(*this, emphasis_data, glyph_center,
+                          advance_so_far + glyph_advance_x / 2);
+        }
+        advance_so_far += glyph_advance_x;
+      }
+      cluster_start = cluster_end;
+      cluster_advance = 0;
+    }
+  }
+  return advance_so_far - initial_advance;
+}
+
 }  // namespace blink
diff --git a/third_party/WebKit/Source/platform/fonts/shaping/ShapeResultBloberizer.h b/third_party/WebKit/Source/platform/fonts/shaping/ShapeResultBloberizer.h
index a66ade92bf..4302fa5 100644
--- a/third_party/WebKit/Source/platform/fonts/shaping/ShapeResultBloberizer.h
+++ b/third_party/WebKit/Source/platform/fonts/shaping/ShapeResultBloberizer.h
@@ -8,6 +8,7 @@
 #include "platform/PlatformExport.h"
 #include "platform/fonts/Glyph.h"
 #include "platform/fonts/SimpleFontData.h"
+#include "platform/fonts/shaping/ShapeResultBuffer.h"
 #include "platform/geometry/FloatPoint.h"
 #include "platform/wtf/Allocator.h"
 #include "platform/wtf/Vector.h"
@@ -30,6 +31,11 @@
 
   Type GetType() const { return type_; }
 
+  float FillGlyphs(const TextRunPaintInfo&, const ShapeResultBuffer&);
+  void FillTextEmphasisGlyphs(const TextRunPaintInfo&,
+                              const GlyphData& emphasis_data,
+                              const ShapeResultBuffer&);
+
   void Add(Glyph glyph, const SimpleFontData* font_data, float h_offset) {
     // cannot mix x-only/xy offsets
     DCHECK(!HasPendingVerticalOffsets());
@@ -81,6 +87,17 @@
  private:
   friend class ShapeResultBloberizerTestInfo;
 
+  float FillGlyphsForResult(const ShapeResult&,
+                            const TextRunPaintInfo&,
+                            float initial_advance,
+                            unsigned run_offset);
+  float FillFastHorizontalGlyphs(const ShapeResultBuffer&, const TextRun&);
+  float FillTextEmphasisGlyphsForRun(const ShapeResult::RunInfo*,
+                                     const TextRunPaintInfo&,
+                                     const GlyphData& emphasis_data,
+                                     float initial_advance,
+                                     unsigned run_offset);
+
   void CommitPendingRun();
   void CommitPendingBlob();
 
diff --git a/third_party/WebKit/Source/platform/fonts/shaping/ShapeResultBloberizerTest.cpp b/third_party/WebKit/Source/platform/fonts/shaping/ShapeResultBloberizerTest.cpp
index 929f6494..f508617 100644
--- a/third_party/WebKit/Source/platform/fonts/shaping/ShapeResultBloberizerTest.cpp
+++ b/third_party/WebKit/Source/platform/fonts/shaping/ShapeResultBloberizerTest.cpp
@@ -4,9 +4,11 @@
 
 #include "platform/fonts/shaping/ShapeResultBloberizer.h"
 
+#include "platform/fonts/CharacterRange.h"
 #include "platform/fonts/Font.h"
 #include "platform/fonts/SimpleFontData.h"
 #include "platform/fonts/opentype/OpenTypeVerticalData.h"
+#include "platform/fonts/shaping/CachingWordShaper.h"
 #include "platform/fonts/shaping/ShapeResultTestInfo.h"
 #include "platform/wtf/Optional.h"
 #include "testing/gtest/include/gtest/gtest.h"
@@ -36,9 +38,34 @@
       : SimpleFontData(platform_data, std::move(vertical_data)) {}
 };
 
+class ShapeResultBloberizerTest : public ::testing::Test {
+ protected:
+  void SetUp() override {
+    font_description.SetComputedSize(12.0);
+    font_description.SetLocale(LayoutLocale::Get("en"));
+    ASSERT_EQ(USCRIPT_LATIN, font_description.GetScript());
+    font_description.SetGenericFamily(FontDescription::kStandardFamily);
+
+    font = Font(font_description);
+    font.Update(nullptr);
+    ASSERT_TRUE(font.CanShapeWordByWord());
+    fallback_fonts = nullptr;
+    cache = WTF::MakeUnique<ShapeCache>();
+  }
+
+  FontCachePurgePreventer font_cache_purge_preventer;
+  FontDescription font_description;
+  Font font;
+  std::unique_ptr<ShapeCache> cache;
+  HashSet<const SimpleFontData*>* fallback_fonts;
+  unsigned start_index = 0;
+  unsigned num_glyphs = 0;
+  hb_script_t script = HB_SCRIPT_INVALID;
+};
+
 }  // anonymous namespace
 
-TEST(ShapeResultBloberizerTest, StartsEmpty) {
+TEST_F(ShapeResultBloberizerTest, StartsEmpty) {
   Font font;
   ShapeResultBloberizer bloberizer(font, 1);
 
@@ -57,7 +84,7 @@
   EXPECT_TRUE(bloberizer.Blobs().IsEmpty());
 }
 
-TEST(ShapeResultBloberizerTest, StoresGlyphsOffsets) {
+TEST_F(ShapeResultBloberizerTest, StoresGlyphsOffsets) {
   Font font;
   ShapeResultBloberizer bloberizer(font, 1);
 
@@ -117,7 +144,7 @@
   EXPECT_EQ(bloberizer.Blobs().size(), 1ul);
 }
 
-TEST(ShapeResultBloberizerTest, StoresGlyphsVerticalOffsets) {
+TEST_F(ShapeResultBloberizerTest, StoresGlyphsVerticalOffsets) {
   Font font;
   ShapeResultBloberizer bloberizer(font, 1);
 
@@ -180,7 +207,7 @@
   EXPECT_EQ(bloberizer.Blobs().size(), 1ul);
 }
 
-TEST(ShapeResultBloberizerTest, MixedBlobRotation) {
+TEST_F(ShapeResultBloberizerTest, MixedBlobRotation) {
   Font font;
   ShapeResultBloberizer bloberizer(font, 1);
 
@@ -235,4 +262,105 @@
   EXPECT_EQ(4u, bloberizer.Blobs().size());
 }
 
+// Tests that filling a glyph buffer for a specific range returns the same
+// results when shaping word by word as when shaping the full run in one go.
+TEST_F(ShapeResultBloberizerTest, CommonAccentLeftToRightFillGlyphBuffer) {
+  // "/. ." with an accent mark over the first dot.
+  const UChar kStr[] = {0x2F, 0x301, 0x2E, 0x20, 0x2E, 0x0};
+  TextRun text_run(kStr, 5);
+  TextRunPaintInfo run_info(text_run);
+  run_info.to = 3;
+
+  ShapeResultBloberizer bloberizer(font, 1);
+  CachingWordShaper word_shaper(font);
+  ShapeResultBuffer buffer;
+  word_shaper.FillResultBuffer(run_info, &buffer);
+  bloberizer.FillGlyphs(run_info, buffer);
+
+  Font reference_font(font_description);
+  reference_font.Update(nullptr);
+  reference_font.SetCanShapeWordByWordForTesting(false);
+
+  ShapeResultBloberizer reference_bloberizer(reference_font, 1);
+  CachingWordShaper reference_word_shaper(font);
+  ShapeResultBuffer reference_buffer;
+  reference_word_shaper.FillResultBuffer(run_info, &reference_buffer);
+  reference_bloberizer.FillGlyphs(run_info, reference_buffer);
+
+  const auto& glyphs =
+      ShapeResultBloberizerTestInfo::PendingRunGlyphs(bloberizer);
+  ASSERT_EQ(glyphs.size(), 3ul);
+  const auto reference_glyphs =
+      ShapeResultBloberizerTestInfo::PendingRunGlyphs(reference_bloberizer);
+  ASSERT_EQ(reference_glyphs.size(), 3ul);
+
+  EXPECT_EQ(reference_glyphs[0], glyphs[0]);
+  EXPECT_EQ(reference_glyphs[1], glyphs[1]);
+  EXPECT_EQ(reference_glyphs[2], glyphs[2]);
+}
+
+// Tests that filling a glyph buffer for a specific range returns the same
+// results when shaping word by word as when shaping the full run in one go.
+TEST_F(ShapeResultBloberizerTest, CommonAccentRightToLeftFillGlyphBuffer) {
+  // "[] []" with an accent mark over the last square bracket.
+  const UChar kStr[] = {0x5B, 0x5D, 0x20, 0x5B, 0x301, 0x5D, 0x0};
+  TextRun text_run(kStr, 6);
+  text_run.SetDirection(TextDirection::kRtl);
+  TextRunPaintInfo run_info(text_run);
+  run_info.from = 1;
+
+  ShapeResultBloberizer bloberizer(font, 1);
+  CachingWordShaper word_shaper(font);
+  ShapeResultBuffer buffer;
+  word_shaper.FillResultBuffer(run_info, &buffer);
+  bloberizer.FillGlyphs(run_info, buffer);
+
+  Font reference_font(font_description);
+  reference_font.Update(nullptr);
+  reference_font.SetCanShapeWordByWordForTesting(false);
+
+  ShapeResultBloberizer reference_bloberizer(reference_font, 1);
+  CachingWordShaper reference_word_shaper(font);
+  ShapeResultBuffer reference_buffer;
+  reference_word_shaper.FillResultBuffer(run_info, &reference_buffer);
+  reference_bloberizer.FillGlyphs(run_info, reference_buffer);
+
+  const auto& glyphs =
+      ShapeResultBloberizerTestInfo::PendingRunGlyphs(bloberizer);
+  ASSERT_EQ(5u, glyphs.size());
+  const auto reference_glyphs =
+      ShapeResultBloberizerTestInfo::PendingRunGlyphs(reference_bloberizer);
+  ASSERT_EQ(5u, reference_glyphs.size());
+
+  EXPECT_EQ(reference_glyphs[0], glyphs[0]);
+  EXPECT_EQ(reference_glyphs[1], glyphs[1]);
+  EXPECT_EQ(reference_glyphs[2], glyphs[2]);
+  EXPECT_EQ(reference_glyphs[3], glyphs[3]);
+  EXPECT_EQ(reference_glyphs[4], glyphs[4]);
+}
+
+// Tests that runs with zero glyphs (the ZWJ non-printable character in this
+// case) are handled correctly. This test passes if it does not cause a crash.
+TEST_F(ShapeResultBloberizerTest, SubRunWithZeroGlyphs) {
+  // "Foo &zwnj; bar"
+  const UChar kStr[] = {0x46, 0x6F, 0x6F, 0x20, 0x200C,
+                        0x20, 0x62, 0x61, 0x71, 0x0};
+  TextRun text_run(kStr, 9);
+
+  CachingWordShaper shaper(font);
+  FloatRect glyph_bounds;
+  ASSERT_GT(shaper.Width(text_run, nullptr, &glyph_bounds), 0);
+
+  ShapeResultBloberizer bloberizer(font, 1);
+  TextRunPaintInfo run_info(text_run);
+  run_info.to = 8;
+
+  CachingWordShaper word_shaper(font);
+  ShapeResultBuffer buffer;
+  word_shaper.FillResultBuffer(run_info, &buffer);
+  bloberizer.FillGlyphs(run_info, buffer);
+
+  shaper.GetCharacterRange(text_run, 0, 8);
+}
+
 }  // namespace blink
diff --git a/third_party/WebKit/Source/platform/fonts/shaping/ShapeResultBuffer.cpp b/third_party/WebKit/Source/platform/fonts/shaping/ShapeResultBuffer.cpp
index dd2f90e7..046c47c 100644
--- a/third_party/WebKit/Source/platform/fonts/shaping/ShapeResultBuffer.cpp
+++ b/third_party/WebKit/Source/platform/fonts/shaping/ShapeResultBuffer.cpp
@@ -6,291 +6,12 @@
 
 #include "platform/fonts/CharacterRange.h"
 #include "platform/fonts/SimpleFontData.h"
-#include "platform/fonts/shaping/ShapeResultBloberizer.h"
 #include "platform/fonts/shaping/ShapeResultInlineHeaders.h"
 #include "platform/geometry/FloatPoint.h"
-#include "platform/text/Character.h"
-#include "platform/text/TextBreakIterator.h"
 #include "platform/text/TextDirection.h"
 
 namespace blink {
 
-namespace {
-
-inline bool IsSkipInkException(const ShapeResultBloberizer& bloberizer,
-                               const TextRun& run,
-                               unsigned character_index) {
-  // We want to skip descenders in general, but it is undesirable renderings for
-  // CJK characters.
-  return bloberizer.GetType() == ShapeResultBloberizer::Type::kTextIntercepts &&
-         !run.Is8Bit() &&
-         Character::IsCJKIdeographOrSymbol(run.CodepointAt(character_index));
-}
-
-inline void AddGlyphToBloberizer(ShapeResultBloberizer& bloberizer,
-                                 float advance,
-                                 hb_direction_t direction,
-                                 const SimpleFontData* font_data,
-                                 const HarfBuzzRunGlyphData& glyph_data,
-                                 const TextRun& run,
-                                 unsigned character_index) {
-  FloatPoint start_offset = HB_DIRECTION_IS_HORIZONTAL(direction)
-                                ? FloatPoint(advance, 0)
-                                : FloatPoint(0, advance);
-  if (!IsSkipInkException(bloberizer, run, character_index))
-    bloberizer.Add(glyph_data.glyph, font_data,
-                   start_offset + glyph_data.offset);
-}
-
-inline void AddEmphasisMark(ShapeResultBloberizer& bloberizer,
-                            const GlyphData& emphasis_data,
-                            FloatPoint glyph_center,
-                            float mid_glyph_offset) {
-  const SimpleFontData* emphasis_font_data = emphasis_data.font_data;
-  DCHECK(emphasis_font_data);
-
-  bool is_vertical =
-      emphasis_font_data->PlatformData().IsVerticalAnyUpright() &&
-      emphasis_font_data->VerticalData();
-
-  if (!is_vertical) {
-    bloberizer.Add(emphasis_data.glyph, emphasis_font_data,
-                   mid_glyph_offset - glyph_center.X());
-  } else {
-    bloberizer.Add(
-        emphasis_data.glyph, emphasis_font_data,
-        FloatPoint(-glyph_center.X(), mid_glyph_offset - glyph_center.Y()));
-  }
-}
-
-inline unsigned CountGraphemesInCluster(const UChar* str,
-                                        unsigned str_length,
-                                        uint16_t start_index,
-                                        uint16_t end_index) {
-  if (start_index > end_index) {
-    uint16_t temp_index = start_index;
-    start_index = end_index;
-    end_index = temp_index;
-  }
-  uint16_t length = end_index - start_index;
-  DCHECK_LE(static_cast<unsigned>(start_index + length), str_length);
-  TextBreakIterator* cursor_pos_iterator =
-      CursorMovementIterator(&str[start_index], length);
-
-  int cursor_pos = cursor_pos_iterator->current();
-  int num_graphemes = -1;
-  while (0 <= cursor_pos) {
-    cursor_pos = cursor_pos_iterator->next();
-    num_graphemes++;
-  }
-  return std::max(0, num_graphemes);
-}
-
-}  // anonymous namespace
-
-float ShapeResultBuffer::FillGlyphsForResult(ShapeResultBloberizer& bloberizer,
-                                             const ShapeResult& result,
-                                             const TextRunPaintInfo& run_info,
-                                             float initial_advance,
-                                             unsigned run_offset) {
-  auto total_advance = initial_advance;
-
-  for (const auto& run : result.runs_) {
-    total_advance = run->ForEachGlyphInRange(
-        total_advance, run_info.from, run_info.to, run_offset,
-        [&](const HarfBuzzRunGlyphData& glyph_data, float total_advance,
-            uint16_t character_index) -> bool {
-
-          AddGlyphToBloberizer(bloberizer, total_advance, run->direction_,
-                               run->font_data_.Get(), glyph_data, run_info.run,
-                               character_index);
-          return true;
-        });
-  }
-
-  return total_advance;
-}
-
-float ShapeResultBuffer::FillTextEmphasisGlyphsForRun(
-    ShapeResultBloberizer& bloberizer,
-    const ShapeResult::RunInfo* run,
-    const TextRunPaintInfo& run_info,
-    const GlyphData& emphasis_data,
-    float initial_advance,
-    unsigned run_offset) {
-  if (!run)
-    return 0;
-
-  unsigned graphemes_in_cluster = 1;
-  float cluster_advance = 0;
-
-  FloatPoint glyph_center =
-      emphasis_data.font_data->BoundsForGlyph(emphasis_data.glyph).Center();
-
-  const auto& text_run = run_info.run;
-  const auto from = run_info.from;
-  const auto to = run_info.to;
-
-  TextDirection direction = text_run.Direction();
-
-  // A "cluster" in this context means a cluster as it is used by HarfBuzz:
-  // The minimal group of characters and corresponding glyphs, that cannot be
-  // broken down further from a text shaping point of view.  A cluster can
-  // contain multiple glyphs and grapheme clusters, with mutually overlapping
-  // boundaries. Below we count grapheme clusters per HarfBuzz clusters, then
-  // linearly split the sum of corresponding glyph advances by the number of
-  // grapheme clusters in order to find positions for emphasis mark drawing.
-  uint16_t cluster_start = static_cast<uint16_t>(
-      direction == TextDirection::kRtl
-          ? run->start_index_ + run->num_characters_ + run_offset
-          : run->GlyphToCharacterIndex(0) + run_offset);
-
-  float advance_so_far = initial_advance;
-  const unsigned num_glyphs = run->glyph_data_.size();
-  for (unsigned i = 0; i < num_glyphs; ++i) {
-    const HarfBuzzRunGlyphData& glyph_data = run->glyph_data_[i];
-    uint16_t current_character_index =
-        run->start_index_ + glyph_data.character_index + run_offset;
-    bool is_run_end = (i + 1 == num_glyphs);
-    bool is_cluster_end =
-        is_run_end || (run->GlyphToCharacterIndex(i + 1) + run_offset !=
-                       current_character_index);
-
-    if ((direction == TextDirection::kRtl && current_character_index >= to) ||
-        (direction != TextDirection::kRtl && current_character_index < from)) {
-      advance_so_far += glyph_data.advance;
-      direction == TextDirection::kRtl ? --cluster_start : ++cluster_start;
-      continue;
-    }
-
-    cluster_advance += glyph_data.advance;
-
-    if (text_run.Is8Bit()) {
-      float glyph_advance_x = glyph_data.advance;
-      if (Character::CanReceiveTextEmphasis(
-              text_run[current_character_index])) {
-        AddEmphasisMark(bloberizer, emphasis_data, glyph_center,
-                        advance_so_far + glyph_advance_x / 2);
-      }
-      advance_so_far += glyph_advance_x;
-    } else if (is_cluster_end) {
-      uint16_t cluster_end;
-      if (direction == TextDirection::kRtl)
-        cluster_end = current_character_index;
-      else
-        cluster_end = static_cast<uint16_t>(
-            is_run_end ? run->start_index_ + run->num_characters_ + run_offset
-                       : run->GlyphToCharacterIndex(i + 1) + run_offset);
-
-      graphemes_in_cluster = CountGraphemesInCluster(
-          text_run.Characters16(), text_run.CharactersLength(), cluster_start,
-          cluster_end);
-      if (!graphemes_in_cluster || !cluster_advance)
-        continue;
-
-      float glyph_advance_x = cluster_advance / graphemes_in_cluster;
-      for (unsigned j = 0; j < graphemes_in_cluster; ++j) {
-        // Do not put emphasis marks on space, separator, and control
-        // characters.
-        if (Character::CanReceiveTextEmphasis(
-                text_run[current_character_index]))
-          AddEmphasisMark(bloberizer, emphasis_data, glyph_center,
-                          advance_so_far + glyph_advance_x / 2);
-        advance_so_far += glyph_advance_x;
-      }
-      cluster_start = cluster_end;
-      cluster_advance = 0;
-    }
-  }
-  return advance_so_far - initial_advance;
-}
-
-float ShapeResultBuffer::FillFastHorizontalGlyphs(
-    const TextRun& text_run,
-    ShapeResultBloberizer& bloberizer) const {
-  DCHECK(!HasVerticalOffsets());
-  DCHECK_NE(bloberizer.GetType(), ShapeResultBloberizer::Type::kTextIntercepts);
-
-  float advance = 0;
-
-  for (unsigned i = 0; i < results_.size(); ++i) {
-    const auto& word_result = IsLeftToRightDirection(text_run.Direction())
-                                  ? results_[i]
-                                  : results_[results_.size() - 1 - i];
-    DCHECK(!word_result->HasVerticalOffsets());
-
-    for (const auto& run : word_result->runs_) {
-      DCHECK(run);
-      DCHECK(HB_DIRECTION_IS_HORIZONTAL(run->direction_));
-
-      advance = run->ForEachGlyph(
-          advance,
-          [&](const HarfBuzzRunGlyphData& glyph_data,
-              float total_advance) -> bool {
-            DCHECK(!glyph_data.offset.Height());
-            bloberizer.Add(glyph_data.glyph, run->font_data_.Get(),
-                           total_advance + glyph_data.offset.Width());
-            return true;
-          });
-    }
-  }
-
-  return advance;
-}
-
-float ShapeResultBuffer::FillGlyphs(const TextRunPaintInfo& run_info,
-                                    ShapeResultBloberizer& bloberizer) const {
-  // Fast path: full run with no vertical offsets, no text intercepts.
-  if (!run_info.from && run_info.to == run_info.run.length() &&
-      !HasVerticalOffsets() &&
-      bloberizer.GetType() != ShapeResultBloberizer::Type::kTextIntercepts) {
-    return FillFastHorizontalGlyphs(run_info.run, bloberizer);
-  }
-
-  float advance = 0;
-
-  if (run_info.run.Rtl()) {
-    unsigned word_offset = run_info.run.length();
-    for (unsigned j = 0; j < results_.size(); j++) {
-      unsigned resolved_index = results_.size() - 1 - j;
-      const RefPtr<const ShapeResult>& word_result = results_[resolved_index];
-      word_offset -= word_result->NumCharacters();
-      advance = FillGlyphsForResult(bloberizer, *word_result, run_info, advance,
-                                    word_offset);
-    }
-  } else {
-    unsigned word_offset = 0;
-    for (const auto& word_result : results_) {
-      advance = FillGlyphsForResult(bloberizer, *word_result, run_info, advance,
-                                    word_offset);
-      word_offset += word_result->NumCharacters();
-    }
-  }
-
-  return advance;
-}
-
-void ShapeResultBuffer::FillTextEmphasisGlyphs(
-    const TextRunPaintInfo& run_info,
-    const GlyphData& emphasis_data,
-    ShapeResultBloberizer& bloberizer) const {
-  float advance = 0;
-  unsigned word_offset = run_info.run.Rtl() ? run_info.run.length() : 0;
-
-  for (unsigned j = 0; j < results_.size(); j++) {
-    unsigned resolved_index = run_info.run.Rtl() ? results_.size() - 1 - j : j;
-    const RefPtr<const ShapeResult>& word_result = results_[resolved_index];
-    for (unsigned i = 0; i < word_result->runs_.size(); i++) {
-      unsigned resolved_offset =
-          word_offset - (run_info.run.Rtl() ? word_result->NumCharacters() : 0);
-      advance += FillTextEmphasisGlyphsForRun(
-          bloberizer, word_result->runs_[i].get(), run_info, emphasis_data,
-          advance, resolved_offset);
-    }
-    word_offset += word_result->NumCharacters() * (run_info.run.Rtl() ? -1 : 1);
-  }
-}
-
 // TODO(eae): This is a bit of a hack to allow reuse of the implementation
 // for both ShapeResultBuffer and single ShapeResult use cases. Ideally the
 // logic should move into ShapeResult itself and then the ShapeResultBuffer
diff --git a/third_party/WebKit/Source/platform/fonts/shaping/ShapeResultBuffer.h b/third_party/WebKit/Source/platform/fonts/shaping/ShapeResultBuffer.h
index 8a68e5d..5bd74ce 100644
--- a/third_party/WebKit/Source/platform/fonts/shaping/ShapeResultBuffer.h
+++ b/third_party/WebKit/Source/platform/fonts/shaping/ShapeResultBuffer.h
@@ -18,7 +18,6 @@
 struct GlyphData;
 class ShapeResultBloberizer;
 class TextRun;
-struct TextRunPaintInfo;
 
 class PLATFORM_EXPORT ShapeResultBuffer {
   WTF_MAKE_NONCOPYABLE(ShapeResultBuffer);
@@ -34,10 +33,6 @@
 
   bool HasVerticalOffsets() const { return has_vertical_offsets_; }
 
-  float FillGlyphs(const TextRunPaintInfo&, ShapeResultBloberizer&) const;
-  void FillTextEmphasisGlyphs(const TextRunPaintInfo&,
-                              const GlyphData& emphasis_data,
-                              ShapeResultBloberizer&) const;
   int OffsetForPosition(const TextRun&,
                         float target_x,
                         bool include_partial_glyphs) const;
@@ -64,6 +59,7 @@
   GlyphData EmphasisMarkGlyphData(const FontDescription&) const;
 
  private:
+  friend class ShapeResultBloberizer;
   static CharacterRange GetCharacterRangeInternal(
       const Vector<RefPtr<const ShapeResult>, 64>&,
       TextDirection,
@@ -71,20 +67,6 @@
       unsigned from,
       unsigned to);
 
-  float FillFastHorizontalGlyphs(const TextRun&, ShapeResultBloberizer&) const;
-
-  static float FillGlyphsForResult(ShapeResultBloberizer&,
-                                   const ShapeResult&,
-                                   const TextRunPaintInfo&,
-                                   float initial_advance,
-                                   unsigned run_offset);
-  static float FillTextEmphasisGlyphsForRun(ShapeResultBloberizer&,
-                                            const ShapeResult::RunInfo*,
-                                            const TextRunPaintInfo&,
-                                            const GlyphData&,
-                                            float initial_advance,
-                                            unsigned run_offset);
-
   static void AddRunInfoRanges(const ShapeResult::RunInfo&,
                                float offset,
                                Vector<CharacterRange>&);
diff --git a/third_party/WebKit/Source/platform/graphics/gpu/DrawingBuffer.cpp b/third_party/WebKit/Source/platform/graphics/gpu/DrawingBuffer.cpp
index 15555873..4b66b554 100644
--- a/third_party/WebKit/Source/platform/graphics/gpu/DrawingBuffer.cpp
+++ b/third_party/WebKit/Source/platform/graphics/gpu/DrawingBuffer.cpp
@@ -576,6 +576,19 @@
   return CreateColorBuffer(size_);
 }
 
+DrawingBuffer::ScopedRGBEmulationForBlitFramebuffer::
+    ScopedRGBEmulationForBlitFramebuffer(DrawingBuffer* drawing_buffer)
+    : drawing_buffer_(drawing_buffer) {
+  doing_work_ = drawing_buffer->SetupRGBEmulationForBlitFramebuffer();
+}
+
+DrawingBuffer::ScopedRGBEmulationForBlitFramebuffer::
+    ~ScopedRGBEmulationForBlitFramebuffer() {
+  if (doing_work_) {
+    drawing_buffer_->CleanupRGBEmulationForBlitFramebuffer();
+  }
+}
+
 DrawingBuffer::ColorBuffer::ColorBuffer(
     DrawingBuffer* drawing_buffer,
     const ColorBufferParameters& parameters,
@@ -599,6 +612,10 @@
   if (image_id) {
     gl->BindTexture(parameters.target, texture_id);
     gl->ReleaseTexImage2DCHROMIUM(parameters.target, image_id);
+    if (rgb_workaround_texture_id) {
+      gl->BindTexture(parameters.target, rgb_workaround_texture_id);
+      gl->ReleaseTexImage2DCHROMIUM(parameters.target, image_id);
+    }
     gl->DestroyImageCHROMIUM(image_id);
     switch (parameters.target) {
       case GL_TEXTURE_2D:
@@ -618,6 +635,10 @@
     gpu_memory_buffer.reset();
   }
   gl->DeleteTextures(1, &texture_id);
+  if (rgb_workaround_texture_id) {
+    // Avoid deleting this texture if it was unused.
+    gl->DeleteTextures(1, &rgb_workaround_texture_id);
+  }
 }
 
 bool DrawingBuffer::Initialize(const IntSize& size, bool use_multisampling) {
@@ -1258,6 +1279,78 @@
   return GL_RGB8_OES;
 }
 
+bool DrawingBuffer::SetupRGBEmulationForBlitFramebuffer() {
+  // We only need to do this work if:
+  //  - The user has selected alpha:false and antialias:false
+  //  - We are using CHROMIUM_image with RGB emulation
+  // macOS is the only platform on which this is necessary.
+
+  if (want_alpha_channel_ || anti_aliasing_mode_ != kNone)
+    return false;
+
+  if (!(ShouldUseChromiumImage() &&
+        ContextProvider()->GetCapabilities().chromium_image_rgb_emulation))
+    return false;
+
+  if (!back_color_buffer_)
+    return false;
+
+  // If for some reason the back buffer doesn't have a CHROMIUM_image,
+  // don't proceed with this workaround.
+  if (!back_color_buffer_->image_id)
+    return false;
+
+  // Before allowing the BlitFramebuffer call to go through, it's necessary
+  // to swap out the RGBA texture that's bound to the CHROMIUM_image
+  // instance with an RGB texture. BlitFramebuffer requires the internal
+  // formats of the source and destination to match when doing a
+  // multisample resolve, and the best way to achieve this without adding
+  // more full-screen blits is to hook up a true RGB texture to the
+  // underlying IOSurface. Unfortunately, on macOS, this rendering path
+  // destroys the alpha channel and requires a fixup afterward, which is
+  // why it isn't used all the time.
+
+  GLuint rgb_texture = back_color_buffer_->rgb_workaround_texture_id;
+  GLenum target = GC3D_TEXTURE_RECTANGLE_ARB;
+  if (!rgb_texture) {
+    gl_->GenTextures(1, &rgb_texture);
+    gl_->BindTexture(target, rgb_texture);
+    gl_->TexParameteri(target, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
+    gl_->TexParameteri(target, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
+    gl_->TexParameteri(target, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
+    gl_->TexParameteri(target, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
+
+    // Bind this texture to the CHROMIUM_image instance that the color
+    // buffer owns. This is an expensive operation, so it's important that
+    // the result be cached.
+    gl_->BindTexImage2DWithInternalformatCHROMIUM(target, GL_RGB,
+                                                  back_color_buffer_->image_id);
+    back_color_buffer_->rgb_workaround_texture_id = rgb_texture;
+  }
+
+  gl_->FramebufferTexture2D(GL_DRAW_FRAMEBUFFER_ANGLE, GL_COLOR_ATTACHMENT0,
+                            target, rgb_texture, 0);
+  return true;
+}
+
+void DrawingBuffer::CleanupRGBEmulationForBlitFramebuffer() {
+  // This will only be called if SetupRGBEmulationForBlitFramebuffer was.
+  // Put the framebuffer back the way it was, and clear the alpha channel.
+  DCHECK(back_color_buffer_);
+  DCHECK(back_color_buffer_->image_id);
+  GLenum target = GC3D_TEXTURE_RECTANGLE_ARB;
+  gl_->FramebufferTexture2D(GL_DRAW_FRAMEBUFFER_ANGLE, GL_COLOR_ATTACHMENT0,
+                            target, back_color_buffer_->texture_id, 0);
+  // Clear the alpha channel.
+  gl_->ColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_TRUE);
+  gl_->Disable(GL_SCISSOR_TEST);
+  gl_->ClearColor(0, 0, 0, 1);
+  gl_->Clear(GL_COLOR_BUFFER_BIT);
+  DCHECK(client_);
+  client_->DrawingBufferClientRestoreScissorTest();
+  client_->DrawingBufferClientRestoreMaskAndClearValues();
+}
+
 DrawingBuffer::ScopedStateRestorer::ScopedStateRestorer(
     DrawingBuffer* drawing_buffer)
     : drawing_buffer_(drawing_buffer) {
diff --git a/third_party/WebKit/Source/platform/graphics/gpu/DrawingBuffer.h b/third_party/WebKit/Source/platform/graphics/gpu/DrawingBuffer.h
index 56f1eea..b99c5e7 100644
--- a/third_party/WebKit/Source/platform/graphics/gpu/DrawingBuffer.h
+++ b/third_party/WebKit/Source/platform/graphics/gpu/DrawingBuffer.h
@@ -232,6 +232,19 @@
     new_mailbox_callback_ = std::move(closure);
   }
 
+  // This class helps implement correct semantics for BlitFramebuffer
+  // when the DrawingBuffer is using a CHROMIUM image for its backing
+  // store and RGB emulation is in use (basically, macOS only).
+  class PLATFORM_EXPORT ScopedRGBEmulationForBlitFramebuffer {
+   public:
+    ScopedRGBEmulationForBlitFramebuffer(DrawingBuffer*);
+    ~ScopedRGBEmulationForBlitFramebuffer();
+
+   private:
+    RefPtr<DrawingBuffer> drawing_buffer_;
+    bool doing_work_ = false;
+  };
+
  protected:  // For unittests
   DrawingBuffer(std::unique_ptr<WebGraphicsContext3DProvider>,
                 std::unique_ptr<Extensions3DUtil>,
@@ -257,6 +270,7 @@
   Vector<RecycledBitmap> recycled_bitmaps_;
 
  private:
+  friend class ScopedRGBEmulationForBlitFramebuffer;
   friend class ScopedStateRestorer;
   friend class ColorBuffer;
 
@@ -317,6 +331,16 @@
     const GLuint image_id = 0;
     std::unique_ptr<gfx::GpuMemoryBuffer> gpu_memory_buffer;
 
+    // If we're emulating an RGB back buffer using an RGBA Chromium
+    // image (essentially macOS only), then when performing
+    // BlitFramebuffer calls, we have to swap in an RGB texture in
+    // place of the RGBA texture bound to the image. The reason is
+    // that BlitFramebuffer requires the internal formats of the
+    // source and destination to match (e.g. RGB8 on both sides).
+    // There are bugs in the semantics of RGB8 textures in this
+    // situation (the alpha channel is zeroed), requiring more fixups.
+    GLuint rgb_workaround_texture_id = 0;
+
     // The mailbox used to send this buffer to the compositor.
     gpu::Mailbox mailbox;
 
@@ -428,6 +452,11 @@
   // The format to use when creating a multisampled renderbuffer.
   GLenum GetMultisampledRenderbufferFormat();
 
+  // Helpers to ensure correct behavior of BlitFramebuffer when using
+  // an emulated RGB CHROMIUM_image back buffer.
+  bool SetupRGBEmulationForBlitFramebuffer();
+  void CleanupRGBEmulationForBlitFramebuffer();
+
   // Weak, reset by beginDestruction.
   Client* client_ = nullptr;
 
@@ -448,9 +477,9 @@
 
   std::unique_ptr<WTF::Closure> new_mailbox_callback_;
 
-  // The current state restorer, which is used to track state dirtying. It is in
+  // The current state restorer, which is used to track state dirtying. It is an
   // error to dirty state shared with WebGL while there is no existing state
-  // restorer. It is also in error to instantiate two state restorers at once.
+  // restorer.
   ScopedStateRestorer* state_restorer_ = nullptr;
 
   // This is used when the user requests either a depth or stencil buffer.
diff --git a/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.cpp b/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.cpp
index dd265302..5e3da9d6 100644
--- a/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.cpp
+++ b/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.cpp
@@ -624,9 +624,6 @@
   // TODO(yoav): turn to a DCHECK. See https://crbug.com/690632
   CHECK_EQ(resource->GetType(), factory.GetType());
 
-  if (!resource->IsAlive())
-    dead_stats_recorder_.Update(policy);
-
   if (policy != kUse)
     resource->SetIdentifier(identifier);
 
@@ -923,10 +920,6 @@
     return kReload;
   }
 
-  // Don't reload resources while pasting.
-  if (allow_stale_resources_)
-    return kUse;
-
   if (!fetch_params.Options().CanReuseRequest(existing_resource->Options()))
     return kReload;
 
@@ -934,6 +927,10 @@
   if (existing_resource->IsPreloaded())
     return kUse;
 
+  // Don't reload resources while pasting.
+  if (allow_stale_resources_)
+    return kUse;
+
   // WebCachePolicy::ReturnCacheDataElseLoad uses the cache no matter what.
   if (request.GetCachePolicy() == WebCachePolicy::kReturnCacheDataElseLoad)
     return kUse;
@@ -1521,43 +1518,6 @@
   RequestLoadStarted(resource->Identifier(), resource, params, kUse);
 }
 
-ResourceFetcher::DeadResourceStatsRecorder::DeadResourceStatsRecorder()
-    : use_count_(0), revalidate_count_(0), load_count_(0) {}
-
-ResourceFetcher::DeadResourceStatsRecorder::~DeadResourceStatsRecorder() {
-  DEFINE_THREAD_SAFE_STATIC_LOCAL(
-      CustomCountHistogram, hit_count_histogram,
-      new CustomCountHistogram("WebCore.ResourceFetcher.HitCount", 0, 1000,
-                               50));
-  hit_count_histogram.Count(use_count_);
-  DEFINE_THREAD_SAFE_STATIC_LOCAL(
-      CustomCountHistogram, revalidate_count_histogram,
-      new CustomCountHistogram("WebCore.ResourceFetcher.RevalidateCount", 0,
-                               1000, 50));
-  revalidate_count_histogram.Count(revalidate_count_);
-  DEFINE_THREAD_SAFE_STATIC_LOCAL(
-      CustomCountHistogram, load_count_histogram,
-      new CustomCountHistogram("WebCore.ResourceFetcher.LoadCount", 0, 1000,
-                               50));
-  load_count_histogram.Count(load_count_);
-}
-
-void ResourceFetcher::DeadResourceStatsRecorder::Update(
-    RevalidationPolicy policy) {
-  switch (policy) {
-    case kReload:
-    case kLoad:
-      ++load_count_;
-      return;
-    case kRevalidate:
-      ++revalidate_count_;
-      return;
-    case kUse:
-      ++use_count_;
-      return;
-  }
-}
-
 DEFINE_TRACE(ResourceFetcher) {
   visitor->Trace(context_);
   visitor->Trace(archive_);
diff --git a/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.h b/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.h
index cb59655..bd7e918 100644
--- a/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.h
+++ b/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.h
@@ -245,23 +245,6 @@
   HeapHashSet<Member<ResourceLoader>> loaders_;
   HeapHashSet<Member<ResourceLoader>> non_blocking_loaders_;
 
-  // Used in hit rate histograms.
-  class DeadResourceStatsRecorder {
-    DISALLOW_NEW();
-
-   public:
-    DeadResourceStatsRecorder();
-    ~DeadResourceStatsRecorder();
-
-    void Update(RevalidationPolicy);
-
-   private:
-    int use_count_;
-    int revalidate_count_;
-    int load_count_;
-  };
-  DeadResourceStatsRecorder dead_stats_recorder_;
-
   std::unique_ptr<HashSet<String>> preloaded_urls_for_test_;
 
   // 28 bits left
diff --git a/third_party/WebKit/Source/web/WebInputMethodControllerImpl.cpp b/third_party/WebKit/Source/web/WebInputMethodControllerImpl.cpp
index 18e8f0b..bff1b86 100644
--- a/third_party/WebKit/Source/web/WebInputMethodControllerImpl.cpp
+++ b/third_party/WebKit/Source/web/WebInputMethodControllerImpl.cpp
@@ -27,7 +27,7 @@
 
 WebInputMethodControllerImpl::WebInputMethodControllerImpl(
     WebLocalFrameImpl* web_local_frame)
-    : web_local_frame_(web_local_frame), suppress_next_keypress_event_(false) {}
+    : web_local_frame_(web_local_frame) {}
 
 WebInputMethodControllerImpl::~WebInputMethodControllerImpl() {}
 
@@ -77,15 +77,6 @@
       return false;
   }
 
-  // A keypress event is canceled. If an ongoing composition exists, then the
-  // keydown event should have arisen from a handled key (e.g., backspace).
-  // In this case we ignore the cancellation and continue; otherwise (no
-  // ongoing composition) we exit and signal success only for attempts to
-  // clear the composition.
-  if (suppress_next_keypress_event_ &&
-      !GetInputMethodController().HasComposition())
-    return text.IsEmpty();
-
   UserGestureIndicator gesture_indicator(DocumentUserGestureToken::Create(
       GetFrame()->GetDocument(), UserGestureToken::kNewGesture));
 
diff --git a/third_party/WebKit/Source/web/WebInputMethodControllerImpl.h b/third_party/WebKit/Source/web/WebInputMethodControllerImpl.h
index 8349e0c..8c4bf6b 100644
--- a/third_party/WebKit/Source/web/WebInputMethodControllerImpl.h
+++ b/third_party/WebKit/Source/web/WebInputMethodControllerImpl.h
@@ -42,10 +42,6 @@
   WebTextInputInfo TextInputInfo() override;
   WebTextInputType TextInputType() override;
 
-  void SetSuppressNextKeypressEvent(bool suppress) {
-    suppress_next_keypress_event_ = suppress;
-  }
-
   DECLARE_TRACE();
 
  private:
@@ -54,7 +50,6 @@
   WebPlugin* FocusedPluginIfInputMethodSupported() const;
 
   WeakMember<WebLocalFrameImpl> web_local_frame_;
-  bool suppress_next_keypress_event_;
 };
 }  // namespace blink
 
diff --git a/third_party/libva/README.chromium b/third_party/libva/README.chromium
index f860fa12..c1eebd2 100644
--- a/third_party/libva/README.chromium
+++ b/third_party/libva/README.chromium
@@ -1,8 +1,8 @@
 Name: libva
-URL: http://freedesktop.org/wiki/Software/vaapi
-Source: git clone git://anongit.freedesktop.org/git/libva
-Version: unknown
-RealVersion: git tag libva-1.6.0
+URL: https://github.com/01org/libva
+Source: git clone https://github.com/01org/libva.git
+Version: 1.7.1
+RealVersion: git tag libva-1.7.1
 License: MIT
 License File: COPYING
 Security Critical: no
@@ -15,4 +15,3 @@
 - remove struct _VAEncMacroblockParameterBufferH264 from va/va_enc_h264.h,
   which contained an empty union, causing compile errors
 - remove va/egl/va_egl.h due to the lack of license header
-- remove third_party/libva/va/wayland/wayland-drm-client-protocol.h
diff --git a/third_party/libva/va/va.h b/third_party/libva/va/va.h
index 88fde4e..22c4fc2 100644
--- a/third_party/libva/va/va.h
+++ b/third_party/libva/va/va.h
@@ -222,6 +222,13 @@
  */
 const char *vaErrorStr(VAStatus error_status);
 
+typedef struct _VARectangle {
+  short x;
+  short y;
+  unsigned short width;
+  unsigned short height;
+} VARectangle;
+
 /**
  * Initialization:
  * A display must be obtained by calling vaGetDisplay() before calling
@@ -280,168 +287,189 @@
 );
 
 /** Currently defined profiles */
-typedef enum
-{
-    /** \brief Profile ID used for video processing. */
-    VAProfileNone                       = -1,
-    VAProfileMPEG2Simple		= 0,
-    VAProfileMPEG2Main			= 1,
-    VAProfileMPEG4Simple		= 2,
-    VAProfileMPEG4AdvancedSimple	= 3,
-    VAProfileMPEG4Main			= 4,
-    VAProfileH264Baseline		= 5,
-    VAProfileH264Main			= 6,
-    VAProfileH264High			= 7,
-    VAProfileVC1Simple			= 8,
-    VAProfileVC1Main			= 9,
-    VAProfileVC1Advanced		= 10,
-    VAProfileH263Baseline		= 11,
-    VAProfileJPEGBaseline               = 12,
-    VAProfileH264ConstrainedBaseline    = 13,
-    VAProfileVP8Version0_3              = 14,
-    VAProfileH264MultiviewHigh          = 15,
-    VAProfileH264StereoHigh             = 16,
-    VAProfileHEVCMain                   = 17,
-    VAProfileHEVCMain10                 = 18,
-    VAProfileVP9Profile0                = 19
+typedef enum {
+  /** \brief Profile ID used for video processing. */
+  VAProfileNone = -1,
+  VAProfileMPEG2Simple = 0,
+  VAProfileMPEG2Main = 1,
+  VAProfileMPEG4Simple = 2,
+  VAProfileMPEG4AdvancedSimple = 3,
+  VAProfileMPEG4Main = 4,
+  VAProfileH264Baseline = 5,
+  VAProfileH264Main = 6,
+  VAProfileH264High = 7,
+  VAProfileVC1Simple = 8,
+  VAProfileVC1Main = 9,
+  VAProfileVC1Advanced = 10,
+  VAProfileH263Baseline = 11,
+  VAProfileJPEGBaseline = 12,
+  VAProfileH264ConstrainedBaseline = 13,
+  VAProfileVP8Version0_3 = 14,
+  VAProfileH264MultiviewHigh = 15,
+  VAProfileH264StereoHigh = 16,
+  VAProfileHEVCMain = 17,
+  VAProfileHEVCMain10 = 18,
+  VAProfileVP9Profile0 = 19,
+  VAProfileVP9Profile1 = 20,
+  VAProfileVP9Profile2 = 21,
+  VAProfileVP9Profile3 = 22
 } VAProfile;
 
 /**
  *  Currently defined entrypoints 
  */
-typedef enum
-{
-    VAEntrypointVLD		= 1,
-    VAEntrypointIZZ		= 2,
-    VAEntrypointIDCT		= 3,
-    VAEntrypointMoComp		= 4,
-    VAEntrypointDeblocking	= 5,
-    VAEntrypointEncSlice	= 6,	/* slice level encode */
-    VAEntrypointEncPicture 	= 7,	/* pictuer encode, JPEG, etc */
-    VAEntrypointVideoProc       = 10,   /**< Video pre/post-processing. */
+typedef enum {
+  VAEntrypointVLD = 1,
+  VAEntrypointIZZ = 2,
+  VAEntrypointIDCT = 3,
+  VAEntrypointMoComp = 4,
+  VAEntrypointDeblocking = 5,
+  VAEntrypointEncSlice = 6,   /* slice level encode */
+  VAEntrypointEncPicture = 7, /* pictuer encode, JPEG, etc */
+  /*
+   * For an implementation that supports a low power/high performance variant
+   * for slice level encode, it can choose to expose the
+   * VAEntrypointEncSliceLP entrypoint. Certain encoding tools may not be
+   * available with this entrypoint (e.g. interlace, MBAFF) and the
+   * application can query the encoding configuration attributes to find
+   * out more details if this entrypoint is supported.
+   */
+  VAEntrypointEncSliceLP = 8,
+  VAEntrypointVideoProc = 10, /**< Video pre/post-processing. */
 } VAEntrypoint;
 
 /** Currently defined configuration attribute types */
-typedef enum
-{
-    VAConfigAttribRTFormat		= 0,
-    VAConfigAttribSpatialResidual	= 1,
-    VAConfigAttribSpatialClipping	= 2,
-    VAConfigAttribIntraResidual		= 3,
-    VAConfigAttribEncryption		= 4,
-    VAConfigAttribRateControl		= 5,
+typedef enum {
+  VAConfigAttribRTFormat = 0,
+  VAConfigAttribSpatialResidual = 1,
+  VAConfigAttribSpatialClipping = 2,
+  VAConfigAttribIntraResidual = 3,
+  VAConfigAttribEncryption = 4,
+  VAConfigAttribRateControl = 5,
 
-    /** @name Attributes for decoding */
-    /**@{*/
-    /**
-     * \brief Slice Decoding mode. Read/write.
-     *
-     * This attribute determines what mode the driver supports for slice
-     * decoding, through vaGetConfigAttributes(); and what mode the user
-     * will be providing to the driver, through vaCreateConfig(), if the
-     * driver supports those. If this attribute is not set by the user then
-     * it is assumed that VA_DEC_SLICE_MODE_NORMAL mode is used.
-     *
-     * See \c VA_DEC_SLICE_MODE_xxx for the list of slice decoding modes.
-     */
-    VAConfigAttribDecSliceMode		= 6,
+  /** @name Attributes for decoding */
+  /**@{*/
+  /**
+   * \brief Slice Decoding mode. Read/write.
+   *
+   * This attribute determines what mode the driver supports for slice
+   * decoding, through vaGetConfigAttributes(); and what mode the user
+   * will be providing to the driver, through vaCreateConfig(), if the
+   * driver supports those. If this attribute is not set by the user then
+   * it is assumed that VA_DEC_SLICE_MODE_NORMAL mode is used.
+   *
+   * See \c VA_DEC_SLICE_MODE_xxx for the list of slice decoding modes.
+   */
+  VAConfigAttribDecSliceMode = 6,
 
-    /** @name Attributes for encoding */
-    /**@{*/
-    /**
-     * \brief Packed headers mode. Read/write.
-     *
-     * This attribute determines what packed headers the driver supports,
-     * through vaGetConfigAttributes(); and what packed headers the user
-     * will be providing to the driver, through vaCreateConfig(), if the
-     * driver supports those.
-     *
-     * See \c VA_ENC_PACKED_HEADER_xxx for the list of packed headers.
-     */
-    VAConfigAttribEncPackedHeaders      = 10,
-    /**
-     * \brief Interlaced mode. Read/write.
-     *
-     * This attribute determines what kind of interlaced encoding mode
-     * the driver supports.
-     *
-     * See \c VA_ENC_INTERLACED_xxx for the list of interlaced modes.
-     */
-    VAConfigAttribEncInterlaced         = 11,
-    /**
-     * \brief Maximum number of reference frames. Read-only.
-     *
-     * This attribute determines the maximum number of reference
-     * frames supported for encoding.
-     *
-     * Note: for H.264 encoding, the value represents the maximum number
-     * of reference frames for both the reference picture list 0 (bottom
-     * 16 bits) and the reference picture list 1 (top 16 bits).
-     */
-    VAConfigAttribEncMaxRefFrames       = 13,
-    /**
-     * \brief Maximum number of slices per frame. Read-only.
-     *
-     * This attribute determines the maximum number of slices the
-     * driver can support to encode a single frame.
-     */
-    VAConfigAttribEncMaxSlices          = 14,
-    /**
-     * \brief Slice structure. Read-only.
-     *
-     * This attribute determines slice structures supported by the
-     * driver for encoding. This attribute is a hint to the user so
-     * that he can choose a suitable surface size and how to arrange
-     * the encoding process of multiple slices per frame.
-     *
-     * More specifically, for H.264 encoding, this attribute
-     * determines the range of accepted values to
-     * VAEncSliceParameterBufferH264::macroblock_address and
-     * VAEncSliceParameterBufferH264::num_macroblocks.
-     *
-     * See \c VA_ENC_SLICE_STRUCTURE_xxx for the supported slice
-     * structure types.
-     */
-    VAConfigAttribEncSliceStructure     = 15,
-    /**
-     * \brief Macroblock information. Read-only.
-     *
-     * This attribute determines whether the driver supports extra
-     * encoding information per-macroblock. e.g. QP.
-     *
-     * More specifically, for H.264 encoding, if the driver returns a non-zero
-     * value for this attribute, this means the application can create
-     * additional #VAEncMacroblockParameterBufferH264 buffers referenced
-     * through VAEncSliceParameterBufferH264::macroblock_info.
-     */
-    VAConfigAttribEncMacroblockInfo     = 16,
-    /**
-     * \brief JPEG encoding attribute. Read-only.
-     *
-     * This attribute exposes a number of capabilities of the underlying
-     * JPEG implementation. The attribute value is partitioned into fields as defined in the 
-     * VAConfigAttribValEncJPEG union.
-     */
-    VAConfigAttribEncJPEG             = 20,
-    /**
-     * \brief Encoding quality range attribute. Read-only.
-     *
-     * This attribute conveys whether the driver supports different quality level settings
-     * for encoding. A value less than or equal to 1 means that the encoder only has a single
-     * quality setting, and a value greater than 1 represents the number of quality levels 
-     * that can be configured. e.g. a value of 2 means there are two distinct quality levels. 
-     */
-    VAConfigAttribEncQualityRange     = 21,
-    /**
-     * \brief Encoding skip frame attribute. Read-only.
-     *
-     * This attribute conveys whether the driver supports sending skip frame parameters 
-     * (VAEncMiscParameterTypeSkipFrame) to the encoder's rate control, when the user has 
-     * externally skipped frames. 
-     */
-    VAConfigAttribEncSkipFrame        = 24,
-    /**@}*/
-    VAConfigAttribTypeMax
+  /** @name Attributes for encoding */
+  /**@{*/
+  /**
+   * \brief Packed headers mode. Read/write.
+   *
+   * This attribute determines what packed headers the driver supports,
+   * through vaGetConfigAttributes(); and what packed headers the user
+   * will be providing to the driver, through vaCreateConfig(), if the
+   * driver supports those.
+   *
+   * See \c VA_ENC_PACKED_HEADER_xxx for the list of packed headers.
+   */
+  VAConfigAttribEncPackedHeaders = 10,
+  /**
+   * \brief Interlaced mode. Read/write.
+   *
+   * This attribute determines what kind of interlaced encoding mode
+   * the driver supports.
+   *
+   * See \c VA_ENC_INTERLACED_xxx for the list of interlaced modes.
+   */
+  VAConfigAttribEncInterlaced = 11,
+  /**
+   * \brief Maximum number of reference frames. Read-only.
+   *
+   * This attribute determines the maximum number of reference
+   * frames supported for encoding.
+   *
+   * Note: for H.264 encoding, the value represents the maximum number
+   * of reference frames for both the reference picture list 0 (bottom
+   * 16 bits) and the reference picture list 1 (top 16 bits).
+   */
+  VAConfigAttribEncMaxRefFrames = 13,
+  /**
+   * \brief Maximum number of slices per frame. Read-only.
+   *
+   * This attribute determines the maximum number of slices the
+   * driver can support to encode a single frame.
+   */
+  VAConfigAttribEncMaxSlices = 14,
+  /**
+   * \brief Slice structure. Read-only.
+   *
+   * This attribute determines slice structures supported by the
+   * driver for encoding. This attribute is a hint to the user so
+   * that he can choose a suitable surface size and how to arrange
+   * the encoding process of multiple slices per frame.
+   *
+   * More specifically, for H.264 encoding, this attribute
+   * determines the range of accepted values to
+   * VAEncSliceParameterBufferH264::macroblock_address and
+   * VAEncSliceParameterBufferH264::num_macroblocks.
+   *
+   * See \c VA_ENC_SLICE_STRUCTURE_xxx for the supported slice
+   * structure types.
+   */
+  VAConfigAttribEncSliceStructure = 15,
+  /**
+   * \brief Macroblock information. Read-only.
+   *
+   * This attribute determines whether the driver supports extra
+   * encoding information per-macroblock. e.g. QP.
+   *
+   * More specifically, for H.264 encoding, if the driver returns a non-zero
+   * value for this attribute, this means the application can create
+   * additional #VAEncMacroblockParameterBufferH264 buffers referenced
+   * through VAEncSliceParameterBufferH264::macroblock_info.
+   */
+  VAConfigAttribEncMacroblockInfo = 16,
+  /**
+   * \brief JPEG encoding attribute. Read-only.
+   *
+   * This attribute exposes a number of capabilities of the underlying
+   * JPEG implementation. The attribute value is partitioned into fields as
+   * defined in the VAConfigAttribValEncJPEG union.
+   */
+  VAConfigAttribEncJPEG = 20,
+  /**
+   * \brief Encoding quality range attribute. Read-only.
+   *
+   * This attribute conveys whether the driver supports different quality level
+   * settings for encoding. A value less than or equal to 1 means that the
+   * encoder only has a single quality setting, and a value greater than 1
+   * represents the number of quality levels that can be configured. e.g. a
+   * value of 2 means there are two distinct quality levels.
+   */
+  VAConfigAttribEncQualityRange = 21,
+  /**
+   * \brief Encoding skip frame attribute. Read-only.
+   *
+   * This attribute conveys whether the driver supports sending skip frame
+   * parameters (VAEncMiscParameterTypeSkipFrame) to the encoder's rate control,
+   * when the user has externally skipped frames.
+   */
+  VAConfigAttribEncSkipFrame = 24,
+  /**
+   * \brief Encoding region-of-interest (ROI) attribute. Read-only.
+   *
+   * This attribute conveys whether the driver supports region-of-interest (ROI)
+   * encoding, based on user provided ROI rectangles.  The attribute value is
+   * partitioned into fields as defined in the VAConfigAttribValEncROI union.
+   *
+   * If ROI encoding is supported, the ROI information is passed to the driver
+   * using VAEncMiscParameterTypeROI.
+   */
+  VAConfigAttribEncROI = 25,
+  /**@}*/
+  VAConfigAttribTypeMax
 } VAConfigAttribType;
 
 /**
@@ -461,9 +489,12 @@
 #define VA_RT_FORMAT_YUV444	0x00000004
 #define VA_RT_FORMAT_YUV411	0x00000008
 #define VA_RT_FORMAT_YUV400	0x00000010
+/** YUV formats with more than 8 bpp */
+#define VA_RT_FORMAT_YUV420_10BPP 0x00000100
+/** RGB formats */
 #define VA_RT_FORMAT_RGB16	0x00010000
 #define VA_RT_FORMAT_RGB32	0x00020000
-/* RGBP covers RGBP and BGRP fourcc */ 
+/* RGBP covers RGBP and BGRP fourcc */
 #define VA_RT_FORMAT_RGBP	0x00100000
 #define VA_RT_FORMAT_PROTECTED	0x80000000
 
@@ -481,6 +512,11 @@
 #define VA_RC_CQP                       0x00000010
 /** \brief Variable bitrate with peak rate higher than average bitrate. */
 #define VA_RC_VBR_CONSTRAINED           0x00000020
+/** \brief Macroblock based rate control.  Per MB control is decided
+ *  internally in the encoder. It may be combined with other RC modes, except
+ * CQP. */
+#define VA_RC_MB 0x00000080
+
 /**@}*/
 
 /** @name Attribute values for VAConfigAttribDecSliceMode */
@@ -550,6 +586,23 @@
     unsigned int value;
 } VAConfigAttribValEncJPEG;
 
+/** \brief Attribute value for VAConfigAttribEncROI */
+typedef union _VAConfigAttribValEncROI {
+  struct {
+    /** \brief The number of ROI regions supported, 0 if ROI is not supported.
+     */
+    unsigned int num_roi_regions : 8;
+    /** \brief Indicates if ROI priority indication is supported when
+     * VAConfigAttribRateControl != VA_RC_CQP, else only ROI delta QP added on
+     * top of the frame level QP is supported when VAConfigAttribRateControl ==
+     * VA_RC_CQP.
+     */
+    unsigned int roi_rc_priority_support : 1;
+    unsigned int reserved : 23;
+  } bits;
+  unsigned int value;
+} VAConfigAttribValEncROI;
+
 /**
  * if an attribute is not applicable for a given
  * profile/entrypoint pair, then set the value to the following 
@@ -1010,20 +1063,21 @@
     VABufferTypeMax
 } VABufferType;
 
-typedef enum
-{
-    VAEncMiscParameterTypeFrameRate 	= 0,
-    VAEncMiscParameterTypeRateControl  	= 1,
-    VAEncMiscParameterTypeMaxSliceSize	= 2,
-    VAEncMiscParameterTypeAIR    	= 3,
-    /** \brief Buffer type used to express a maximum frame size (in bits). */
-    VAEncMiscParameterTypeMaxFrameSize  = 4,
-    /** \brief Buffer type used for HRD parameters. */
-    VAEncMiscParameterTypeHRD           = 5,
-    VAEncMiscParameterTypeQualityLevel  = 6,
-    /** \brief Buffer type used for sending skip frame parameters to the encoder's
-      * rate control, when the user has externally skipped frames. */
-    VAEncMiscParameterTypeSkipFrame     = 9
+typedef enum {
+  VAEncMiscParameterTypeFrameRate = 0,
+  VAEncMiscParameterTypeRateControl = 1,
+  VAEncMiscParameterTypeMaxSliceSize = 2,
+  VAEncMiscParameterTypeAIR = 3,
+  /** \brief Buffer type used to express a maximum frame size (in bits). */
+  VAEncMiscParameterTypeMaxFrameSize = 4,
+  /** \brief Buffer type used for HRD parameters. */
+  VAEncMiscParameterTypeHRD = 5,
+  VAEncMiscParameterTypeQualityLevel = 6,
+  /** \brief Buffer type used for sending skip frame parameters to the encoder's
+   * rate control, when the user has externally skipped frames. */
+  VAEncMiscParameterTypeSkipFrame = 9,
+  /** \brief Buffer type used for region-of-interest (ROI) parameters. */
+  VAEncMiscParameterTypeROI = 10
 } VAEncMiscParameterType;
 
 /** \brief Packed header type. */
@@ -1106,6 +1160,9 @@
             unsigned int reset : 1;
             unsigned int disable_frame_skip : 1; /* Disable frame skip in rate control mode */
             unsigned int disable_bit_stuffing : 1; /* Disable bit stuffing in rate control mode */
+            unsigned int
+                mb_rate_control : 4; /* Control VA_RC_MB 0: default, 1: enable,
+                                        2: disable, other: reserved*/
         } bits;
         unsigned int value;
     } rc_flags;
@@ -1197,13 +1254,57 @@
     unsigned int                size_skip_frames;
 } VAEncMiscParameterSkipFrame;
 
-/* 
- * There will be cases where the bitstream buffer will not have enough room to hold
- * the data for the entire slice, and the following flags will be used in the slice
- * parameter to signal to the server for the possible cases.
- * If a slice parameter buffer and slice data buffer pair is sent to the server with 
- * the slice data partially in the slice data buffer (BEGIN and MIDDLE cases below), 
- * then a slice parameter and data buffer needs to be sent again to complete this slice. 
+/**
+ * \brief Encoding region-of-interest (ROI).
+ *
+ * The encoding ROI can be set through VAEncMiscParameterBufferROI, if the
+ * implementation supports ROI input. The ROI set through this structure is
+ * applicable only to the current frame or field, so must be sent every frame or
+ * field to be applied.  The number of supported ROIs can be queried through the
+ * VAConfigAttribEncROI.  The encoder will use the ROI information to adjust the
+ * QP values of the MB's that fall within the ROIs.
+ */
+typedef struct _VAEncROI {
+  /** \brief Defines the ROI boundary in pixels, the driver will map it to
+   * appropriate codec coding units.  It is relative to frame coordinates for
+   * the frame case and to field coordinates for the field case. */
+  VARectangle roi_rectangle;
+  /** \brief When VAConfigAttribRateControl == VA_RC_CQP then roi_value specifes
+   * the delta QP that will be added on top of the frame level QP.  For other
+   * rate control modes, roi_value specifies the priority of the ROI region
+   * relative to the non-ROI region.  It can be positive (more important) or
+   * negative (less important) values and is compared with non-ROI region
+   * (taken as value 0). E.g. ROI region with roi_value -3 is less important
+   * than the non-ROI region (roi_value implied to be 0) which is less
+   * important than ROI region with roi_value +2.  For overlapping regions, the
+   * roi_value that is first in the ROI array will have priority.   */
+  char roi_value;
+} VAEncROI;
+
+typedef struct _VAEncMiscParameterBufferROI {
+  /** \brief Number of ROIs being sent.*/
+  unsigned int num_roi;
+
+  /** \brief Valid when VAConfigAttribRateControl != VA_RC_CQP, then the
+   * encoder's rate control will determine actual delta QPs.  Specifies the
+   * max/min allowed delta QPs. */
+  char max_delta_qp;
+  char min_delta_qp;
+
+  /** \brief Pointer to a VAEncROI array with num_roi elements.  It is relative
+   * to frame coordinates for the frame case and to field coordinates for the
+   * field case.*/
+  VAEncROI* roi;
+} VAEncMiscParameterBufferROI;
+
+/**
+ * There will be cases where the bitstream buffer will not have enough room to
+ * hold the data for the entire slice, and the following flags will be used in
+ * the slice parameter to signal to the server for the possible cases. If a
+ * slice parameter buffer and slice data buffer pair is sent to the server with
+ * the slice data partially in the slice data buffer (BEGIN and MIDDLE cases
+ * below), then a slice parameter and data buffer needs to be sent again to
+ * complete this slice.
  */
 #define VA_SLICE_DATA_FLAG_ALL		0x00	/* whole slice is in the buffer */
 #define VA_SLICE_DATA_FLAG_BEGIN	0x01	/* The beginning of the slice is in the buffer but the end if not */
@@ -2281,6 +2382,16 @@
 #define VA_FOURCC_RGBP          0x50424752
 #define VA_FOURCC_BGRP          0x50524742
 #define VA_FOURCC_411R          0x52313134 /* rotated 411P */
+/**
+ * Planar YUV 4:2:2.
+ * 8-bit Y plane, followed by 8-bit 2x1 subsampled V and U planes
+ */
+#define VA_FOURCC_YV16 0x36315659
+/**
+ * 10-bit and 16-bit Planar YUV 4:2:0.
+ */
+#define VA_FOURCC_P010 0x30313050
+#define VA_FOURCC_P016 0x36313050
 
 /* byte order */
 #define VA_LSB_FIRST		1
@@ -2593,14 +2704,6 @@
     int num_surfaces
 );
 
-typedef struct _VARectangle
-{
-    short x;
-    short y;
-    unsigned short width;
-    unsigned short height;
-} VARectangle;
-
 /**
  * Display attributes
  * Display attributes are used to control things such as contrast, hue, saturation,
@@ -2840,11 +2943,12 @@
 #include <va/va_dec_jpeg.h>
 #include <va/va_dec_vp8.h>
 #include <va/va_dec_vp9.h>
-#include <va/va_enc_hevc.h>
 #include <va/va_enc_h264.h>
+#include <va/va_enc_hevc.h>
 #include <va/va_enc_jpeg.h>
 #include <va/va_enc_mpeg2.h>
 #include <va/va_enc_vp8.h>
+#include <va/va_enc_vp9.h>
 #include <va/va_vpp.h>
 
 /**@}*/
diff --git a/third_party/libva/va/va_dec_vp9.h b/third_party/libva/va/va_dec_vp9.h
index 2deddb0b..eff80e1 100644
--- a/third_party/libva/va/va_dec_vp9.h
+++ b/third_party/libva/va/va_dec_vp9.h
@@ -182,10 +182,15 @@
     uint8_t                 segment_pred_probs[3];
 
     /** \brief VP9 Profile definition
-     *  value can be 0 or 1.
+     *  value range [0..3].
      */
     uint8_t                 profile;
 
+    /** \brief VP9 bit depth per sample
+     *  same for both luma and chroma samples.
+     */
+    uint8_t bit_depth;
+
     /**@}*/
 
 } VADecPictureParameterBufferVP9;
diff --git a/third_party/libva/va/va_enc_h264.h b/third_party/libva/va/va_enc_h264.h
index 02818d1c..8ec18ea 100644
--- a/third_party/libva/va/va_enc_h264.h
+++ b/third_party/libva/va/va_enc_h264.h
@@ -121,7 +121,7 @@
 } VAEncPackedHeaderTypeH264;
 
 /**
- * \brief Sequence parameter for H.264 encoding in baseline, main & high 
+ * \brief Sequence parameter for H.264 encoding in baseline, main & high
  * profiles.
  *
  * This structure holds information for \c seq_parameter_set_data() as
@@ -523,6 +523,19 @@
 #define VA_MB_PRED_AVAIL_LEFT             (1 << 6)
 /**@}*/
 
+/**
+ * \brief Macroblock parameter for H.264 encoding in baseline, main & high
+ * profiles.
+ *
+ * This structure holds per-macroblock information. The buffer must be
+ * allocated with as many elements (macroblocks) as necessary to fit
+ * the slice to be encoded. Besides, the per-macroblock records must
+ * be written in a strict raster order and with no gap. i.e. every
+ * macroblock, regardless of its type, shall have an entry.
+ */
+
+/**@}*/
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/third_party/libva/va/va_enc_vp9.h b/third_party/libva/va/va_enc_vp9.h
new file mode 100644
index 0000000..64d3d52a
--- /dev/null
+++ b/third_party/libva/va/va_enc_vp9.h
@@ -0,0 +1,588 @@
+/*
+ * Copyright (c) 2007-2015 Intel Corporation. All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, sub license, and/or sell copies of the Software, and to
+ * permit persons to whom the Software is furnished to do so, subject to
+ * the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the
+ * next paragraph) shall be included in all copies or substantial portions
+ * of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
+ * IN NO EVENT SHALL INTEL AND/OR ITS SUPPLIERS BE LIABLE FOR
+ * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+ * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/**
+ * \file va_enc_vp9.h
+ * \brief VP9 encoding API
+ *
+ * This file contains the \ref api_enc_vp9 "VP9 encoding API".
+ *
+ */
+
+#ifndef VA_ENC_VP9_H
+#define VA_ENC_VP9_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * \defgroup api_enc_vp9 VP9 encoding API
+ *
+ * @{
+ */
+
+/**
+ * \brief VP9 Encoding Status Data Buffer Structure
+ *
+ * This structure is used to convey status data from encoder to application.
+ * Driver allocates VACodedBufferVP9Status as a private data buffer.
+ * Driver encapsulates the status buffer with a VACodedBufferSegment,
+ * and sets VACodedBufferSegment.status to be
+ * VA_CODED_BUF_STATUS_CODEC_SPECIFIC. And driver associates status data segment
+ * to the bit stream buffer segment by setting VACodedBufferSegment.next of
+ * coded_buf (bit stream) to the private buffer segment of status data.
+ * Application accesses it by calling VAMapBuffer() with VAEncCodedBufferType.
+ */
+typedef struct _VACodedBufferVP9Status {
+  /** Final quantization index used (yac), determined by BRC.
+   *  Application is providing quantization index deltas
+   *  ydc(0), y2dc(1), y2ac(2), uvdc(3), uvac(4) that are applied to all
+   * segments and segmentation qi deltas, they will not be changed by BRC.
+   */
+  uint16_t base_qp_index;
+
+  /** Final loopfilter levels for the frame, if segmentation is disabled only
+   *  index 0 is used.
+   *  If loop_filter_level is 0, it indicates loop filter is disabled.
+   */
+  uint8_t loop_filter_level;
+
+  /**
+   * Long term reference frame indication from BRC.  BRC recommends the
+   * current frame that is being queried is a good candidate for a long
+   * term reference.
+   */
+  uint8_t long_term_indication;
+
+  /* suggested next frame width */
+  uint16_t next_frame_width;
+
+  /* suggested next frame height */
+  uint16_t next_frame_height;
+
+} VACodedBufferVP9Status;
+
+/**
+ * \brief VP9 Encoding Sequence Parameter Buffer Structure
+ *
+ * This structure conveys sequence level parameters.
+ *
+ */
+typedef struct _VAEncSequenceParameterBufferVP9 {
+  /** \brief Frame size note:
+   *  Picture resolution may change frame by frame.
+   *  Application needs to allocate surfaces and frame buffers based on
+   *  max frame resolution in case resolution changes for later frames.
+   *  The source and recon surfaces allocated should be 64x64(SB) aligned
+   *  on both horizontal and vertical directions.
+   *  But buffers on the surfaces need to be aligned to CU boundaries.
+   */
+  /* maximum frame width in pixels for the whole sequence */
+  uint32_t max_frame_width;
+
+  /* maximum frame height in pixels for the whole sequence */
+  uint32_t max_frame_height;
+
+  /* auto keyframe placement, non-zero means enable auto keyframe placement */
+  uint32_t kf_auto;
+
+  /* keyframe minimum interval */
+  uint32_t kf_min_dist;
+
+  /* keyframe maximum interval */
+  uint32_t kf_max_dist;
+
+  /* RC related fields. RC modes are set with VAConfigAttribRateControl */
+  /* For VP9, CBR implies HRD conformance and VBR implies no HRD conformance */
+
+  /**
+   * Initial bitrate set for this sequence in CBR or VBR modes.
+   *
+   * This field represents the initial bitrate value for this
+   * sequence if CBR or VBR mode is used, i.e. if the encoder
+   * pipeline was created with a #VAConfigAttribRateControl
+   * attribute set to either \ref VA_RC_CBR or \ref VA_RC_VBR.
+   *
+   * The bitrate can be modified later on through
+   * #VAEncMiscParameterRateControl buffers.
+   */
+  uint32_t bits_per_second;
+
+  /* Period between key frames */
+  uint32_t intra_period;
+
+} VAEncSequenceParameterBufferVP9;
+
+/**
+ * \brief VP9 Encoding Picture Parameter Buffer Structure
+ *
+ * This structure conveys picture level parameters.
+ *
+ */
+typedef struct _VAEncPictureParameterBufferVP9 {
+  /** VP9 encoder may support dynamic scaling function.
+   *  If enabled (enable_dynamic_scaling is set), application may request
+   *  GPU encodes picture with a different resolution from the raw source.
+   *  GPU should handle the scaling process of source and
+   *  all reference frames.
+   */
+  /* raw source frame width in pixels */
+  uint32_t frame_width_src;
+  /* raw source frame height in pixels */
+  uint32_t frame_height_src;
+
+  /* to be encoded frame width in pixels */
+  uint32_t frame_width_dst;
+  /* to be encoded frame height in pixels */
+  uint32_t frame_height_dst;
+
+  /* surface to store reconstructed frame, not used for enc only case */
+  VASurfaceID reconstructed_frame;
+
+  /** \brief reference frame buffers
+   *  Each entry of the array specifies the surface index of the picture
+   *  that is referred by current picture or will be referred by any future
+   *  picture. The valid entries take value from 0 to 127, inclusive.
+   *  Non-valid entries, those do not point to pictures which are referred
+   *  by current picture or future pictures, should take value 0xFF.
+   *  Other values are not allowed.
+   *
+   *  Application should update this array based on the refreshing
+   *  information expected.
+   */
+  VASurfaceID reference_frames[8];
+
+  /* buffer to store coded data */
+  VABufferID coded_buf;
+
+  union {
+    struct {
+      /* force this frame to be a keyframe */
+      uint32_t force_kf : 1;
+
+      /** \brief Indiates which frames to be used as reference.
+       *  (Ref_frame_ctrl & 0x01) ? 1: last frame as reference frame, 0: not.
+       *  (Ref_frame_ctrl & 0x02) ? 1: golden frame as reference frame, 0: not.
+       *  (Ref_frame_ctrl & 0x04) ? 1: alt frame as reference frame, 0: not.
+       *  L0 is for forward prediction.
+       *  L1 is for backward prediction.
+       */
+      uint32_t ref_frame_ctrl_l0 : 3;
+      uint32_t ref_frame_ctrl_l1 : 3;
+
+      /** \brief Last Reference Frame index
+       *  Specifies the index to RefFrameList[] which points to the LAST
+       *  reference frame. It corresponds to active_ref_idx[0] in VP9 code.
+       */
+      uint32_t ref_last_idx : 3;
+
+      /** \brief Specifies the Sign Bias of the LAST reference frame.
+       *  It corresponds to ref_frame_sign_bias[LAST_FRAME] in VP9 code.
+       */
+      uint32_t ref_last_sign_bias : 1;
+
+      /** \brief GOLDEN Reference Frame index
+       *  Specifies the index to RefFrameList[] which points to the Golden
+       *  reference frame. It corresponds to active_ref_idx[1] in VP9 code.
+       */
+      uint32_t ref_gf_idx : 3;
+
+      /** \brief Specifies the Sign Bias of the GOLDEN reference frame.
+       *  It corresponds to ref_frame_sign_bias[GOLDEN_FRAME] in VP9 code.
+       */
+      uint32_t ref_gf_sign_bias : 1;
+
+      /** \brief Alternate Reference Frame index
+       *  Specifies the index to RefFrameList[] which points to the Alternate
+       *  reference frame. It corresponds to active_ref_idx[2] in VP9 code.
+       */
+      uint32_t ref_arf_idx : 3;
+
+      /** \brief Specifies the Sign Bias of the ALTERNATE reference frame.
+       *  It corresponds to ref_frame_sign_bias[ALTREF_FRAME] in VP9 code.
+       */
+      uint32_t ref_arf_sign_bias : 1;
+
+      /* The temporal id the frame belongs to */
+      uint32_t temporal_id : 8;
+
+      uint32_t reserved : 5;
+    } bits;
+    uint32_t value;
+  } ref_flags;
+
+  union {
+    struct {
+      /**
+       * Indicates if the current frame is a key frame or not.
+       * Corresponds to the same VP9 syntax element in frame tag.
+       */
+      uint32_t frame_type : 1;
+
+      /** \brief show_frame
+       *  0: current frame is not for display
+       *  1: current frame is for display
+       */
+      uint32_t show_frame : 1;
+
+      /**
+       * The following fields correspond to the same VP9 syntax elements
+       * in the frame header.
+       */
+      uint32_t error_resilient_mode : 1;
+
+      /** \brief Indicate intra-only for inter pictures.
+       *  Must be 0 for key frames.
+       *  0: inter frame use both intra and inter blocks
+       *  1: inter frame use only intra blocks.
+       */
+      uint32_t intra_only : 1;
+
+      /** \brief Indicate high precision mode for Motion Vector prediction
+       *  0: normal mode
+       *  1: high precision mode
+       */
+      uint32_t allow_high_precision_mv : 1;
+
+      /** \brief Motion Compensation Filter type
+       *  0: eight-tap  (only this mode is supported now.)
+       *  1: eight-tap-smooth
+       *  2: eight-tap-sharp
+       *  3: bilinear
+       *  4: switchable
+       */
+      uint32_t mcomp_filter_type : 3;
+      uint32_t frame_parallel_decoding_mode : 1;
+      uint32_t reset_frame_context : 2;
+      uint32_t refresh_frame_context : 1;
+      uint32_t frame_context_idx : 2;
+      uint32_t segmentation_enabled : 1;
+
+      /* corresponds to variable temporal_update in VP9 code.
+       * Indicates whether Segment ID is from bitstream or from previous
+       * frame.
+       * 0: Segment ID from bitstream
+       * 1: Segment ID from previous frame
+       */
+      uint32_t segmentation_temporal_update : 1;
+
+      /* corresponds to variable update_mb_segmentation_map in VP9 code.
+       * Indicates how hardware determines segmentation ID
+       * 0: intra block - segment id is 0;
+       *    inter block - segment id from previous frame
+       * 1: intra block - segment id from bitstream (app or GPU decides)
+       *    inter block - depends on segmentation_temporal_update
+       */
+      uint32_t segmentation_update_map : 1;
+
+      /** \brief Specifies if the picture is coded in lossless mode.
+       *
+       *  lossless_mode = base_qindex == 0 && y_dc_delta_q == 0  \
+       *                  && uv_dc_delta_q == 0 && uv_ac_delta_q == 0;
+       *  Where base_qindex, y_dc_delta_q, uv_dc_delta_q and uv_ac_delta_q
+       *  are all variables in VP9 code.
+       *
+       *  When enabled, tx_mode needs to be set to 4x4 only and all
+       *  tu_size in CU record set to 4x4 for entire frame.
+       *  Software also has to program such that final_qindex=0 and
+       *  final_filter_level=0 following the Quant Scale and
+       *  Filter Level Table in Segmentation State section.
+       *  Hardware forces Hadamard Tx when this bit is set.
+       *  When lossless_mode is on, BRC has to be turned off.
+       *  0: normal mode
+       *  1: lossless mode
+       */
+      uint32_t lossless_mode : 1;
+
+      /** \brief MV prediction mode. Corresponds to VP9 variable with same name.
+       *  comp_prediction_mode = 0:		single prediction ony,
+       *  comp_prediction_mode = 1:		compound prediction,
+       *  comp_prediction_mode = 2:		hybrid prediction
+       *
+       *  Not mandatory. App may suggest the setting based on power or
+       *  performance. Kernal may use it as a guildline and decide the proper
+       *  setting on its own.
+       */
+      uint32_t comp_prediction_mode : 2;
+
+      /** \brief Indicate how segmentation is specified
+       *  0   application specifies segmentation partitioning and
+       *      relevant parameters.
+       *  1   GPU may decide on segmentation. If application already
+       *      provides segmentation information, GPU may choose to
+       *      honor it and further split into more levels if possible.
+       */
+      uint32_t auto_segmentation : 1;
+
+      /** \brief Indicate super frame syntax should be inserted
+       *  0   current frame is not encapsulated in super frame structure
+       *  1   current fame is to be encapsulated in super frame structure.
+       *      super frame index syntax will be inserted by encoder at
+       *      the end of current frame.
+       */
+      uint32_t super_frame_flag : 1;
+
+      uint32_t reserved : 10;
+    } bits;
+    uint32_t value;
+  } pic_flags;
+
+  /** \brief indicate which frames in DPB should be refreshed.
+   *  same syntax and semantic as in VP9 code.
+   */
+  uint8_t refresh_frame_flags;
+
+  /** \brief Base Q index in the VP9 term.
+   *  Added with per segment delta Q index to get Q index of Luma AC.
+   */
+  uint8_t luma_ac_qindex;
+
+  /**
+   *  Q index delta from base Q index in the VP9 term for Luma DC.
+   */
+  int8_t luma_dc_qindex_delta;
+
+  /**
+   *  Q index delta from base Q index in the VP9 term for Chroma AC.
+   */
+  int8_t chroma_ac_qindex_delta;
+
+  /**
+   *  Q index delta from base Q index in the VP9 term for Chroma DC.
+   */
+  int8_t chroma_dc_qindex_delta;
+
+  /** \brief filter level
+   *  Corresponds to the same VP9 syntax element in frame header.
+   */
+  uint8_t filter_level;
+
+  /**
+   * Controls the deblocking filter sensitivity.
+   * Corresponds to the same VP9 syntax element in frame header.
+   */
+  uint8_t sharpness_level;
+
+  /** \brief Loop filter level reference delta values.
+   *  Contains a list of 4 delta values for reference frame based block-level
+   *  loop filter adjustment.
+   *  If no update, set to 0.
+   *  value range [-63..63]
+   */
+  int8_t ref_lf_delta[4];
+
+  /** \brief Loop filter level mode delta values.
+   *  Contains a list of 4 delta values for coding mode based MB-level loop
+   *  filter adjustment.
+   *  If no update, set to 0.
+   *  value range [-63..63]
+   */
+  int8_t mode_lf_delta[2];
+
+  /**
+   *  Offset from starting position of output bitstream in bits where
+   *  ref_lf_delta[] should be inserted. This offset should cover any metadata
+   *  ahead of uncompressed header in inserted bit stream buffer (the offset
+   *  should be same as that for final output bitstream buffer).
+   *
+   *  In BRC mode, always insert ref_lf_delta[] (This implies uncompressed
+   *  header should have mode_ref_delta_enabled=1 and mode_ref_delta_update=1).
+   */
+  uint16_t bit_offset_ref_lf_delta;
+
+  /**
+   *  Offset from starting position of output bitstream in bits where
+   *  mode_lf_delta[] should be inserted.
+   *
+   *  In BRC mode, always insert mode_lf_delta[] (This implies uncompressed
+   *  header should have mode_ref_delta_enabled=1 and mode_ref_delta_update=1).
+   */
+  uint16_t bit_offset_mode_lf_delta;
+
+  /**
+   *  Offset from starting position of output bitstream in bits where (loop)
+   *  filter_level should be inserted.
+   */
+  uint16_t bit_offset_lf_level;
+
+  /**
+   *  Offset from starting position of output bitstream in bits where
+   *  Base Qindex should be inserted.
+   */
+  uint16_t bit_offset_qindex;
+
+  /**
+   *  Offset from starting position of output bitstream in bits where
+   *  First Partition Size should be inserted.
+   */
+  uint16_t bit_offset_first_partition_size;
+
+  /**
+   *  Offset from starting position of output bitstream in bits where
+   *  segmentation_enabled is located in bitstream. When auto_segmentation
+   *  is enabled, GPU uses this offset to locate and update the
+   *  segmentation related information.
+   */
+  uint16_t bit_offset_segmentation;
+
+  /** \brief length in bit of segmentation portion from the location
+   *  in bit stream where segmentation_enabled syntax is coded.
+   *  When auto_segmentation is enabled, GPU uses this bit size to locate
+   *  and update the information after segmentation.
+   */
+  uint16_t bit_size_segmentation;
+
+  /** \brief log2 of number of tile rows
+   *  Corresponds to the same VP9 syntax element in frame header.
+   *  value range [0..2]
+   */
+  uint8_t log2_tile_rows;
+
+  /** \brief log2 of number of tile columns
+   *  Corresponds to the same VP9 syntax element in frame header.
+   *  value range [0..5]
+   */
+  uint8_t log2_tile_columns;
+
+  /** \brief indicate frame-skip happens
+   *  Application may choose to drop/skip one or mulitple encoded frames or
+   *  to-be-encoded frame due to various reasons such as insufficient
+   *  bandwidth.
+   *  Application uses the following three flags to inform GPU about frame-skip.
+   *
+   *  value range of skip_frame_flag: [0..2]
+   *      0 - encode as normal, no skip;
+   *      1 - one or more frames were skipped by application prior to the
+   *          current frame. Encode the current frame as normal. The driver
+   *          will pass the number_skip_frames and skip_frames_size
+   *          to bit rate control for adjustment.
+   *      2 - the current frame is to be skipped. Do not encode it but encrypt
+   *          the packed header contents. This is for the secure encoding case
+   *          where application generates a frame of all skipped blocks.
+   *          The packed header will contain the skipped frame.
+   */
+  uint8_t skip_frame_flag;
+
+  /** \brief The number of frames skipped prior to the current frame.
+   *  It includes only the skipped frames that were not counted before,
+   *  and does not include the frame with skip_frame_flag == 2.
+   *  Valid when skip_frame_flag = 1.
+   */
+  uint8_t number_skip_frames;
+
+  /** \brief When skip_frame_flag = 1, the size of the skipped frames in bits.
+   *  It includes only the skipped frames that were not counted before,
+   *  and does not include the frame size with skip_frame_flag = 2.
+   *  When skip_frame_flag = 2, it is the size of the current skipped frame
+   *  that is to be encrypted.
+   */
+  uint32_t skip_frames_size;
+
+} VAEncPictureParameterBufferVP9;
+
+/**
+ * \brief Per segment parameters
+ */
+typedef struct _VAEncSegParamVP9 {
+  union {
+    struct {
+      /** \brief Indicates if per segment reference frame indicator is enabled.
+       *  Corresponding to variable feature_enabled when
+       *  j == SEG_LVL_REF_FRAME in function setup_segmentation() VP9 code.
+       */
+      uint8_t segment_reference_enabled : 1;
+
+      /** \brief Specifies per segment reference indication.
+       *  0: reserved
+       *  1: Last ref
+       *  2: golden
+       *  3: altref
+       *  Value can be derived from variable data when
+       *  j == SEG_LVL_REF_FRAME in function setup_segmentation() VP9 code.
+       *  value range: [0..3]
+       */
+      uint8_t segment_reference : 2;
+
+      /** \brief Indicates if per segment skip mode is enabled.
+       *  Corresponding to variable feature_enabled when
+       *  j == SEG_LVL_SKIP in function setup_segmentation() VP9 code.
+       */
+      uint8_t segment_reference_skipped : 1;
+
+      uint8_t reserved : 4;
+
+    } bits;
+    uint8_t value;
+  } seg_flags;
+
+  /** \brief Specifies per segment Loop Filter Delta.
+   *  Must be 0 when segmentation_enabled == 0.
+   *  value range: [-63..63]
+   */
+  int8_t segment_lf_level_delta;
+
+  /** \brief Specifies per segment QIndex Delta.
+   *  Must be 0 when segmentation_enabled == 0.
+   *  value range: [-255..255]
+   */
+  int16_t segment_qindex_delta;
+
+} VAEncSegParamVP9;
+
+/**
+ *  Structure to convey all segment related information.
+ *  If segmentation is disabled, this data structure is still required.
+ *  In this case, only seg_data[0] contains valid data.
+ *  This buffer is sent once per frame.
+ *
+ *  The buffer is created with VABufferType VAQMatrixBufferType.
+ *
+ */
+typedef struct _VAEncMiscParameterTypeVP9PerSegmantParam {
+  /**
+   *  Parameters for 8 segments.
+   */
+  VAEncSegParamVP9 seg_data[8];
+
+} VAEncMiscParameterTypeVP9PerSegmantParam;
+
+/**
+ * \brief VP9 Block Segmentation ID Buffer
+ *
+ * The application provides a buffer of VAEncMacroblockMapBufferType containing
+ * the initial segmentation id for each 8x8 block, one byte each, in raster scan
+ * order. Rate control may reassign it.  For example, a 640x480 video, the
+ * buffer has 4800 entries. The value of each entry should be in the range
+ * [0..7], inclusive. If segmentation is not enabled, the application does not
+ * need to provide it.
+ */
+
+/**@}*/
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* VA_ENC_VP9_H */
diff --git a/third_party/libva/va/va_trace.h b/third_party/libva/va/va_trace.h
index 141e7c3d3..04c7c1f 100644
--- a/third_party/libva/va/va_trace.h
+++ b/third_party/libva/va/va_trace.h
@@ -78,6 +78,9 @@
 );
 
 DLL_HIDDEN
+void va_TraceDestroyConfig(VADisplay dpy, VAConfigID config_id);
+
+DLL_HIDDEN
 void va_TraceCreateSurfaces(
     VADisplay dpy,
     int width,
@@ -109,6 +112,9 @@
 );
 
 DLL_HIDDEN
+void va_TraceDestroyContext(VADisplay dpy, VAContextID context);
+
+DLL_HIDDEN
 void va_TraceCreateBuffer (
     VADisplay dpy,
     VAContextID context,	/* in */
diff --git a/third_party/libva/va/va_version.h b/third_party/libva/va/va_version.h
index 0b8b436..7cf8850b 100644
--- a/third_party/libva/va/va_version.h
+++ b/third_party/libva/va/va_version.h
@@ -37,21 +37,21 @@
  *
  * The minor version of VA-API (2, if %VA_VERSION is 1.2.3)
  */
-#define VA_MINOR_VERSION    38
+#define VA_MINOR_VERSION 39
 
 /**
  * VA_MICRO_VERSION:
  *
  * The micro version of VA-API (3, if %VA_VERSION is 1.2.3)
  */
-#define VA_MICRO_VERSION    0
+#define VA_MICRO_VERSION 2
 
 /**
  * VA_VERSION:
  *
  * The full version of VA-API, like 1.2.3
  */
-#define VA_VERSION          0.38.0
+#define VA_VERSION 0.39.2
 
 /**
  * VA_VERSION_S:
@@ -59,7 +59,7 @@
  * The full version of VA-API, in string form (suited for string
  * concatenation)
  */
-#define VA_VERSION_S       "0.38.0"
+#define VA_VERSION_S "0.39.2"
 
 /**
  * VA_VERSION_HEX:
diff --git a/third_party/libva/va/wayland/wayland-drm-client-protocol.h b/third_party/libva/va/wayland/wayland-drm-client-protocol.h
new file mode 100644
index 0000000..8f0e00e
--- /dev/null
+++ b/third_party/libva/va/wayland/wayland-drm-client-protocol.h
@@ -0,0 +1,210 @@
+/*
+ * Copyright © 2008-2011 Kristian Høgsberg
+ * Copyright © 2010-2011 Intel Corporation
+ *
+ * Permission to use, copy, modify, distribute, and sell this
+ * software and its documentation for any purpose is hereby granted
+ * without fee, provided that\n the above copyright notice appear in
+ * all copies and that both that copyright notice and this permission
+ * notice appear in supporting documentation, and that the name of
+ * the copyright holders not be used in advertising or publicity
+ * pertaining to distribution of the software without specific,
+ * written prior permission.  The copyright holders make no
+ * representations about the suitability of this software for any
+ * purpose.  It is provided "as is" without express or implied
+ * warranty.
+ *
+ * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
+ * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
+ * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
+ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+
+#ifndef DRM_CLIENT_PROTOCOL_H
+#define DRM_CLIENT_PROTOCOL_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stddef.h>
+#include <stdint.h>
+#include "wayland-client.h"
+
+struct wl_client;
+struct wl_resource;
+
+struct wl_drm;
+
+extern const struct wl_interface wl_drm_interface;
+
+#ifndef WL_DRM_ERROR_ENUM
+#define WL_DRM_ERROR_ENUM
+enum wl_drm_error {
+  WL_DRM_ERROR_AUTHENTICATE_FAIL = 0,
+  WL_DRM_ERROR_INVALID_FORMAT = 1,
+  WL_DRM_ERROR_INVALID_NAME = 2,
+};
+#endif /* WL_DRM_ERROR_ENUM */
+
+#ifndef WL_DRM_FORMAT_ENUM
+#define WL_DRM_FORMAT_ENUM
+enum wl_drm_format {
+  WL_DRM_FORMAT_C8 = 0x20203843,
+  WL_DRM_FORMAT_RGB332 = 0x38424752,
+  WL_DRM_FORMAT_BGR233 = 0x38524742,
+  WL_DRM_FORMAT_XRGB4444 = 0x32315258,
+  WL_DRM_FORMAT_XBGR4444 = 0x32314258,
+  WL_DRM_FORMAT_RGBX4444 = 0x32315852,
+  WL_DRM_FORMAT_BGRX4444 = 0x32315842,
+  WL_DRM_FORMAT_ARGB4444 = 0x32315241,
+  WL_DRM_FORMAT_ABGR4444 = 0x32314241,
+  WL_DRM_FORMAT_RGBA4444 = 0x32314152,
+  WL_DRM_FORMAT_BGRA4444 = 0x32314142,
+  WL_DRM_FORMAT_XRGB1555 = 0x35315258,
+  WL_DRM_FORMAT_XBGR1555 = 0x35314258,
+  WL_DRM_FORMAT_RGBX5551 = 0x35315852,
+  WL_DRM_FORMAT_BGRX5551 = 0x35315842,
+  WL_DRM_FORMAT_ARGB1555 = 0x35315241,
+  WL_DRM_FORMAT_ABGR1555 = 0x35314241,
+  WL_DRM_FORMAT_RGBA5551 = 0x35314152,
+  WL_DRM_FORMAT_BGRA5551 = 0x35314142,
+  WL_DRM_FORMAT_RGB565 = 0x36314752,
+  WL_DRM_FORMAT_BGR565 = 0x36314742,
+  WL_DRM_FORMAT_RGB888 = 0x34324752,
+  WL_DRM_FORMAT_BGR888 = 0x34324742,
+  WL_DRM_FORMAT_XRGB8888 = 0x34325258,
+  WL_DRM_FORMAT_XBGR8888 = 0x34324258,
+  WL_DRM_FORMAT_RGBX8888 = 0x34325852,
+  WL_DRM_FORMAT_BGRX8888 = 0x34325842,
+  WL_DRM_FORMAT_ARGB8888 = 0x34325241,
+  WL_DRM_FORMAT_ABGR8888 = 0x34324241,
+  WL_DRM_FORMAT_RGBA8888 = 0x34324152,
+  WL_DRM_FORMAT_BGRA8888 = 0x34324142,
+  WL_DRM_FORMAT_XRGB2101010 = 0x30335258,
+  WL_DRM_FORMAT_XBGR2101010 = 0x30334258,
+  WL_DRM_FORMAT_RGBX1010102 = 0x30335852,
+  WL_DRM_FORMAT_BGRX1010102 = 0x30335842,
+  WL_DRM_FORMAT_ARGB2101010 = 0x30335241,
+  WL_DRM_FORMAT_ABGR2101010 = 0x30334241,
+  WL_DRM_FORMAT_RGBA1010102 = 0x30334152,
+  WL_DRM_FORMAT_BGRA1010102 = 0x30334142,
+  WL_DRM_FORMAT_YUYV = 0x56595559,
+  WL_DRM_FORMAT_YVYU = 0x55595659,
+  WL_DRM_FORMAT_UYVY = 0x59565955,
+  WL_DRM_FORMAT_VYUY = 0x59555956,
+  WL_DRM_FORMAT_AYUV = 0x56555941,
+  WL_DRM_FORMAT_NV12 = 0x3231564e,
+  WL_DRM_FORMAT_NV21 = 0x3132564e,
+  WL_DRM_FORMAT_NV16 = 0x3631564e,
+  WL_DRM_FORMAT_NV61 = 0x3136564e,
+  WL_DRM_FORMAT_YUV410 = 0x39565559,
+  WL_DRM_FORMAT_YVU410 = 0x39555659,
+  WL_DRM_FORMAT_YUV411 = 0x31315559,
+  WL_DRM_FORMAT_YVU411 = 0x31315659,
+  WL_DRM_FORMAT_YUV420 = 0x32315559,
+  WL_DRM_FORMAT_YVU420 = 0x32315659,
+  WL_DRM_FORMAT_YUV422 = 0x36315559,
+  WL_DRM_FORMAT_YVU422 = 0x36315659,
+  WL_DRM_FORMAT_YUV444 = 0x34325559,
+  WL_DRM_FORMAT_YVU444 = 0x34325659,
+};
+#endif /* WL_DRM_FORMAT_ENUM */
+
+struct wl_drm_listener {
+  /**
+   * device - device
+   * @name: name
+   */
+  void (*device)(void* data, struct wl_drm* wl_drm, const char* name);
+  /**
+   * format - format
+   * @format: format
+   */
+  void (*format)(void* data, struct wl_drm* wl_drm, uint32_t format);
+  /**
+   * authenticated - authenticated
+   */
+  void (*authenticated)(void* data, struct wl_drm* wl_drm);
+};
+
+static inline int wl_drm_add_listener(struct wl_drm* wl_drm,
+                                      const struct wl_drm_listener* listener,
+                                      void* data) {
+  return wl_proxy_add_listener((struct wl_proxy*)wl_drm,
+                               (void (**)(void))listener, data);
+}
+
+#define WL_DRM_AUTHENTICATE 0
+#define WL_DRM_CREATE_BUFFER 1
+#define WL_DRM_CREATE_PLANAR_BUFFER 2
+
+static inline void wl_drm_set_user_data(struct wl_drm* wl_drm,
+                                        void* user_data) {
+  wl_proxy_set_user_data((struct wl_proxy*)wl_drm, user_data);
+}
+
+static inline void* wl_drm_get_user_data(struct wl_drm* wl_drm) {
+  return wl_proxy_get_user_data((struct wl_proxy*)wl_drm);
+}
+
+static inline void wl_drm_destroy(struct wl_drm* wl_drm) {
+  wl_proxy_destroy((struct wl_proxy*)wl_drm);
+}
+
+static inline void wl_drm_authenticate(struct wl_drm* wl_drm, uint32_t id) {
+  wl_proxy_marshal((struct wl_proxy*)wl_drm, WL_DRM_AUTHENTICATE, id);
+}
+
+static inline struct wl_buffer* wl_drm_create_buffer(struct wl_drm* wl_drm,
+                                                     uint32_t name,
+                                                     int32_t width,
+                                                     int32_t height,
+                                                     uint32_t stride,
+                                                     uint32_t format) {
+  struct wl_proxy* id;
+
+  id = wl_proxy_create((struct wl_proxy*)wl_drm, &wl_buffer_interface);
+  if (!id)
+    return NULL;
+
+  wl_proxy_marshal((struct wl_proxy*)wl_drm, WL_DRM_CREATE_BUFFER, id, name,
+                   width, height, stride, format);
+
+  return (struct wl_buffer*)id;
+}
+
+static inline struct wl_buffer* wl_drm_create_planar_buffer(
+    struct wl_drm* wl_drm,
+    uint32_t name,
+    int32_t width,
+    int32_t height,
+    uint32_t format,
+    int32_t offset0,
+    int32_t stride0,
+    int32_t offset1,
+    int32_t stride1,
+    int32_t offset2,
+    int32_t stride2) {
+  struct wl_proxy* id;
+
+  id = wl_proxy_create((struct wl_proxy*)wl_drm, &wl_buffer_interface);
+  if (!id)
+    return NULL;
+
+  wl_proxy_marshal((struct wl_proxy*)wl_drm, WL_DRM_CREATE_PLANAR_BUFFER, id,
+                   name, width, height, format, offset0, stride0, offset1,
+                   stride1, offset2, stride2);
+
+  return (struct wl_buffer*)id;
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/tools/metrics/histograms/histograms.xml b/tools/metrics/histograms/histograms.xml
index 456f2a7..08b0457 100644
--- a/tools/metrics/histograms/histograms.xml
+++ b/tools/metrics/histograms/histograms.xml
@@ -79141,6 +79141,9 @@
 </histogram>
 
 <histogram name="WebCore.ResourceFetcher.HitCount">
+  <obsolete>
+    Deprecated April 2017.
+  </obsolete>
   <owner>clamy@chromium.org</owner>
   <summary>
     Number of dead resources found in the memory cache over the lifetime of the
@@ -79149,6 +79152,9 @@
 </histogram>
 
 <histogram name="WebCore.ResourceFetcher.LoadCount">
+  <obsolete>
+    Deprecated April 2017.
+  </obsolete>
   <owner>clamy@chromium.org</owner>
   <summary>
     Number of resources that needed to be loaded by the ResourceFetcher over its
@@ -79179,6 +79185,9 @@
 </histogram>
 
 <histogram name="WebCore.ResourceFetcher.RevalidateCount">
+  <obsolete>
+    Deprecated April 2017.
+  </obsolete>
   <owner>clamy@chromium.org</owner>
   <summary>
     Number of dead resources that needed to be revalidated by the
@@ -103461,6 +103470,7 @@
   <int value="-384589459" label="disable-supervised-user-safesites"/>
   <int value="-378180863" label="disable-panels"/>
   <int value="-378033324" label="disable-win32k-renderer-lockdown"/>
+  <int value="-374657496" label="OmniboxEnableClipboardProvider:enabled"/>
   <int value="-364325011" label="enable-files-quick-view"/>
   <int value="-364267715" label="disable-native-cups"/>
   <int value="-362022976" label="disable-quirks-client"/>
@@ -103574,6 +103584,7 @@
   <int value="56723110" label="enable-webfonts-intervention"/>
   <int value="57791920" label="MemoryCoordinator:enabled"/>
   <int value="59784035" label="ImeThread:disabled"/>
+  <int value="59964519" label="OmniboxEnableClipboardProvider:disabled"/>
   <int value="61205887" label="enable-text-input-focus-manager"/>
   <int value="64942701" label="OfflinePagesSvelteConcurrentLoading:disabled"/>
   <int value="70878462" label="WebAssembly:disabled"/>
diff --git a/ui/gl/gl_image.cc b/ui/gl/gl_image.cc
index c11006d..8525c6c 100644
--- a/ui/gl/gl_image.cc
+++ b/ui/gl/gl_image.cc
@@ -6,6 +6,11 @@
 
 namespace gl {
 
+bool GLImage::BindTexImageWithInternalformat(unsigned target,
+                                             unsigned internalformat) {
+  return false;
+}
+
 bool GLImage::EmulatingRGB() const {
   return false;
 }
diff --git a/ui/gl/gl_image.h b/ui/gl/gl_image.h
index f0d0842..be3d6f4c 100644
--- a/ui/gl/gl_image.h
+++ b/ui/gl/gl_image.h
@@ -43,6 +43,13 @@
   // It is valid for an implementation to always return false.
   virtual bool BindTexImage(unsigned target) = 0;
 
+  // Bind image to texture currently bound to |target|, forcing the texture's
+  // internal format to the specified one. This is a feature not available on
+  // all platforms. Returns true on success.  It is valid for an implementation
+  // to always return false.
+  virtual bool BindTexImageWithInternalformat(unsigned target,
+                                              unsigned internalformat);
+
   // Release image from texture currently bound to |target|.
   virtual void ReleaseTexImage(unsigned target) = 0;
 
diff --git a/ui/gl/gl_image_io_surface.h b/ui/gl/gl_image_io_surface.h
index 70962e6d..9cffcec 100644
--- a/ui/gl/gl_image_io_surface.h
+++ b/ui/gl/gl_image_io_surface.h
@@ -45,6 +45,8 @@
   gfx::Size GetSize() override;
   unsigned GetInternalFormat() override;
   bool BindTexImage(unsigned target) override;
+  bool BindTexImageWithInternalformat(unsigned target,
+                                      unsigned internalformat) override;
   void ReleaseTexImage(unsigned target) override {}
   bool CopyTexImage(unsigned target) override;
   bool CopyTexSubImage(unsigned target,
diff --git a/ui/gl/gl_image_io_surface.mm b/ui/gl/gl_image_io_surface.mm
index 8e20830..fc4df49 100644
--- a/ui/gl/gl_image_io_surface.mm
+++ b/ui/gl/gl_image_io_surface.mm
@@ -168,8 +168,9 @@
 }
 
 // When an IOSurface is bound to a texture with internalformat "GL_RGB", many
-// OpenGL operations are broken. Therefore, never allow an IOSurface to be bound
-// with GL_RGB. https://crbug.com/595948.
+// OpenGL operations are broken. Therefore, don't allow an IOSurface to be bound
+// with GL_RGB unless overridden via BindTexImageWithInternalformat.
+// crbug.com/595948, crbug.com/699566.
 GLenum ConvertRequestedInternalFormat(GLenum internalformat) {
   if (internalformat == GL_RGB)
     return GL_RGBA;
@@ -237,6 +238,11 @@
 }
 
 bool GLImageIOSurface::BindTexImage(unsigned target) {
+  return BindTexImageWithInternalformat(target, 0);
+}
+
+bool GLImageIOSurface::BindTexImageWithInternalformat(unsigned target,
+                                                      unsigned internalformat) {
   DCHECK(thread_checker_.CalledOnValidThread());
   TRACE_EVENT0("gpu", "GLImageIOSurface::BindTexImage");
   base::TimeTicks start_time = base::TimeTicks::Now();
@@ -258,10 +264,12 @@
       static_cast<CGLContextObj>(GLContext::GetCurrent()->GetHandle());
 
   DCHECK(io_surface_);
-  CGLError cgl_error =
-      CGLTexImageIOSurface2D(cgl_context, target, TextureFormat(format_),
-                             size_.width(), size_.height(), DataFormat(format_),
-                             DataType(format_), io_surface_.get(), 0);
+
+  GLenum texture_format =
+      internalformat ? internalformat : TextureFormat(format_);
+  CGLError cgl_error = CGLTexImageIOSurface2D(
+      cgl_context, target, texture_format, size_.width(), size_.height(),
+      DataFormat(format_), DataType(format_), io_surface_.get(), 0);
   if (cgl_error != kCGLNoError) {
     LOG(ERROR) << "Error in CGLTexImageIOSurface2D: "
                << CGLErrorString(cgl_error);