diff --git a/DEPS b/DEPS
index d3b6205..c584445 100644
--- a/DEPS
+++ b/DEPS
@@ -40,11 +40,11 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling Skia
   # and whatever else without interference from each other.
-  'skia_revision': '7633477b649c36dd2a03c21d799f66193a341182',
+  'skia_revision': '4c6e4103a246c27bdd1302a9c7fba64367758dcc',
   # 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': 'd7cf0462b60565374f2c04226b2e39d09b2845d0',
+  'v8_revision': 'b5464754e7d1884519d170fa994c64693a3f9112',
   # 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.
@@ -64,7 +64,7 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling PDFium
   # and whatever else without interference from each other.
-  'pdfium_revision': 'c2bf27fff9e2316b9daee92266e70eac3ef5979b',
+  'pdfium_revision': '2df760fea931b546d290e797b8c216530c4e13c1',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling openmax_dl
   # and whatever else without interference from each other.
@@ -196,7 +196,7 @@
     Var('chromium_git') + '/external/bidichecker/lib.git' + '@' + '97f2aa645b74c28c57eca56992235c79850fa9e0',
 
   'src/third_party/webgl/src':
-    Var('chromium_git') + '/external/khronosgroup/webgl.git' + '@' + '239528772a1362d0e0c2d1cb2f256f19d6e0c1c1',
+    Var('chromium_git') + '/external/khronosgroup/webgl.git' + '@' + 'c91689d6df5536fefaa07a459c80c210bd580a1b',
 
   'src/third_party/webdriver/pylib':
     Var('chromium_git') + '/external/selenium/py.git' + '@' + '5fd78261a75fe08d27ca4835fb6c5ce4b42275bd',
diff --git a/android_webview/javatests/src/org/chromium/android_webview/test/WebViewModalDialogOverrideTest.java b/android_webview/javatests/src/org/chromium/android_webview/test/WebViewModalDialogOverrideTest.java
index c65fa04..1b6f76e 100644
--- a/android_webview/javatests/src/org/chromium/android_webview/test/WebViewModalDialogOverrideTest.java
+++ b/android_webview/javatests/src/org/chromium/android_webview/test/WebViewModalDialogOverrideTest.java
@@ -14,6 +14,7 @@
 import org.chromium.android_webview.AwContents;
 import org.chromium.android_webview.JsPromptResultReceiver;
 import org.chromium.android_webview.JsResultReceiver;
+import org.chromium.android_webview.test.util.AwTestTouchUtils;
 import org.chromium.base.test.util.CallbackHelper;
 import org.chromium.base.test.util.Feature;
 
@@ -176,6 +177,8 @@
         loadDataSync(awContents, client.getOnPageFinishedHelper(), BEFORE_UNLOAD_URL,
                 "text/html", false);
         enableJavaScriptOnUiThread(awContents);
+        // JavaScript onbeforeunload dialogs require a user gesture.
+        AwTestTouchUtils.simulateTouchCenterOfView(view);
 
         // Don't wait synchronously because we don't leave the page.
         int currentCallCount = jsBeforeUnloadHelper.getCallCount();
diff --git a/ash/BUILD.gn b/ash/BUILD.gn
index 952c6bd..d73ce3d4 100644
--- a/ash/BUILD.gn
+++ b/ash/BUILD.gn
@@ -465,6 +465,7 @@
     "system/session/session_length_limit_observer.h",
     "system/session/tray_session_length_limit.cc",
     "system/session/tray_session_length_limit.h",
+    "system/status_area_focus_observer.h",
     "system/status_area_layout_manager.cc",
     "system/status_area_layout_manager.h",
     "system/status_area_widget.cc",
diff --git a/ash/public/cpp/BUILD.gn b/ash/public/cpp/BUILD.gn
index 5fa8010..e291ff39 100644
--- a/ash/public/cpp/BUILD.gn
+++ b/ash/public/cpp/BUILD.gn
@@ -5,8 +5,6 @@
 # C++ headers and sources that can be used outside ash.
 component("ash_public_cpp") {
   sources = [
-    "app_launch_id.cc",
-    "app_launch_id.h",
     "ash_public_export.h",
     "config.h",
     "mus_property_mirror_ash.cc",
diff --git a/ash/public/cpp/app_launch_id.cc b/ash/public/cpp/app_launch_id.cc
deleted file mode 100644
index 7293d18..0000000
--- a/ash/public/cpp/app_launch_id.cc
+++ /dev/null
@@ -1,46 +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 "ash/public/cpp/app_launch_id.h"
-
-#include "base/logging.h"
-
-namespace ash {
-
-AppLaunchId::AppLaunchId(const std::string& app_id,
-                         const std::string& launch_id)
-    : app_id(app_id), launch_id(launch_id) {
-  DCHECK(launch_id.empty() || !app_id.empty()) << "launch ids require app ids.";
-}
-
-AppLaunchId::AppLaunchId(const std::string& app_id) : app_id(app_id) {}
-
-AppLaunchId::AppLaunchId() = default;
-
-AppLaunchId::~AppLaunchId() = default;
-
-AppLaunchId::AppLaunchId(const AppLaunchId& other) = default;
-
-AppLaunchId::AppLaunchId(AppLaunchId&& other) = default;
-
-AppLaunchId& AppLaunchId::operator=(const AppLaunchId& other) = default;
-
-bool AppLaunchId::operator==(const AppLaunchId& other) const {
-  return app_id == other.app_id && launch_id == other.launch_id;
-}
-
-bool AppLaunchId::operator!=(const AppLaunchId& other) const {
-  return !(*this == other);
-}
-
-bool AppLaunchId::operator<(const AppLaunchId& other) const {
-  return app_id < other.app_id ||
-         (app_id == other.app_id && launch_id < other.launch_id);
-}
-
-bool AppLaunchId::IsNull() const {
-  return app_id.empty() && launch_id.empty();
-}
-
-}  // namespace ash
diff --git a/ash/public/cpp/app_launch_id.h b/ash/public/cpp/app_launch_id.h
deleted file mode 100644
index b725840c..0000000
--- a/ash/public/cpp/app_launch_id.h
+++ /dev/null
@@ -1,47 +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 ASH_PUBLIC_CPP_APP_LAUNCH_ID_H_
-#define ASH_PUBLIC_CPP_APP_LAUNCH_ID_H_
-
-#include <string>
-
-#include "ash/public/cpp/ash_public_export.h"
-
-namespace ash {
-
-// A unique shelf item id composed of an |app_id| and a |launch_id|.
-// |app_id| is the non-empty application id associated with a set of windows.
-// |launch_id| is passed on app launch, to support multiple shelf items per app.
-// As an example, a remote desktop client may want each remote application to
-// have its own icon.
-class ASH_PUBLIC_EXPORT AppLaunchId {
- public:
-  AppLaunchId(const std::string& app_id, const std::string& launch_id);
-  // Creates an AppLaunchId with an empty |launch_id|.
-  explicit AppLaunchId(const std::string& app_id);
-  // Empty constructor for pre-allocating.
-  AppLaunchId();
-  ~AppLaunchId();
-
-  AppLaunchId(const AppLaunchId& other);
-  AppLaunchId(AppLaunchId&& other);
-  AppLaunchId& operator=(const AppLaunchId& other);
-  bool operator==(const AppLaunchId& other) const;
-  bool operator!=(const AppLaunchId& other) const;
-  bool operator<(const AppLaunchId& other) const;
-
-  // Returns true if both the application id and launch id are empty.
-  // This is often used to determine if the id is invalid.
-  bool IsNull() const;
-
-  // The application id associated with a set of windows.
-  std::string app_id;
-  // An id passed on app launch, to support multiple shelf items per app.
-  std::string launch_id;
-};
-
-}  // namespace ash
-
-#endif  // ASH_PUBLIC_CPP_APP_LAUNCH_ID_H_
diff --git a/ash/public/cpp/shelf_types.cc b/ash/public/cpp/shelf_types.cc
index a4cb0fd..53d6832 100644
--- a/ash/public/cpp/shelf_types.cc
+++ b/ash/public/cpp/shelf_types.cc
@@ -4,6 +4,8 @@
 
 #include "ash/public/cpp/shelf_types.h"
 
+#include "base/logging.h"
+
 namespace ash {
 
 bool IsValidShelfItemType(int64_t type) {
@@ -12,4 +14,34 @@
          type == TYPE_APP || type == TYPE_DIALOG || type == TYPE_UNDEFINED;
 }
 
+ShelfID::ShelfID(const std::string& app_id, const std::string& launch_id)
+    : app_id(app_id), launch_id(launch_id) {
+  DCHECK(launch_id.empty() || !app_id.empty()) << "launch ids require app ids.";
+}
+
+ShelfID::~ShelfID() = default;
+
+ShelfID::ShelfID(const ShelfID& other) = default;
+
+ShelfID::ShelfID(ShelfID&& other) = default;
+
+ShelfID& ShelfID::operator=(const ShelfID& other) = default;
+
+bool ShelfID::operator==(const ShelfID& other) const {
+  return app_id == other.app_id && launch_id == other.launch_id;
+}
+
+bool ShelfID::operator!=(const ShelfID& other) const {
+  return !(*this == other);
+}
+
+bool ShelfID::operator<(const ShelfID& other) const {
+  return app_id < other.app_id ||
+         (app_id == other.app_id && launch_id < other.launch_id);
+}
+
+bool ShelfID::IsNull() const {
+  return app_id.empty() && launch_id.empty();
+}
+
 }  // namespace ash
diff --git a/ash/public/cpp/shelf_types.h b/ash/public/cpp/shelf_types.h
index c32f9db6..a198dfa 100644
--- a/ash/public/cpp/shelf_types.h
+++ b/ash/public/cpp/shelf_types.h
@@ -6,8 +6,8 @@
 #define ASH_PUBLIC_CPP_SHELF_TYPES_H_
 
 #include <cstdint>
+#include <string>
 
-#include "ash/public/cpp/app_launch_id.h"
 #include "ash/public/cpp/ash_public_export.h"
 
 namespace ash {
@@ -90,9 +90,6 @@
   SHELF_ACTION_APP_LIST_SHOWN,
 };
 
-// TODO(msw): Rename AppLaunchId to ShelfID.
-using ShelfID = AppLaunchId;
-
 // The type of a shelf item.
 enum ShelfItemType {
   // Represents a running app panel.
@@ -135,6 +132,33 @@
   STATUS_ATTENTION,
 };
 
+// A unique shelf item id composed of an |app_id| and a |launch_id|.
+// |app_id| is the non-empty application id associated with a set of windows.
+// |launch_id| is passed on app launch, to support multiple shelf items per app.
+// As an example, a remote desktop client may want each remote application to
+// have its own icon.
+struct ASH_PUBLIC_EXPORT ShelfID {
+  ShelfID(const std::string& app_id = std::string(),
+          const std::string& launch_id = std::string());
+  ~ShelfID();
+
+  ShelfID(const ShelfID& other);
+  ShelfID(ShelfID&& other);
+  ShelfID& operator=(const ShelfID& other);
+  bool operator==(const ShelfID& other) const;
+  bool operator!=(const ShelfID& other) const;
+  bool operator<(const ShelfID& other) const;
+
+  // Returns true if both the application id and launch id are empty.
+  // This is often used to determine if the id is invalid.
+  bool IsNull() const;
+
+  // The application id associated with a set of windows.
+  std::string app_id;
+  // An id passed on app launch, to support multiple shelf items per app.
+  std::string launch_id;
+};
+
 }  // namespace ash
 
 #endif  // ASH_PUBLIC_CPP_SHELF_TYPES_H_
diff --git a/ash/shelf/app_list_shelf_item_delegate.cc b/ash/shelf/app_list_shelf_item_delegate.cc
index 559c2dd64..466759d 100644
--- a/ash/shelf/app_list_shelf_item_delegate.cc
+++ b/ash/shelf/app_list_shelf_item_delegate.cc
@@ -16,7 +16,8 @@
 namespace {
 
 // An app id for the app list, used to identify the shelf item.
-static constexpr char kAppListId[] = "AppListId";
+// Generated as crx_file::id_util::GenerateId("org.chromium.applist")
+static constexpr char kAppListId[] = "jlfapfmkapbjlfbpjedlinehodkccjee";
 
 }  // namespace
 
diff --git a/ash/shelf/shelf_model_unittest.cc b/ash/shelf/shelf_model_unittest.cc
index 12177d7d..1324b11b6 100644
--- a/ash/shelf/shelf_model_unittest.cc
+++ b/ash/shelf/shelf_model_unittest.cc
@@ -15,6 +15,8 @@
 
 namespace {
 
+constexpr char kAppListId[] = "jlfapfmkapbjlfbpjedlinehodkccjee";
+
 // ShelfModelObserver implementation that tracks what message are invoked.
 class TestShelfModelObserver : public ShelfModelObserver {
  public:
@@ -69,7 +71,7 @@
 
     ShelfItem item;
     item.type = TYPE_APP_LIST;
-    item.id = ShelfID("AppListId");
+    item.id = ShelfID(kAppListId);
     model_->Add(item);
     EXPECT_EQ(1, model_->item_count());
 
diff --git a/ash/system/status_area_focus_observer.h b/ash/system/status_area_focus_observer.h
new file mode 100644
index 0000000..29c6870
--- /dev/null
+++ b/ash/system/status_area_focus_observer.h
@@ -0,0 +1,25 @@
+// 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 ASH_SYSTEM_STATUS_AREA_FOCUS_OBSERVER_H_
+#define ASH_SYSTEM_STATUS_AREA_FOCUS_OBSERVER_H_
+
+#include "ash/ash_export.h"
+#include "base/macros.h"
+
+namespace ash {
+
+// A class that observes status-area-related events.
+class ASH_EXPORT StatusAreaFocusObserver {
+ public:
+  // Called if the status area is going to focus out.
+  virtual void OnFocusOut(bool reverse) = 0;
+
+ protected:
+  virtual ~StatusAreaFocusObserver() {}
+};
+
+}  // namespace ash
+
+#endif  // ASH_SYSTEM_STATUS_AREA_FOCUS_OBSERVER_H_
diff --git a/ash/system/status_area_widget_delegate.cc b/ash/system/status_area_widget_delegate.cc
index 1209ba5..603f64d 100644
--- a/ash/system/status_area_widget_delegate.cc
+++ b/ash/system/status_area_widget_delegate.cc
@@ -6,9 +6,12 @@
 
 #include "ash/focus_cycler.h"
 #include "ash/root_window_controller.h"
+#include "ash/session/session_controller.h"
 #include "ash/shelf/shelf_constants.h"
 #include "ash/shelf/wm_shelf.h"
 #include "ash/shell.h"
+#include "ash/system/status_area_widget.h"
+#include "ash/system/tray/system_tray.h"
 #include "ash/system/tray/tray_constants.h"
 #include "ash/wm_window.h"
 #include "ui/compositor/layer.h"
@@ -20,6 +23,8 @@
 
 namespace {
 
+using session_manager::SessionState;
+
 constexpr int kAnimationDurationMs = 250;
 
 constexpr int kPaddingFromEdgeOfShelf = 3;
@@ -45,6 +50,15 @@
 
 namespace ash {
 
+// static
+StatusAreaWidgetDelegate* StatusAreaWidgetDelegate::GetPrimaryInstance() {
+  SystemTray* tray = Shell::Get()->GetPrimarySystemTray();
+  return tray ? tray->shelf()
+                    ->GetStatusAreaWidget()
+                    ->status_area_widget_delegate()
+              : nullptr;
+}
+
 StatusAreaWidgetDelegate::StatusAreaWidgetDelegate(WmShelf* wm_shelf)
     : wm_shelf_(wm_shelf), focus_cycler_for_testing_(nullptr) {
   DCHECK(wm_shelf_);
@@ -63,8 +77,20 @@
   focus_cycler_for_testing_ = focus_cycler;
 }
 
+bool StatusAreaWidgetDelegate::ShouldFocusOut(bool reverse) {
+  if (Shell::Get()->session_controller()->GetSessionState() ==
+      SessionState::ACTIVE) {
+    return false;
+  }
+
+  views::View* focused_view = GetFocusManager()->GetFocusedView();
+  return (reverse && focused_view == GetFirstFocusableChild()) ||
+         (!reverse && focused_view == GetLastFocusableChild());
+}
+
 views::View* StatusAreaWidgetDelegate::GetDefaultFocusableChild() {
-  return child_at(0);
+  return default_last_focusable_child_ ? GetLastFocusableChild()
+                                       : GetFirstFocusableChild();
 }
 
 views::Widget* StatusAreaWidgetDelegate::GetWidget() {
diff --git a/ash/system/status_area_widget_delegate.h b/ash/system/status_area_widget_delegate.h
index 38a248b1..893c520e 100644
--- a/ash/system/status_area_widget_delegate.h
+++ b/ash/system/status_area_widget_delegate.h
@@ -23,6 +23,10 @@
   explicit StatusAreaWidgetDelegate(WmShelf* wm_shelf);
   ~StatusAreaWidgetDelegate() override;
 
+  // Returns status area widget delegate from primary system tray if exists,
+  // otherwise nullptr.
+  static StatusAreaWidgetDelegate* GetPrimaryInstance();
+
   // Add a tray view to the widget (e.g. system tray, web notifications).
   void AddTray(views::View* tray);
 
@@ -32,6 +36,11 @@
   // Sets the focus cycler.
   void SetFocusCyclerForTesting(const FocusCycler* focus_cycler);
 
+  // If |reverse|, indicates backward focusing, otherwise forward focusing.
+  // Returns true if status area widget delegate should focus out on the
+  // designated focusing direction, otherwise false.
+  bool ShouldFocusOut(bool reverse);
+
   // Overridden from views::AccessiblePaneView.
   View* GetDefaultFocusableChild() override;
 
@@ -46,6 +55,10 @@
   bool CanActivate() const override;
   void DeleteDelegate() override;
 
+  void set_default_last_focusable_child(bool default_last_focusable_child) {
+    default_last_focusable_child_ = default_last_focusable_child;
+  }
+
  protected:
   // Overridden from views::View:
   void ChildPreferredSizeChanged(views::View* child) override;
@@ -62,6 +75,10 @@
   WmShelf* const wm_shelf_;
   const FocusCycler* focus_cycler_for_testing_;
 
+  // When true, the default focus of the status area widget is the last
+  // focusable child.
+  bool default_last_focusable_child_ = false;
+
   DISALLOW_COPY_AND_ASSIGN(StatusAreaWidgetDelegate);
 };
 
diff --git a/ash/system/status_area_widget_unittest.cc b/ash/system/status_area_widget_unittest.cc
index 36f9140..873f0488 100644
--- a/ash/system/status_area_widget_unittest.cc
+++ b/ash/system/status_area_widget_unittest.cc
@@ -5,18 +5,27 @@
 #include "ash/system/status_area_widget.h"
 
 #include "ash/ash_switches.h"
+#include "ash/focus_cycler.h"
+#include "ash/session/session_controller.h"
+#include "ash/shell.h"
 #include "ash/system/ime_menu/ime_menu_tray.h"
 #include "ash/system/overview/overview_button_tray.h"
 #include "ash/system/palette/palette_tray.h"
 #include "ash/system/session/logout_button_tray.h"
+#include "ash/system/status_area_focus_observer.h"
 #include "ash/system/tray/system_tray.h"
+#include "ash/system/tray/system_tray_notifier.h"
 #include "ash/system/virtual_keyboard/virtual_keyboard_tray.h"
 #include "ash/system/web_notification/web_notification_tray.h"
 #include "ash/test/ash_test_base.h"
 #include "ash/test/status_area_widget_test_helper.h"
+#include "ash/test/test_session_controller_client.h"
 #include "base/command_line.h"
+#include "components/session_manager/session_manager_types.h"
 #include "ui/aura/env.h"
 
+using session_manager::SessionState;
+
 namespace ash {
 
 using StatusAreaWidgetTest = test::AshTestBase;
@@ -56,6 +65,118 @@
   EXPECT_FALSE(status->virtual_keyboard_tray_for_testing()->visible());
 }
 
+class StatusAreaFocusTestObserver : public StatusAreaFocusObserver {
+ public:
+  StatusAreaFocusTestObserver() {}
+  ~StatusAreaFocusTestObserver() override {}
+
+  int focus_out_count() { return focus_out_count_; }
+  int reverse_focus_out_count() { return reverse_focus_out_count_; }
+
+ protected:
+  // StatusAreaFocusObserver overridden:
+  void OnFocusOut(bool reverse) override {
+    reverse ? ++reverse_focus_out_count_ : ++focus_out_count_;
+  }
+
+ private:
+  int focus_out_count_ = 0;
+  int reverse_focus_out_count_ = 0;
+
+  DISALLOW_COPY_AND_ASSIGN(StatusAreaFocusTestObserver);
+};
+
+class StatusAreaWidgetFocusTest : public test::AshTestBase {
+ public:
+  StatusAreaWidgetFocusTest() {}
+  ~StatusAreaWidgetFocusTest() override {}
+
+  // test::AshTestBase overridden:
+  void SetUp() override {
+    AshTestBase::SetUp();
+    test_observer_.reset(new StatusAreaFocusTestObserver);
+    Shell::Get()->system_tray_notifier()->AddStatusAreaFocusObserver(
+        test_observer_.get());
+  }
+
+  // test::AshTestBase overridden:
+  void TearDown() override {
+    Shell::Get()->system_tray_notifier()->RemoveStatusAreaFocusObserver(
+        test_observer_.get());
+    test_observer_.reset();
+    AshTestBase::TearDown();
+  }
+
+  void GenerateTabEvent(bool reverse) {
+    ui::KeyEvent tab_pressed(ui::ET_KEY_PRESSED, ui::VKEY_TAB,
+                             reverse ? ui::EF_SHIFT_DOWN : ui::EF_NONE);
+    StatusAreaWidgetTestHelper::GetStatusAreaWidget()->OnKeyEvent(&tab_pressed);
+  }
+
+ protected:
+  std::unique_ptr<StatusAreaFocusTestObserver> test_observer_;
+
+ private:
+  DISALLOW_COPY_AND_ASSIGN(StatusAreaWidgetFocusTest);
+};
+
+// Tests that tab traversal through status area widget in non-active session
+// could properly send FocusOut event.
+TEST_F(StatusAreaWidgetFocusTest, FocusOutObserver) {
+  // Set session state to LOCKED.
+  SessionController* session = Shell::Get()->session_controller();
+  ASSERT_TRUE(session->IsActiveUserSessionStarted());
+  test::TestSessionControllerClient* client = GetSessionControllerClient();
+  client->SetSessionState(SessionState::LOCKED);
+  ASSERT_TRUE(session->IsScreenLocked());
+
+  StatusAreaWidget* status = StatusAreaWidgetTestHelper::GetStatusAreaWidget();
+  // Default trays are constructed.
+  ASSERT_TRUE(status->overview_button_tray());
+  ASSERT_TRUE(status->system_tray());
+  ASSERT_TRUE(status->web_notification_tray());
+  ASSERT_TRUE(status->logout_button_tray_for_testing());
+  ASSERT_TRUE(status->ime_menu_tray());
+  ASSERT_TRUE(status->virtual_keyboard_tray_for_testing());
+
+  // Needed because WebNotificationTray updates its initial visibility
+  // asynchronously.
+  RunAllPendingInMessageLoop();
+
+  // Default trays are visible.
+  ASSERT_FALSE(status->overview_button_tray()->visible());
+  ASSERT_TRUE(status->system_tray()->visible());
+  ASSERT_TRUE(status->web_notification_tray()->visible());
+  ASSERT_FALSE(status->logout_button_tray_for_testing()->visible());
+  ASSERT_FALSE(status->ime_menu_tray()->visible());
+  ASSERT_FALSE(status->virtual_keyboard_tray_for_testing()->visible());
+
+  // Set focus to status area widget, which will be be system tray.
+  ASSERT_TRUE(Shell::Get()->focus_cycler()->FocusWidget(status));
+  views::FocusManager* focus_manager = status->GetFocusManager();
+  EXPECT_EQ(status->system_tray(), focus_manager->GetFocusedView());
+
+  // A tab key event will move focus to web notification tray.
+  GenerateTabEvent(false);
+  EXPECT_EQ(status->web_notification_tray(), focus_manager->GetFocusedView());
+  EXPECT_EQ(0, test_observer_->focus_out_count());
+  EXPECT_EQ(0, test_observer_->reverse_focus_out_count());
+
+  // Another tab key event will send FocusOut event, since we are not handling
+  // this event, focus will still be moved to system tray.
+  GenerateTabEvent(false);
+  EXPECT_EQ(status->system_tray(), focus_manager->GetFocusedView());
+  EXPECT_EQ(1, test_observer_->focus_out_count());
+  EXPECT_EQ(0, test_observer_->reverse_focus_out_count());
+
+  // A reverse tab key event will send reverse FocusOut event, since we are not
+  // handling this event, focus will still be moved to web notification tray.
+  GenerateTabEvent(true);
+  EXPECT_EQ(status->web_notification_tray(), focus_manager->GetFocusedView());
+  EXPECT_EQ(1, test_observer_->focus_out_count());
+  EXPECT_EQ(1, test_observer_->reverse_focus_out_count());
+}
+
 class StatusAreaWidgetPaletteTest : public test::AshTestBase {
  public:
   StatusAreaWidgetPaletteTest() {}
diff --git a/ash/system/tray/system_tray_notifier.cc b/ash/system/tray/system_tray_notifier.cc
index 8d66f65f..6eb56b35 100644
--- a/ash/system/tray/system_tray_notifier.cc
+++ b/ash/system/tray/system_tray_notifier.cc
@@ -16,6 +16,7 @@
 #include "ash/system/session/last_window_closed_observer.h"
 #include "ash/system/session/logout_button_observer.h"
 #include "ash/system/session/session_length_limit_observer.h"
+#include "ash/system/status_area_focus_observer.h"
 #include "ash/system/tray_tracing.h"
 #include "ash/system/virtual_keyboard/virtual_keyboard_observer.h"
 
@@ -248,6 +249,21 @@
     observer.OnSessionLengthLimitChanged();
 }
 
+void SystemTrayNotifier::AddStatusAreaFocusObserver(
+    StatusAreaFocusObserver* observer) {
+  status_area_focus_observers_.AddObserver(observer);
+}
+
+void SystemTrayNotifier::RemoveStatusAreaFocusObserver(
+    StatusAreaFocusObserver* observer) {
+  status_area_focus_observers_.RemoveObserver(observer);
+}
+
+void SystemTrayNotifier::NotifyFocusOut(bool reverse) {
+  for (auto& observer : status_area_focus_observers_)
+    observer.OnFocusOut(reverse);
+}
+
 void SystemTrayNotifier::AddTracingObserver(TracingObserver* observer) {
   tracing_observers_.AddObserver(observer);
 }
diff --git a/ash/system/tray/system_tray_notifier.h b/ash/system/tray/system_tray_notifier.h
index 20a5a9f..5402898 100644
--- a/ash/system/tray/system_tray_notifier.h
+++ b/ash/system/tray/system_tray_notifier.h
@@ -29,6 +29,7 @@
 class ScreenCaptureObserver;
 class ScreenShareObserver;
 class SessionLengthLimitObserver;
+class StatusAreaFocusObserver;
 class TracingObserver;
 class VirtualKeyboardObserver;
 
@@ -116,6 +117,11 @@
   void NotifySessionStartTimeChanged();
   void NotifySessionLengthLimitChanged();
 
+  // Status area focus.
+  void AddStatusAreaFocusObserver(StatusAreaFocusObserver* observer);
+  void RemoveStatusAreaFocusObserver(StatusAreaFocusObserver* observer);
+  void NotifyFocusOut(bool reverse);
+
   // Tracing.
   void AddTracingObserver(TracingObserver* observer);
   void RemoveTracingObserver(TracingObserver* observer);
@@ -141,6 +147,7 @@
   base::ObserverList<ScreenShareObserver> screen_share_observers_;
   base::ObserverList<SessionLengthLimitObserver>
       session_length_limit_observers_;
+  base::ObserverList<StatusAreaFocusObserver> status_area_focus_observers_;
   base::ObserverList<TracingObserver> tracing_observers_;
   base::ObserverList<VirtualKeyboardObserver> virtual_keyboard_observers_;
 
diff --git a/ash/system/tray/tray_background_view.cc b/ash/system/tray/tray_background_view.cc
index b26fd6f..ceefaacb 100644
--- a/ash/system/tray/tray_background_view.cc
+++ b/ash/system/tray/tray_background_view.cc
@@ -9,6 +9,9 @@
 #include "ash/ash_constants.h"
 #include "ash/shelf/shelf_constants.h"
 #include "ash/shelf/wm_shelf.h"
+#include "ash/shell.h"
+#include "ash/system/status_area_widget_delegate.h"
+#include "ash/system/tray/system_tray_notifier.h"
 #include "ash/system/tray/tray_constants.h"
 #include "ash/system/tray/tray_container.h"
 #include "ash/system/tray/tray_event_filter.h"
@@ -240,10 +243,10 @@
 }
 
 void TrayBackgroundView::AboutToRequestFocusFromTabTraversal(bool reverse) {
-  // Return focus to the login view. See crbug.com/120500.
-  views::View* v = GetNextFocusableView();
-  if (v)
-    v->AboutToRequestFocusFromTabTraversal(reverse);
+  StatusAreaWidgetDelegate* delegate =
+      StatusAreaWidgetDelegate::GetPrimaryInstance();
+  if (delegate && delegate->ShouldFocusOut(reverse))
+    Shell::Get()->system_tray_notifier()->NotifyFocusOut(reverse);
 }
 
 std::unique_ptr<views::InkDropRipple> TrayBackgroundView::CreateInkDropRipple()
diff --git a/base/BUILD.gn b/base/BUILD.gn
index c5c8561a..7ab61ccc 100644
--- a/base/BUILD.gn
+++ b/base/BUILD.gn
@@ -507,6 +507,7 @@
     "memory/scoped_vector.h",
     "memory/shared_memory.h",
     "memory/shared_memory_android.cc",
+    "memory/shared_memory_handle.cc",
     "memory/shared_memory_handle.h",
     "memory/shared_memory_handle_mac.cc",
     "memory/shared_memory_handle_win.cc",
diff --git a/base/memory/shared_memory.h b/base/memory/shared_memory.h
index 89bc24a..35067e6 100644
--- a/base/memory/shared_memory.h
+++ b/base/memory/shared_memory.h
@@ -63,8 +63,10 @@
   bool share_read_only = false;
 };
 
-// Platform abstraction for shared memory.  Provides a C++ wrapper
-// around the OS primitive for a memory mapped file.
+// Platform abstraction for shared memory.
+// SharedMemory consumes a SharedMemoryHandle [potentially one that it created]
+// to map a shared memory OS resource into the virtual address space of the
+// current process.
 class BASE_EXPORT SharedMemory {
  public:
   SharedMemory();
diff --git a/base/memory/shared_memory_android.cc b/base/memory/shared_memory_android.cc
index ad9145fc..da3c5953 100644
--- a/base/memory/shared_memory_android.cc
+++ b/base/memory/shared_memory_android.cc
@@ -42,7 +42,8 @@
 
   // Android doesn't appear to have a way to drop write access on an ashmem
   // segment for a single descriptor.  http://crbug.com/320865
-  readonly_shm_ = SharedMemoryHandle::ImportHandle(dup(shm_.GetHandle()));
+  readonly_shm_ = SharedMemoryHandle(
+      base::FileDescriptor(dup(shm_.GetHandle()), false), shm_.GetGUID());
   if (!readonly_shm_.IsValid()) {
     DPLOG(ERROR) << "dup() failed";
     return false;
diff --git a/base/memory/shared_memory_handle.cc b/base/memory/shared_memory_handle.cc
new file mode 100644
index 0000000..3461cde
--- /dev/null
+++ b/base/memory/shared_memory_handle.cc
@@ -0,0 +1,19 @@
+// 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 "base/memory/shared_memory_handle.h"
+
+namespace base {
+
+SharedMemoryHandle::SharedMemoryHandle(const SharedMemoryHandle& handle) =
+    default;
+
+SharedMemoryHandle& SharedMemoryHandle::operator=(
+    const SharedMemoryHandle& handle) = default;
+
+base::UnguessableToken SharedMemoryHandle::GetGUID() const {
+  return guid_;
+}
+
+}  // namespace base
diff --git a/base/memory/shared_memory_handle.h b/base/memory/shared_memory_handle.h
index 044c9c9..469eba2 100644
--- a/base/memory/shared_memory_handle.h
+++ b/base/memory/shared_memory_handle.h
@@ -7,6 +7,7 @@
 
 #include <stddef.h>
 
+#include "base/unguessable_token.h"
 #include "build/build_config.h"
 
 #if defined(OS_WIN)
@@ -25,8 +26,12 @@
 
 namespace base {
 
-// SharedMemoryHandle is a platform specific type which represents
-// the underlying OS handle to a shared memory segment.
+// SharedMemoryHandle is the smallest possible IPC-transportable "reference" to
+// a shared memory OS resource. A "reference" can be consumed exactly once [by
+// base::SharedMemory] to map the shared memory OS resource into the virtual
+// address space of the current process.
+// TODO(erikchen): This class should have strong ownership semantics to prevent
+// leaks of the underlying OS resource. https://crbug.com/640840.
 class BASE_EXPORT SharedMemoryHandle {
  public:
   // The default constructor returns an invalid SharedMemoryHandle.
@@ -61,6 +66,11 @@
   // resource.
   SharedMemoryHandle Duplicate() const;
 
+  // Uniques identifies the shared memory region that the underlying OS resource
+  // points to. Multiple SharedMemoryHandles that point to the same shared
+  // memory region will have the same GUID. Preserved across IPC.
+  base::UnguessableToken GetGUID() const;
+
 #if defined(OS_MACOSX) && !defined(OS_IOS)
   enum Type {
     // The SharedMemoryHandle is backed by a POSIX fd.
@@ -76,15 +86,23 @@
   // common for existing code to make shallow copies of SharedMemoryHandle, and
   // the one that is finally passed into a base::SharedMemory is the one that
   // "consumes" the fd.
-  explicit SharedMemoryHandle(const base::FileDescriptor& file_descriptor);
+  // |guid| uniquely identifies the shared memory region pointed to by the
+  // underlying OS resource. If |file_descriptor| is associated with another
+  // SharedMemoryHandle, the caller must pass the |guid| of that
+  // SharedMemoryHandle. Otherwise, the caller should generate a new
+  // UnguessableToken.
+  SharedMemoryHandle(const base::FileDescriptor& file_descriptor,
+                     const base::UnguessableToken& guid);
 
   // Makes a Mach-based SharedMemoryHandle of the given size. On error,
   // subsequent calls to IsValid() return false.
-  explicit SharedMemoryHandle(mach_vm_size_t size);
+  SharedMemoryHandle(mach_vm_size_t size, const base::UnguessableToken& guid);
 
   // Makes a Mach-based SharedMemoryHandle from |memory_object|, a named entry
   // in the current task. The memory region has size |size|.
-  SharedMemoryHandle(mach_port_t memory_object, mach_vm_size_t size);
+  SharedMemoryHandle(mach_port_t memory_object,
+                     mach_vm_size_t size,
+                     const base::UnguessableToken& guid);
 
   // Exposed so that the SharedMemoryHandle can be transported between
   // processes.
@@ -101,15 +119,21 @@
   bool MapAt(off_t offset, size_t bytes, void** memory, bool read_only);
 #elif defined(OS_WIN)
   // Takes implicit ownership of |h|.
-  SharedMemoryHandle(HANDLE h);
-
+  // |guid| uniquely identifies the shared memory region pointed to by the
+  // underlying OS resource. If the HANDLE is associated with another
+  // SharedMemoryHandle, the caller must pass the |guid| of that
+  // SharedMemoryHandle. Otherwise, the caller should generate a new
+  // UnguessableToken.
+  SharedMemoryHandle(HANDLE h, const base::UnguessableToken& guid);
   HANDLE GetHandle() const;
 #else
-  // This constructor is deprecated, as it fails to propagate the GUID, which
-  // will be added in the near future.
-  // TODO(rockot): Remove this constructor once Mojo supports GUIDs.
-  // https://crbug.com/713763.
-  explicit SharedMemoryHandle(const base::FileDescriptor& file_descriptor);
+  // |guid| uniquely identifies the shared memory region pointed to by the
+  // underlying OS resource. If |file_descriptor| is associated with another
+  // SharedMemoryHandle, the caller must pass the |guid| of that
+  // SharedMemoryHandle. Otherwise, the caller should generate a new
+  // UnguessableToken.
+  SharedMemoryHandle(const base::FileDescriptor& file_descriptor,
+                     const base::UnguessableToken& guid);
 
   // Creates a SharedMemoryHandle from an |fd| supplied from an external
   // service.
@@ -130,9 +154,6 @@
 #if defined(OS_MACOSX) && !defined(OS_IOS)
   friend class SharedMemory;
 
-  // Shared code between copy constructor and operator=.
-  void CopyRelevantData(const SharedMemoryHandle& handle);
-
   Type type_;
 
   // Each instance of a SharedMemoryHandle is backed either by a POSIX fd or a
@@ -166,6 +187,8 @@
 #else
   FileDescriptor file_descriptor_;
 #endif
+
+  base::UnguessableToken guid_;
 };
 
 }  // namespace base
diff --git a/base/memory/shared_memory_handle_mac.cc b/base/memory/shared_memory_handle_mac.cc
index 3f1d4d83..45e3754 100644
--- a/base/memory/shared_memory_handle_mac.cc
+++ b/base/memory/shared_memory_handle_mac.cc
@@ -12,6 +12,7 @@
 #include "base/mac/mac_util.h"
 #include "base/mac/mach_logging.h"
 #include "base/posix/eintr_wrapper.h"
+#include "base/unguessable_token.h"
 
 namespace base {
 
@@ -19,10 +20,12 @@
     : type_(MACH), memory_object_(MACH_PORT_NULL) {}
 
 SharedMemoryHandle::SharedMemoryHandle(
-    const base::FileDescriptor& file_descriptor)
-    : type_(POSIX), file_descriptor_(file_descriptor) {}
+    const base::FileDescriptor& file_descriptor,
+    const base::UnguessableToken& guid)
+    : type_(POSIX), file_descriptor_(file_descriptor), guid_(guid) {}
 
-SharedMemoryHandle::SharedMemoryHandle(mach_vm_size_t size) {
+SharedMemoryHandle::SharedMemoryHandle(mach_vm_size_t size,
+                                       const base::UnguessableToken& guid) {
   type_ = MACH;
   mach_port_t named_right;
   kern_return_t kr = mach_make_memory_entry_64(
@@ -40,28 +43,17 @@
   memory_object_ = named_right;
   size_ = size;
   ownership_passes_to_ipc_ = false;
+  guid_ = guid;
 }
 
 SharedMemoryHandle::SharedMemoryHandle(mach_port_t memory_object,
-                                       mach_vm_size_t size)
+                                       mach_vm_size_t size,
+                                       const base::UnguessableToken& guid)
     : type_(MACH),
       memory_object_(memory_object),
       size_(size),
-      ownership_passes_to_ipc_(false) {}
-
-SharedMemoryHandle::SharedMemoryHandle(const SharedMemoryHandle& handle) {
-  CopyRelevantData(handle);
-}
-
-SharedMemoryHandle& SharedMemoryHandle::operator=(
-    const SharedMemoryHandle& handle) {
-  if (this == &handle)
-    return *this;
-
-  type_ = handle.type_;
-  CopyRelevantData(handle);
-  return *this;
-}
+      ownership_passes_to_ipc_(false),
+      guid_(guid) {}
 
 SharedMemoryHandle SharedMemoryHandle::Duplicate() const {
   switch (type_) {
@@ -71,7 +63,7 @@
       int duped_fd = HANDLE_EINTR(dup(file_descriptor_.fd));
       if (duped_fd < 0)
         return SharedMemoryHandle();
-      return SharedMemoryHandle(FileDescriptor(duped_fd, true));
+      return SharedMemoryHandle(FileDescriptor(duped_fd, true), guid_);
     }
     case MACH: {
       if (!IsValid())
@@ -177,18 +169,4 @@
   return ownership_passes_to_ipc_;
 }
 
-void SharedMemoryHandle::CopyRelevantData(const SharedMemoryHandle& handle) {
-  type_ = handle.type_;
-  switch (type_) {
-    case POSIX:
-      file_descriptor_ = handle.file_descriptor_;
-      break;
-    case MACH:
-      memory_object_ = handle.memory_object_;
-      size_ = handle.size_;
-      ownership_passes_to_ipc_ = handle.ownership_passes_to_ipc_;
-      break;
-  }
-}
-
 }  // namespace base
diff --git a/base/memory/shared_memory_handle_posix.cc b/base/memory/shared_memory_handle_posix.cc
index 3e9a403..b974559 100644
--- a/base/memory/shared_memory_handle_posix.cc
+++ b/base/memory/shared_memory_handle_posix.cc
@@ -8,24 +8,23 @@
 
 #include "base/logging.h"
 #include "base/posix/eintr_wrapper.h"
+#include "base/unguessable_token.h"
 
 namespace base {
 
 SharedMemoryHandle::SharedMemoryHandle() = default;
-SharedMemoryHandle::SharedMemoryHandle(const SharedMemoryHandle& handle) =
-    default;
-SharedMemoryHandle& SharedMemoryHandle::operator=(
-    const SharedMemoryHandle& handle) = default;
 
 SharedMemoryHandle::SharedMemoryHandle(
-    const base::FileDescriptor& file_descriptor)
-    : file_descriptor_(file_descriptor) {}
+    const base::FileDescriptor& file_descriptor,
+    const base::UnguessableToken& guid)
+    : file_descriptor_(file_descriptor), guid_(guid) {}
 
 // static
 SharedMemoryHandle SharedMemoryHandle::ImportHandle(int fd) {
   SharedMemoryHandle handle;
   handle.file_descriptor_.fd = fd;
   handle.file_descriptor_.auto_close = false;
+  handle.guid_ = UnguessableToken::Create();
   return handle;
 }
 
@@ -59,7 +58,7 @@
   int duped_handle = HANDLE_EINTR(dup(file_descriptor_.fd));
   if (duped_handle < 0)
     return SharedMemoryHandle();
-  return SharedMemoryHandle(FileDescriptor(duped_handle, true));
+  return SharedMemoryHandle(FileDescriptor(duped_handle, true), GetGUID());
 }
 
 void SharedMemoryHandle::SetOwnershipPassesToIPC(bool ownership_passes) {
diff --git a/base/memory/shared_memory_handle_win.cc b/base/memory/shared_memory_handle_win.cc
index 7480151..75930c02 100644
--- a/base/memory/shared_memory_handle_win.cc
+++ b/base/memory/shared_memory_handle_win.cc
@@ -5,28 +5,16 @@
 #include "base/memory/shared_memory_handle.h"
 
 #include "base/logging.h"
+#include "base/unguessable_token.h"
 
 namespace base {
 
 SharedMemoryHandle::SharedMemoryHandle()
     : handle_(nullptr), ownership_passes_to_ipc_(false) {}
 
-SharedMemoryHandle::SharedMemoryHandle(HANDLE h)
-    : handle_(h), ownership_passes_to_ipc_(false) {}
-
-SharedMemoryHandle::SharedMemoryHandle(const SharedMemoryHandle& handle)
-    : handle_(handle.handle_),
-      ownership_passes_to_ipc_(handle.ownership_passes_to_ipc_) {}
-
-SharedMemoryHandle& SharedMemoryHandle::operator=(
-    const SharedMemoryHandle& handle) {
-  if (this == &handle)
-    return *this;
-
-  handle_ = handle.handle_;
-  ownership_passes_to_ipc_ = handle.ownership_passes_to_ipc_;
-  return *this;
-}
+SharedMemoryHandle::SharedMemoryHandle(HANDLE h,
+                                       const base::UnguessableToken& guid)
+    : handle_(h), ownership_passes_to_ipc_(false), guid_(guid) {}
 
 void SharedMemoryHandle::Close() const {
   DCHECK(handle_ != nullptr);
@@ -45,7 +33,7 @@
   if (!success)
     return SharedMemoryHandle();
 
-  base::SharedMemoryHandle handle(duped_handle);
+  base::SharedMemoryHandle handle(duped_handle, GetGUID());
   handle.SetOwnershipPassesToIPC(true);
   return handle;
 }
diff --git a/base/memory/shared_memory_mac.cc b/base/memory/shared_memory_mac.cc
index 2bee9e21..0970fa01 100644
--- a/base/memory/shared_memory_mac.cc
+++ b/base/memory/shared_memory_mac.cc
@@ -25,6 +25,7 @@
 #include "base/scoped_generic.h"
 #include "base/strings/utf_string_conversions.h"
 #include "base/threading/thread_restrictions.h"
+#include "base/unguessable_token.h"
 #include "build/build_config.h"
 
 #if defined(OS_MACOSX)
@@ -74,7 +75,7 @@
   if (kr != KERN_SUCCESS)
     return false;
 
-  *new_handle = SharedMemoryHandle(named_right, size);
+  *new_handle = SharedMemoryHandle(named_right, size, handle.GetGUID());
   return true;
 }
 
@@ -149,7 +150,7 @@
     return false;
 
   if (options.type == SharedMemoryHandle::MACH) {
-    shm_ = SharedMemoryHandle(options.size);
+    shm_ = SharedMemoryHandle(options.size, UnguessableToken::Create());
     requested_size_ = options.size;
     return shm_.IsValid();
   }
@@ -187,9 +188,10 @@
   int readonly_mapped_file = -1;
   result = PrepareMapFile(std::move(fp), std::move(readonly_fd), &mapped_file,
                           &readonly_mapped_file);
-  shm_ = SharedMemoryHandle(FileDescriptor(mapped_file, false));
-  readonly_shm_ =
-      SharedMemoryHandle(FileDescriptor(readonly_mapped_file, false));
+  shm_ = SharedMemoryHandle(FileDescriptor(mapped_file, false),
+                            UnguessableToken::Create());
+  readonly_shm_ = SharedMemoryHandle(
+      FileDescriptor(readonly_mapped_file, false), shm_.GetGUID());
   return result;
 }
 
@@ -237,8 +239,8 @@
 SharedMemoryHandle SharedMemory::handle() const {
   switch (shm_.type_) {
     case SharedMemoryHandle::POSIX:
-      return SharedMemoryHandle(
-          FileDescriptor(shm_.file_descriptor_.fd, false));
+      return SharedMemoryHandle(FileDescriptor(shm_.file_descriptor_.fd, false),
+                                shm_.GetGUID());
     case SharedMemoryHandle::MACH:
       return shm_;
   }
diff --git a/base/memory/shared_memory_mac_unittest.cc b/base/memory/shared_memory_mac_unittest.cc
index bfb0368..8e75825 100644
--- a/base/memory/shared_memory_mac_unittest.cc
+++ b/base/memory/shared_memory_mac_unittest.cc
@@ -20,6 +20,7 @@
 #include "base/sys_info.h"
 #include "base/test/multiprocess_test.h"
 #include "base/test/test_timeouts.h"
+#include "base/unguessable_token.h"
 #include "testing/multiprocess_func_list.h"
 
 namespace base {
@@ -55,7 +56,7 @@
 
 // Creates a new SharedMemory with the given |size|, filled with 'a'.
 std::unique_ptr<SharedMemory> CreateSharedMemory(int size) {
-  SharedMemoryHandle shm(size);
+  SharedMemoryHandle shm(size, UnguessableToken::Create());
   if (!shm.IsValid()) {
     LOG(ERROR) << "Failed to make SharedMemoryHandle";
     return nullptr;
@@ -247,7 +248,8 @@
   // The next mach port should be for a memory object.
   mach_port_t memory_object = ReceiveMachPort(client_port.get());
   SharedMemoryHandle shm(memory_object,
-                         SharedMemoryMacMultiProcessTest::s_memory_size);
+                         SharedMemoryMacMultiProcessTest::s_memory_size,
+                         UnguessableToken::Create());
   SharedMemory shared_memory(shm, false);
   shared_memory.Map(SharedMemoryMacMultiProcessTest::s_memory_size);
   const char* start = static_cast<const char*>(shared_memory.memory());
@@ -261,7 +263,7 @@
 TEST_F(SharedMemoryMacMultiProcessTest, MachBasedSharedMemoryWithOffset) {
   SetUpChild("MachBasedSharedMemoryWithOffsetClient");
 
-  SharedMemoryHandle shm(s_memory_size);
+  SharedMemoryHandle shm(s_memory_size, UnguessableToken::Create());
   ASSERT_TRUE(shm.IsValid());
   SharedMemory shared_memory(shm, false);
   shared_memory.Map(s_memory_size);
@@ -286,7 +288,8 @@
   // The next mach port should be for a memory object.
   mach_port_t memory_object = ReceiveMachPort(client_port.get());
   SharedMemoryHandle shm(memory_object,
-                         SharedMemoryMacMultiProcessTest::s_memory_size);
+                         SharedMemoryMacMultiProcessTest::s_memory_size,
+                         UnguessableToken::Create());
   SharedMemory shared_memory(shm, false);
   size_t page_size = SysInfo::VMAllocationGranularity();
   shared_memory.MapAt(page_size, 2 * page_size);
@@ -306,7 +309,7 @@
   mach_msg_type_number_t active_name_count = GetActiveNameCount();
 
   // Making a new SharedMemoryHandle increments the name count.
-  SharedMemoryHandle shm(s_memory_size);
+  SharedMemoryHandle shm(s_memory_size, UnguessableToken::Create());
   ASSERT_TRUE(shm.IsValid());
   EXPECT_EQ(active_name_count + 1, GetActiveNameCount());
 
@@ -345,7 +348,7 @@
   mach_msg_type_number_t active_name_count = GetActiveNameCount();
 
   // Making a new SharedMemoryHandle increments the name count.
-  SharedMemoryHandle shm(s_memory_size);
+  SharedMemoryHandle shm(s_memory_size, UnguessableToken::Create());
   ASSERT_TRUE(shm.IsValid());
   EXPECT_EQ(active_name_count + 1, GetActiveNameCount());
 
@@ -408,6 +411,7 @@
   // Make a new memory object.
   SharedMemoryHandle shm2 = shared_memory->GetReadOnlyHandle();
   ASSERT_TRUE(shm2.IsValid());
+  EXPECT_EQ(shared_memory->handle().GetGUID(), shm2.GetGUID());
 
   // Mapping with |readonly| set to |false| should fail.
   SharedMemory shared_memory2(shm2, false);
diff --git a/base/memory/shared_memory_posix.cc b/base/memory/shared_memory_posix.cc
index 0444e59..f44e3a2 100644
--- a/base/memory/shared_memory_posix.cc
+++ b/base/memory/shared_memory_posix.cc
@@ -23,6 +23,7 @@
 #include "base/strings/utf_string_conversions.h"
 #include "base/threading/thread_restrictions.h"
 #include "base/trace_event/trace_event.h"
+#include "base/unguessable_token.h"
 #include "build/build_config.h"
 
 #if defined(OS_ANDROID)
@@ -211,8 +212,10 @@
   int readonly_mapped_file = -1;
   bool result = PrepareMapFile(std::move(fp), std::move(readonly_fd),
                                &mapped_file, &readonly_mapped_file);
-  shm_ = SharedMemoryHandle::ImportHandle(mapped_file);
-  readonly_shm_ = SharedMemoryHandle::ImportHandle(readonly_mapped_file);
+  shm_ = SharedMemoryHandle(base::FileDescriptor(mapped_file, false),
+                            UnguessableToken::Create());
+  readonly_shm_ = SharedMemoryHandle(
+      base::FileDescriptor(readonly_mapped_file, false), shm_.GetGUID());
   return result;
 }
 
@@ -249,8 +252,18 @@
   int readonly_mapped_file = -1;
   bool result = PrepareMapFile(std::move(fp), std::move(readonly_fd),
                                &mapped_file, &readonly_mapped_file);
-  shm_ = SharedMemoryHandle::ImportHandle(mapped_file);
-  readonly_shm_ = SharedMemoryHandle::ImportHandle(readonly_mapped_file);
+  // This form of sharing shared memory is deprecated. https://crbug.com/345734.
+  // However, we can't get rid of it without a significant refactor because its
+  // used to communicate between two versions of the same service process, very
+  // early in the life cycle.
+  // Technically, we should also pass the GUID from the original shared memory
+  // region. We don't do that - this means that we will overcount this memory,
+  // which thankfully isn't relevant since Chrome only communicates with a
+  // single version of the service process.
+  shm_ = SharedMemoryHandle(base::FileDescriptor(mapped_file, false),
+                            UnguessableToken::Create());
+  readonly_shm_ = SharedMemoryHandle(
+      base::FileDescriptor(readonly_mapped_file, false), shm_.GetGUID());
   return result;
 }
 #endif  // !defined(OS_ANDROID)
diff --git a/base/memory/shared_memory_unittest.cc b/base/memory/shared_memory_unittest.cc
index 2cc7968..98698ec 100644
--- a/base/memory/shared_memory_unittest.cc
+++ b/base/memory/shared_memory_unittest.cc
@@ -19,6 +19,7 @@
 #include "base/test/multiprocess_test.h"
 #include "base/threading/platform_thread.h"
 #include "base/time/time.h"
+#include "base/unguessable_token.h"
 #include "build/build_config.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "testing/multiprocess_func_list.h"
@@ -333,6 +334,7 @@
   EXPECT_TRUE(writable_shmem.Unmap());
 
   SharedMemoryHandle readonly_handle = writable_shmem.GetReadOnlyHandle();
+  EXPECT_EQ(writable_shmem.handle().GetGUID(), readonly_handle.GetGUID());
   ASSERT_TRUE(readonly_handle.IsValid());
   SharedMemory readonly_shmem(readonly_handle, /*readonly=*/true);
 
@@ -605,7 +607,8 @@
   EXPECT_EQ(nullptr, shared_memory_open.memory());
 
   SharedMemory shared_memory_handle_local(
-      SharedMemoryHandle(section_handle.Take()), true);
+      SharedMemoryHandle(section_handle.Take(), UnguessableToken::Create()),
+      true);
   EXPECT_FALSE(shared_memory_handle_local.Map(1));
   EXPECT_EQ(nullptr, shared_memory_handle_local.memory());
 
@@ -620,7 +623,7 @@
       ::GetCurrentProcess(), shared_memory_handle_dummy.handle().GetHandle(),
       ::GetCurrentProcess(), &handle_no_query, FILE_MAP_READ, FALSE, 0));
   SharedMemory shared_memory_handle_no_query(
-      SharedMemoryHandle(handle_no_query), true);
+      SharedMemoryHandle(handle_no_query, UnguessableToken::Create()), true);
   EXPECT_FALSE(shared_memory_handle_no_query.Map(1));
   EXPECT_EQ(nullptr, shared_memory_handle_no_query.memory());
 }
diff --git a/base/memory/shared_memory_win.cc b/base/memory/shared_memory_win.cc
index daa700da..e19b77558 100644
--- a/base/memory/shared_memory_win.cc
+++ b/base/memory/shared_memory_win.cc
@@ -13,6 +13,7 @@
 #include "base/rand_util.h"
 #include "base/strings/stringprintf.h"
 #include "base/strings/utf_string_conversions.h"
+#include "base/unguessable_token.h"
 
 namespace {
 
@@ -240,8 +241,9 @@
                          rand_values[2], rand_values[3]);
   }
   DCHECK(!name_.empty());
-  shm_ = SharedMemoryHandle(CreateFileMappingWithReducedPermissions(
-      &sa, rounded_size, name_.c_str()));
+  shm_ = SharedMemoryHandle(
+      CreateFileMappingWithReducedPermissions(&sa, rounded_size, name_.c_str()),
+      UnguessableToken::Create());
   if (!shm_.IsValid()) {
     // The error is logged within CreateFileMappingWithReducedPermissions().
     return false;
@@ -279,8 +281,18 @@
     access |= FILE_MAP_WRITE;
   name_ = ASCIIToUTF16(name);
   read_only_ = read_only;
+
+  // This form of sharing shared memory is deprecated. https://crbug.com/345734.
+  // However, we can't get rid of it without a significant refactor because its
+  // used to communicate between two versions of the same service process, very
+  // early in the life cycle.
+  // Technically, we should also pass the GUID from the original shared memory
+  // region. We don't do that - this means that we will overcount this memory,
+  // which thankfully isn't relevant since Chrome only communicates with a
+  // single version of the service process.
   shm_ = SharedMemoryHandle(
-      OpenFileMapping(access, false, name_.empty() ? nullptr : name_.c_str()));
+      OpenFileMapping(access, false, name_.empty() ? nullptr : name_.c_str()),
+      UnguessableToken::Create());
   if (!shm_.IsValid())
     return false;
   // If a name specified assume it's an external section.
@@ -332,7 +344,7 @@
                          FILE_MAP_READ | SECTION_QUERY, FALSE, 0)) {
     return SharedMemoryHandle();
   }
-  SharedMemoryHandle handle = SharedMemoryHandle(result);
+  SharedMemoryHandle handle = SharedMemoryHandle(result, shm_.GetGUID());
   handle.SetOwnershipPassesToIPC(true);
   return handle;
 }
diff --git a/base/metrics/field_trial.cc b/base/metrics/field_trial.cc
index e6274bb..78602f1 100644
--- a/base/metrics/field_trial.cc
+++ b/base/metrics/field_trial.cc
@@ -19,6 +19,7 @@
 #include "base/strings/string_util.h"
 #include "base/strings/stringprintf.h"
 #include "base/strings/utf_string_conversions.h"
+#include "base/unguessable_token.h"
 
 // On POSIX, the fd is shared using the mapping in GlobalDescriptors.
 #if defined(OS_POSIX) && !defined(OS_NACL)
@@ -1137,7 +1138,9 @@
     const std::string& handle_switch) {
   int field_trial_handle = std::stoi(handle_switch);
   HANDLE handle = reinterpret_cast<HANDLE>(field_trial_handle);
-  SharedMemoryHandle shm_handle(handle);
+  // TODO(erikchen): Plumb a GUID for this SharedMemoryHandle.
+  // https://crbug.com/713763.
+  SharedMemoryHandle shm_handle(handle, base::UnguessableToken::Create());
   return FieldTrialList::CreateTrialsFromSharedMemoryHandle(shm_handle);
 }
 #endif
@@ -1155,7 +1158,10 @@
   if (fd == -1)
     return false;
 
-  SharedMemoryHandle shm_handle(FileDescriptor(fd, true));
+  // TODO(erikchen): Plumb a GUID for this SharedMemoryHandle.
+  // https://crbug.com/713763.
+  SharedMemoryHandle shm_handle(FileDescriptor(fd, true),
+                                base::UnguessableToken::Create());
 
   bool result = FieldTrialList::CreateTrialsFromSharedMemoryHandle(shm_handle);
   DCHECK(result);
diff --git a/cc/paint/BUILD.gn b/cc/paint/BUILD.gn
index 11f9fdac..7669b28f 100644
--- a/cc/paint/BUILD.gn
+++ b/cc/paint/BUILD.gn
@@ -15,6 +15,8 @@
     "compositing_display_item.h",
     "discardable_image_map.cc",
     "discardable_image_map.h",
+    "discardable_image_store.cc",
+    "discardable_image_store.h",
     "display_item.h",
     "display_item_list.cc",
     "display_item_list.h",
diff --git a/cc/paint/discardable_image_map.cc b/cc/paint/discardable_image_map.cc
index 04b6155..fa45b242a 100644
--- a/cc/paint/discardable_image_map.cc
+++ b/cc/paint/discardable_image_map.cc
@@ -9,261 +9,19 @@
 #include <algorithm>
 #include <limits>
 
-#include "base/containers/adapters.h"
-#include "base/containers/flat_map.h"
 #include "base/memory/ptr_util.h"
-#include "cc/base/math_util.h"
-#include "cc/paint/display_item_list.h"
-#include "third_party/skia/include/core/SkPath.h"
-#include "third_party/skia/include/utils/SkNWayCanvas.h"
-#include "ui/gfx/geometry/rect_conversions.h"
-#include "ui/gfx/skia_util.h"
+#include "cc/paint/discardable_image_store.h"
 
 namespace cc {
 
-SkRect MapRect(const SkMatrix& matrix, const SkRect& src) {
-  SkRect dst;
-  matrix.mapRect(&dst, src);
-  return dst;
-}
-
-// Returns a rect clamped to |max_size|. Note that |paint_rect| should intersect
-// or be contained by a rect defined by (0, 0) and |max_size|.
-gfx::Rect SafeClampPaintRectToSize(const SkRect& paint_rect,
-                                   const gfx::Size& max_size) {
-  // bounds_rect.x() + bounds_rect.width() (aka bounds_rect.right()) might
-  // overflow integer bounds, so do custom intersect, since gfx::Rect::Intersect
-  // uses bounds_rect.right().
-  gfx::RectF bounds_rect = gfx::SkRectToRectF(paint_rect);
-  float x_offset_if_negative = bounds_rect.x() < 0.f ? bounds_rect.x() : 0.f;
-  float y_offset_if_negative = bounds_rect.y() < 0.f ? bounds_rect.y() : 0.f;
-  bounds_rect.set_x(std::max(0.f, bounds_rect.x()));
-  bounds_rect.set_y(std::max(0.f, bounds_rect.y()));
-
-  // Verify that the rects intersect or that bound_rect is contained by
-  // max_size.
-  DCHECK_GE(bounds_rect.width(), -x_offset_if_negative);
-  DCHECK_GE(bounds_rect.height(), -y_offset_if_negative);
-  DCHECK_GE(max_size.width(), bounds_rect.x());
-  DCHECK_GE(max_size.height(), bounds_rect.y());
-
-  bounds_rect.set_width(std::min(bounds_rect.width() + x_offset_if_negative,
-                                 max_size.width() - bounds_rect.x()));
-  bounds_rect.set_height(std::min(bounds_rect.height() + y_offset_if_negative,
-                                  max_size.height() - bounds_rect.y()));
-  return gfx::ToEnclosingRect(bounds_rect);
-}
-
-namespace {
-
-// We're using an NWay canvas with no added canvases, so in effect
-// non-overridden functions are no-ops.
-class DiscardableImagesMetadataCanvas : public SkNWayCanvas {
- public:
-  DiscardableImagesMetadataCanvas(
-      int width,
-      int height,
-      std::vector<std::pair<DrawImage, gfx::Rect>>* image_set,
-      base::flat_map<ImageId, gfx::Rect>* image_id_to_rect)
-      : SkNWayCanvas(width, height),
-        image_set_(image_set),
-        image_id_to_rect_(image_id_to_rect),
-        canvas_bounds_(SkRect::MakeIWH(width, height)),
-        canvas_size_(width, height) {}
-
- protected:
-  // we need to "undo" the behavior of SkNWayCanvas, which will try to forward
-  // it.
-  void onDrawPicture(const SkPicture* picture,
-                     const SkMatrix* matrix,
-                     const SkPaint* paint) override {
-    SkCanvas::onDrawPicture(picture, matrix, paint);
-  }
-
-  void onDrawImage(const SkImage* image,
-                   SkScalar x,
-                   SkScalar y,
-                   const SkPaint* paint) override {
-    const SkMatrix& ctm = getTotalMatrix();
-    AddImage(
-        sk_ref_sp(image), SkRect::MakeIWH(image->width(), image->height()),
-        MapRect(ctm, SkRect::MakeXYWH(x, y, image->width(), image->height())),
-        ctm, paint);
-  }
-
-  void onDrawImageRect(const SkImage* image,
-                       const SkRect* src,
-                       const SkRect& dst,
-                       const SkPaint* paint,
-                       SrcRectConstraint) override {
-    const SkMatrix& ctm = getTotalMatrix();
-    SkRect src_storage;
-    if (!src) {
-      src_storage = SkRect::MakeIWH(image->width(), image->height());
-      src = &src_storage;
-    }
-    SkMatrix matrix;
-    matrix.setRectToRect(*src, dst, SkMatrix::kFill_ScaleToFit);
-    matrix.preConcat(ctm);
-    AddImage(sk_ref_sp(image), *src, MapRect(ctm, dst), matrix, paint);
-  }
-
-  void onDrawImageNine(const SkImage* image,
-                       const SkIRect& center,
-                       const SkRect& dst,
-                       const SkPaint* paint) override {
-    // No cc embedder issues image nine calls.
-    NOTREACHED();
-  }
-
-  void onDrawRect(const SkRect& r, const SkPaint& paint) override {
-    AddPaintImage(r, paint);
-  }
-
-  void onDrawPath(const SkPath& path, const SkPaint& paint) override {
-    AddPaintImage(path.getBounds(), paint);
-  }
-
-  void onDrawOval(const SkRect& r, const SkPaint& paint) override {
-    AddPaintImage(r, paint);
-  }
-
-  void onDrawArc(const SkRect& r,
-                 SkScalar start_angle,
-                 SkScalar sweep_angle,
-                 bool use_center,
-                 const SkPaint& paint) override {
-    AddPaintImage(r, paint);
-  }
-
-  void onDrawRRect(const SkRRect& rr, const SkPaint& paint) override {
-    AddPaintImage(rr.rect(), paint);
-  }
-
-  SaveLayerStrategy getSaveLayerStrategy(const SaveLayerRec& rec) override {
-    saved_paints_.push_back(rec.fPaint ? *rec.fPaint : SkPaint());
-    return SkNWayCanvas::getSaveLayerStrategy(rec);
-  }
-
-  void willSave() override {
-    saved_paints_.push_back(SkPaint());
-    return SkNWayCanvas::willSave();
-  }
-
-  void willRestore() override {
-    DCHECK_GT(saved_paints_.size(), 0u);
-    saved_paints_.pop_back();
-    SkNWayCanvas::willRestore();
-  }
-
- private:
-  bool ComputePaintBounds(const SkRect& rect,
-                          const SkPaint* current_paint,
-                          SkRect* paint_bounds) {
-    *paint_bounds = rect;
-    if (current_paint) {
-      if (!current_paint->canComputeFastBounds())
-        return false;
-      *paint_bounds =
-          current_paint->computeFastBounds(*paint_bounds, paint_bounds);
-    }
-
-    for (const auto& paint : base::Reversed(saved_paints_)) {
-      if (!paint.canComputeFastBounds())
-        return false;
-      *paint_bounds = paint.computeFastBounds(*paint_bounds, paint_bounds);
-    }
-
-    return true;
-  }
-
-  void AddImage(sk_sp<const SkImage> image,
-                const SkRect& src_rect,
-                const SkRect& rect,
-                const SkMatrix& matrix,
-                const SkPaint* paint) {
-    if (!image->isLazyGenerated())
-      return;
-
-    SkRect paint_rect;
-    bool computed_paint_bounds = ComputePaintBounds(rect, paint, &paint_rect);
-    if (!computed_paint_bounds) {
-      // TODO(vmpstr): UMA this case.
-      paint_rect = canvas_bounds_;
-    }
-
-    if (!paint_rect.intersects(canvas_bounds_))
-      return;
-
-    SkFilterQuality filter_quality = kNone_SkFilterQuality;
-    if (paint) {
-      filter_quality = paint->getFilterQuality();
-    }
-
-    SkIRect src_irect;
-    src_rect.roundOut(&src_irect);
-    gfx::Rect image_rect = SafeClampPaintRectToSize(paint_rect, canvas_size_);
-
-    // During raster, we use the device clip bounds on the canvas, which outsets
-    // the actual clip by 1 due to the possibility of antialiasing. Account for
-    // this here by outsetting the image rect by 1. Note that this only affects
-    // queries into the rtree, which will now return images that only touch the
-    // bounds of the query rect.
-    //
-    // Note that it's not sufficient for us to inset the device clip bounds at
-    // raster time, since we might be sending a larger-than-one-item display
-    // item to skia, which means that skia will internally determine whether to
-    // raster the picture (using device clip bounds that are outset).
-    image_rect.Inset(-1, -1);
-
-    // The true target color space will be assigned when it is known, in
-    // GetDiscardableImagesInRect.
-    gfx::ColorSpace target_color_space;
-
-    (*image_id_to_rect_)[image->uniqueID()].Union(image_rect);
-    image_set_->push_back(
-        std::make_pair(DrawImage(std::move(image), src_irect, filter_quality,
-                                 matrix, target_color_space),
-                       image_rect));
-  }
-
-  // Currently this function only handles extracting images from SkImageShaders
-  // embedded in SkPaints. Other embedded image cases, such as SkPictures,
-  // are not yet handled.
-  void AddPaintImage(const SkRect& rect, const SkPaint& paint) {
-    SkShader* shader = paint.getShader();
-    if (shader) {
-      SkMatrix matrix;
-      SkShader::TileMode xy[2];
-      SkImage* image = shader->isAImage(&matrix, xy);
-      if (image) {
-        const SkMatrix& ctm = getTotalMatrix();
-        matrix.postConcat(ctm);
-        // TODO(ericrk): Handle cases where we only need a sub-rect from the
-        // image. crbug.com/671821
-        AddImage(sk_ref_sp(image), SkRect::MakeFromIRect(image->bounds()),
-                 MapRect(ctm, rect), matrix, &paint);
-      }
-    }
-  }
-
-  std::vector<std::pair<DrawImage, gfx::Rect>>* image_set_;
-  base::flat_map<ImageId, gfx::Rect>* image_id_to_rect_;
-  const SkRect canvas_bounds_;
-  const gfx::Size canvas_size_;
-  std::vector<SkPaint> saved_paints_;
-};
-
-}  // namespace
-
 DiscardableImageMap::DiscardableImageMap() {}
 
 DiscardableImageMap::~DiscardableImageMap() {}
 
-std::unique_ptr<SkCanvas> DiscardableImageMap::BeginGeneratingMetadata(
-    const gfx::Size& bounds) {
+std::unique_ptr<DiscardableImageStore>
+DiscardableImageMap::BeginGeneratingMetadata(const gfx::Size& bounds) {
   DCHECK(all_images_.empty());
-  return base::MakeUnique<DiscardableImagesMetadataCanvas>(
+  return base::MakeUnique<DiscardableImageStore>(
       bounds.width(), bounds.height(), &all_images_, &image_id_to_rect_);
 }
 
@@ -297,7 +55,7 @@
     DiscardableImageMap* image_map,
     const gfx::Size& bounds)
     : image_map_(image_map),
-      metadata_canvas_(image_map->BeginGeneratingMetadata(bounds)) {}
+      image_store_(image_map->BeginGeneratingMetadata(bounds)) {}
 
 DiscardableImageMap::ScopedMetadataGenerator::~ScopedMetadataGenerator() {
   image_map_->EndGeneratingMetadata();
diff --git a/cc/paint/discardable_image_map.h b/cc/paint/discardable_image_map.h
index 5a84fb8..881698f 100644
--- a/cc/paint/discardable_image_map.h
+++ b/cc/paint/discardable_image_map.h
@@ -13,15 +13,15 @@
 #include "cc/paint/draw_image.h"
 #include "cc/paint/image_id.h"
 #include "cc/paint/paint_export.h"
+#include "cc/paint/paint_flags.h"
+#include "cc/paint/paint_image.h"
 #include "third_party/skia/include/core/SkCanvas.h"
 #include "third_party/skia/include/core/SkRefCnt.h"
 #include "ui/gfx/geometry/rect.h"
 #include "ui/gfx/geometry/size.h"
 
 namespace cc {
-
-// Helper function to apply the matrix to the rect and return the result.
-SkRect MapRect(const SkMatrix& matrix, const SkRect& src);
+class DiscardableImageStore;
 
 // This class is used for generating discardable images data (see DrawImage
 // for the type of data it stores). It allows the client to query a particular
@@ -34,11 +34,11 @@
                             const gfx::Size& bounds);
     ~ScopedMetadataGenerator();
 
-    SkCanvas* canvas() { return metadata_canvas_.get(); }
+    DiscardableImageStore* image_store() { return image_store_.get(); }
 
    private:
     DiscardableImageMap* image_map_;
-    std::unique_ptr<SkCanvas> metadata_canvas_;
+    std::unique_ptr<DiscardableImageStore> image_store_;
   };
 
   DiscardableImageMap();
@@ -55,7 +55,8 @@
   friend class ScopedMetadataGenerator;
   friend class DiscardableImageMapTest;
 
-  std::unique_ptr<SkCanvas> BeginGeneratingMetadata(const gfx::Size& bounds);
+  std::unique_ptr<DiscardableImageStore> BeginGeneratingMetadata(
+      const gfx::Size& bounds);
   void EndGeneratingMetadata();
 
   std::vector<std::pair<DrawImage, gfx::Rect>> all_images_;
diff --git a/cc/paint/discardable_image_map_unittest.cc b/cc/paint/discardable_image_map_unittest.cc
index eb687ad2..d9ab8fd1 100644
--- a/cc/paint/discardable_image_map_unittest.cc
+++ b/cc/paint/discardable_image_map_unittest.cc
@@ -11,6 +11,10 @@
 #include "base/memory/ref_counted.h"
 #include "base/values.h"
 #include "cc/base/region.h"
+#include "cc/paint/clip_display_item.h"
+#include "cc/paint/discardable_image_store.h"
+#include "cc/paint/paint_flags.h"
+#include "cc/paint/paint_recorder.h"
 #include "cc/test/fake_content_layer_client.h"
 #include "cc/test/fake_recording_source.h"
 #include "cc/test/skia_common.h"
@@ -35,6 +39,20 @@
   SkSize scale;
 };
 
+sk_sp<PaintRecord> CreateRecording(
+    const sk_sp<const SkImage>& discardable_image,
+    const gfx::Rect& visible_rect) {
+  PaintRecorder recorder;
+  PaintCanvas* canvas =
+      recorder.beginRecording(visible_rect.width(), visible_rect.height());
+  canvas->drawImage(
+      PaintImage(discardable_image, PaintImage::AnimationType::STATIC,
+                 PaintImage::CompletionState::DONE),
+      0, 0, nullptr);
+  sk_sp<PaintRecord> record = recorder.finishRecordingAsPicture();
+  return record;
+}
+
 }  // namespace
 
 class DiscardableImageMapTest : public testing::Test {
@@ -111,13 +129,10 @@
   scoped_refptr<DisplayItemList> display_list =
       content_layer_client.PaintContentsToDisplayList(
           ContentLayerClient::PAINTING_BEHAVIOR_NORMAL);
+  display_list->GenerateDiscardableImagesMetadata();
 
-  DiscardableImageMap image_map;
-  {
-    DiscardableImageMap::ScopedMetadataGenerator generator(&image_map,
-                                                           visible_rect.size());
-    display_list->Raster(generator.canvas(), nullptr, gfx::Rect(), 1.f);
-  }
+  const DiscardableImageMap& image_map =
+      display_list->discardable_image_map_for_testing();
 
   for (int y = 0; y < 4; ++y) {
     for (int x = 0; x < 4; ++x) {
@@ -198,13 +213,10 @@
   scoped_refptr<DisplayItemList> display_list =
       content_layer_client.PaintContentsToDisplayList(
           ContentLayerClient::PAINTING_BEHAVIOR_NORMAL);
+  display_list->GenerateDiscardableImagesMetadata();
 
-  DiscardableImageMap image_map;
-  {
-    DiscardableImageMap::ScopedMetadataGenerator generator(&image_map,
-                                                           layer_size);
-    display_list->Raster(generator.canvas(), nullptr, gfx::Rect(), 1.f);
-  }
+  const DiscardableImageMap& image_map =
+      display_list->discardable_image_map_for_testing();
 
   for (int y = 0; y < 4; ++y) {
     for (int x = 0; x < 4; ++x) {
@@ -314,13 +326,10 @@
   scoped_refptr<DisplayItemList> display_list =
       content_layer_client.PaintContentsToDisplayList(
           ContentLayerClient::PAINTING_BEHAVIOR_NORMAL);
+  display_list->GenerateDiscardableImagesMetadata();
 
-  DiscardableImageMap image_map;
-  {
-    DiscardableImageMap::ScopedMetadataGenerator generator(&image_map,
-                                                           visible_rect.size());
-    display_list->Raster(generator.canvas(), nullptr, gfx::Rect(), 1.f);
-  }
+  const DiscardableImageMap& image_map =
+      display_list->discardable_image_map_for_testing();
 
   for (int y = 0; y < 4; ++y) {
     for (int x = 0; x < 4; ++x) {
@@ -356,13 +365,10 @@
   scoped_refptr<DisplayItemList> display_list =
       content_layer_client.PaintContentsToDisplayList(
           ContentLayerClient::PAINTING_BEHAVIOR_NORMAL);
+  display_list->GenerateDiscardableImagesMetadata();
 
-  DiscardableImageMap image_map;
-  {
-    DiscardableImageMap::ScopedMetadataGenerator generator(&image_map,
-                                                           visible_rect.size());
-    display_list->Raster(generator.canvas(), nullptr, gfx::Rect(), 1.f);
-  }
+  const DiscardableImageMap& image_map =
+      display_list->discardable_image_map_for_testing();
   std::vector<PositionScaleDrawImage> images =
       GetDiscardableImagesInRect(image_map, gfx::Rect(0, 0, 1, 1));
   std::vector<gfx::Rect> inset_rects = InsetImageRects(images);
@@ -379,18 +385,20 @@
   content_layer_client.set_bounds(visible_rect.size());
 
   sk_sp<SkImage> discardable_image = CreateDiscardableImage(gfx::Size(10, 10));
+  sk_sp<PaintRecord> record = CreateRecording(discardable_image, visible_rect);
 
   DiscardableImageMap image_map;
   {
     DiscardableImageMap::ScopedMetadataGenerator generator(&image_map,
                                                            visible_rect.size());
+    DiscardableImageStore* image_store = generator.image_store();
     {
       std::unique_ptr<SkPaint> paint(new SkPaint());
-      generator.canvas()->saveLayer(gfx::RectToSkRect(visible_rect),
-                                    paint.get());
+      image_store->GetNoDrawCanvas()->saveLayer(gfx::RectToSkRect(visible_rect),
+                                                paint.get());
     }
-    generator.canvas()->drawImage(discardable_image, 0, 0, nullptr);
-    generator.canvas()->restore();
+    image_store->GatherDiscardableImages(record.get());
+    image_store->GetNoDrawCanvas()->restore();
   }
 
   std::vector<PositionScaleDrawImage> images =
@@ -405,15 +413,18 @@
   content_layer_client.set_bounds(visible_rect.size());
 
   sk_sp<SkImage> discardable_image = CreateDiscardableImage(gfx::Size(10, 10));
+  sk_sp<PaintRecord> record = CreateRecording(discardable_image, visible_rect);
 
   DiscardableImageMap image_map;
   {
     DiscardableImageMap::ScopedMetadataGenerator generator(&image_map,
                                                            visible_rect.size());
+    DiscardableImageStore* image_store = generator.image_store();
     SkPaint* null_paint = nullptr;
-    generator.canvas()->saveLayer(gfx::RectToSkRect(visible_rect), null_paint);
-    generator.canvas()->drawImage(discardable_image, 0, 0, nullptr);
-    generator.canvas()->restore();
+    image_store->GetNoDrawCanvas()->saveLayer(gfx::RectToSkRect(visible_rect),
+                                              null_paint);
+    image_store->GatherDiscardableImages(record.get());
+    image_store->GetNoDrawCanvas()->restore();
   }
 
   std::vector<PositionScaleDrawImage> images =
@@ -437,13 +448,10 @@
   scoped_refptr<DisplayItemList> display_list =
       content_layer_client.PaintContentsToDisplayList(
           ContentLayerClient::PAINTING_BEHAVIOR_NORMAL);
+  display_list->GenerateDiscardableImagesMetadata();
 
-  DiscardableImageMap image_map;
-  {
-    DiscardableImageMap::ScopedMetadataGenerator generator(&image_map,
-                                                           visible_rect.size());
-    display_list->Raster(generator.canvas(), nullptr, visible_rect, 1.f);
-  }
+  const DiscardableImageMap& image_map =
+      display_list->discardable_image_map_for_testing();
   std::vector<PositionScaleDrawImage> images =
       GetDiscardableImagesInRect(image_map, gfx::Rect(42, 42, 1, 1));
   std::vector<gfx::Rect> inset_rects = InsetImageRects(images);
@@ -479,13 +487,10 @@
   scoped_refptr<DisplayItemList> display_list =
       content_layer_client.PaintContentsToDisplayList(
           ContentLayerClient::PAINTING_BEHAVIOR_NORMAL);
+  display_list->GenerateDiscardableImagesMetadata();
 
-  DiscardableImageMap image_map;
-  {
-    DiscardableImageMap::ScopedMetadataGenerator generator(&image_map,
-                                                           visible_rect.size());
-    display_list->Raster(generator.canvas(), nullptr, visible_rect, 1.f);
-  }
+  const DiscardableImageMap& image_map =
+      display_list->discardable_image_map_for_testing();
   std::vector<PositionScaleDrawImage> images =
       GetDiscardableImagesInRect(image_map, gfx::Rect(0, 0, 1, 1));
   std::vector<gfx::Rect> inset_rects = InsetImageRects(images);
@@ -534,13 +539,10 @@
   scoped_refptr<DisplayItemList> display_list =
       content_layer_client.PaintContentsToDisplayList(
           ContentLayerClient::PAINTING_BEHAVIOR_NORMAL);
+  display_list->GenerateDiscardableImagesMetadata();
 
-  DiscardableImageMap image_map;
-  {
-    DiscardableImageMap::ScopedMetadataGenerator generator(&image_map,
-                                                           visible_rect.size());
-    display_list->Raster(generator.canvas(), nullptr, visible_rect, 1.f);
-  }
+  const DiscardableImageMap& image_map =
+      display_list->discardable_image_map_for_testing();
   std::vector<PositionScaleDrawImage> images =
       GetDiscardableImagesInRect(image_map, gfx::Rect(0, 0, 1, 1));
   std::vector<gfx::Rect> inset_rects = InsetImageRects(images);
@@ -607,13 +609,10 @@
   scoped_refptr<DisplayItemList> display_list =
       content_layer_client.PaintContentsToDisplayList(
           ContentLayerClient::PAINTING_BEHAVIOR_NORMAL);
+  display_list->GenerateDiscardableImagesMetadata();
 
-  DiscardableImageMap image_map;
-  {
-    DiscardableImageMap::ScopedMetadataGenerator generator(&image_map,
-                                                           visible_rect.size());
-    display_list->Raster(generator.canvas(), nullptr, gfx::Rect(), 1.f);
-  }
+  const DiscardableImageMap& image_map =
+      display_list->discardable_image_map_for_testing();
 
   for (int y = 0; y < 4; ++y) {
     for (int x = 0; x < 4; ++x) {
@@ -649,4 +648,75 @@
   EXPECT_EQ(gfx::Rect(2 * 512 + 6, 3 * 512 + 6, 500, 500), inset_rects[3]);
 }
 
+TEST_F(DiscardableImageMapTest, ClipsImageRects) {
+  gfx::Rect visible_rect(500, 500);
+
+  sk_sp<const SkImage> discardable_image =
+      CreateDiscardableImage(gfx::Size(500, 500));
+  sk_sp<PaintRecord> record = CreateRecording(discardable_image, visible_rect);
+
+  scoped_refptr<DisplayItemList> display_list = new DisplayItemList;
+  display_list->CreateAndAppendPairedBeginItem<ClipDisplayItem>(
+      gfx::Rect(250, 250), std::vector<SkRRect>(), false);
+  display_list->CreateAndAppendDrawingItem<DrawingDisplayItem>(
+      gfx::Rect(500, 500), record);
+  display_list->CreateAndAppendPairedEndItem<EndClipDisplayItem>();
+  display_list->Finalize();
+  display_list->GenerateDiscardableImagesMetadata();
+
+  const DiscardableImageMap& image_map =
+      display_list->discardable_image_map_for_testing();
+  std::vector<PositionScaleDrawImage> images =
+      GetDiscardableImagesInRect(image_map, visible_rect);
+  std::vector<gfx::Rect> inset_rects = InsetImageRects(images);
+  EXPECT_EQ(1u, images.size());
+  EXPECT_TRUE(images[0].image == discardable_image);
+  EXPECT_EQ(gfx::Rect(250, 250), inset_rects[0]);
+}
+
+TEST_F(DiscardableImageMapTest, GathersDiscardableImagesFromNestedOps) {
+  sk_sp<PaintRecord> internal_record = sk_make_sp<PaintRecord>();
+  sk_sp<SkImage> discardable_image =
+      CreateDiscardableImage(gfx::Size(100, 100));
+  internal_record->push<DrawImageOp>(
+      PaintImage(discardable_image, PaintImage::AnimationType::STATIC,
+                 PaintImage::CompletionState::DONE),
+      0.f, 0.f, nullptr);
+
+  sk_sp<PaintRecord> list_record = sk_make_sp<PaintRecord>();
+  sk_sp<SkImage> discardable_image2 =
+      CreateDiscardableImage(gfx::Size(100, 100));
+  list_record->push<DrawImageOp>(
+      PaintImage(discardable_image2, PaintImage::AnimationType::STATIC,
+                 PaintImage::CompletionState::DONE),
+      100.f, 100.f, nullptr);
+  scoped_refptr<DisplayItemList> display_list = new DisplayItemList;
+  display_list->CreateAndAppendDrawingItem<DrawingDisplayItem>(
+      gfx::Rect(100, 100, 100, 100), list_record);
+  display_list->Finalize();
+
+  PaintOpBuffer buffer;
+  buffer.push<DrawRecordOp>(internal_record);
+  buffer.push<DrawDisplayItemListOp>(display_list);
+  DiscardableImageMap image_map_;
+  {
+    DiscardableImageMap::ScopedMetadataGenerator generator(&image_map_,
+                                                           gfx::Size(200, 200));
+    generator.image_store()->GatherDiscardableImages(&buffer);
+  }
+
+  gfx::ColorSpace target_color_space;
+  std::vector<DrawImage> images;
+  image_map_.GetDiscardableImagesInRect(gfx::Rect(0, 0, 5, 95), 1.f,
+                                        target_color_space, &images);
+  EXPECT_EQ(1u, images.size());
+  EXPECT_TRUE(discardable_image == images[0].image());
+
+  images.clear();
+  image_map_.GetDiscardableImagesInRect(gfx::Rect(105, 105, 5, 95), 1.f,
+                                        target_color_space, &images);
+  EXPECT_EQ(1u, images.size());
+  EXPECT_TRUE(discardable_image2 == images[0].image());
+}
+
 }  // namespace cc
diff --git a/cc/paint/discardable_image_store.cc b/cc/paint/discardable_image_store.cc
new file mode 100644
index 0000000..0c77a0c
--- /dev/null
+++ b/cc/paint/discardable_image_store.cc
@@ -0,0 +1,254 @@
+// 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 "cc/paint/discardable_image_store.h"
+
+#include "base/containers/adapters.h"
+#include "base/memory/ptr_util.h"
+#include "cc/paint/display_item_list.h"
+#include "third_party/skia/include/utils/SkNoDrawCanvas.h"
+#include "ui/gfx/geometry/rect_conversions.h"
+#include "ui/gfx/skia_util.h"
+
+namespace cc {
+namespace {
+
+SkRect MapRect(const SkMatrix& matrix, const SkRect& src) {
+  SkRect dst;
+  matrix.mapRect(&dst, src);
+  return dst;
+}
+
+}  // namespace
+
+class DiscardableImageStore::PaintTrackingCanvas : public SkNoDrawCanvas {
+ public:
+  PaintTrackingCanvas(int width, int height) : SkNoDrawCanvas(width, height) {}
+  ~PaintTrackingCanvas() override = default;
+
+  bool ComputePaintBounds(const SkRect& rect,
+                          const SkPaint* current_paint,
+                          SkRect* paint_bounds) {
+    *paint_bounds = rect;
+    if (current_paint) {
+      if (!current_paint->canComputeFastBounds())
+        return false;
+      *paint_bounds =
+          current_paint->computeFastBounds(*paint_bounds, paint_bounds);
+    }
+
+    for (const auto& paint : base::Reversed(saved_paints_)) {
+      if (!paint.canComputeFastBounds())
+        return false;
+      *paint_bounds = paint.computeFastBounds(*paint_bounds, paint_bounds);
+    }
+
+    return true;
+  }
+
+ protected:
+  SaveLayerStrategy getSaveLayerStrategy(const SaveLayerRec& rec) override {
+    saved_paints_.push_back(rec.fPaint ? *rec.fPaint : SkPaint());
+    return SkNoDrawCanvas::getSaveLayerStrategy(rec);
+  }
+
+  void willSave() override {
+    saved_paints_.push_back(SkPaint());
+    return SkNoDrawCanvas::willSave();
+  }
+
+  void willRestore() override {
+    DCHECK_GT(saved_paints_.size(), 0u);
+    saved_paints_.pop_back();
+    SkNoDrawCanvas::willRestore();
+  }
+
+ private:
+  std::vector<SkPaint> saved_paints_;
+};
+
+DiscardableImageStore::DiscardableImageStore(
+    int width,
+    int height,
+    std::vector<std::pair<DrawImage, gfx::Rect>>* image_set,
+    base::flat_map<ImageId, gfx::Rect>* image_id_to_rect)
+    : canvas_(base::MakeUnique<PaintTrackingCanvas>(width, height)),
+      image_set_(image_set),
+      image_id_to_rect_(image_id_to_rect) {}
+
+DiscardableImageStore::~DiscardableImageStore() = default;
+
+SkNoDrawCanvas* DiscardableImageStore::GetNoDrawCanvas() {
+  return canvas_.get();
+}
+
+void DiscardableImageStore::GatherDiscardableImages(
+    const PaintOpBuffer* buffer) {
+  if (!buffer->HasDiscardableImages())
+    return;
+
+  SkMatrix original = canvas_->getTotalMatrix();
+  canvas_->save();
+  // TODO(khushalsagar): Optimize out save/restore blocks if there are no images
+  // in the draw ops between them.
+  for (auto* op : PaintOpBuffer::Iterator(buffer)) {
+    if (op->IsDrawOp()) {
+      switch (op->GetType()) {
+        case PaintOpType::DrawArc: {
+          auto* arc_op = static_cast<DrawArcOp*>(op);
+          AddImageFromFlags(arc_op->oval, arc_op->flags);
+        } break;
+        case PaintOpType::DrawCircle: {
+          auto* circle_op = static_cast<DrawCircleOp*>(op);
+          SkRect rect =
+              SkRect::MakeXYWH(circle_op->cx - circle_op->radius,
+                               circle_op->cy - circle_op->radius,
+                               2 * circle_op->radius, 2 * circle_op->radius);
+          AddImageFromFlags(rect, circle_op->flags);
+        } break;
+        case PaintOpType::DrawDisplayItemList: {
+          auto* list_op = static_cast<DrawDisplayItemListOp*>(op);
+          list_op->list->GatherDiscardableImages(this);
+        } break;
+        case PaintOpType::DrawImage: {
+          auto* image_op = static_cast<DrawImageOp*>(op);
+          const SkImage* sk_image = image_op->image.sk_image().get();
+          AddImage(image_op->image,
+                   SkRect::MakeIWH(sk_image->width(), sk_image->height()),
+                   SkRect::MakeXYWH(image_op->left, image_op->top,
+                                    sk_image->width(), sk_image->height()),
+                   nullptr, image_op->flags);
+        } break;
+        case PaintOpType::DrawImageRect: {
+          auto* image_rect_op = static_cast<DrawImageRectOp*>(op);
+          SkMatrix matrix;
+          matrix.setRectToRect(image_rect_op->src, image_rect_op->dst,
+                               SkMatrix::kFill_ScaleToFit);
+          AddImage(image_rect_op->image, image_rect_op->src, image_rect_op->dst,
+                   &matrix, image_rect_op->flags);
+        } break;
+        case PaintOpType::DrawIRect: {
+          auto* rect_op = static_cast<DrawIRectOp*>(op);
+          AddImageFromFlags(SkRect::Make(rect_op->rect), rect_op->flags);
+        } break;
+        case PaintOpType::DrawOval: {
+          auto* oval_op = static_cast<DrawOvalOp*>(op);
+          AddImageFromFlags(oval_op->oval, oval_op->flags);
+        } break;
+        case PaintOpType::DrawPath: {
+          auto* path_op = static_cast<DrawPathOp*>(op);
+          AddImageFromFlags(path_op->path.getBounds(), path_op->flags);
+        } break;
+        case PaintOpType::DrawRecord: {
+          auto* record_op = static_cast<DrawRecordOp*>(op);
+          GatherDiscardableImages(record_op->record.get());
+        } break;
+        case PaintOpType::DrawRect: {
+          auto* rect_op = static_cast<DrawRectOp*>(op);
+          AddImageFromFlags(rect_op->rect, rect_op->flags);
+        } break;
+        case PaintOpType::DrawRRect: {
+          auto* rect_op = static_cast<DrawRRectOp*>(op);
+          AddImageFromFlags(rect_op->rrect.rect(), rect_op->flags);
+        } break;
+        // TODO(khushalsagar): Check if we should be querying images from any of
+        // the following ops.
+        case PaintOpType::DrawPosText:
+        case PaintOpType::DrawLine:
+        case PaintOpType::DrawDRRect:
+        case PaintOpType::DrawText:
+        case PaintOpType::DrawTextBlob:
+        case PaintOpType::DrawColor:
+          break;
+        default:
+          NOTREACHED();
+      }
+    } else {
+      op->Raster(canvas_.get(), original);
+    }
+  }
+  canvas_->restore();
+}
+
+// Currently this function only handles extracting images from SkImageShaders
+// embedded in SkPaints. Other embedded image cases, such as SkPictures,
+// are not yet handled.
+void DiscardableImageStore::AddImageFromFlags(const SkRect& rect,
+                                              const PaintFlags& flags) {
+  SkShader* shader = flags.getShader();
+  if (shader) {
+    SkMatrix matrix;
+    SkShader::TileMode xy[2];
+    SkImage* image = shader->isAImage(&matrix, xy);
+    if (image) {
+      PaintImage paint_image(sk_ref_sp(image),
+                             PaintImage::AnimationType::UNKNOWN,
+                             PaintImage::CompletionState::UNKNOWN);
+      // TODO(ericrk): Handle cases where we only need a sub-rect from the
+      // image. crbug.com/671821
+      AddImage(paint_image, SkRect::MakeFromIRect(image->bounds()), rect,
+               &matrix, flags);
+    }
+  }
+}
+
+void DiscardableImageStore::AddImage(const PaintImage& paint_image,
+                                     const SkRect& src_rect,
+                                     const SkRect& rect,
+                                     const SkMatrix* local_matrix,
+                                     const PaintFlags& flags) {
+  sk_sp<const SkImage> sk_image = paint_image.sk_image();
+  if (!sk_image->isLazyGenerated())
+    return;
+
+  const SkRect& clip_rect = SkRect::Make(canvas_->getDeviceClipBounds());
+  const SkMatrix& ctm = canvas_->getTotalMatrix();
+
+  SkRect paint_rect = MapRect(ctm, rect);
+  bool computed_paint_bounds =
+      canvas_->ComputePaintBounds(paint_rect, ToSkPaint(&flags), &paint_rect);
+  if (!computed_paint_bounds) {
+    // TODO(vmpstr): UMA this case.
+    paint_rect = clip_rect;
+  }
+
+  // Clamp the image rect by the current clip rect.
+  if (!paint_rect.intersect(clip_rect))
+    return;
+
+  SkFilterQuality filter_quality = flags.getFilterQuality();
+
+  SkIRect src_irect;
+  src_rect.roundOut(&src_irect);
+  gfx::Rect image_rect = gfx::ToEnclosingRect(gfx::SkRectToRectF(paint_rect));
+
+  // During raster, we use the device clip bounds on the canvas, which outsets
+  // the actual clip by 1 due to the possibility of antialiasing. Account for
+  // this here by outsetting the image rect by 1. Note that this only affects
+  // queries into the rtree, which will now return images that only touch the
+  // bounds of the query rect.
+  //
+  // Note that it's not sufficient for us to inset the device clip bounds at
+  // raster time, since we might be sending a larger-than-one-item display
+  // item to skia, which means that skia will internally determine whether to
+  // raster the picture (using device clip bounds that are outset).
+  image_rect.Inset(-1, -1);
+
+  // The true target color space will be assigned when it is known, in
+  // GetDiscardableImagesInRect.
+  gfx::ColorSpace target_color_space;
+
+  SkMatrix matrix = ctm;
+  if (local_matrix)
+    matrix.postConcat(*local_matrix);
+
+  // TODO(khushalsagar): Keep PaintImage in DrawImage.
+  (*image_id_to_rect_)[sk_image->uniqueID()].Union(image_rect);
+  image_set_->push_back(
+      std::make_pair(DrawImage(std::move(sk_image), src_irect, filter_quality,
+                               matrix, target_color_space),
+                     image_rect));
+}
+
+}  // namespace cc
diff --git a/cc/paint/discardable_image_store.h b/cc/paint/discardable_image_store.h
new file mode 100644
index 0000000..1c26e79
--- /dev/null
+++ b/cc/paint/discardable_image_store.h
@@ -0,0 +1,51 @@
+// 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 CC_PAINT_DISCARDABLE_IMAGE_STORE_H_
+#define CC_PAINT_DISCARDABLE_IMAGE_STORE_H_
+
+#include "base/containers/flat_map.h"
+#include "cc/paint/draw_image.h"
+#include "cc/paint/image_id.h"
+#include "cc/paint/paint_export.h"
+#include "cc/paint/paint_op_buffer.h"
+#include "third_party/skia/include/core/SkMatrix.h"
+#include "third_party/skia/include/core/SkRect.h"
+#include "third_party/skia/include/utils/SkNoDrawCanvas.h"
+
+namespace cc {
+class PaintFlags;
+class PaintImage;
+
+class CC_PAINT_EXPORT DiscardableImageStore {
+ public:
+  DiscardableImageStore(int width,
+                        int height,
+                        std::vector<std::pair<DrawImage, gfx::Rect>>* image_set,
+                        base::flat_map<ImageId, gfx::Rect>* image_id_to_rect);
+  ~DiscardableImageStore();
+
+  void GatherDiscardableImages(const PaintOpBuffer* buffer);
+  SkNoDrawCanvas* GetNoDrawCanvas();
+
+ private:
+  class PaintTrackingCanvas;
+
+  void AddImageFromFlags(const SkRect& rect, const PaintFlags& flags);
+  void AddImage(const PaintImage& paint_image,
+                const SkRect& src_rect,
+                const SkRect& rect,
+                const SkMatrix* local_matrix,
+                const PaintFlags& flags);
+
+  // This canvas is used only for tracking transform/clip/filter state from the
+  // non-drawing ops.
+  std::unique_ptr<PaintTrackingCanvas> canvas_;
+  std::vector<std::pair<DrawImage, gfx::Rect>>* image_set_;
+  base::flat_map<ImageId, gfx::Rect>* image_id_to_rect_;
+};
+
+}  // namespace cc
+
+#endif  // CC_PAINT_DISCARDABLE_IMAGE_STORE_H_
diff --git a/cc/paint/display_item_list.cc b/cc/paint/display_item_list.cc
index 6a6b110..88e1110 100644
--- a/cc/paint/display_item_list.cc
+++ b/cc/paint/display_item_list.cc
@@ -19,6 +19,7 @@
 #include "cc/paint/clip_display_item.h"
 #include "cc/paint/clip_path_display_item.h"
 #include "cc/paint/compositing_display_item.h"
+#include "cc/paint/discardable_image_store.h"
 #include "cc/paint/drawing_display_item.h"
 #include "cc/paint/filter_display_item.h"
 #include "cc/paint/float_clip_display_item.h"
@@ -532,9 +533,22 @@
   gfx::Rect bounds = rtree_.GetBounds();
   DiscardableImageMap::ScopedMetadataGenerator generator(
       &image_map_, gfx::Size(bounds.right(), bounds.bottom()));
-  auto* canvas = generator.canvas();
-  for (const auto& item : items_)
-    RasterItem(item, canvas, nullptr);
+  GatherDiscardableImages(generator.image_store());
+}
+
+void DisplayItemList::GatherDiscardableImages(
+    DiscardableImageStore* image_store) const {
+  // TODO(khushalsagar): Could we avoid this if the data was already stored in
+  // the |image_map_|?
+  SkCanvas* canvas = image_store->GetNoDrawCanvas();
+  for (const auto& item : items_) {
+    if (item.type == DisplayItem::DRAWING) {
+      const auto& drawing_item = static_cast<const DrawingDisplayItem&>(item);
+      image_store->GatherDiscardableImages(drawing_item.picture.get());
+    } else {
+      RasterItem(item, canvas, nullptr);
+    }
+  }
 }
 
 void DisplayItemList::GetDiscardableImagesInRect(
diff --git a/cc/paint/display_item_list.h b/cc/paint/display_item_list.h
index 9d2c5b6b..92c332f 100644
--- a/cc/paint/display_item_list.h
+++ b/cc/paint/display_item_list.h
@@ -164,6 +164,11 @@
     return items_.end();
   }
 
+  void GatherDiscardableImages(DiscardableImageStore* image_store) const;
+  const DiscardableImageMap& discardable_image_map_for_testing() const {
+    return image_map_;
+  }
+
   bool has_discardable_images() const { return has_discardable_images_; }
 
  private:
diff --git a/cc/paint/paint_op_buffer.h b/cc/paint/paint_op_buffer.h
index fb37414..0ce65a5 100644
--- a/cc/paint/paint_op_buffer.h
+++ b/cc/paint/paint_op_buffer.h
@@ -21,7 +21,6 @@
 // See: third_party/skia/src/core/SkLiteDL.h.
 
 namespace cc {
-
 class DisplayItemList;
 
 class CC_PAINT_EXPORT ThreadsafeMatrix : public SkMatrix {
diff --git a/cc/raster/image_hijack_canvas.cc b/cc/raster/image_hijack_canvas.cc
index 150be23f..ea03dfb 100644
--- a/cc/raster/image_hijack_canvas.cc
+++ b/cc/raster/image_hijack_canvas.cc
@@ -156,6 +156,11 @@
                                     const SkPaint* paint) {
   TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("cc.debug"),
                "ImageHijackCanvas::onDrawImage");
+  SkRect rect = SkRect::MakeXYWH(x, y, SkIntToScalar(image->width()),
+                                 SkIntToScalar(image->height()));
+  if (QuickRejectDraw(rect, paint))
+    return;
+
   if (!image->isLazyGenerated()) {
     DCHECK(!ShouldSkipImage(image));
     SkNWayCanvas::onDrawImage(image, x, y, paint);
@@ -197,6 +202,9 @@
                                         SrcRectConstraint constraint) {
   TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("cc.debug"),
                "ImageHijackCanvas::onDrawImageRect");
+  if (QuickRejectDraw(dst, paint))
+    return;
+
   if (!image->isLazyGenerated()) {
     DCHECK(!ShouldSkipImage(image));
     SkNWayCanvas::onDrawImageRect(image, src, dst, paint, constraint);
@@ -240,6 +248,9 @@
 void ImageHijackCanvas::onDrawRect(const SkRect& r, const SkPaint& paint) {
   TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("cc.debug"),
                "ImageHijackCanvas::onDrawRect");
+  if (QuickRejectDraw(r, &paint))
+    return;
+
   if (ShouldSkipImageInPaint(paint))
     return;
 
@@ -255,6 +266,9 @@
 void ImageHijackCanvas::onDrawPath(const SkPath& path, const SkPaint& paint) {
   TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("cc.debug"),
                "ImageHijackCanvas::onDrawPath");
+  if (QuickRejectDraw(path.getBounds(), &paint))
+    return;
+
   if (ShouldSkipImageInPaint(paint))
     return;
 
@@ -270,6 +284,9 @@
 void ImageHijackCanvas::onDrawOval(const SkRect& r, const SkPaint& paint) {
   TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("cc.debug"),
                "ImageHijackCanvas::onDrawOval");
+  if (QuickRejectDraw(r, &paint))
+    return;
+
   if (ShouldSkipImageInPaint(paint))
     return;
 
@@ -289,6 +306,9 @@
                                   const SkPaint& paint) {
   TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("cc.debug"),
                "ImageHijackCanvas::onDrawArc");
+  if (QuickRejectDraw(r, &paint))
+    return;
+
   if (ShouldSkipImageInPaint(paint))
     return;
 
@@ -305,6 +325,9 @@
 void ImageHijackCanvas::onDrawRRect(const SkRRect& rr, const SkPaint& paint) {
   TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("cc.debug"),
                "ImageHijackCanvas::onDrawRRect");
+  if (QuickRejectDraw(rr.rect(), &paint))
+    return;
+
   if (ShouldSkipImageInPaint(paint))
     return;
 
@@ -339,4 +362,16 @@
   return image ? ShouldSkipImage(image) : false;
 }
 
+bool ImageHijackCanvas::QuickRejectDraw(const SkRect& rect,
+                                        const SkPaint* paint) const {
+  if (nullptr == paint || paint->canComputeFastBounds()) {
+    SkRect tmp = rect;
+    if (paint)
+      paint->computeFastBounds(tmp, &tmp);
+    return quickReject(tmp);
+  }
+
+  return false;
+}
+
 }  // namespace cc
diff --git a/cc/raster/image_hijack_canvas.h b/cc/raster/image_hijack_canvas.h
index 4693e8d..acb79ae 100644
--- a/cc/raster/image_hijack_canvas.h
+++ b/cc/raster/image_hijack_canvas.h
@@ -56,6 +56,7 @@
 
   bool ShouldSkipImage(const SkImage* image) const;
   bool ShouldSkipImageInPaint(const SkPaint& paint) const;
+  bool QuickRejectDraw(const SkRect& rect, const SkPaint* paint) const;
 
   ImageDecodeCache* image_decode_cache_;
   const ImageIdFlatSet* images_to_skip_;
diff --git a/cc/raster/image_hijack_canvas_unittest.cc b/cc/raster/image_hijack_canvas_unittest.cc
index 25a6ba14..c6487ef 100644
--- a/cc/raster/image_hijack_canvas_unittest.cc
+++ b/cc/raster/image_hijack_canvas_unittest.cc
@@ -88,6 +88,29 @@
   canvas.drawRect(SkRect::MakeXYWH(10, 10, 10, 10), paint);
 }
 
+TEST(ImageHijackCanvasTest, ClippedOpsAreSkipped) {
+  testing::StrictMock<MockImageDecodeCache> image_decode_cache;
+  ImageIdFlatSet images_to_skip;
+  gfx::ColorSpace target_color_space = gfx::ColorSpace::CreateSRGB();
+  ImageHijackCanvas canvas(100, 100, &image_decode_cache, &images_to_skip,
+                           target_color_space);
+  SkPaint paint;
+  SkRect draw_rect = SkRect::MakeXYWH(200, 200, 100, 100);
+  sk_sp<SkImage> image = CreateDiscardableImage(gfx::Size(10, 10));
+  canvas.drawImage(image, 200, 200, &paint);
+  canvas.drawImageRect(image, SkRect::MakeXYWH(0, 0, 10, 10), draw_rect,
+                       &paint);
+  paint.setShader(image->makeShader(SkShader::kClamp_TileMode,
+                                    SkShader::kClamp_TileMode, nullptr));
+  canvas.drawRect(draw_rect, paint);
+  SkPath path;
+  path.addRect(draw_rect, SkPath::kCW_Direction);
+  canvas.drawPath(path, paint);
+  canvas.drawOval(draw_rect, paint);
+  canvas.drawArc(draw_rect, 0, 40, true, paint);
+  canvas.drawRRect(SkRRect::MakeRect(draw_rect), paint);
+}
+
 }  // namespace
 
 }  // namespace cc
diff --git a/chrome/VERSION b/chrome/VERSION
index f4f1e37..2fe1a4d 100644
--- a/chrome/VERSION
+++ b/chrome/VERSION
@@ -1,4 +1,4 @@
 MAJOR=60
 MINOR=0
-BUILD=3091
+BUILD=3094
 PATCH=0
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
index 2647bbd..27c46ed6 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
@@ -161,6 +161,7 @@
 import org.chromium.ui.base.PageTransition;
 import org.chromium.ui.base.WindowAndroid;
 import org.chromium.ui.widget.Toast;
+import org.chromium.webapk.lib.client.WebApkNavigationClient;
 import org.chromium.webapk.lib.client.WebApkValidator;
 
 import java.util.ArrayList;
@@ -1904,8 +1905,8 @@
         } else if (id == R.id.open_webapk_id) {
             Context context = ContextUtils.getApplicationContext();
             String packageName = WebApkValidator.queryWebApkPackage(context, currentTab.getUrl());
-            Intent launchIntent =
-                    context.getPackageManager().getLaunchIntentForPackage(packageName);
+            Intent launchIntent = WebApkNavigationClient.createLaunchWebApkIntent(
+                    packageName, currentTab.getUrl());
             boolean launchFailed = false;
             if (launchIntent != null) {
                 try {
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchManager.java b/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchManager.java
index 042281bd..0566cc1 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchManager.java
@@ -1209,10 +1209,13 @@
     }
 
     @Override
-    public boolean sendsSelectionPopupUpdates() {
+    public boolean requestSelectionPopupUpdates(boolean shouldSuggest) {
         return false;
     }
 
+    @Override
+    public void cancelAllRequests() {}
+
     // TODO(donnd): add handling of an ACK to selectWordAroundCaret (crbug.com/435778 has details).
 
     /**
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/ChromeDownloadDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/download/ChromeDownloadDelegate.java
index a9748f4..a11f58d7 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/download/ChromeDownloadDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/download/ChromeDownloadDelegate.java
@@ -8,23 +8,18 @@
 import android.app.Activity;
 import android.app.DownloadManager;
 import android.content.Context;
-import android.content.DialogInterface;
 import android.content.pm.PackageManager;
 import android.net.Uri;
 import android.os.AsyncTask;
 import android.os.Environment;
 import android.os.Handler;
-import android.support.v7.app.AlertDialog;
 import android.text.TextUtils;
-import android.view.View;
 import android.webkit.MimeTypeMap;
 import android.webkit.URLUtil;
-import android.widget.TextView;
 
 import org.chromium.base.Log;
 import org.chromium.base.ThreadUtils;
 import org.chromium.base.annotations.CalledByNative;
-import org.chromium.chrome.R;
 import org.chromium.chrome.browser.ChromeActivity;
 import org.chromium.chrome.browser.UrlConstants;
 import org.chromium.chrome.browser.tab.EmptyTabObserver;
@@ -135,64 +130,6 @@
         return downloadInfo.getUrl();
     }
 
-    @CalledByNative
-    private void requestFileAccess(final long callbackId) {
-        if (mTab == null || mTab.getWindowAndroid() == null) {
-            // TODO(tedchoc): Show toast (only when activity is alive).
-            DownloadController.getInstance().onRequestFileAccessResult(callbackId, false);
-            return;
-        }
-        final String storagePermission = android.Manifest.permission.WRITE_EXTERNAL_STORAGE;
-        final Activity activity = mTab.getWindowAndroid().getActivity().get();
-
-        if (activity == null) {
-            DownloadController.getInstance().onRequestFileAccessResult(callbackId, false);
-        } else if (mTab.getWindowAndroid().canRequestPermission(storagePermission)) {
-            View view = activity.getLayoutInflater().inflate(
-                    R.layout.update_permissions_dialog, null);
-            TextView dialogText = (TextView) view.findViewById(R.id.text);
-            dialogText.setText(R.string.missing_storage_permission_download_education_text);
-
-            final PermissionCallback permissionCallback = new PermissionCallback() {
-                @Override
-                public void onRequestPermissionsResult(String[] permissions, int[] grantResults) {
-                    DownloadController.getInstance().onRequestFileAccessResult(callbackId,
-                            grantResults.length > 0
-                                    && grantResults[0] == PackageManager.PERMISSION_GRANTED);
-                }
-            };
-
-            AlertDialog.Builder builder =
-                    new AlertDialog.Builder(activity, R.style.AlertDialogTheme)
-                    .setView(view)
-                    .setPositiveButton(R.string.infobar_update_permissions_button_text,
-                            new DialogInterface.OnClickListener() {
-                                @Override
-                                public void onClick(DialogInterface dialog, int id) {
-                                    if (mTab == null) {
-                                        dialog.cancel();
-                                        return;
-                                    }
-                                    mTab.getWindowAndroid().requestPermissions(
-                                            new String[] {storagePermission}, permissionCallback);
-                                }
-                            })
-                     .setOnCancelListener(new DialogInterface.OnCancelListener() {
-                             @Override
-                             public void onCancel(DialogInterface dialog) {
-                                 DownloadController.getInstance().onRequestFileAccessResult(
-                                         callbackId, false);
-                             }
-                     });
-            builder.create().show();
-        } else if (!mTab.getWindowAndroid().isPermissionRevokedByPolicy(storagePermission)) {
-            nativeLaunchPermissionUpdateInfoBar(mTab, storagePermission, callbackId);
-        } else {
-            // TODO(tedchoc): Show toast.
-            DownloadController.getInstance().onRequestFileAccessResult(callbackId, false);
-        }
-    }
-
     /**
      * Return the full path of the download directory.
      *
@@ -497,6 +434,4 @@
     private static native String nativeGetDownloadWarningText(String filename);
     private static native void nativeLaunchDuplicateDownloadInfoBar(ChromeDownloadDelegate delegate,
             Tab tab, DownloadInfo downloadInfo, String filePath, boolean isIncognito);
-    private static native void nativeLaunchPermissionUpdateInfoBar(
-            Tab tab, String permission, long callbackId);
 }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadController.java b/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadController.java
index f3ed67a..44a09a0 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadController.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadController.java
@@ -5,9 +5,19 @@
 package org.chromium.chrome.browser.download;
 
 import android.Manifest.permission;
+import android.app.Activity;
+import android.content.DialogInterface;
+import android.content.pm.PackageManager;
+import android.support.v7.app.AlertDialog;
+import android.view.View;
+import android.widget.TextView;
 
+import org.chromium.base.ApplicationStatus;
 import org.chromium.base.annotations.CalledByNative;
+import org.chromium.chrome.R;
+import org.chromium.chrome.browser.ChromeActivity;
 import org.chromium.ui.base.WindowAndroid;
+import org.chromium.ui.base.WindowAndroid.PermissionCallback;
 
 /**
  * Java counterpart of android DownloadController.
@@ -106,24 +116,78 @@
     /**
      * Returns whether file access is allowed.
      *
-     * @param windowAndroid WindowAndroid to access file system.
      * @return true if allowed, or false otherwise.
      */
     @CalledByNative
-    private boolean hasFileAccess(WindowAndroid windowAndroid) {
-        return windowAndroid.hasPermission(permission.WRITE_EXTERNAL_STORAGE);
+    private boolean hasFileAccess() {
+        Activity activity = ApplicationStatus.getLastTrackedFocusedActivity();
+        if (activity instanceof ChromeActivity) {
+            return ((ChromeActivity) activity)
+                    .getWindowAndroid()
+                    .hasPermission(permission.WRITE_EXTERNAL_STORAGE);
+        }
+        return false;
     }
 
-    /**
-     * Notify the results of a file access request.
-     * @param callbackId The ID of the callback.
-     * @param granted Whether access was granted.
-     */
-    public void onRequestFileAccessResult(long callbackId, boolean granted) {
-        nativeOnRequestFileAccessResult(callbackId, granted);
+    @CalledByNative
+    private void requestFileAccess(final long callbackId) {
+        Activity activity = ApplicationStatus.getLastTrackedFocusedActivity();
+        if (!(activity instanceof ChromeActivity)) {
+            nativeOnAcquirePermissionResult(callbackId, false, null);
+            return;
+        }
+
+        final WindowAndroid windowAndroid = ((ChromeActivity) activity).getWindowAndroid();
+        if (windowAndroid == null) {
+            nativeOnAcquirePermissionResult(callbackId, false, null);
+            return;
+        }
+
+        if (!windowAndroid.canRequestPermission(permission.WRITE_EXTERNAL_STORAGE)) {
+            nativeOnAcquirePermissionResult(callbackId, false,
+                    windowAndroid.isPermissionRevokedByPolicy(permission.WRITE_EXTERNAL_STORAGE)
+                            ? null
+                            : permission.WRITE_EXTERNAL_STORAGE);
+            return;
+        }
+
+        View view = activity.getLayoutInflater().inflate(R.layout.update_permissions_dialog, null);
+        TextView dialogText = (TextView) view.findViewById(R.id.text);
+        dialogText.setText(R.string.missing_storage_permission_download_education_text);
+
+        final PermissionCallback permissionCallback = new PermissionCallback() {
+            @Override
+            public void onRequestPermissionsResult(String[] permissions, int[] grantResults) {
+                nativeOnAcquirePermissionResult(callbackId,
+                        grantResults.length > 0
+                                && grantResults[0] == PackageManager.PERMISSION_GRANTED,
+                        null);
+            }
+        };
+
+        AlertDialog.Builder builder =
+                new AlertDialog.Builder(activity, R.style.AlertDialogTheme)
+                        .setView(view)
+                        .setPositiveButton(R.string.infobar_update_permissions_button_text,
+                                new DialogInterface.OnClickListener() {
+                                    @Override
+                                    public void onClick(DialogInterface dialog, int id) {
+                                        windowAndroid.requestPermissions(
+                                                new String[] {permission.WRITE_EXTERNAL_STORAGE},
+                                                permissionCallback);
+                                    }
+                                })
+                        .setOnCancelListener(new DialogInterface.OnCancelListener() {
+                            @Override
+                            public void onCancel(DialogInterface dialog) {
+                                nativeOnAcquirePermissionResult(callbackId, false, null);
+                            }
+                        });
+        builder.create().show();
     }
 
     // native methods
     private native void nativeInit();
-    private native void nativeOnRequestFileAccessResult(long callbackId, boolean granted);
+    private native void nativeOnAcquirePermissionResult(
+            long callbackId, boolean granted, String permissionToUpdate);
 }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/locale/DefaultSearchEngineDialogHelper.java b/chrome/android/java/src/org/chromium/chrome/browser/locale/DefaultSearchEngineDialogHelper.java
index aa20d24..31c69f09 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/locale/DefaultSearchEngineDialogHelper.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/locale/DefaultSearchEngineDialogHelper.java
@@ -12,7 +12,6 @@
 import android.widget.RadioGroup.OnCheckedChangeListener;
 
 import org.chromium.chrome.browser.locale.LocaleManager.SearchEnginePromoType;
-import org.chromium.chrome.browser.search_engines.TemplateUrlService;
 import org.chromium.chrome.browser.search_engines.TemplateUrlService.TemplateUrl;
 import org.chromium.chrome.browser.widget.RadioButtonLayout;
 
@@ -36,15 +35,7 @@
 
         /** Determine what search engines will be listed. */
         protected List<TemplateUrl> getSearchEngines() {
-            if (mDialogType == LocaleManager.SEARCH_ENGINE_PROMO_SHOW_EXISTING) {
-                TemplateUrlService instance = TemplateUrlService.getInstance();
-                assert instance.isLoaded();
-                return instance.getSearchEngines();
-            } else {
-                // TODO(dfalcantara): Handle the new user case.
-                assert false;
-                return null;
-            }
+            return LocaleManager.getInstance().getSearchEnginesForPromoDialog(mDialogType);
         }
 
         /** Called when the search engine the user selected is confirmed to be the one they want. */
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/locale/LocaleManager.java b/chrome/android/java/src/org/chromium/chrome/browser/locale/LocaleManager.java
index 70eac99..7643090 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/locale/LocaleManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/locale/LocaleManager.java
@@ -20,6 +20,7 @@
 import org.chromium.chrome.browser.preferences.PreferencesLauncher;
 import org.chromium.chrome.browser.preferences.SearchEnginePreference;
 import org.chromium.chrome.browser.search_engines.TemplateUrlService;
+import org.chromium.chrome.browser.search_engines.TemplateUrlService.TemplateUrl;
 import org.chromium.chrome.browser.snackbar.Snackbar;
 import org.chromium.chrome.browser.snackbar.SnackbarManager;
 import org.chromium.chrome.browser.snackbar.SnackbarManager.SnackbarController;
@@ -27,6 +28,7 @@
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import java.lang.ref.WeakReference;
+import java.util.List;
 
 /**
  * Manager for some locale specific logics.
@@ -290,6 +292,17 @@
         return mLocaleHandler;
     }
 
+    /**
+     * Get the list of search engines that a user may choose between.
+     * @param promoType Which search engine list to show.
+     * @return List of engines to show.
+     */
+    public List<TemplateUrl> getSearchEnginesForPromoDialog(@SearchEnginePromoType int promoType) {
+        TemplateUrlService instance = TemplateUrlService.getInstance();
+        assert instance.isLoaded();
+        return instance.getSearchEngines();
+    }
+
     /** Set a LocaleManager to be used for testing. */
     @VisibleForTesting
     public static void setInstanceForTest(LocaleManager instance) {
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omnibox/SuggestionView.java b/chrome/android/java/src/org/chromium/chrome/browser/omnibox/SuggestionView.java
index bbf2c77..9df9a459 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/omnibox/SuggestionView.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/omnibox/SuggestionView.java
@@ -821,8 +821,6 @@
             }
 
             // Align the text to be pixel perfectly aligned with the text in the url bar.
-            mTextLeft = getSuggestionTextLeftPosition();
-            mTextRight = getSuggestionTextRightPosition();
             boolean isRTL = ApiCompatibilityUtils.isLayoutRtl(this);
             if (DeviceFormFactor.isTablet(getContext())) {
                 int textWidth = isRTL ? mTextRight : (r - l - mTextLeft);
@@ -918,17 +916,20 @@
             int width = MeasureSpec.getSize(widthMeasureSpec);
             int height = MeasureSpec.getSize(heightMeasureSpec);
 
+            boolean isRTL = ApiCompatibilityUtils.isLayoutRtl(this);
+            mTextLeft = getSuggestionTextLeftPosition();
+            mTextRight = getSuggestionTextRightPosition();
+
+            int maxWidth = width - (isRTL ? mTextRight : mTextLeft);
             if (mTextLine1.getMeasuredWidth() != width
                     || mTextLine1.getMeasuredHeight() != height) {
-                mTextLine1.measure(
-                        MeasureSpec.makeMeasureSpec(widthMeasureSpec, MeasureSpec.AT_MOST),
+                mTextLine1.measure(MeasureSpec.makeMeasureSpec(maxWidth, MeasureSpec.AT_MOST),
                         MeasureSpec.makeMeasureSpec(mSuggestionHeight, MeasureSpec.AT_MOST));
             }
 
             if (mTextLine2.getMeasuredWidth() != width
                     || mTextLine2.getMeasuredHeight() != height) {
-                mTextLine2.measure(
-                        MeasureSpec.makeMeasureSpec(widthMeasureSpec, MeasureSpec.AT_MOST),
+                mTextLine2.measure(MeasureSpec.makeMeasureSpec(maxWidth, MeasureSpec.AT_MOST),
                         MeasureSpec.makeMeasureSpec(mSuggestionHeight, MeasureSpec.AT_MOST));
             }
             if (MeasureSpec.getMode(heightMeasureSpec) == MeasureSpec.AT_MOST) {
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/ModalDialogTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/ModalDialogTest.java
index 3d4ef143..b227281 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/ModalDialogTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/ModalDialogTest.java
@@ -14,6 +14,7 @@
 import android.widget.EditText;
 
 import org.chromium.base.ThreadUtils;
+import org.chromium.base.test.util.CallbackHelper;
 import org.chromium.base.test.util.Feature;
 import org.chromium.base.test.util.RetryOnFailure;
 import org.chromium.base.test.util.UrlUtils;
@@ -23,6 +24,7 @@
 import org.chromium.content.browser.test.util.CriteriaHelper;
 import org.chromium.content.browser.test.util.TestCallbackHelperContainer;
 import org.chromium.content.browser.test.util.TestCallbackHelperContainer.OnEvaluateJavaScriptResultHelper;
+import org.chromium.content_public.browser.GestureStateListener;
 
 import java.util.concurrent.Callable;
 import java.util.concurrent.ExecutionException;
@@ -167,6 +169,35 @@
         assertEquals("Invalid return value.", '"' + promptText + '"', resultString);
     }
 
+    private static class TapGestureStateListener extends GestureStateListener {
+        private CallbackHelper mCallbackHelper = new CallbackHelper();
+
+        public int getCallCount() {
+            return mCallbackHelper.getCallCount();
+        }
+
+        public void waitForTap(int currentCallCount) throws InterruptedException, TimeoutException {
+            mCallbackHelper.waitForCallback(currentCallCount);
+        }
+
+        @Override
+        public void onSingleTap(boolean consumed) {
+            mCallbackHelper.notifyCalled();
+        }
+    }
+
+    /**
+     * Taps on a view and waits for a callback.
+     */
+    private void tapViewAndWait() throws InterruptedException, TimeoutException {
+        final TapGestureStateListener tapGestureStateListener = new TapGestureStateListener();
+        int callCount = tapGestureStateListener.getCallCount();
+        getActivity().getCurrentContentViewCore().addGestureStateListener(tapGestureStateListener);
+
+        singleClickView(getActivity().getActivityTab().getView());
+        tapGestureStateListener.waitForTap(callCount);
+    }
+
     /**
      * Verifies beforeunload dialogs are shown and they block/allow navigation
      * as appropriate.
@@ -176,6 +207,8 @@
     public void testBeforeUnloadDialog()
             throws InterruptedException, TimeoutException, ExecutionException {
         loadUrl(BEFORE_UNLOAD_URL);
+        // JavaScript onbeforeunload dialogs require a user gesture.
+        tapViewAndWait();
         executeJavaScriptAndWaitForDialog("history.back();");
 
         JavascriptAppModalDialog jsDialog = getCurrentDialog();
@@ -206,8 +239,11 @@
      */
     @MediumTest
     @Feature({"Browser", "Main"})
-    public void testBeforeUnloadOnReloadDialog() throws InterruptedException, ExecutionException {
+    public void testBeforeUnloadOnReloadDialog()
+            throws InterruptedException, TimeoutException, ExecutionException {
         loadUrl(BEFORE_UNLOAD_URL);
+        // JavaScript onbeforeunload dialogs require a user gesture.
+        tapViewAndWait();
         executeJavaScriptAndWaitForDialog("window.location.reload();");
 
         JavascriptAppModalDialog jsDialog = getCurrentDialog();
diff --git a/chrome/browser/android/download/chrome_download_delegate.cc b/chrome/browser/android/download/chrome_download_delegate.cc
index 10afa8e..dc75a18 100644
--- a/chrome/browser/android/download/chrome_download_delegate.cc
+++ b/chrome/browser/android/download/chrome_download_delegate.cc
@@ -19,9 +19,7 @@
 #include "chrome/browser/android/download/download_controller_base.h"
 #include "chrome/browser/android/tab_android.h"
 #include "chrome/browser/infobars/infobar_service.h"
-#include "chrome/browser/permissions/permission_update_infobar_delegate_android.h"
 #include "chrome/common/safe_browsing/file_type_policies.h"
-#include "chrome/grit/chromium_strings.h"
 #include "chrome/grit/generated_resources.h"
 #include "jni/ChromeDownloadDelegate_jni.h"
 #include "ui/base/l10n/l10n_util.h"
@@ -73,36 +71,6 @@
       delegate, download_info, is_incognito);
 }
 
-static void LaunchPermissionUpdateInfoBar(
-    JNIEnv* env,
-    const JavaParamRef<jclass>& clazz,
-    const JavaParamRef<jobject>& tab,
-    const JavaParamRef<jstring>& jpermission,
-    jlong callback_id) {
-  TabAndroid* tab_android = TabAndroid::GetNativeTab(env, tab);
-
-  std::string permission =
-      base::android::ConvertJavaStringToUTF8(env, jpermission);
-
-  // Convert java long long int to c++ pointer, take ownership.
-  static_assert(
-      std::is_same<
-          DownloadControllerBase::AcquireFileAccessPermissionCallback,
-          base::Callback<void(bool)>>::value,
-      "Callback types don't match!");
-  std::unique_ptr<base::Callback<void(bool)>> cb(
-      reinterpret_cast<base::Callback<void(bool)>*>(callback_id));
-
-  std::vector<std::string> permissions;
-  permissions.push_back(permission);
-
-  PermissionUpdateInfoBarDelegate::Create(
-      tab_android->web_contents(),
-      permissions,
-      IDS_MISSING_STORAGE_PERMISSION_DOWNLOAD_EDUCATION_TEXT,
-      *cb);
-}
-
 ChromeDownloadDelegate::ChromeDownloadDelegate(
     WebContents* web_contents) {}
 
@@ -122,12 +90,6 @@
   Java_ChromeDownloadDelegate_onDownloadStarted(env, java_ref_, jfilename);
 }
 
-void ChromeDownloadDelegate::RequestFileAccess(intptr_t callback_id) {
-  JNIEnv* env = base::android::AttachCurrentThread();
-  Java_ChromeDownloadDelegate_requestFileAccess(
-      env, java_ref_, callback_id);
-}
-
 void ChromeDownloadDelegate::EnqueueDownloadManagerRequest(
     const std::string& url,
     const std::string& user_agent,
diff --git a/chrome/browser/android/download/download_controller.cc b/chrome/browser/android/download/download_controller.cc
index f70271e..1cef85a 100644
--- a/chrome/browser/android/download/download_controller.cc
+++ b/chrome/browser/android/download/download_controller.cc
@@ -19,7 +19,9 @@
 #include "chrome/browser/android/download/dangerous_download_infobar_delegate.h"
 #include "chrome/browser/android/download/download_manager_service.h"
 #include "chrome/browser/infobars/infobar_service.h"
+#include "chrome/browser/permissions/permission_update_infobar_delegate_android.h"
 #include "chrome/browser/ui/android/view_android_helper.h"
+#include "chrome/grit/chromium_strings.h"
 #include "content/public/browser/browser_context.h"
 #include "content/public/browser/browser_thread.h"
 #include "content/public/browser/download_manager.h"
@@ -57,17 +59,14 @@
   return WebContents::FromRenderViewHost(render_view_host);
 }
 
-void CreateContextMenuDownload(int render_process_id,
-                               int render_view_id,
-                               const content::ContextMenuParams& params,
-                               bool is_link,
-                               const std::string& extra_headers,
-                               bool granted) {
-  if (!granted)
-    return;
+void CreateContextMenuDownload(
+    const content::ResourceRequestInfo::WebContentsGetter& wc_getter,
+    const content::ContextMenuParams& params,
+    bool is_link,
+    const std::string& extra_headers,
+    bool granted) {
+  content::WebContents* web_contents = wc_getter.Run();
 
-  content::WebContents* web_contents =
-      GetWebContents(render_process_id, render_view_id);
   if (!web_contents)
     return;
 
@@ -114,24 +113,47 @@
   DownloadController::GetInstance()->Init(env, obj);
 }
 
-static void OnRequestFileAccessResult(JNIEnv* env,
-                                      const JavaParamRef<jobject>& obj,
-                                      jlong callback_id,
-                                      jboolean granted) {
+static void OnAcquirePermissionResult(
+    JNIEnv* env,
+    const JavaParamRef<jobject>& obj,
+    jlong callback_id,
+    jboolean granted,
+    const JavaParamRef<jstring>& jpermission_to_update) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
   DCHECK(callback_id);
 
+  std::string permission_to_update =
+      base::android::ConvertJavaStringToUTF8(env, jpermission_to_update);
   // Convert java long long int to c++ pointer, take ownership.
-  std::unique_ptr<
-      DownloadControllerBase::AcquireFileAccessPermissionCallback>
-  cb(reinterpret_cast<
-      DownloadControllerBase::AcquireFileAccessPermissionCallback*>(
-      callback_id));
+  std::unique_ptr<DownloadController::AcquirePermissionCallback> cb(
+      reinterpret_cast<DownloadController::AcquirePermissionCallback*>(
+          callback_id));
+  cb->Run(granted, permission_to_update);
+}
+
+static void OnRequestFileAccessResult(
+    const content::ResourceRequestInfo::WebContentsGetter& web_contents_getter,
+    const DownloadControllerBase::AcquireFileAccessPermissionCallback& cb,
+    bool granted,
+    const std::string& permission_to_update) {
+  DCHECK_CURRENTLY_ON(BrowserThread::UI);
+
+  if (!granted && !permission_to_update.empty() && web_contents_getter.Run()) {
+    WebContents* web_contents = web_contents_getter.Run();
+    std::vector<std::string> permissions;
+    permissions.push_back(permission_to_update);
+
+    PermissionUpdateInfoBarDelegate::Create(
+        web_contents, permissions,
+        IDS_MISSING_STORAGE_PERMISSION_DOWNLOAD_EDUCATION_TEXT, cb);
+    return;
+  }
+
   if (!granted) {
     DownloadController::RecordDownloadCancelReason(
         DownloadController::CANCEL_REASON_NO_STORAGE_PERMISSION);
   }
-  cb->Run(granted);
+  cb.Run(granted);
 }
 
 struct DownloadController::JavaObject {
@@ -193,34 +215,24 @@
 }
 
 void DownloadController::AcquireFileAccessPermission(
-    WebContents* web_contents,
+    const content::ResourceRequestInfo::WebContentsGetter& web_contents_getter,
     const DownloadControllerBase::AcquireFileAccessPermissionCallback& cb) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
-  DCHECK(web_contents);
 
-  ViewAndroidHelper* view_helper =
-      ViewAndroidHelper::FromWebContents(web_contents);
-  if (!view_helper)
-    return;
-
-  ui::ViewAndroid* view_android = view_helper->GetViewAndroid();
-  if (!view_android) {
-    // ViewAndroid may have been gone away.
-    BrowserThread::PostTask(
-        BrowserThread::UI, FROM_HERE, base::Bind(cb, false));
-    return;
-  }
-  ui::WindowAndroid* window_android = view_android->GetWindowAndroid();
-  if (window_android && HasFileAccessPermission(window_android)) {
+  if (HasFileAccessPermission()) {
     BrowserThread::PostTask(
         BrowserThread::UI, FROM_HERE, base::Bind(cb, true));
     return;
   }
+
+  AcquirePermissionCallback callback(
+      base::Bind(&OnRequestFileAccessResult, web_contents_getter, cb));
   // Make copy on the heap so we can pass the pointer through JNI.
-  intptr_t callback_id = reinterpret_cast<intptr_t>(
-      new DownloadControllerBase::AcquireFileAccessPermissionCallback(cb));
-  ChromeDownloadDelegate::FromWebContents(web_contents)->
-      RequestFileAccess(callback_id);
+  intptr_t callback_id =
+      reinterpret_cast<intptr_t>(new AcquirePermissionCallback(callback));
+  JNIEnv* env = base::android::AttachCurrentThread();
+  Java_DownloadController_requestFileAccess(
+      env, GetJavaObject()->Controller(env), callback_id);
 }
 
 void DownloadController::CreateAndroidDownload(
@@ -240,17 +252,9 @@
     const DownloadInfo& info) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
 
-  WebContents* web_contents = wc_getter.Run();
-  if (!web_contents) {
-    // The view went away. Can't proceed.
-    LOG(ERROR) << "Tab closed, download failed on URL:" << info.url.spec();
-    return;
-  }
-
   AcquireFileAccessPermission(
-      web_contents,
-      base::Bind(&DownloadController::StartAndroidDownloadInternal,
-                 base::Unretained(this), wc_getter, info));
+      wc_getter, base::Bind(&DownloadController::StartAndroidDownloadInternal,
+                            base::Unretained(this), wc_getter, info));
 }
 
 void DownloadController::StartAndroidDownloadInternal(
@@ -278,16 +282,12 @@
                                       info.cookie, info.referer);
 }
 
-bool DownloadController::HasFileAccessPermission(
-    ui::WindowAndroid* window_android) {
-  ScopedJavaLocalRef<jobject> jwindow_android = window_android->GetJavaObject();
-
+bool DownloadController::HasFileAccessPermission() {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
-  DCHECK(!jwindow_android.is_null());
 
   JNIEnv* env = base::android::AttachCurrentThread();
   return Java_DownloadController_hasFileAccess(
-      env, GetJavaObject()->Controller(env), jwindow_android);
+      env, GetJavaObject()->Controller(env));
 }
 
 void DownloadController::OnDownloadStarted(
@@ -390,8 +390,12 @@
     const std::string& extra_headers) {
   int process_id = web_contents->GetRenderProcessHost()->GetID();
   int routing_id = web_contents->GetRenderViewHost()->GetRoutingID();
+
+  const content::ResourceRequestInfo::WebContentsGetter& wc_getter(
+      base::Bind(&GetWebContents, process_id, routing_id));
+
   AcquireFileAccessPermission(
-      web_contents, base::Bind(&CreateContextMenuDownload, process_id,
-                               routing_id, params, is_link, extra_headers));
+      wc_getter, base::Bind(&CreateContextMenuDownload, wc_getter, params,
+                            is_link, extra_headers));
 }
 
diff --git a/chrome/browser/android/download/download_controller.h b/chrome/browser/android/download/download_controller.h
index f044b49..d085160 100644
--- a/chrome/browser/android/download/download_controller.h
+++ b/chrome/browser/android/download/download_controller.h
@@ -23,10 +23,6 @@
 #include "base/memory/singleton.h"
 #include "chrome/browser/android/download/download_controller_base.h"
 
-namespace ui {
-class WindowAndroid;
-}
-
 namespace content {
 class WebContents;
 }
@@ -42,7 +38,7 @@
 
   // DownloadControllerBase implementation.
   void AcquireFileAccessPermission(
-      content::WebContents* web_contents,
+      const content::ResourceRequestInfo::WebContentsGetter& wc_getter,
       const AcquireFileAccessPermissionCallback& callback) override;
   void CreateAndroidDownload(
       const content::ResourceRequestInfo::WebContentsGetter& wc_getter,
@@ -65,6 +61,11 @@
   };
   static void RecordDownloadCancelReason(DownloadCancelReason reason);
 
+  // Callback when user permission prompt finishes. Args: whether file access
+  // permission is acquired, which permission to update.
+  typedef base::Callback<void(bool, const std::string&)>
+      AcquirePermissionCallback;
+
  private:
   struct JavaObject;
   friend struct base::DefaultSingletonTraits<DownloadController>;
@@ -72,7 +73,7 @@
   ~DownloadController() override;
 
   // Helper method for implementing AcquireFileAccessPermission().
-  bool HasFileAccessPermission(ui::WindowAndroid* window_android);
+  bool HasFileAccessPermission();
 
   // DownloadControllerBase implementation.
   void OnDownloadStarted(content::DownloadItem* download_item) override;
diff --git a/chrome/browser/android/download/download_controller_base.h b/chrome/browser/android/download/download_controller_base.h
index e43f1ed..20acb0b 100644
--- a/chrome/browser/android/download/download_controller_base.h
+++ b/chrome/browser/android/download/download_controller_base.h
@@ -72,7 +72,7 @@
   // Called to prompt the user for file access permission. When finished,
   // |callback| will be executed.
   virtual void AcquireFileAccessPermission(
-      content::WebContents* web_contents,
+      const content::ResourceRequestInfo::WebContentsGetter& wc_getter,
       const AcquireFileAccessPermissionCallback& callback) = 0;
 
   // Called by unit test to approve or disapprove file access request.
diff --git a/chrome/browser/android/download/mock_download_controller.cc b/chrome/browser/android/download/mock_download_controller.cc
index a92fd0b..3418245 100644
--- a/chrome/browser/android/download/mock_download_controller.cc
+++ b/chrome/browser/android/download/mock_download_controller.cc
@@ -28,7 +28,7 @@
 }
 
 void MockDownloadController::AcquireFileAccessPermission(
-    content::WebContents* web_contents,
+    const content::ResourceRequestInfo::WebContentsGetter& wc_getter,
     const DownloadControllerBase::AcquireFileAccessPermissionCallback& cb) {
   base::ThreadTaskRunnerHandle::Get()->PostTask(
       FROM_HERE, base::Bind(cb, approve_file_access_request_));
diff --git a/chrome/browser/android/download/mock_download_controller.h b/chrome/browser/android/download/mock_download_controller.h
index 4339ea3..d5270378 100644
--- a/chrome/browser/android/download/mock_download_controller.h
+++ b/chrome/browser/android/download/mock_download_controller.h
@@ -31,7 +31,7 @@
       content::WebContents* web_contents,
       bool is_link, const std::string& extra_headers) override;
   void AcquireFileAccessPermission(
-      content::WebContents* web_contents,
+      const content::ResourceRequestInfo::WebContentsGetter& wc_getter,
       const AcquireFileAccessPermissionCallback& callback) override;
   void SetApproveFileAccessRequestForTesting(bool approve) override;
   void CreateAndroidDownload(
diff --git a/chrome/browser/android/offline_pages/background_loader_offliner.cc b/chrome/browser/android/offline_pages/background_loader_offliner.cc
index 856ada6f..b2fc873 100644
--- a/chrome/browser/android/offline_pages/background_loader_offliner.cc
+++ b/chrome/browser/android/offline_pages/background_loader_offliner.cc
@@ -172,8 +172,8 @@
     return false;
   }
 
-  if (!loader_)
-    ResetState();
+  ResetLoader();
+  AttachObservers();
 
   MarkLoadStartTime();
 
@@ -453,13 +453,16 @@
   network_bytes_ = 0LL;
   is_low_bar_met_ = false;
   did_snapshot_on_last_retry_ = false;
-  // TODO(chili): Remove after RequestCoordinator can handle multiple offliners.
-  // We reset the loader and observer after completion so loaders
-  // will not be re-used across different requests/tries. This is a temporary
-  // solution while there exists assumptions about the number of offliners
-  // there are.
+  content::WebContentsObserver::Observe(nullptr);
+  loader_.reset();
+}
+
+void BackgroundLoaderOffliner::ResetLoader() {
   loader_.reset(
       new background_loader::BackgroundLoaderContents(browser_context_));
+}
+
+void BackgroundLoaderOffliner::AttachObservers() {
   content::WebContents* contents = loader_->web_contents();
   content::WebContentsObserver::Observe(contents);
   OfflinerData::AddToWebContents(contents, this);
diff --git a/chrome/browser/android/offline_pages/background_loader_offliner.h b/chrome/browser/android/offline_pages/background_loader_offliner.h
index bc83a22..ff4b745 100644
--- a/chrome/browser/android/offline_pages/background_loader_offliner.h
+++ b/chrome/browser/android/offline_pages/background_loader_offliner.h
@@ -63,8 +63,8 @@
   void OnNetworkBytesChanged(int64_t bytes);
 
  protected:
-  // Called to reset internal loader and observer state.
-  virtual void ResetState();
+  // Called to reset the loader.
+  virtual void ResetLoader();
 
  private:
   friend class TestBackgroundLoaderOffliner;
@@ -75,6 +75,12 @@
   // Called when the page has been saved.
   void OnPageSaved(SavePageResult save_result, int64_t offline_id);
 
+  // Called to reset internal loader and observer state.
+  void ResetState();
+
+  // Called to attach 'this' as the observer to the loader.
+  void AttachObservers();
+
   // Called when application state has changed.
   void OnApplicationStateChange(
       base::android::ApplicationState application_state);
diff --git a/chrome/browser/android/offline_pages/background_loader_offliner_unittest.cc b/chrome/browser/android/offline_pages/background_loader_offliner_unittest.cc
index 52a61bc..57a3b70 100644
--- a/chrome/browser/android/offline_pages/background_loader_offliner_unittest.cc
+++ b/chrome/browser/android/offline_pages/background_loader_offliner_unittest.cc
@@ -114,10 +114,10 @@
 
   content::WebContents* web_contents() { return stub_->web_contents(); }
 
-  bool is_loading() { return stub_->is_loading(); }
+  bool is_loading() { return loader_ && stub_->is_loading(); }
 
  protected:
-  void ResetState() override;
+  void ResetLoader() override;
 
  private:
   background_loader::BackgroundLoaderContentsStub* stub_;
@@ -131,11 +131,9 @@
 
 TestBackgroundLoaderOffliner::~TestBackgroundLoaderOffliner() {}
 
-void TestBackgroundLoaderOffliner::ResetState() {
-  pending_request_.reset();
+void TestBackgroundLoaderOffliner::ResetLoader() {
   stub_ = new background_loader::BackgroundLoaderContentsStub(browser_context_);
   loader_.reset(stub_);
-  content::WebContentsObserver::Observe(stub_->web_contents());
 }
 
 class BackgroundLoaderOfflinerTest : public testing::Test {
diff --git a/chrome/browser/chromeos/login/ui/webui_login_view.cc b/chrome/browser/chromeos/login/ui/webui_login_view.cc
index 87bcbbd..6511541 100644
--- a/chrome/browser/chromeos/login/ui/webui_login_view.cc
+++ b/chrome/browser/chromeos/login/ui/webui_login_view.cc
@@ -6,7 +6,9 @@
 
 #include "ash/focus_cycler.h"
 #include "ash/shell.h"
+#include "ash/system/status_area_widget_delegate.h"
 #include "ash/system/tray/system_tray.h"
+#include "ash/system/tray/system_tray_notifier.h"
 #include "base/bind.h"
 #include "base/callback.h"
 #include "base/i18n/rtl.h"
@@ -174,6 +176,13 @@
 
   for (AccelMap::iterator i(accel_map_.begin()); i != accel_map_.end(); ++i)
     AddAccelerator(i->first);
+
+  if (!ash_util::IsRunningInMash() &&
+      ash::Shell::Get()->HasPrimaryStatusArea()) {
+    ash::Shell::Get()->system_tray_notifier()->AddStatusAreaFocusObserver(this);
+  } else {
+    NOTIMPLEMENTED();
+  }
 }
 
 WebUILoginView::~WebUILoginView() {
@@ -188,7 +197,10 @@
 
   if (!ash_util::IsRunningInMash() &&
       ash::Shell::Get()->HasPrimaryStatusArea()) {
-    ash::Shell::Get()->GetPrimarySystemTray()->SetNextFocusableView(nullptr);
+    ash::Shell::Get()->system_tray_notifier()->RemoveStatusAreaFocusObserver(
+        this);
+    ash::StatusAreaWidgetDelegate::GetPrimaryInstance()
+        ->set_default_last_focusable_child(false);
   } else {
     NOTIMPLEMENTED();
   }
@@ -507,7 +519,8 @@
 
   ash::SystemTray* tray = ash::Shell::Get()->GetPrimarySystemTray();
   if (tray && tray->GetWidget()->IsVisible() && tray->visible()) {
-    tray->SetNextFocusableView(this);
+    ash::StatusAreaWidgetDelegate::GetPrimaryInstance()
+        ->set_default_last_focusable_child(reverse);
     ash::Shell::Get()->focus_cycler()->RotateFocus(
         reverse ? ash::FocusCycler::BACKWARD : ash::FocusCycler::FORWARD);
   } else {
@@ -544,6 +557,10 @@
          event.GetType() == blink::WebGestureEvent::kGesturePinchEnd;
 }
 
+void WebUILoginView::OnFocusOut(bool reverse) {
+  AboutToRequestFocusFromTabTraversal(reverse);
+}
+
 void WebUILoginView::OnLoginPromptVisible() {
   // If we're hidden than will generate this signal once we're shown.
   if (is_hidden_ || webui_visible_) {
diff --git a/chrome/browser/chromeos/login/ui/webui_login_view.h b/chrome/browser/chromeos/login/ui/webui_login_view.h
index 0fc9684..ff303d5 100644
--- a/chrome/browser/chromeos/login/ui/webui_login_view.h
+++ b/chrome/browser/chromeos/login/ui/webui_login_view.h
@@ -9,6 +9,7 @@
 #include <string>
 
 #include "ash/shell_observer.h"
+#include "ash/system/status_area_focus_observer.h"
 #include "base/macros.h"
 #include "base/memory/ref_counted.h"
 #include "base/observer_list.h"
@@ -45,7 +46,8 @@
                        public content::WebContentsDelegate,
                        public content::NotificationObserver,
                        public ChromeWebModalDialogManagerDelegate,
-                       public web_modal::WebContentsModalDialogHost {
+                       public web_modal::WebContentsModalDialogHost,
+                       public ash::StatusAreaFocusObserver {
  public:
   struct WebViewSettings {
     // If true, this will check for and consume a preloaded views::WebView
@@ -164,6 +166,9 @@
   bool PreHandleGestureEvent(content::WebContents* source,
                              const blink::WebGestureEvent& event) override;
 
+  // Overridden from ash::StatusAreaFocusObserver.
+  void OnFocusOut(bool reverse) override;
+
   // Performs series of actions when login prompt is considered
   // to be ready and visible.
   // 1. Emits LoginPromptVisible signal if needed
diff --git a/chrome/browser/chromeos/policy/device_cloud_policy_browsertest.cc b/chrome/browser/chromeos/policy/device_cloud_policy_browsertest.cc
index 80fb61b..07c7e598 100644
--- a/chrome/browser/chromeos/policy/device_cloud_policy_browsertest.cc
+++ b/chrome/browser/chromeos/policy/device_cloud_policy_browsertest.cc
@@ -349,7 +349,6 @@
 
  private:
   void SetFakeDevicePolicy() {
-    device_policy()->policy_data().set_username(PolicyBuilder::kFakeUsername);
     device_policy()->policy_data().set_public_key_version(
         kFakePolicyPublicKeyVersion);
     device_policy()->Build();
@@ -359,7 +358,6 @@
   static void MakeTestComponentPolicyBuilder(ComponentPolicyBuilder* builder) {
     builder->policy_data().set_policy_type(
         dm_protocol::kChromeSigninExtensionPolicyType);
-    builder->policy_data().set_username(PolicyBuilder::kFakeUsername);
     builder->policy_data().set_settings_entity_id(kTestExtensionId);
     builder->policy_data().set_public_key_version(kFakePolicyPublicKeyVersion);
     builder->payload().set_download_url(kFakePolicyUrl);
diff --git a/chrome/browser/devtools/devtools_sanity_browsertest.cc b/chrome/browser/devtools/devtools_sanity_browsertest.cc
index 979c992..ec98831 100644
--- a/chrome/browser/devtools/devtools_sanity_browsertest.cc
+++ b/chrome/browser/devtools/devtools_sanity_browsertest.cc
@@ -388,9 +388,7 @@
     ASSERT_TRUE(content::ExecuteScript(web_contents->GetRenderViewHost(),
         "window.addEventListener('beforeunload',"
         "function(event) { event.returnValue = 'Foo'; });"));
-    // Disable the hang monitor, otherwise there will be a race between the
-    // beforeunload dialog and the beforeunload hang timer.
-    web_contents->GetMainFrame()->DisableBeforeUnloadHangMonitorForTesting();
+    content::PrepContentsForBeforeUnloadTest(web_contents);
   }
 
   void RunBeforeUnloadSanityTest(bool is_docked,
diff --git a/chrome/browser/download/download_resource_throttle.cc b/chrome/browser/download/download_resource_throttle.cc
index e871562e..5b294249 100644
--- a/chrome/browser/download/download_resource_throttle.cc
+++ b/chrome/browser/download/download_resource_throttle.cc
@@ -51,14 +51,9 @@
     std::unique_ptr<DownloadResourceThrottle::DownloadRequestInfo> info) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
 #if defined(OS_ANDROID)
-  content::WebContents* contents = info->web_contents_getter.Run();
-  if (contents) {
-    DownloadControllerBase::Get()->AcquireFileAccessPermission(
-        contents, base::Bind(&OnAcquireFileAccessPermissionDone,
-                             base::Passed(std::move(info))));
-  } else {
-    OnAcquireFileAccessPermissionDone(std::move(info), false);
-  }
+  DownloadControllerBase::Get()->AcquireFileAccessPermission(
+      info->web_contents_getter, base::Bind(&OnAcquireFileAccessPermissionDone,
+                                            base::Passed(std::move(info))));
 #else
   CanDownload(std::move(info));
 #endif
diff --git a/chrome/browser/extensions/BUILD.gn b/chrome/browser/extensions/BUILD.gn
index 43df4066..a2494bff 100644
--- a/chrome/browser/extensions/BUILD.gn
+++ b/chrome/browser/extensions/BUILD.gn
@@ -985,6 +985,7 @@
       "//components/constrained_window",
       "//components/drive",
       "//components/user_manager",
+      "//remoting/base",
       "//remoting/host",
       "//remoting/host/it2me:common",
       "//third_party/protobuf:protobuf_lite",
diff --git a/chrome/browser/extensions/api/DEPS b/chrome/browser/extensions/api/DEPS
index 21be500..f33f5220 100644
--- a/chrome/browser/extensions/api/DEPS
+++ b/chrome/browser/extensions/api/DEPS
@@ -5,6 +5,7 @@
   "+components/guest_view/common",
   "+device/hid",
    # Enable remote assistance on Chrome OS
+  "+remoting/base",
   "+remoting/host",
 ]
 
diff --git a/chrome/browser/extensions/api/cast_streaming/performance_test.cc b/chrome/browser/extensions/api/cast_streaming/performance_test.cc
index 5821de05..6fe68046 100644
--- a/chrome/browser/extensions/api/cast_streaming/performance_test.cc
+++ b/chrome/browser/extensions/api/cast_streaming/performance_test.cc
@@ -622,13 +622,14 @@
     MeanAndError frame_data = AnalyzeTraceDistance(
         analyzer.get(),
         "OnSwapCompositorFrame");
-
-    EXPECT_GT(frame_data.num_values, 0UL);
-    // Lower is better.
-    frame_data.Print(test_name,
-                     GetSuffixForTestFlags(),
-                     "time_between_frames",
-                     "ms");
+    if (frame_data.num_values > 0) {
+      // Lower is better.
+      frame_data.Print(test_name, GetSuffixForTestFlags(),
+                       "time_between_frames", "ms");
+    } else {
+      // TODO(miu): Fix is currently WIP. http://crbug.com/709247
+      LOG(WARNING) << "No frame_data values, so no time_between_frames result.";
+    }
 
     // This prints out the average time between capture events.
     // As the capture frame rate is capped at 30fps, this score
diff --git a/chrome/browser/extensions/api/messaging/native_message_host_chromeos.cc b/chrome/browser/extensions/api/messaging/native_message_host_chromeos.cc
index 9d2da8f..47375a5 100644
--- a/chrome/browser/extensions/api/messaging/native_message_host_chromeos.cc
+++ b/chrome/browser/extensions/api/messaging/native_message_host_chromeos.cc
@@ -18,13 +18,14 @@
 #include "base/values.h"
 #include "chrome/browser/browser_process.h"
 #include "chrome/browser/chromeos/arc/extensions/arc_support_message_host.h"
-#include "components/policy/core/common/policy_service.h"
 #include "content/public/browser/browser_thread.h"
 #include "extensions/common/constants.h"
 #include "extensions/common/url_pattern.h"
 #include "net/url_request/url_request_context_getter.h"
+#include "remoting/base/auto_thread_task_runner.h"
 #include "remoting/host/chromoting_host_context.h"
 #include "remoting/host/it2me/it2me_native_messaging_host.h"
+#include "remoting/host/policy_watcher.h"
 #include "ui/gfx/native_widget_types.h"
 #include "url/gurl.h"
 
@@ -104,9 +105,12 @@
               content::BrowserThread::UI),
           content::BrowserThread::GetTaskRunnerForThread(
               content::BrowserThread::FILE));
+  std::unique_ptr<remoting::PolicyWatcher> policy_watcher =
+      remoting::PolicyWatcher::Create(g_browser_process->policy_service(),
+                                      context->file_task_runner());
   std::unique_ptr<NativeMessageHost> host(
       new remoting::It2MeNativeMessagingHost(
-          /*needs_elevation=*/false, g_browser_process->policy_service(),
+          /*needs_elevation=*/false, std::move(policy_watcher),
           std::move(context), std::move(host_factory)));
   return host;
 }
diff --git a/chrome/browser/lifetime/browser_close_manager_browsertest.cc b/chrome/browser/lifetime/browser_close_manager_browsertest.cc
index 40747971..67f6bb69 100644
--- a/chrome/browser/lifetime/browser_close_manager_browsertest.cc
+++ b/chrome/browser/lifetime/browser_close_manager_browsertest.cc
@@ -72,13 +72,13 @@
   return js_dialog->native_dialog();
 }
 
-// Note: call |DisableHangMonitor| on the relevant WebContents or Browser before
+// Note: call |PrepareForDialog| on the relevant WebContents or Browser before
 // trying to close it, to avoid flakiness. https://crbug.com/519646
 void AcceptClose() {
   GetNextDialog()->AcceptAppModalDialog();
 }
 
-// Note: call |DisableHangMonitor| on the relevant WebContents or Browser before
+// Note: call |PrepareForDialog| on the relevant WebContents or Browser before
 // trying to close it, to avoid flakiness. https://crbug.com/519646
 void CancelClose() {
   GetNextDialog()->CancelAppModalDialog();
@@ -290,17 +290,13 @@
         observer.NumDownloadsSeenInState(content::DownloadItem::IN_PROGRESS));
   }
 
-  // Makes sure that the beforeunload hang monitor will not trigger. That must
-  // be called before close action when using |AcceptClose| or |CancelClose|, to
-  // ensure the timeout does not prevent the dialog from appearing.
-  // https://crbug.com/519646
-  void DisableHangMonitor(content::WebContents* web_contents) {
-    web_contents->GetMainFrame()->DisableBeforeUnloadHangMonitorForTesting();
+  void PrepareForDialog(content::WebContents* web_contents) {
+    content::PrepContentsForBeforeUnloadTest(web_contents);
   }
 
-  void DisableHangMonitor(Browser* browser) {
+  void PrepareForDialog(Browser* browser) {
     for (int i = 0; i < browser->tab_strip_model()->count(); i++)
-      DisableHangMonitor(browser->tab_strip_model()->GetWebContentsAt(i));
+      PrepareForDialog(browser->tab_strip_model()->GetWebContentsAt(i));
   }
 
   std::vector<Browser*> browsers_;
@@ -310,7 +306,7 @@
   ASSERT_TRUE(embedded_test_server()->Start());
   ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL(
       browser(), embedded_test_server()->GetURL("/beforeunload.html")));
-  DisableHangMonitor(browser());
+  PrepareForDialog(browser());
 
   RepeatedNotificationObserver cancel_observer(
       chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED, 1);
@@ -334,7 +330,7 @@
   ASSERT_TRUE(embedded_test_server()->Start());
   ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL(
       browser(), embedded_test_server()->GetURL("/beforeunload.html")));
-  DisableHangMonitor(browser());
+  PrepareForDialog(browser());
 
   RepeatedNotificationObserver cancel_observer(
       chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED, 1);
@@ -363,7 +359,7 @@
   AddBlankTabAndShow(browser());
   ASSERT_NO_FATAL_FAILURE(
       ui_test_utils::NavigateToURL(browser(), GURL(chrome::kChromeUIAboutURL)));
-  DisableHangMonitor(browser());
+  PrepareForDialog(browser());
 
   RepeatedNotificationObserver cancel_observer(
       chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED, 1);
@@ -411,8 +407,8 @@
       browsers_[0], embedded_test_server()->GetURL("/beforeunload.html")));
   ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL(
       browsers_[1], embedded_test_server()->GetURL("/beforeunload.html")));
-  DisableHangMonitor(browsers_[0]);
-  DisableHangMonitor(browsers_[1]);
+  PrepareForDialog(browsers_[0]);
+  PrepareForDialog(browsers_[1]);
 
   // Cancel shutdown on the first beforeunload event.
   {
@@ -466,7 +462,7 @@
       browsers_[0], embedded_test_server()->GetURL("/beforeunload_hang.html")));
   // Disable the hang monitor in the tab that is not expected to hang, so that
   // the dialog is guaranteed to show.
-  DisableHangMonitor(browsers_[0]->tab_strip_model()->GetWebContentsAt(1));
+  PrepareForDialog(browsers_[0]->tab_strip_model()->GetWebContentsAt(1));
 
   RepeatedNotificationObserver cancel_observer(
       chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED, 1);
@@ -502,7 +498,7 @@
       browsers_[2], embedded_test_server()->GetURL("/beforeunload_hang.html")));
   // Disable the hang monitor in the tab that is not expected to hang, so that
   // the dialog is guaranteed to show.
-  DisableHangMonitor(browsers_[1]);
+  PrepareForDialog(browsers_[1]);
 
   RepeatedNotificationObserver cancel_observer(
       chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED, 2);
@@ -547,7 +543,7 @@
   }
   // Disable the hang monitor in the tab that is not expected to hang, so that
   // the dialog is guaranteed to show.
-  DisableHangMonitor(
+  PrepareForDialog(
       browsers_[0]->tab_strip_model()->GetWebContentsAt(kResposiveTabIndex));
 
   RepeatedNotificationObserver cancel_observer(
@@ -596,7 +592,7 @@
   }
   // Disable the hang monitor in the tab that is not expected to hang, so that
   // the dialog is guaranteed to show.
-  DisableHangMonitor(browsers_[kResposiveBrowserIndex]);
+  PrepareForDialog(browsers_[kResposiveBrowserIndex]);
 
   RepeatedNotificationObserver cancel_observer(
       chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED, kResposiveBrowserIndex + 1);
@@ -625,7 +621,7 @@
   ASSERT_TRUE(embedded_test_server()->Start());
   ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL(
       browsers_[0], embedded_test_server()->GetURL("/beforeunload.html")));
-  DisableHangMonitor(browsers_[0]);
+  PrepareForDialog(browsers_[0]);
 
   RepeatedNotificationObserver close_observer(
       chrome::NOTIFICATION_BROWSER_CLOSED, 2);
@@ -644,7 +640,7 @@
   ASSERT_TRUE(embedded_test_server()->Start());
   ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL(
       browsers_[0], embedded_test_server()->GetURL("/beforeunload.html")));
-  DisableHangMonitor(browsers_[0]);
+  PrepareForDialog(browsers_[0]);
 
   RepeatedNotificationObserver cancel_observer(
       chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED, 2);
@@ -652,7 +648,7 @@
   browsers_.push_back(CreateBrowser(browser()->profile()));
   ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL(
       browsers_[1], embedded_test_server()->GetURL("/beforeunload.html")));
-  DisableHangMonitor(browsers_[1]);
+  PrepareForDialog(browsers_[1]);
   ASSERT_NO_FATAL_FAILURE(AcceptClose());
   ASSERT_NO_FATAL_FAILURE(CancelClose());
   cancel_observer.Wait();
@@ -680,8 +676,8 @@
       browsers_[0], embedded_test_server()->GetURL("/beforeunload.html")));
   ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL(
       browsers_[1], embedded_test_server()->GetURL("/beforeunload.html")));
-  DisableHangMonitor(browsers_[0]);
-  DisableHangMonitor(browsers_[1]);
+  PrepareForDialog(browsers_[0]);
+  PrepareForDialog(browsers_[1]);
 
   RepeatedNotificationObserver close_observer(
       chrome::NOTIFICATION_BROWSER_CLOSED, 2);
@@ -706,8 +702,8 @@
       browsers_[0], embedded_test_server()->GetURL("/beforeunload.html")));
   ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL(
       browsers_[1], embedded_test_server()->GetURL("/beforeunload.html")));
-  DisableHangMonitor(browsers_[0]);
-  DisableHangMonitor(browsers_[1]);
+  PrepareForDialog(browsers_[0]);
+  PrepareForDialog(browsers_[1]);
 
   RepeatedNotificationObserver cancel_observer(
       chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED, 2);
@@ -719,8 +715,8 @@
   AddBlankTabAndShow(browsers_[1]);
   ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL(
       browsers_[1], embedded_test_server()->GetURL("/beforeunload.html")));
-  DisableHangMonitor(browsers_[0]);
-  DisableHangMonitor(browsers_[1]);
+  PrepareForDialog(browsers_[0]);
+  PrepareForDialog(browsers_[1]);
   ASSERT_NO_FATAL_FAILURE(AcceptClose());
   ASSERT_NO_FATAL_FAILURE(CancelClose());
   cancel_observer.Wait();
@@ -787,7 +783,7 @@
                    ->NeedToFireBeforeUnload());
   EXPECT_EQ(2, browser2->tab_strip_model()->count());
 
-  DisableHangMonitor(browser2);
+  PrepareForDialog(browser2);
 
   // The test.
 
@@ -851,7 +847,7 @@
   ASSERT_TRUE(embedded_test_server()->Start());
   ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL(
       browsers_[0], embedded_test_server()->GetURL("/beforeunload.html")));
-  DisableHangMonitor(browsers_[0]);
+  PrepareForDialog(browsers_[0]);
 
   RepeatedNotificationObserver cancel_observer(
       chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED, 1);
@@ -860,7 +856,7 @@
   browsers_.push_back(CreateBrowser(browser()->profile()));
   ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL(
       browsers_[1], embedded_test_server()->GetURL("/beforeunload.html")));
-  DisableHangMonitor(browsers_[1]);
+  PrepareForDialog(browsers_[1]);
   browsers_[1]->tab_strip_model()->CloseAllTabs();
   ASSERT_NO_FATAL_FAILURE(CancelClose());
   ASSERT_NO_FATAL_FAILURE(CancelClose());
@@ -886,7 +882,7 @@
   ASSERT_TRUE(embedded_test_server()->Start());
   ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL(
       browsers_[0], embedded_test_server()->GetURL("/beforeunload.html")));
-  DisableHangMonitor(browsers_[0]);
+  PrepareForDialog(browsers_[0]);
 
   RepeatedNotificationObserver cancel_observer(
       chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED, 2);
@@ -895,7 +891,7 @@
   browsers_.push_back(CreateBrowser(browser()->profile()));
   ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL(
       browsers_[1], embedded_test_server()->GetURL("/beforeunload.html")));
-  DisableHangMonitor(browsers_[1]);
+  PrepareForDialog(browsers_[1]);
   ASSERT_FALSE(browsers_[1]->ShouldCloseWindow());
   ASSERT_NO_FATAL_FAILURE(CancelClose());
   ASSERT_NO_FATAL_FAILURE(CancelClose());
@@ -924,8 +920,8 @@
   browsers_.push_back(CreateBrowser(browser()->profile()));
   ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL(
       browsers_[1], embedded_test_server()->GetURL("/beforeunload.html")));
-  DisableHangMonitor(browsers_[0]);
-  DisableHangMonitor(browsers_[1]);
+  PrepareForDialog(browsers_[0]);
+  PrepareForDialog(browsers_[1]);
 
   RepeatedNotificationObserver cancel_observer(
       chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED, 1);
@@ -1224,7 +1220,7 @@
   ASSERT_NO_FATAL_FAILURE(CreateStalledDownload(browser()));
   ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL(
       browser(), embedded_test_server()->GetURL("/beforeunload.html")));
-  DisableHangMonitor(browser());
+  PrepareForDialog(browser());
 
   content::WindowedNotificationObserver cancel_observer(
       chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED,
diff --git a/chrome/browser/media/encrypted_media_browsertest.cc b/chrome/browser/media/encrypted_media_browsertest.cc
index 0ae729c..3406ec30 100644
--- a/chrome/browser/media/encrypted_media_browsertest.cc
+++ b/chrome/browser/media/encrypted_media_browsertest.cc
@@ -83,12 +83,8 @@
 #if BUILDFLAG(USE_PROPRIETARY_CODECS)
 const char kMP4AudioOnly[] = "audio/mp4; codecs=\"mp4a.40.2\"";
 const char kMP4VideoOnly[] = "video/mp4; codecs=\"avc1.4D000C\"";
-
-// NOTE: This string originally signalled the SMPTEST2084 EOTF, but is now
-// signalling BT709. At this time 2084 is only allowed when run with
-// --enable-hdr, and thats not really the focus of this test.
-// TODO(kqyang): update content to not use HDR transfer.
-const char kMP4VideoVp9Only[] = "video/mp4; codecs=\"vp09.00.10.08.01.01.01\"";
+const char kMP4VideoVp9Only[] =
+    "video/mp4; codecs=\"vp09.00.10.08.01.02.02.02.00\"";
 #endif  // BUILDFLAG(USE_PROPRIETARY_CODECS)
 
 // Sessions to load.
diff --git a/chrome/browser/media/encrypted_media_supported_types_browsertest.cc b/chrome/browser/media/encrypted_media_supported_types_browsertest.cc
index 79e575b..7e3d9d8d 100644
--- a/chrome/browser/media/encrypted_media_supported_types_browsertest.cc
+++ b/chrome/browser/media/encrypted_media_supported_types_browsertest.cc
@@ -448,8 +448,8 @@
   // Valid video types.
   EXPECT_PROPRIETARY(AreCodecsSupportedByKeySystem(
       kVideoMP4MimeType, video_mp4_codecs(), kClearKey));
-  EXPECT_SUCCESS(AreCodecsSupportedByKeySystem(
-      kVideoWebMMimeType, video_common_codecs(), kClearKey));
+  EXPECT_PROPRIETARY(AreCodecsSupportedByKeySystem(
+      kVideoMP4MimeType, video_common_codecs(), kClearKey));
 
   // High 10-bit Profile is supported when using ClearKey if
   // it is supported for clear content on this platform.
@@ -598,8 +598,8 @@
   // Valid video types.
   EXPECT_ECK_PROPRIETARY(AreCodecsSupportedByKeySystem(
       kVideoMP4MimeType, video_mp4_codecs(), kExternalClearKey));
-  EXPECT_ECK(AreCodecsSupportedByKeySystem(
-      kVideoWebMMimeType, video_common_codecs(), kExternalClearKey));
+  EXPECT_ECK_PROPRIETARY(AreCodecsSupportedByKeySystem(
+      kVideoMP4MimeType, video_common_codecs(), kExternalClearKey));
 
   // High 10-bit Profile is not supported when using ExternalClearKey.
   EXPECT_ECK_NO_MATCH(AreCodecsSupportedByKeySystem(
@@ -717,8 +717,8 @@
   // Valid video types.
   EXPECT_WV_PROPRIETARY(AreCodecsSupportedByKeySystem(
       kVideoMP4MimeType, video_mp4_codecs(), kWidevine));
-  EXPECT_WV_SUCCESS(AreCodecsSupportedByKeySystem(
-      kVideoWebMMimeType, video_common_codecs(), kWidevine));
+  EXPECT_WV_PROPRIETARY(AreCodecsSupportedByKeySystem(
+      kVideoMP4MimeType, video_common_codecs(), kWidevine));
 
   // High 10-bit Profile is not supported when using Widevine.
   EXPECT_WV_NO_MATCH(AreCodecsSupportedByKeySystem(
diff --git a/chrome/browser/media/protected_media_identifier_permission_context.cc b/chrome/browser/media/protected_media_identifier_permission_context.cc
index 50c2dc5..3ef58c85 100644
--- a/chrome/browser/media/protected_media_identifier_permission_context.cc
+++ b/chrome/browser/media/protected_media_identifier_permission_context.cc
@@ -145,9 +145,12 @@
   }
 }
 
-bool
-ProtectedMediaIdentifierPermissionContext::IsRestrictedToSecureOrigins() const {
-  return false;
+bool ProtectedMediaIdentifierPermissionContext::IsRestrictedToSecureOrigins()
+    const {
+  // EME is not supported on insecure origins, see https://goo.gl/Ks5zf7
+  // Note that origins whitelisted by --unsafely-treat-insecure-origin-as-secure
+  // flag will be treated as "secure" so they will not be affected.
+  return true;
 }
 
 // TODO(xhwang): We should consolidate the "protected content" related pref
diff --git a/chrome/browser/resources/chromeos/switch_access/BUILD.gn b/chrome/browser/resources/chromeos/switch_access/BUILD.gn
index ee22609a..186155c 100644
--- a/chrome/browser/resources/chromeos/switch_access/BUILD.gn
+++ b/chrome/browser/resources/chromeos/switch_access/BUILD.gn
@@ -27,6 +27,7 @@
   sources = [
     "auto_scan_manager.js",
     "automation_manager.js",
+    "automation_predicate.js",
     "background.js",
     "keyboard_handler.js",
     "options.css",
@@ -53,10 +54,12 @@
   test_type = "webui"
   sources = [
     "auto_scan_manager_unittest.gtestjs",
+    "automation_predicate_unittest.gtestjs",
     "tree_walker_unittest.gtestjs",
   ]
   extra_js_files = [
     "auto_scan_manager.js",
+    "automation_predicate.js",
     "tree_walker.js",
   ]
   defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]
diff --git a/chrome/browser/resources/chromeos/switch_access/automation_manager.js b/chrome/browser/resources/chromeos/switch_access/automation_manager.js
index 855539da..a26ec16b 100644
--- a/chrome/browser/resources/chromeos/switch_access/automation_manager.js
+++ b/chrome/browser/resources/chromeos/switch_access/automation_manager.js
@@ -10,18 +10,34 @@
  */
 function AutomationManager() {
   /**
-   * Currently selected node.
+   * Currently highlighted node.
    *
    * @private {chrome.automation.AutomationNode}
    */
   this.node_ = null;
 
   /**
-   * Root node (i.e., the desktop).
+   * The root of the subtree that the user is navigating through.
    *
    * @private {chrome.automation.AutomationNode}
    */
-  this.root_ = null;
+  this.scope_ = null;
+
+  /**
+   * The desktop node.
+   *
+   * @private {chrome.automation.AutomationNode}
+   */
+  this.desktop_ = null;
+
+  /**
+   * A stack of past scopes. Allows user to traverse back to previous groups
+   * after selecting one or more groups. The most recent group is at the end
+   * of the array.
+   *
+   * @private {Array<chrome.automation.AutomationNode>}
+   */
+  this.scopeStack_ = [];
 
   /**
    * Moves to the appropriate node in the accessibility tree.
@@ -35,17 +51,17 @@
 
 AutomationManager.prototype = {
   /**
-   * Set this.node_ and this.root_ to the desktop node, and initialize the
-   * tree walker.
+   * Set this.node_, this.root_, and this.desktop_ to the desktop node, and
+   * creates an initial tree walker.
    *
    * @private
    */
   init_: function() {
-    this.treeWalker_ = new AutomationTreeWalker();
-
     chrome.automation.getDesktop(function(desktop) {
       this.node_ = desktop;
-      this.root_ = desktop;
+      this.scope_ = desktop;
+      this.desktop_ = desktop;
+      this.treeWalker_ = this.createTreeWalker_(desktop);
       console.log('AutomationNode for desktop is loaded');
       this.printNode_(this.node_);
     }.bind(this));
@@ -60,7 +76,10 @@
    * @param {boolean} doNext
    */
   moveToNode: function(doNext) {
-    let node = this.treeWalker_.moveToNode(this.node_, this.root_, doNext);
+    if (!this.treeWalker_)
+      return;
+
+    let node = this.treeWalker_.moveToNode(doNext);
     if (node) {
       this.node_ = node;
       this.printNode_(this.node_);
@@ -69,15 +88,77 @@
   },
 
   /**
-   * Perform the default action on the currently selected node.
+   * Select the currently highlighted node. If the node is the current scope,
+   * go back to the previous scope (i.e., create a new tree walker rooted at
+   * the previous scope). If the node is a group other than the current scope,
+   * create a new tree walker for the new subtree the user is scanning through.
+   * Otherwise, meaning the node is interesting, perform the default action on
+   * it.
    */
-  doDefault: function() {
-    if (!this.node_)
+  selectCurrentNode: function() {
+    if (!this.node_ || !this.scope_ || !this.treeWalker_)
       return;
 
+    if (this.node_ === this.scope_) {
+      // Don't let user select the top-level root node (i.e., the desktop node).
+      if (this.scopeStack_.length === 0)
+        return;
+
+      // Find a previous scope that is still valid.
+      let oldScope;
+      do {
+        oldScope = this.scopeStack_.pop();
+      } while (oldScope && !oldScope.role);
+
+      // oldScope will always be valid here, so this will always be true.
+      if (oldScope) {
+        this.scope_ = oldScope;
+        this.treeWalker_ = this.createTreeWalker_(this.scope_, this.node_);
+      }
+      return;
+    }
+
+    if (AutomationPredicate.isGroup(this.node_, this.scope_)) {
+      this.scopeStack_.push(this.scope_);
+      this.scope_ = this.node_;
+      this.treeWalker_ = this.createTreeWalker_(this.scope_);
+      this.moveToNode(true);
+      return;
+    }
+
     this.node_.doDefault();
   },
 
+  /**
+   * Create an AutomationTreeWalker for the subtree with |scope| as its root.
+   * If |opt_start| is defined, the tree walker will start walking the tree
+   * from |opt_start|; otherwise, it will start from |scope|.
+   *
+   * @param {!chrome.automation.AutomationNode} scope
+   * @param {!chrome.automation.AutomationNode=} opt_start
+   * @return {!AutomationTreeWalker}
+   */
+  createTreeWalker_: function(scope, opt_start) {
+    // If no explicit start node, start walking the tree from |scope|.
+    let start = opt_start || scope;
+
+    let leafPred = function(node) {
+      return (node !== scope && AutomationPredicate.isSubtreeLeaf(node, scope))
+          || !AutomationPredicate.isInterestingSubtree(node);
+    };
+    let visitPred = function(node) {
+      // Avoid visiting the top-level root node (i.e., the desktop node).
+      return node !== this.desktop_
+          && AutomationPredicate.isSubtreeLeaf(node, scope);
+    }.bind(this);
+
+    let restrictions = {
+      leaf: leafPred,
+      visit: visitPred
+    };
+    return new AutomationTreeWalker(start, scope, restrictions);
+  },
+
   // TODO(elichtenberg): Move print functions to a custom logger class. Only
   // log when debuggingEnabled is true.
   /**
diff --git a/chrome/browser/resources/chromeos/switch_access/automation_predicate.js b/chrome/browser/resources/chromeos/switch_access/automation_predicate.js
new file mode 100644
index 0000000..5f9ee906
--- /dev/null
+++ b/chrome/browser/resources/chromeos/switch_access/automation_predicate.js
@@ -0,0 +1,124 @@
+// 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.
+
+/**
+ * Class containing predicates for the chrome automation API. Each predicate
+ * can be run on one or more AutomationNodes and returns a boolean value.
+ *
+ * @constructor
+ */
+function AutomationPredicate() {};
+
+/**
+ * Returns true if |node| is a subtreeLeaf, meaning that |node| is either
+ * interesting or a group (both defined below).
+ *
+ * @param {!chrome.automation.AutomationNode} node
+ * @param {!chrome.automation.AutomationNode} scope
+ * @return {boolean}
+ */
+AutomationPredicate.isSubtreeLeaf = function(node, scope) {
+  return AutomationPredicate.isInteresting(node)
+      || AutomationPredicate.isGroup(node, scope);
+};
+
+/**
+ * Returns true if |node| is a group, meaning that the node has more than one
+ * interesting descendant, and that its interesting descendants exist in more
+ * than one subtree of its immediate children.
+ *
+ * Additionally, for |node| to be a group, it cannot have the same bounding
+ * box as its scope.
+ *
+ * @param {!chrome.automation.AutomationNode} node
+ * @param {!chrome.automation.AutomationNode} scope
+ * @return {boolean}
+ */
+AutomationPredicate.isGroup = function(node, scope) {
+  if (node !== scope && AutomationPredicate.hasSameLocation_(node, scope))
+    return false;
+
+  // Work around for client nested in client. No need to have user select both
+  // clients for a window. Once locations for outer client updates correctly,
+  // this won't be needed.
+  if (node.role === chrome.automation.RoleType.CLIENT
+      && node.role === scope.role && node !== scope)
+    return false;
+
+  let interestingBranches = 0;
+  for (let child of node.children) {
+    if (AutomationPredicate.isInterestingSubtree(child))
+      interestingBranches += 1;
+    if (interestingBranches > 1)
+      return true;
+  }
+  return false;
+};
+
+/**
+ * Returns true if the two nodes have the same location.
+ *
+ * @param {!chrome.automation.AutomationNode} node1
+ * @param {!chrome.automation.AutomationNode} node2
+ * @return {boolean}
+ */
+AutomationPredicate.hasSameLocation_ = function(node1, node2) {
+  let l1 = node1.location;
+  let l2 = node2.location;
+  return l1.left === l2.left && l1.top === l2.top && l1.width === l2.width
+      && l1.height === l2.height;
+};
+
+/**
+ * Returns true if there is an interesting node in the subtree containing
+ * |node| as its root (including |node| itself).
+ *
+ * @param {!chrome.automation.AutomationNode} node
+ * @return {boolean}
+ */
+AutomationPredicate.isInterestingSubtree = function(node) {
+  let children = node.children || [];
+  return AutomationPredicate.isInteresting(node)
+      || children.some(AutomationPredicate.isInterestingSubtree);
+};
+
+/**
+ * Returns true if |node| is interesting, meaning that a user can perform some
+ * type of action on it.
+ *
+ * @param {!chrome.automation.AutomationNode} node
+ * @return {boolean}
+ */
+AutomationPredicate.isInteresting = function(node) {
+  let loc = node.location;
+  let parent = node.parent;
+  let root = node.root;
+  let role = node.role;
+  let state = node.state;
+
+  // TODO(elichtenberg): Define shorthand for chrome.automation.RoleType and
+  // StateType.
+
+  // Skip things that are offscreen
+  if (state[chrome.automation.StateType.OFFSCREEN]
+      || loc.top < 0 || loc.left < 0)
+    return false;
+
+  // Should just leave these as groups
+  if (role === chrome.automation.RoleType.WEB_VIEW
+      || role === chrome.automation.RoleType.ROOT_WEB_AREA)
+    return false;
+
+  if (parent) {
+    // crbug.com/710559
+    // Work around for browser tabs
+    if (role === chrome.automation.RoleType.TAB
+        && parent.role === chrome.automation.RoleType.TAB_LIST
+        && root.role === chrome.automation.RoleType.DESKTOP)
+      return true;
+  }
+
+  // The general rule that applies to everything.
+  return state[chrome.automation.StateType.FOCUSABLE] === true;
+}
diff --git a/chrome/browser/resources/chromeos/switch_access/automation_predicate_unittest.gtestjs b/chrome/browser/resources/chromeos/switch_access/automation_predicate_unittest.gtestjs
new file mode 100644
index 0000000..b24d637
--- /dev/null
+++ b/chrome/browser/resources/chromeos/switch_access/automation_predicate_unittest.gtestjs
@@ -0,0 +1,62 @@
+// 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.
+
+/**
+ * Test fixture for automation_predicate.js.
+ * @constructor
+ * @extends {testing.Test}
+ */
+function AutomationPredicateUnitTest () {
+  testing.Test.call(this);
+};
+
+AutomationPredicateUnitTest.prototype = {
+  __proto__: testing.Test.prototype,
+
+  /** @override */
+  extraLibraries: [
+    'automation_predicate.js',
+  ],
+
+  /** @override */
+  browsePreload: DUMMY_URL,
+};
+
+TEST_F('AutomationPredicateUnitTest', 'IsInteresting', function() {
+  chrome.automation = {
+    RoleType: {
+      DESKTOP: 'desktop', ROOT_WEB_AREA: 'rootWebArea', TAB: 'tab',
+      TAB_LIST: 'tabList', WEB_VIEW: 'webView'
+    },
+    StateType: {FOCUSABLE: 'focusable', OFFSCREEN: 'offscreen'}
+  };
+
+  // Testing focusable.
+  let loc1 = {left: 0, top: 0, width: 0, height: 0};
+  let node1 = {location: loc1, state: {}};
+  let node2 = {location: loc1, state: {focusable: false}};
+  let node3 = {location: loc1, state: {focusable: true}};
+  assertFalse(AutomationPredicate.isInteresting(node1));
+  assertFalse(AutomationPredicate.isInteresting(node2));
+  assertTrue(AutomationPredicate.isInteresting(node3));
+
+  // Testing onscreen.
+  let loc2 = {left: -1, top: 0, width: 0, height: 0};
+  let loc3 = {left: 0, top: -1, width: 0, height: 0};
+  let node4 = {location: loc2, state: {focusable: true}};
+  let node5 = {location: loc3, state: {focusable: true}};
+  let node6 = {location: loc1, state: {focusable: true, offscreen: true}}
+  assertFalse(AutomationPredicate.isInteresting(node4));
+  assertFalse(AutomationPredicate.isInteresting(node5));
+  assertFalse(AutomationPredicate.isInteresting(node6));
+
+  // Testing if tab.
+  let node7 = {location: loc1, role: 'desktop', state: {}};
+  let node8 = {location: loc1, role: 'tabList', state: {}};
+  let node9 =
+      {location: loc1, parent: node8, root: node7, role: 'tab', state: {}};
+  assertFalse(AutomationPredicate.isInteresting(node7));
+  assertFalse(AutomationPredicate.isInteresting(node8));
+  assertTrue(AutomationPredicate.isInteresting(node9));
+});
diff --git a/chrome/browser/resources/chromeos/switch_access/compiled_resources2.gyp b/chrome/browser/resources/chromeos/switch_access/compiled_resources2.gyp
index d5e30fc3..0733f1a 100644
--- a/chrome/browser/resources/chromeos/switch_access/compiled_resources2.gyp
+++ b/chrome/browser/resources/chromeos/switch_access/compiled_resources2.gyp
@@ -17,11 +17,19 @@
       'dependencies': [
         '<(EXTERNS_GYP):accessibility_private',
         '<(EXTERNS_GYP):automation',
+        'automation_predicate',
         'tree_walker',
       ],
       'includes': ['../../../../../third_party/closure_compiler/compile_js2.gypi'],
     },
     {
+      'target_name': 'automation_predicate',
+      'dependencies': [
+        '<(EXTERNS_GYP):automation',
+      ],
+      'includes': ['../../../../../third_party/closure_compiler/compile_js2.gypi'],
+    },
+    {
       'target_name': 'background',
       'dependencies': [
         '<(EXTERNS_GYP):chrome_extensions',
@@ -56,8 +64,6 @@
     {
       'target_name': 'switch_access',
       'dependencies': [
-        '<(EXTERNS_GYP):accessibility_private',
-        '<(EXTERNS_GYP):automation',
         '<(EXTERNS_GYP):chrome_extensions',
         'prefs',
         'auto_scan_manager',
diff --git a/chrome/browser/resources/chromeos/switch_access/keyboard_handler.js b/chrome/browser/resources/chromeos/switch_access/keyboard_handler.js
index ce3078bf..8d9b151 100644
--- a/chrome/browser/resources/chromeos/switch_access/keyboard_handler.js
+++ b/chrome/browser/resources/chromeos/switch_access/keyboard_handler.js
@@ -48,8 +48,8 @@
         this.switchAccess_.moveToNode(false);
         break;
       case '3':
-        console.log('3 = do default on element');
-        this.switchAccess_.doDefault();
+        console.log('3 = select element');
+        this.switchAccess_.selectCurrentNode();
         break;
       case '4':
         this.switchAccess_.showOptionsPage();
diff --git a/chrome/browser/resources/chromeos/switch_access/manifest.json.jinja2 b/chrome/browser/resources/chromeos/switch_access/manifest.json.jinja2
index 40ad0e1..3271302 100644
--- a/chrome/browser/resources/chromeos/switch_access/manifest.json.jinja2
+++ b/chrome/browser/resources/chromeos/switch_access/manifest.json.jinja2
@@ -11,12 +11,13 @@
 {% endif %}
   "background": {
     "scripts": [
-      "prefs.js",
       "auto_scan_manager.js",
       "automation_manager.js",
+      "automation_predicate.js",
       "keyboard_handler.js",
-      "tree_walker.js",
+      "prefs.js",
       "switch_access.js",
+      "tree_walker.js",
       "background.js"
     ]
   },
diff --git a/chrome/browser/resources/chromeos/switch_access/switch_access.js b/chrome/browser/resources/chromeos/switch_access/switch_access.js
index f24f524..c2e2fa2 100644
--- a/chrome/browser/resources/chromeos/switch_access/switch_access.js
+++ b/chrome/browser/resources/chromeos/switch_access/switch_access.js
@@ -75,8 +75,8 @@
    *
    * @override
    */
-  doDefault: function() {
-    this.automationManager_.doDefault();
+  selectCurrentNode: function() {
+    this.automationManager_.selectCurrentNode();
   },
 
   /**
diff --git a/chrome/browser/resources/chromeos/switch_access/switch_access_interface.js b/chrome/browser/resources/chromeos/switch_access/switch_access_interface.js
index 69e8b3f..6401ab8 100644
--- a/chrome/browser/resources/chromeos/switch_access/switch_access_interface.js
+++ b/chrome/browser/resources/chromeos/switch_access/switch_access_interface.js
@@ -17,7 +17,7 @@
 SwitchAccessInterface.prototype = {
   moveToNode: function(doNext) {},
 
-  doDefault: function() {},
+  selectCurrentNode: function() {},
 
   showOptionsPage: function() {},
 
diff --git a/chrome/browser/resources/chromeos/switch_access/tree_walker.js b/chrome/browser/resources/chromeos/switch_access/tree_walker.js
index 5fc9f1f1..5c763b8 100644
--- a/chrome/browser/resources/chromeos/switch_access/tree_walker.js
+++ b/chrome/browser/resources/chromeos/switch_access/tree_walker.js
@@ -3,50 +3,94 @@
 // found in the LICENSE file.
 
 /**
- * Class to move to the appropriate node in the accessibility tree.
+ * Class to move to the appropriate node in the accessibility tree. Stays in a
+ * subtree determined by restrictions passed to it.
  *
  * @constructor
+ * @param {!chrome.automation.AutomationNode} start
+ * @param {!chrome.automation.AutomationNode} scope
+ * @param {!AutomationTreeWalker.Restriction} restrictions
  */
-function AutomationTreeWalker() {};
+function AutomationTreeWalker(start, scope, restrictions) {
+  /**
+   * Currently highlighted node.
+   *
+   * @private {!chrome.automation.AutomationNode}
+   */
+  this.node_ = start;
+
+  /**
+   * The root of the subtree that the user is navigating through.
+   *
+   * @private {!chrome.automation.AutomationNode}
+   */
+  this.scope_ = scope;
+
+  /**
+   * Function that returns true for a node that is a leaf of the current
+   * subtree.
+   *
+   * @private {!AutomationTreeWalker.Unary}
+   */
+  this.leafPred_ = restrictions.leaf;
+
+  /**
+   * Function that returns true for a node in the current subtree that should
+   * be visited.
+   *
+   * @private {!AutomationTreeWalker.Unary}
+   */
+  this.visitPred_ = restrictions.visit;
+};
+
+/**
+ * @typedef {{leaf: AutomationTreeWalker.Unary,
+ *            visit: AutomationTreeWalker.Unary}}
+ */
+AutomationTreeWalker.Restriction;
+
+/**
+ * @typedef {function(!chrome.automation.AutomationNode) : boolean}
+ */
+AutomationTreeWalker.Unary;
 
 AutomationTreeWalker.prototype = {
   /**
-   * Return the next/previous interesting node from |start|. If no interesting
-   * node is found, return the first/last interesting node. If |doNext| is true,
-   * will search for next node. Otherwise, will search for previous node.
+   * Set this.node_ to the next/previous interesting node within the current
+   * scope and return it. If no interesting node is found, return the
+   * first/last interesting node. If |doNext| is true, will search for next
+   * node. Otherwise, will search for previous node.
    *
-   * @param {chrome.automation.AutomationNode} start
-   * @param {chrome.automation.AutomationNode} root
    * @param {boolean} doNext
    * @return {chrome.automation.AutomationNode}
    */
-  moveToNode: function(start, root, doNext) {
-    let node = start;
+  moveToNode: function(doNext) {
+    let node = this.node_;
+    do {
+      node = doNext ? this.getNextNode_(node) : this.getPreviousNode_(node);
+    } while (node && !this.visitPred_(node));
     if (node) {
-      do {
-        node = doNext ? this.getNextNode_(node) : this.getPreviousNode_(node);
-      } while (node && !this.isInteresting_(node));
-      if (node)
-        return node;
+      this.node_ = node;
+      return node;
     }
 
-    if (root) {
-      console.log(
-          'Restarting search for node at ' + (doNext ? 'first' : 'last'));
-      node = doNext ? root.firstChild : this.getYoungestDescendant_(root);
-      while (node && !this.isInteresting_(node))
-        node = doNext ? this.getNextNode_(node) : this.getPreviousNode_(node);
-      if (node)
-        return node;
+    console.log('Restarting search for node at ' + (doNext ? 'first' : 'last'));
+    node = doNext ? this.scope_ : this.getYoungestDescendant_(this.scope_);
+    while (node && !this.visitPred_(node))
+      node = doNext ? this.getNextNode_(node) : this.getPreviousNode_(node);
+    if (node) {
+      this.node_ = node;
+      return node;
     }
 
     console.log('Found no interesting nodes to visit.');
     return null;
   },
 
+
   /**
    * Given a flat list of nodes in pre-order, get the node that comes after
-   * |node|.
+   * |node| within the current scope.
    *
    * @param {!chrome.automation.AutomationNode} node
    * @return {!chrome.automation.AutomationNode|undefined}
@@ -55,9 +99,14 @@
   getNextNode_: function(node) {
     // Check for child.
     let child = node.firstChild;
-    if (child)
+    if (child && !this.leafPred_(node))
       return child;
 
+    // Has no children, and if node is root of subtree, don't check siblings
+    // or parent.
+    if (node === this.scope_)
+      return undefined;
+
     // No child. Check for right-sibling.
     let sibling = node.nextSibling;
     if (sibling)
@@ -65,7 +114,7 @@
 
     // No right-sibling. Get right-sibling of closest ancestor.
     let ancestor = node.parent;
-    while (ancestor) {
+    while (ancestor && ancestor !== this.scope_) {
       let aunt = ancestor.nextSibling;
       if (aunt)
         return aunt;
@@ -78,13 +127,17 @@
 
   /**
    * Given a flat list of nodes in pre-order, get the node that comes before
-   * |node|.
+   * |node| within the current scope.
    *
    * @param {!chrome.automation.AutomationNode} node
    * @return {!chrome.automation.AutomationNode|undefined}
    * @private
    */
   getPreviousNode_: function(node) {
+    // If node is root of subtree, there is no previous node.
+    if (node === this.scope_)
+      return undefined;
+
     // Check for left-sibling. If a left-sibling exists, return its youngest
     // descendant if it has one, or otherwise return the sibling.
     let sibling = node.previousSibling;
@@ -92,59 +145,33 @@
       return this.getYoungestDescendant_(sibling) || sibling;
 
     // No left-sibling. Return parent if it exists; otherwise return undefined.
-    return node.parent;
+    //return node.parent;
+    let parent = node.parent;
+    if (parent)
+      return parent;
+
+    return undefined;
   },
 
   /**
-   * Get the youngest descendant of |node| if it has one.
+   * Get the youngest descendant of |node|, if it has one, within the current
+   * scope.
    *
    * @param {!chrome.automation.AutomationNode} node
    * @return {!chrome.automation.AutomationNode|undefined}
    * @private
    */
   getYoungestDescendant_: function(node) {
-    if (!node.lastChild)
+    if (!node.lastChild || this.leafPred_(node))
       return undefined;
 
-    while (node.lastChild)
+    while (node.lastChild && !this.leafPred_(node))
       node = node.lastChild;
 
     return node;
   },
 
   /**
-   * Returns true if |node| is interesting.
-   *
-   * @param {!chrome.automation.AutomationNode} node
-   * @return {boolean}
-   * @private
-   */
-  isInteresting_: function(node) {
-    let loc = node.location;
-    let parent = node.parent;
-    let root = node.root;
-    let role = node.role;
-    let state = node.state;
-
-    // Skip things that are offscreen
-    if (state[chrome.automation.StateType.OFFSCREEN]
-        || loc.top < 0 || loc.left < 0)
-      return false;
-
-    if (parent) {
-      // crbug.com/710559
-      // Work around for browser tabs
-      if (role === chrome.automation.RoleType.TAB
-          && parent.role === chrome.automation.RoleType.TAB_LIST
-          && root.role === chrome.automation.RoleType.DESKTOP)
-        return true;
-    }
-
-    // The general rule that applies to everything.
-    return state[chrome.automation.StateType.FOCUSABLE] === true;
-  },
-
-  /**
    * Return the next sibling of |node| if it has one.
    *
    * @param {chrome.automation.AutomationNode} node
diff --git a/chrome/browser/resources/chromeos/switch_access/tree_walker_unittest.gtestjs b/chrome/browser/resources/chromeos/switch_access/tree_walker_unittest.gtestjs
index 380f2d5..ba095e0 100644
--- a/chrome/browser/resources/chromeos/switch_access/tree_walker_unittest.gtestjs
+++ b/chrome/browser/resources/chromeos/switch_access/tree_walker_unittest.gtestjs
@@ -76,6 +76,17 @@
       leaf4: leaf4,
       leaf5: leaf5
     };
+  },
+
+  getDefaultRestrictions: function() {
+    return {
+      leaf: function(node) {
+        return false;
+      },
+      visit: function(node) {
+        return node.state.focusable === true;
+      },
+    }
   }
 };
 
@@ -86,7 +97,8 @@
   };
 
   let t = this.getSampleTree();
-  let treeWalker = new AutomationTreeWalker();
+  let treeWalker =
+      new AutomationTreeWalker(t.root, t.root, this.getDefaultRestrictions());
 
   let interesting = {focusable: true};
   t.leaf1.state = interesting;
@@ -95,29 +107,24 @@
   t.leaf5.state = interesting;
 
   // Move to next node.
-  assertEquals(t.leaf1, treeWalker.moveToNode(t.root, t.root, true));
-  assertEquals(t.leaf1, treeWalker.moveToNode(t.middle1, t.root, true));
-  assertEquals(t.leaf2, treeWalker.moveToNode(t.leaf1, t.root, true));
-  assertEquals(t.middle2, treeWalker.moveToNode(t.leaf2, t.root, true));
-  assertEquals(t.middle2, treeWalker.moveToNode(t.leaf3, t.root, true));
-  assertEquals(t.leaf5, treeWalker.moveToNode(t.middle2, t.root, true));
-  assertEquals(t.leaf5, treeWalker.moveToNode(t.leaf4, t.root, true));
-  assertEquals(t.leaf1, treeWalker.moveToNode(t.leaf5, t.root, true));
+  assertEquals(t.leaf1, treeWalker.moveToNode(true));
+  assertEquals(t.leaf2, treeWalker.moveToNode(true));
+  assertEquals(t.middle2, treeWalker.moveToNode(true));
+  assertEquals(t.leaf5, treeWalker.moveToNode(true));
+  assertEquals(t.leaf1, treeWalker.moveToNode(true));
 
   // Move to previous node.
-  assertEquals(t.middle2, treeWalker.moveToNode(t.leaf5, t.root, false));
-  assertEquals(t.middle2, treeWalker.moveToNode(t.leaf4, t.root, false));
-  assertEquals(t.leaf2, treeWalker.moveToNode(t.middle2, t.root, false));
-  assertEquals(t.leaf2, treeWalker.moveToNode(t.leaf3, t.root, false));
-  assertEquals(t.leaf1, treeWalker.moveToNode(t.leaf2, t.root, false));
-  assertEquals(t.leaf5, treeWalker.moveToNode(t.leaf1, t.root, false));
-  assertEquals(t.leaf5, treeWalker.moveToNode(t.middle1, t.root, false));
-  assertEquals(t.leaf5, treeWalker.moveToNode(t.root, t.root, false));
+  assertEquals(t.leaf5, treeWalker.moveToNode(false));
+  assertEquals(t.middle2, treeWalker.moveToNode(false));
+  assertEquals(t.leaf2, treeWalker.moveToNode(false));
+  assertEquals(t.leaf1, treeWalker.moveToNode(false));
+  assertEquals(t.leaf5, treeWalker.moveToNode(false));
 });
 
 TEST_F('AutomationTreeWalkerUnitTest', 'GetNextNode', function() {
   let t = this.getSampleTree();
-  let treeWalker = new AutomationTreeWalker();
+  let treeWalker =
+      new AutomationTreeWalker(t.root, t.root, this.getDefaultRestrictions());
 
   let order =
       [t.root, t.middle1, t.leaf1, t.leaf2, t.leaf3,
@@ -132,7 +139,8 @@
 
 TEST_F('AutomationTreeWalkerUnitTest', 'GetPreviousNode', function() {
   let t = this.getSampleTree();
-  let treeWalker = new AutomationTreeWalker();
+  let treeWalker =
+      new AutomationTreeWalker(t.root, t.root, this.getDefaultRestrictions());
 
   let order =
       [t.leaf5, t.leaf4, t.middle2, t.leaf3, t.leaf2,
@@ -147,7 +155,8 @@
 
 TEST_F('AutomationTreeWalkerUnitTest', 'GetYoungestDescendant', function() {
   let t = this.getSampleTree();
-  let treeWalker = new AutomationTreeWalker();
+  let treeWalker =
+      new AutomationTreeWalker(t.root, t.root, this.getDefaultRestrictions());
 
   assertEquals(t.leaf5, treeWalker.getYoungestDescendant_(t.root));
   assertEquals(t.leaf3, treeWalker.getYoungestDescendant_(t.middle1));
@@ -158,38 +167,3 @@
   assertEquals(undefined, treeWalker.getYoungestDescendant_(t.leaf4));
   assertEquals(undefined, treeWalker.getYoungestDescendant_(t.leaf5));
 });
-
-TEST_F('AutomationTreeWalkerUnitTest', 'IsInteresting', function() {
-  chrome.automation = {
-    RoleType: {DESKTOP: 'desktop', TAB: 'tab', TAB_LIST: 'tabList'},
-    StateType: {FOCUSABLE: 'focusable', OFFSCREEN: 'offscreen'}
-  };
-
-  let treeWalker = new AutomationTreeWalker();
-
-  // Testing focusable.
-  let loc1 = {left: 0, top: 0, width: 0, height: 0};
-  let node1 = {location: loc1, state: {}};
-  let node2 = {location: loc1, state: {focusable: false}};
-  let node3 = {location: loc1, state: {focusable: true}};
-  assertFalse(treeWalker.isInteresting_(node1));
-  assertFalse(treeWalker.isInteresting_(node2));
-  assertTrue(treeWalker.isInteresting_(node3));
-
-  // Testing onscreen.
-  let loc2 = {left: -1, top: 0, width: 0, height: 0};
-  let loc3 = {left: 0, top: -1, width: 0, height: 0};
-  let node4 = {location: loc2, state: {focusable: true}};
-  let node5 = {location: loc3, state: {focusable: true}};
-  assertFalse(treeWalker.isInteresting_(node4));
-  assertFalse(treeWalker.isInteresting_(node5));
-
-  // Testing if tab.
-  let node6 = {location: loc1, role: 'desktop', state: {}};
-  let node7 = {location: loc1, role: 'tabList', state: {}};
-  let node8 =
-      {location: loc1, parent: node7, root: node6, role: 'tab', state: {}};
-  assertFalse(treeWalker.isInteresting_(node6));
-  assertFalse(treeWalker.isInteresting_(node7));
-  assertTrue(treeWalker.isInteresting_(node8));
-});
diff --git a/chrome/browser/site_per_process_interactive_browsertest.cc b/chrome/browser/site_per_process_interactive_browsertest.cc
index 15a7953..fb73671 100644
--- a/chrome/browser/site_per_process_interactive_browsertest.cc
+++ b/chrome/browser/site_per_process_interactive_browsertest.cc
@@ -581,16 +581,6 @@
   return has_style;
 }
 
-// Set the allowFullscreen attribute on the <iframe> element identified by
-// |frame_id|.
-void SetAllowFullscreenForFrame(content::RenderFrameHost* host,
-                                const std::string& frame_id) {
-  EXPECT_TRUE(ExecuteScript(
-      host, base::StringPrintf(
-                "document.getElementById('%s').allowFullscreen = true;",
-                frame_id.c_str())));
-}
-
 // Add a listener that will send back a message whenever the (prefixed)
 // fullscreenchange event fires.  The message will be "fullscreenchange",
 // followed by a space and the provided |id|.
@@ -745,8 +735,10 @@
 // paths on the Blink side.
 void SitePerProcessInteractiveBrowserTest::FullscreenElementInABA(
     FullscreenExitMethod exit_method) {
-  GURL main_url(embedded_test_server()->GetURL(
-      "a.com", "/cross_site_iframe_factory.html?a(b(a))"));
+  GURL main_url(embedded_test_server()->GetURL("a.com",
+                                               "/cross_site_iframe_factory."
+                                               "html?a(b{allowfullscreen}(a{"
+                                               "allowfullscreen}))"));
   ui_test_utils::NavigateToURL(browser(), main_url);
   content::WebContents* web_contents =
       browser()->tab_strip_model()->GetActiveWebContents();
@@ -763,10 +755,6 @@
   EXPECT_EQ(embedded_test_server()->GetURL("a.com", "/fullscreen_frame.html"),
             grandchild->GetLastCommittedURL());
 
-  // Add allowFullscreen attribute to both <iframe> elements.
-  SetAllowFullscreenForFrame(main_frame, "child-0");
-  SetAllowFullscreenForFrame(child, "child-0");
-
   // Make fullscreenchange events in all three frames send a message.
   AddFullscreenChangeListener(main_frame, "main_frame");
   AddFullscreenChangeListener(child, "child");
@@ -882,8 +870,11 @@
 // fullscreen exit path.
 IN_PROC_BROWSER_TEST_F(SitePerProcessInteractiveBrowserTest,
                        FullscreenElementInMultipleSubframes) {
+  // Allow fullscreen in all iframes descending to |c_middle|.
   GURL main_url(embedded_test_server()->GetURL(
-      "a.com", "/cross_site_iframe_factory.html?a(a(b,b(c(c))))"));
+      "a.com",
+      "/cross_site_iframe_factory.html?a(a{allowfullscreen}(b,b{"
+      "allowfullscreen}(c{allowfullscreen}(c{allowfullscreen}))))"));
   ui_test_utils::NavigateToURL(browser(), main_url);
   content::WebContents* web_contents =
       browser()->tab_strip_model()->GetActiveWebContents();
@@ -895,13 +886,6 @@
   content::RenderFrameHost* c_top = ChildFrameAt(b_second, 0);
   content::RenderFrameHost* c_middle = ChildFrameAt(c_top, 0);
 
-  // Allow fullscreen in all iframes descending to |c_middle|.  This relies on
-  // IDs that cross_site_iframe_factory assigns to child frames.
-  SetAllowFullscreenForFrame(a_top, "child-0");
-  SetAllowFullscreenForFrame(a_bottom, "child-1");
-  SetAllowFullscreenForFrame(b_second, "child-0");
-  SetAllowFullscreenForFrame(c_top, "child-0");
-
   // Navigate |c_middle| to a page that has a fullscreenable <div> and another
   // frame.
   content::TestNavigationObserver observer(web_contents);
diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
index 51b6eb8d..a2f8419 100644
--- a/chrome/browser/ui/BUILD.gn
+++ b/chrome/browser/ui/BUILD.gn
@@ -881,6 +881,8 @@
       "task_manager/task_manager_columns.h",
       "task_manager/task_manager_table_model.cc",
       "task_manager/task_manager_table_model.h",
+      "toolbar/app_menu_animation.cc",
+      "toolbar/app_menu_animation.h",
       "toolbar/app_menu_icon_controller.cc",
       "toolbar/app_menu_icon_controller.h",
       "toolbar/app_menu_model.cc",
@@ -1899,8 +1901,6 @@
         "views/theme_copying_widget.h",
         "views/toolbar/app_menu.cc",
         "views/toolbar/app_menu.h",
-        "views/toolbar/app_menu_animation.cc",
-        "views/toolbar/app_menu_animation.h",
         "views/toolbar/app_menu_button.cc",
         "views/toolbar/app_menu_button.h",
         "views/toolbar/app_menu_observer.h",
diff --git a/chrome/browser/ui/ash/launcher/chrome_launcher_controller_browsertest.cc b/chrome/browser/ui/ash/launcher/chrome_launcher_controller_browsertest.cc
index 36d445de..48a46ae 100644
--- a/chrome/browser/ui/ash/launcher/chrome_launcher_controller_browsertest.cc
+++ b/chrome/browser/ui/ash/launcher/chrome_launcher_controller_browsertest.cc
@@ -44,6 +44,7 @@
 #include "chrome/browser/ui/ash/session_controller_client.h"
 #include "chrome/browser/ui/browser.h"
 #include "chrome/browser/ui/browser_commands.h"
+#include "chrome/browser/ui/browser_dialogs.h"
 #include "chrome/browser/ui/browser_finder.h"
 #include "chrome/browser/ui/browser_list.h"
 #include "chrome/browser/ui/browser_window.h"
@@ -56,6 +57,7 @@
 #include "chrome/common/chrome_switches.h"
 #include "chrome/common/extensions/manifest_handlers/app_launch_info.h"
 #include "chrome/test/base/ui_test_utils.h"
+#include "components/crx_file/id_util.h"
 #include "content/public/browser/notification_service.h"
 #include "content/public/browser/notification_source.h"
 #include "content/public/browser/web_contents.h"
@@ -475,7 +477,8 @@
   EXPECT_EQ(ash::STATUS_ACTIVE, item1.status);
 
   // Create a shortcut. The app item should be after it.
-  ash::ShelfID foo_id = CreateAppShortcutLauncherItem(ash::ShelfID("foo"));
+  ash::ShelfID foo_id = CreateAppShortcutLauncherItem(
+      ash::ShelfID(extension_misc::kYoutubeAppId));
   ++item_count;
   ASSERT_EQ(item_count, shelf_model()->item_count());
   EXPECT_LT(shelf_model()->ItemIndexByID(foo_id),
@@ -489,7 +492,8 @@
   EXPECT_EQ(ash::STATUS_ACTIVE, item2.status);
 
   // New shortcuts should come after the item.
-  ash::ShelfID bar_id = CreateAppShortcutLauncherItem(ash::ShelfID("bar"));
+  ash::ShelfID bar_id = CreateAppShortcutLauncherItem(
+      ash::ShelfID(extension_misc::kGoogleDocAppId));
   ++item_count;
   ASSERT_EQ(item_count, shelf_model()->item_count());
   EXPECT_LT(shelf_model()->ItemIndexByID(id),
@@ -518,7 +522,8 @@
 
   // Create a second shortcut. This will be needed to force the first one to
   // move once it gets unpinned.
-  ash::ShelfID foo_id = CreateAppShortcutLauncherItem(ash::ShelfID("foo"));
+  ash::ShelfID foo_id = CreateAppShortcutLauncherItem(
+      ash::ShelfID(extension_misc::kYoutubeAppId));
   ++item_count;
   ASSERT_EQ(item_count, shelf_model()->item_count());
   EXPECT_LT(shelf_model()->ItemIndexByID(shortcut_id),
@@ -2261,14 +2266,17 @@
   EXPECT_EQ(ash::STATUS_CLOSED, model_->ItemByID(id)->status);
 }
 
-// Checks that a opening a settings window creates a new launcher item.
-IN_PROC_BROWSER_TEST_F(ShelfAppBrowserTest, SettingsWindow) {
+// Checks that a opening a settings and task manager windows creates a new
+// launcher items.
+IN_PROC_BROWSER_TEST_F(ShelfAppBrowserTest, SettingsAndTaskManagerWindows) {
   chrome::SettingsWindowManager* settings_manager =
       chrome::SettingsWindowManager::GetInstance();
   ash::ShelfModel* shelf_model = ash::Shell::Get()->shelf_model();
 
   // Get the number of items in the shelf and browser menu.
   int item_count = shelf_model->item_count();
+  // At least App List should exist.
+  ASSERT_GE(item_count, 1);
   size_t browser_count = NumberOfDetectedLauncherBrowsers(false);
 
   // Open a settings window. Number of browser items should remain unchanged,
@@ -2281,6 +2289,13 @@
   EXPECT_EQ(browser_count, NumberOfDetectedLauncherBrowsers(false));
   EXPECT_EQ(item_count + 1, shelf_model->item_count());
 
+  chrome::ShowTaskManager(browser());
+  EXPECT_EQ(item_count + 2, shelf_model->item_count());
+
+  // Validates that all items have valid app id.
+  for (const auto& item : shelf_model->items())
+    EXPECT_TRUE(crx_file::id_util::IdIsValid(item.id.app_id));
+
   // TODO(stevenjb): Test multiprofile on Chrome OS when test support is addded.
   // crbug.com/230464.
 }
diff --git a/chrome/browser/ui/ash/launcher/chrome_launcher_controller_unittest.cc b/chrome/browser/ui/ash/launcher/chrome_launcher_controller_unittest.cc
index 03d5c8e0..f221c68 100644
--- a/chrome/browser/ui/ash/launcher/chrome_launcher_controller_unittest.cc
+++ b/chrome/browser/ui/ash/launcher/chrome_launcher_controller_unittest.cc
@@ -122,16 +122,18 @@
 using arc::mojom::OrientationLock;
 
 namespace {
-const char* offline_gmail_url = "https://mail.google.com/mail/mu/u";
-const char* gmail_url = "https://mail.google.com/mail/u";
-const char* kGmailLaunchURL = "https://mail.google.com/mail/ca";
+constexpr char kOfflineGmailUrl[] = "https://mail.google.com/mail/mu/u";
+constexpr char kGmailUrl[] = "https://mail.google.com/mail/u";
+constexpr char kGmailLaunchURL[] = "https://mail.google.com/mail/ca";
+
+constexpr char kAppListId[] = "jlfapfmkapbjlfbpjedlinehodkccjee";
 
 // An extension prefix.
-const char kCrxAppPrefix[] = "_crx_";
+constexpr char kCrxAppPrefix[] = "_crx_";
 
 // Dummy app id is used to put at least one pin record to prevent initializing
 // pin model with default apps that can affect some tests.
-const char kDummyAppId[] = "dummyappid_dummyappid_dummyappid";
+constexpr char kDummyAppId[] = "dummyappid_dummyappid_dummyappid";
 
 // ShelfModelObserver implementation that tracks what messages are invoked.
 class TestShelfModelObserver : public ash::ShelfModelObserver {
@@ -595,7 +597,7 @@
 
   void AddAppListLauncherItem() {
     ash::ShelfItem app_list;
-    app_list.id = ash::ShelfID("AppListId");
+    app_list.id = ash::ShelfID(kAppListId);
     app_list.type = ash::TYPE_APP_LIST;
     model_->Add(app_list);
   }
@@ -2314,7 +2316,7 @@
   {
     // Create a "windowed gmail app".
     std::unique_ptr<V1App> v1_app(
-        CreateRunningV1App(profile(), extension_misc::kGmailAppId, gmail_url));
+        CreateRunningV1App(profile(), extension_misc::kGmailAppId, kGmailUrl));
     EXPECT_EQ(3, model_->item_count());
 
     // After switching to a second user the item should be gone.
@@ -2351,7 +2353,7 @@
   {
     // Create a "windowed gmail app".
     std::unique_ptr<V1App> v1_app(
-        CreateRunningV1App(profile2, extension_misc::kGmailAppId, gmail_url));
+        CreateRunningV1App(profile2, extension_misc::kGmailAppId, kGmailUrl));
     EXPECT_EQ(2, model_->item_count());
 
     // However - switching to the user should show it.
@@ -2432,7 +2434,7 @@
   {
     // Create a "windowed gmail app".
     std::unique_ptr<V1App> v1_app(
-        CreateRunningV1App(profile(), extension_misc::kGmailAppId, gmail_url));
+        CreateRunningV1App(profile(), extension_misc::kGmailAppId, kGmailUrl));
     EXPECT_EQ(2, model_->item_count());
 
     // However - switching to the user should show it.
@@ -2996,7 +2998,7 @@
   int gmail_index = model_->ItemIndexByID(gmail_id);
   EXPECT_EQ(ash::TYPE_PINNED_APP, model_->items()[gmail_index].type);
   EXPECT_TRUE(launcher_controller_->IsAppPinned(extension3_->id()));
-  launcher_controller_->SetRefocusURLPatternForTest(gmail_id, GURL(gmail_url));
+  launcher_controller_->SetRefocusURLPatternForTest(gmail_id, GURL(kGmailUrl));
 
   // Check the menu content.
   ash::ShelfItem item_browser;
@@ -3011,7 +3013,7 @@
 
   // Set the gmail URL to a new tab.
   base::string16 title1 = ASCIIToUTF16("Test1");
-  NavigateAndCommitActiveTabWithTitle(browser(), GURL(gmail_url), title1);
+  NavigateAndCommitActiveTabWithTitle(browser(), GURL(kGmailUrl), title1);
 
   base::string16 one_menu_item[] = {title1};
   CheckAppMenu(launcher_controller_, item_gmail, 1, one_menu_item);
@@ -3024,7 +3026,7 @@
   // and another one with another gmail instance.
   chrome::NewTab(browser());
   base::string16 title3 = ASCIIToUTF16("Test3");
-  NavigateAndCommitActiveTabWithTitle(browser(), GURL(gmail_url), title3);
+  NavigateAndCommitActiveTabWithTitle(browser(), GURL(kGmailUrl), title3);
   base::string16 two_menu_items[] = {title1, title3};
   CheckAppMenu(launcher_controller_, item_gmail, 2, two_menu_items);
 
@@ -3056,7 +3058,7 @@
   int gmail_index = model_->ItemIndexByID(gmail_id);
   EXPECT_EQ(ash::TYPE_PINNED_APP, model_->items()[gmail_index].type);
   EXPECT_TRUE(launcher_controller_->IsAppPinned(extension3_->id()));
-  launcher_controller_->SetRefocusURLPatternForTest(gmail_id, GURL(gmail_url));
+  launcher_controller_->SetRefocusURLPatternForTest(gmail_id, GURL(kGmailUrl));
 
   // Check the menu content.
   ash::ShelfItem item_browser;
@@ -3071,7 +3073,7 @@
 
   // Set the gmail URL to a new tab.
   base::string16 title1 = ASCIIToUTF16("Test1");
-  NavigateAndCommitActiveTabWithTitle(browser(), GURL(gmail_url), title1);
+  NavigateAndCommitActiveTabWithTitle(browser(), GURL(kGmailUrl), title1);
 
   base::string16 one_menu_item[] = {title1};
   CheckAppMenu(launcher_controller_, item_gmail, 1, one_menu_item);
@@ -3318,12 +3320,12 @@
   GURL gmail = GURL("https://mail.google.com/mail/u");
   const ash::ShelfID gmail_id(extension3_->id());
   extension_service_->AddExtension(extension3_.get());
-  launcher_controller_->SetRefocusURLPatternForTest(gmail_id, GURL(gmail_url));
+  launcher_controller_->SetRefocusURLPatternForTest(gmail_id, GURL(kGmailUrl));
   base::string16 title1 = ASCIIToUTF16("Test1");
-  NavigateAndCommitActiveTabWithTitle(browser(), GURL(gmail_url), title1);
+  NavigateAndCommitActiveTabWithTitle(browser(), GURL(kGmailUrl), title1);
   chrome::NewTab(browser());
   base::string16 title2 = ASCIIToUTF16("Test2");
-  NavigateAndCommitActiveTabWithTitle(browser(), GURL(gmail_url), title2);
+  NavigateAndCommitActiveTabWithTitle(browser(), GURL(kGmailUrl), title2);
 
   // Check that the menu is properly set.
   ash::ShelfItem item_gmail;
@@ -3366,12 +3368,12 @@
   GURL gmail = GURL("https://mail.google.com/mail/u");
   const ash::ShelfID gmail_id(extension3_->id());
   extension_service_->AddExtension(extension3_.get());
-  launcher_controller_->SetRefocusURLPatternForTest(gmail_id, GURL(gmail_url));
+  launcher_controller_->SetRefocusURLPatternForTest(gmail_id, GURL(kGmailUrl));
   base::string16 title1 = ASCIIToUTF16("Test1");
-  NavigateAndCommitActiveTabWithTitle(browser(), GURL(gmail_url), title1);
+  NavigateAndCommitActiveTabWithTitle(browser(), GURL(kGmailUrl), title1);
   chrome::NewTab(browser());
   base::string16 title2 = ASCIIToUTF16("Test2");
-  NavigateAndCommitActiveTabWithTitle(browser(), GURL(gmail_url), title2);
+  NavigateAndCommitActiveTabWithTitle(browser(), GURL(kGmailUrl), title2);
 
   // Check that the menu is properly set.
   ash::ShelfItem item_gmail;
@@ -3451,7 +3453,7 @@
   // Create a Gmail browser tab.
   chrome::NewTab(browser());
   base::string16 title = ASCIIToUTF16("Test");
-  NavigateAndCommitActiveTabWithTitle(browser(), GURL(gmail_url), title);
+  NavigateAndCommitActiveTabWithTitle(browser(), GURL(kGmailUrl), title);
   content::WebContents* content =
       browser()->tab_strip_model()->GetActiveWebContents();
 
@@ -3484,8 +3486,7 @@
   // Create a Gmail browser tab.
   chrome::NewTab(browser());
   base::string16 title = ASCIIToUTF16("Test");
-  NavigateAndCommitActiveTabWithTitle(browser(), GURL(offline_gmail_url),
-                                      title);
+  NavigateAndCommitActiveTabWithTitle(browser(), GURL(kOfflineGmailUrl), title);
   content::WebContents* content =
       browser()->tab_strip_model()->GetActiveWebContents();
 
diff --git a/chrome/browser/ui/ash/launcher/settings_window_observer.cc b/chrome/browser/ui/ash/launcher/settings_window_observer.cc
index 83ed6871..c061c7e 100644
--- a/chrome/browser/ui/ash/launcher/settings_window_observer.cc
+++ b/chrome/browser/ui/ash/launcher/settings_window_observer.cc
@@ -53,7 +53,8 @@
   aura::Window* window = settings_browser->window()->GetNativeWindow();
   window->SetTitle(l10n_util::GetStringUTF16(IDS_SETTINGS_TITLE));
   // An app id for settings windows, also used to identify the shelf item.
-  static constexpr char kSettingsId[] = "SettingsId";
+  // Generated as crx_file::id_util::GenerateId("org.chromium.settings_ui")
+  static constexpr char kSettingsId[] = "dhnmfjegnohoakobpikffnelcemaplkm";
   window->SetProperty(ash::kShelfIDKey, new ash::ShelfID(kSettingsId));
   window->SetProperty<int>(ash::kShelfItemTypeKey, ash::TYPE_DIALOG);
   ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance();
diff --git a/chrome/browser/ui/browser_browsertest.cc b/chrome/browser/ui/browser_browsertest.cc
index fdf02af..294d095 100644
--- a/chrome/browser/ui/browser_browsertest.cc
+++ b/chrome/browser/ui/browser_browsertest.cc
@@ -630,9 +630,7 @@
   GURL beforeunload_url(embedded_test_server()->GetURL("/beforeunload.html"));
   ui_test_utils::NavigateToURL(browser(), beforeunload_url);
   WebContents* contents = browser()->tab_strip_model()->GetActiveWebContents();
-  // Disable the hang monitor, otherwise there will be a race between the
-  // beforeunload dialog and the beforeunload hang timer.
-  contents->GetMainFrame()->DisableBeforeUnloadHangMonitorForTesting();
+  content::PrepContentsForBeforeUnloadTest(contents);
 
   // Start a navigation to trigger the beforeunload dialog.
   contents->GetMainFrame()->ExecuteJavaScriptForTests(
@@ -723,9 +721,7 @@
   GURL url(std::string("data:text/html,") + kBeforeUnloadHTML);
   ui_test_utils::NavigateToURL(browser(), url);
   WebContents* contents = browser()->tab_strip_model()->GetActiveWebContents();
-  // Disable the hang monitor, otherwise there will be a race between the
-  // beforeunload dialog and the beforeunload hang timer.
-  contents->GetMainFrame()->DisableBeforeUnloadHangMonitorForTesting();
+  content::PrepContentsForBeforeUnloadTest(contents);
 
   // Navigate to another page, but click cancel in the dialog.  Make sure that
   // the throbber stops spinning.
@@ -847,9 +843,7 @@
   GURL url(embedded_test_server()->GetURL("/beforeunload.html"));
   ui_test_utils::NavigateToURL(browser(), url);
   WebContents* contents = browser()->tab_strip_model()->GetActiveWebContents();
-  // Disable the hang monitor, otherwise there will be a race between the
-  // beforeunload dialog and the beforeunload hang timer.
-  contents->GetMainFrame()->DisableBeforeUnloadHangMonitorForTesting();
+  content::PrepContentsForBeforeUnloadTest(contents);
 
   // Navigate to a URL that redirects to another process and approve the
   // beforeunload dialog that pops up.
@@ -879,9 +873,7 @@
       base::FilePath::kCurrentDirectory), base::FilePath(kBeforeUnloadFile)));
   ui_test_utils::NavigateToURL(browser(), url);
   WebContents* contents = browser()->tab_strip_model()->GetActiveWebContents();
-  // Disable the hang monitor, otherwise there will be a race between the
-  // beforeunload dialog and the beforeunload hang timer.
-  contents->GetMainFrame()->DisableBeforeUnloadHangMonitorForTesting();
+  content::PrepContentsForBeforeUnloadTest(contents);
 
   // Navigate to a page that triggers a cross-site transition.
   ASSERT_TRUE(embedded_test_server()->Start());
@@ -953,9 +945,7 @@
   GURL url(std::string("data:text/html,") + kBeforeUnloadHTML);
   ui_test_utils::NavigateToURL(browser(), url);
   WebContents* contents = browser()->tab_strip_model()->GetActiveWebContents();
-  // Disable the hang monitor, otherwise there will be a race between the
-  // beforeunload dialog and the beforeunload hang timer.
-  contents->GetMainFrame()->DisableBeforeUnloadHangMonitorForTesting();
+  content::PrepContentsForBeforeUnloadTest(contents);
 
   // Reload the page, and check that we get a "before reload" dialog.
   chrome::Reload(browser(), WindowOpenDisposition::CURRENT_TAB);
@@ -1026,6 +1016,8 @@
   // In the first browser, set up a page that has a beforeunload handler.
   GURL url(std::string("data:text/html,") + kBeforeUnloadHTML);
   ui_test_utils::NavigateToURL(browser(), url);
+  WebContents* contents = browser()->tab_strip_model()->GetActiveWebContents();
+  content::PrepContentsForBeforeUnloadTest(contents);
 
   // Open a second browser window at about:blank.
   ui_test_utils::BrowserAddedObserver browser_added_observer;
diff --git a/chrome/browser/ui/cocoa/omnibox/omnibox_view_mac.mm b/chrome/browser/ui/cocoa/omnibox/omnibox_view_mac.mm
index 05dd79f..f45a9c3 100644
--- a/chrome/browser/ui/cocoa/omnibox/omnibox_view_mac.mm
+++ b/chrome/browser/ui/cocoa/omnibox/omnibox_view_mac.mm
@@ -386,17 +386,24 @@
 }
 
 void OmniboxViewMac::SelectAll(bool reversed) {
-  DCHECK(!in_coalesced_update_block_);
   if (!model()->has_focus())
     return;
 
+  NSRange full_range = NSMakeRange(0, GetTextLength());
+
+  // When coalescing updates, just set the range and not the direction. It's
+  // unlikely that the direction will matter after OpenMatch() applies updates.
+  if (in_coalesced_update_block_) {
+    SetSelectedRange(full_range);
+    return;
+  }
+
   NSTextView* text_view =
       base::mac::ObjCCastStrict<NSTextView>([field_ currentEditor]);
   NSSelectionAffinity affinity =
       reversed ? NSSelectionAffinityUpstream : NSSelectionAffinityDownstream;
-  NSRange range = NSMakeRange(0, GetTextLength());
 
-  [text_view setSelectedRange:range affinity:affinity stillSelecting:NO];
+  [text_view setSelectedRange:full_range affinity:affinity stillSelecting:NO];
 }
 
 void OmniboxViewMac::RevertAll() {
diff --git a/chrome/browser/ui/cocoa/tab_contents/tab_contents_controller.mm b/chrome/browser/ui/cocoa/tab_contents/tab_contents_controller.mm
index 65dbbcc..c0c314c 100644
--- a/chrome/browser/ui/cocoa/tab_contents/tab_contents_controller.mm
+++ b/chrome/browser/ui/cocoa/tab_contents/tab_contents_controller.mm
@@ -16,6 +16,7 @@
 #import "chrome/browser/themes/theme_service.h"
 #import "chrome/browser/ui/cocoa/themed_window.h"
 #include "chrome/browser/ui/view_ids.h"
+#include "chrome/grit/theme_resources.h"
 #include "content/public/browser/render_view_host.h"
 #include "content/public/browser/render_widget_host.h"
 #include "content/public/browser/render_widget_host_view.h"
@@ -90,7 +91,7 @@
   TabContentsController* delegate_;  // weak
 }
 
-- (void)updateBackgroundColor;
+- (void)updateBackgroundColorFromWindowTheme:(NSWindow*)window;
 @end
 
 @implementation TabContentsContainerView
@@ -102,7 +103,6 @@
     base::scoped_nsobject<CALayer> layer([[CALayer alloc] init]);
     [self setLayer:layer];
     [self setWantsLayer:YES];
-    [self updateBackgroundColor];
   }
   return self;
 }
@@ -135,17 +135,27 @@
 // Update the background layer's color whenever the view needs to repaint.
 - (void)setNeedsDisplayInRect:(NSRect)rect {
   [super setNeedsDisplayInRect:rect];
-  [self updateBackgroundColor];
+  [self updateBackgroundColorFromWindowTheme:[self window]];
 }
 
-- (void)updateBackgroundColor {
+- (void)updateBackgroundColorFromWindowTheme:(NSWindow*)window {
   // This view is sometimes flashed into visibility (e.g, when closing
   // windows or opening new tabs), so ensure that the flash be the theme
   // background color in those cases.
-  SkColor skBackgroundColor = SK_ColorWHITE;
-  const ThemeProvider* theme = [[self window] themeProvider];
-  if (theme)
-    skBackgroundColor = theme->GetColor(ThemeProperties::COLOR_NTP_BACKGROUND);
+  const ThemeProvider* theme = [window themeProvider];
+  ThemedWindowStyle windowStyle = [window themedWindowStyle];
+  if (!theme)
+    return;
+
+  // This logic and hard-coded color value are duplicated from the function
+  // NTPResourceCache::CreateNewTabIncognitoCSS. This logic should exist in only
+  // one location.
+  // https://crbug.com/719236
+  SkColor skBackgroundColor =
+      theme->GetColor(ThemeProperties::COLOR_NTP_BACKGROUND);
+  bool incognito = windowStyle & THEMED_INCOGNITO;
+  if (incognito && !theme->HasCustomImage(IDR_THEME_NTP_BACKGROUND))
+    skBackgroundColor = SkColorSetRGB(0x32, 0x32, 0x32);
 
   // If the page is in fullscreen tab capture mode, change the background color
   // to be a dark tint of the new tab page's background color.
@@ -164,6 +174,10 @@
   [[self layer] setBackgroundColor:cgBackgroundColor];
 }
 
+- (void)viewWillMoveToWindow:(NSWindow*)newWindow {
+  [self updateBackgroundColorFromWindowTheme:newWindow];
+}
+
 - (ViewID)viewID {
   return VIEW_ID_TAB_CONTAINER;
 }
diff --git a/chrome/browser/ui/views/toolbar/app_menu_animation.cc b/chrome/browser/ui/toolbar/app_menu_animation.cc
similarity index 88%
rename from chrome/browser/ui/views/toolbar/app_menu_animation.cc
rename to chrome/browser/ui/toolbar/app_menu_animation.cc
index 01d0b5a..bb4d3153 100644
--- a/chrome/browser/ui/views/toolbar/app_menu_animation.cc
+++ b/chrome/browser/ui/toolbar/app_menu_animation.cc
@@ -2,11 +2,10 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "chrome/browser/ui/views/toolbar/app_menu_animation.h"
+#include "chrome/browser/ui/toolbar/app_menu_animation.h"
 
 #include "base/memory/ptr_util.h"
 #include "cc/paint/paint_flags.h"
-#include "chrome/browser/ui/views/toolbar/app_menu_button.h"
 #include "ui/gfx/animation/tween.h"
 #include "ui/gfx/canvas.h"
 #include "ui/gfx/color_palette.h"
@@ -22,6 +21,9 @@
 // Duration of the color animation in ms.
 constexpr float kColorDurationMs = 100.0f;
 
+// The radius of each dot in the icon.
+constexpr float kDotRadius = 2.0f;
+
 // The % the top and bottom dots need to be offset from the middle.
 constexpr float kDotYOffset = 0.32f;
 
@@ -63,7 +65,8 @@
                                          SkColor target_color,
                                          gfx::Canvas* canvas,
                                          const gfx::Rect& bounds,
-                                         const gfx::SlideAnimation* animation) {
+                                         const gfx::SlideAnimation* animation,
+                                         AppMenuAnimationDelegate* delegate) {
   bool is_opening = animation->IsShowing();
   float total_duration = is_opening ? kOpenDurationMs : kCloseDurationMs;
   float width_duration =
@@ -115,17 +118,17 @@
 
   cc::PaintFlags flags;
   flags.setColor(color);
-  flags.setStrokeWidth(bounds.height() * kCloseStroke);
+  flags.setStrokeWidth(dot_height);
   flags.setStrokeCap(cc::PaintFlags::kRound_Cap);
   flags.setStyle(cc::PaintFlags::kFill_Style);
   flags.setAntiAlias(true);
-
-  gfx::SizeF dot_size = gfx::SizeF(dot_width, dot_height);
-  canvas->DrawRoundRect(gfx::RectF(point, dot_size), 2.0, flags);
+  canvas->DrawRoundRect(gfx::RectF(point, gfx::SizeF(dot_width, dot_height)),
+                        kDotRadius, flags);
 }
 
-AppMenuAnimation::AppMenuAnimation(AppMenuButton* owner, SkColor initial_color)
-    : owner_(owner),
+AppMenuAnimation::AppMenuAnimation(AppMenuAnimationDelegate* delegate,
+                                   SkColor initial_color)
+    : delegate_(delegate),
       animation_(base::MakeUnique<gfx::SlideAnimation>(this)),
       bottom_dot_(base::TimeDelta(),
                   kBottomWidthOpenInterval,
@@ -155,18 +158,18 @@
   bottom_point.Offset(0, y_offset);
 
   middle_dot_.Paint(middle_point, start_color_, target_color_, canvas, bounds,
-                    animation_.get());
+                    animation_.get(), delegate_);
   top_dot_.Paint(top_point, start_color_, target_color_, canvas, bounds,
-                 animation_.get());
+                 animation_.get(), delegate_);
   bottom_dot_.Paint(bottom_point, start_color_, target_color_, canvas, bounds,
-                    animation_.get());
+                    animation_.get(), delegate_);
 }
 
 void AppMenuAnimation::StartAnimation() {
   if (!animation_->is_animating()) {
     animation_->SetSlideDuration(kOpenDurationMs);
     animation_->Show();
-    owner_->AppMenuAnimationStarted();
+    delegate_->AppMenuAnimationStarted();
   }
 }
 
@@ -178,9 +181,9 @@
     start_color_ = target_color_;
   }
 
-  owner_->AppMenuAnimationEnded();
+  delegate_->AppMenuAnimationEnded();
 }
 
 void AppMenuAnimation::AnimationProgressed(const gfx::Animation* animation) {
-  owner_->SchedulePaint();
+  delegate_->InvalidateIcon();
 }
diff --git a/chrome/browser/ui/views/toolbar/app_menu_animation.h b/chrome/browser/ui/toolbar/app_menu_animation.h
similarity index 76%
rename from chrome/browser/ui/views/toolbar/app_menu_animation.h
rename to chrome/browser/ui/toolbar/app_menu_animation.h
index 122b1c97..2f93834 100644
--- a/chrome/browser/ui/views/toolbar/app_menu_animation.h
+++ b/chrome/browser/ui/toolbar/app_menu_animation.h
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef CHROME_BROWSER_UI_VIEWS_TOOLBAR_APP_MENU_ANIMATION_H_
-#define CHROME_BROWSER_UI_VIEWS_TOOLBAR_APP_MENU_ANIMATION_H_
+#ifndef CHROME_BROWSER_UI_TOOLBAR_APP_MENU_ANIMATION_H_
+#define CHROME_BROWSER_UI_TOOLBAR_APP_MENU_ANIMATION_H_
 
 #include "base/time/time.h"
 #include "third_party/skia/include/core/SkColor.h"
@@ -15,20 +15,28 @@
 class PointF;
 }  // namespace gfx
 
-class AppMenuButton;
+// Delegate class for AppMenuAnimation. The delegate is expected to
+// handle animation events and invalidate the platform's view.
+class AppMenuAnimationDelegate {
+ public:
+  // Called when the animation has started/ended.
+  virtual void AppMenuAnimationStarted() = 0;
+  virtual void AppMenuAnimationEnded() = 0;
+
+  // Schedules a redraw of the icon.
+  virtual void InvalidateIcon() = 0;
+};
 
 // This class is used for animating and drawing the app menu icon.
 class AppMenuAnimation : public gfx::AnimationDelegate {
  public:
-  AppMenuAnimation(AppMenuButton* owner, SkColor initial_color);
+  AppMenuAnimation(AppMenuAnimationDelegate* owner, SkColor initial_color);
 
   ~AppMenuAnimation() override;
 
   // Paints the app menu icon.
   void PaintAppMenu(gfx::Canvas* canvas, const gfx::Rect& bounds);
 
-  void set_target_color(SkColor target_color) { target_color_ = target_color; }
-
   // Starts the animation if it's not already running.
   void StartAnimation();
 
@@ -36,6 +44,8 @@
   void AnimationEnded(const gfx::Animation* animation) override;
   void AnimationProgressed(const gfx::Animation* animation) override;
 
+  void set_target_color(SkColor target_color) { target_color_ = target_color; }
+
  private:
   // This class is used to represent and paint a dot on the app menu.
   class AppMenuDot {
@@ -53,7 +63,8 @@
                SkColor final_color,
                gfx::Canvas* canvas,
                const gfx::Rect& bounds,
-               const gfx::SlideAnimation* animation);
+               const gfx::SlideAnimation* animation,
+               AppMenuAnimationDelegate* delegate);
 
    private:
     // The delay before the dot starts animating in ms.
@@ -67,7 +78,7 @@
     DISALLOW_COPY_AND_ASSIGN(AppMenuDot);
   };
 
-  AppMenuButton* const owner_;
+  AppMenuAnimationDelegate* const delegate_;
 
   std::unique_ptr<gfx::SlideAnimation> animation_;
 
@@ -86,4 +97,4 @@
   DISALLOW_COPY_AND_ASSIGN(AppMenuAnimation);
 };
 
-#endif  // CHROME_BROWSER_UI_VIEWS_TOOLBAR_APP_MENU_ANIMATION_H_
+#endif  // CHROME_BROWSER_UI_TOOLBAR_APP_MENU_ANIMATION_H_
diff --git a/chrome/browser/ui/views/payments/credit_card_editor_view_controller_browsertest.cc b/chrome/browser/ui/views/payments/credit_card_editor_view_controller_browsertest.cc
index 9887bfe..8b16a299 100644
--- a/chrome/browser/ui/views/payments/credit_card_editor_view_controller_browsertest.cc
+++ b/chrome/browser/ui/views/payments/credit_card_editor_view_controller_browsertest.cc
@@ -217,8 +217,6 @@
   SetEditorTextfieldValue(base::ASCIIToUTF16("4111111111111111"),
                           autofill::CREDIT_CARD_NUMBER);
   EXPECT_FALSE(IsEditorTextfieldInvalid(autofill::CREDIT_CARD_NUMBER));
-  EXPECT_EQ(base::ASCIIToUTF16(""),
-            GetErrorLabelForType(autofill::CREDIT_CARD_NUMBER));
 }
 
 IN_PROC_BROWSER_TEST_F(PaymentRequestCreditCardEditorTest,
@@ -315,9 +313,8 @@
   // Fixing the card number.
   SetEditorTextfieldValue(base::ASCIIToUTF16("4111111111111111"),
                           autofill::CREDIT_CARD_NUMBER);
-  // The error message has gone.
-  EXPECT_EQ(base::ASCIIToUTF16(""),
-            GetErrorLabelForType(autofill::CREDIT_CARD_NUMBER));
+  // The error has gone.
+  EXPECT_FALSE(IsEditorTextfieldInvalid(autofill::CREDIT_CARD_NUMBER));
 
   // Verifying the data is in the DB.
   autofill::PersonalDataManager* personal_data_manager = GetDataManager();
diff --git a/chrome/browser/ui/views/payments/editor_view_controller.cc b/chrome/browser/ui/views/payments/editor_view_controller.cc
index a33a40fe..fa3ab44 100644
--- a/chrome/browser/ui/views/payments/editor_view_controller.cc
+++ b/chrome/browser/ui/views/payments/editor_view_controller.cc
@@ -18,6 +18,7 @@
 #include "chrome/grit/generated_resources.h"
 #include "components/strings/grit/components_strings.h"
 #include "ui/base/l10n/l10n_util.h"
+#include "ui/gfx/geometry/insets.h"
 #include "ui/native_theme/native_theme.h"
 #include "ui/views/border.h"
 #include "ui/views/controls/button/label_button.h"
@@ -26,6 +27,7 @@
 #include "ui/views/controls/styled_label.h"
 #include "ui/views/controls/textfield/textfield.h"
 #include "ui/views/layout/box_layout.h"
+#include "ui/views/layout/fill_layout.h"
 #include "ui/views/layout/grid_layout.h"
 #include "ui/views/view.h"
 
@@ -41,8 +43,32 @@
   SAVE_BUTTON = kFirstTagValue,
 };
 
-constexpr int kNumCharactersInShortField = 8;
-constexpr int kNumCharactersInLongField = 20;
+std::unique_ptr<views::View> CreateErrorLabelView(const base::string16& error,
+                                                  const EditorField& field) {
+  std::unique_ptr<views::View> view = base::MakeUnique<views::View>();
+
+  std::unique_ptr<views::BoxLayout> layout =
+      base::MakeUnique<views::BoxLayout>(views::BoxLayout::kVertical, 0, 0, 0);
+  layout->set_main_axis_alignment(views::BoxLayout::MAIN_AXIS_ALIGNMENT_START);
+  layout->set_cross_axis_alignment(
+      views::BoxLayout::CROSS_AXIS_ALIGNMENT_STRETCH);
+  // This is the space between the input field and the error label.
+  constexpr int kErrorLabelTopPadding = 6;
+  layout->set_inside_border_insets(gfx::Insets(kErrorLabelTopPadding, 0, 0, 0));
+  view->SetLayoutManager(layout.release());
+
+  std::unique_ptr<views::Label> error_label =
+      base::MakeUnique<views::Label>(error);
+  error_label->set_id(static_cast<int>(DialogViewID::ERROR_LABEL_OFFSET) +
+                      field.type);
+  error_label->SetFontList(
+      error_label->GetDefaultFontList().DeriveWithSizeDelta(-1));
+  error_label->SetEnabledColor(error_label->GetNativeTheme()->GetSystemColor(
+      ui::NativeTheme::kColorId_AlertSeverityHigh));
+
+  view->AddChildView(error_label.release());
+  return view;
+}
 
 }  // namespace
 
@@ -57,11 +83,15 @@
 void EditorViewController::DisplayErrorMessageForField(
     const EditorField& field,
     const base::string16& error_message) {
-  const auto& label_it = error_labels_.find(field);
-  DCHECK(label_it != error_labels_.end());
-  label_it->second->SetText(error_message);
-  label_it->second->SchedulePaint();
-  dialog()->Layout();
+  const auto& label_view_it = error_labels_.find(field);
+  DCHECK(label_view_it != error_labels_.end());
+
+  label_view_it->second->RemoveAllChildViews(/*delete_children=*/true);
+  if (!error_message.empty()) {
+    label_view_it->second->AddChildView(
+        CreateErrorLabelView(error_message, field).release());
+  }
+  RelayoutPane();
 }
 
 std::unique_ptr<views::Button> EditorViewController::CreatePrimaryButton() {
@@ -156,13 +186,9 @@
   std::unique_ptr<views::GridLayout> editor_layout =
       base::MakeUnique<views::GridLayout>(editor_view.get());
 
-  // The editor grid layout is padded vertically from the top and bottom, and
-  // horizontally inset like other content views. The top padding needs to be
-  // added to the top padding of the first row.
-  constexpr int kEditorVerticalInset = 16;
-  editor_layout->SetInsets(
-      kEditorVerticalInset, payments::kPaymentRequestRowHorizontalInsets,
-      kEditorVerticalInset, payments::kPaymentRequestRowHorizontalInsets);
+  // The editor grid layout is padded horizontally.
+  editor_layout->SetInsets(0, payments::kPaymentRequestRowHorizontalInsets, 0,
+                           payments::kPaymentRequestRowHorizontalInsets);
 
   views::ColumnSet* columns = editor_layout->AddColumnSet(0);
   columns->AddColumn(views::GridLayout::LEADING, views::GridLayout::CENTER, 0,
@@ -180,9 +206,8 @@
   views::GridLayout* layout_handle = editor_layout.get();
   editor_view->SetLayoutManager(editor_layout.release());
   std::vector<EditorField> fields = GetFieldDefinitions();
-  for (const auto& field : fields) {
+  for (const auto& field : fields)
     CreateInputField(layout_handle, field);
-  }
 
   return editor_view;
 }
@@ -208,6 +233,7 @@
   label->SetMaximumWidth(kMaximumLabelWidth);
   layout->AddView(label.release());
 
+  constexpr int kInputFieldHeight = 28;
   if (field.control_type == EditorField::ControlType::TEXTFIELD) {
     ValidatingTextfield* text_field =
         new ValidatingTextfield(CreateValidationDelegate(field));
@@ -215,11 +241,6 @@
     text_field->set_controller(this);
     // Using autofill field type as a view ID (for testing).
     text_field->set_id(static_cast<int>(field.type));
-    text_field->set_default_width_in_chars(
-        field.length_hint == EditorField::LengthHint::HINT_SHORT
-            ? kNumCharactersInShortField
-            : kNumCharactersInLongField);
-
     text_fields_.insert(std::make_pair(text_field, field));
 
     // TODO(crbug.com/718582): Make the initial focus the first incomplete/empty
@@ -228,7 +249,8 @@
       first_field_view_ = text_field;
 
     // |text_field| will now be owned by |row|.
-    layout->AddView(text_field);
+    layout->AddView(text_field, 1, 1, views::GridLayout::FILL,
+                    views::GridLayout::FILL, 0, kInputFieldHeight);
   } else if (field.control_type == EditorField::ControlType::COMBOBOX) {
     ValidatingCombobox* combobox = new ValidatingCombobox(
         GetComboboxModelForType(field.type), CreateValidationDelegate(field));
@@ -242,27 +264,22 @@
       first_field_view_ = combobox;
 
     // |combobox| will now be owned by |row|.
-    layout->AddView(combobox);
+    layout->AddView(combobox, 1, 1, views::GridLayout::FILL,
+                    views::GridLayout::FILL, 0, kInputFieldHeight);
   } else {
     NOTREACHED();
   }
 
-  // This is the vertical space between the input field and its error label.
-  constexpr int kInputErrorLabelPadding = 6;
-  layout->StartRowWithPadding(0, 0, 0, kInputErrorLabelPadding);
+  layout->StartRow(0, 0);
   layout->SkipColumns(1);
-  // Error label is initially empty.
-  std::unique_ptr<views::Label> error_label =
-      base::MakeUnique<views::Label>(base::ASCIIToUTF16(""));
-  error_label->set_id(static_cast<int>(DialogViewID::ERROR_LABEL_OFFSET) +
-                      field.type);
-  error_label->SetFontList(
-      error_label->GetDefaultFontList().DeriveWithSizeDelta(-1));
-  error_label->SetEnabledColor(error_label->GetNativeTheme()->GetSystemColor(
-      ui::NativeTheme::kColorId_AlertSeverityHigh));
-  error_labels_[field] = error_label.get();
+  std::unique_ptr<views::View> error_label_view =
+      base::MakeUnique<views::View>();
+  error_label_view->SetLayoutManager(new views::FillLayout);
+  error_labels_[field] = error_label_view.get();
+  layout->AddView(error_label_view.release());
 
-  layout->AddView(error_label.release());
+  // Bottom padding for the row.
+  layout->AddPaddingRow(0, kInputRowSpacing);
 }
 
 }  // namespace payments
diff --git a/chrome/browser/ui/views/payments/editor_view_controller.h b/chrome/browser/ui/views/payments/editor_view_controller.h
index 402d667..e6533bf 100644
--- a/chrome/browser/ui/views/payments/editor_view_controller.h
+++ b/chrome/browser/ui/views/payments/editor_view_controller.h
@@ -86,7 +86,7 @@
   using ComboboxMap =
       std::unordered_map<ValidatingCombobox*, const EditorField>;
   using ErrorLabelMap =
-      std::map<const EditorField, views::Label*, EditorField::Compare>;
+      std::map<const EditorField, views::View*, EditorField::Compare>;
 
   // Does not take ownership of the arguments, which should outlive this object.
   EditorViewController(PaymentRequestSpec* spec,
diff --git a/chrome/browser/ui/views/payments/payment_request_sheet_controller.cc b/chrome/browser/ui/views/payments/payment_request_sheet_controller.cc
index ae2dfa5e..ae11881 100644
--- a/chrome/browser/ui/views/payments/payment_request_sheet_controller.cc
+++ b/chrome/browser/ui/views/payments/payment_request_sheet_controller.cc
@@ -179,6 +179,10 @@
 void PaymentRequestSheetController::UpdateContentView() {
   content_view_->RemoveAllChildViews(true);
   FillContentView(content_view_);
+  RelayoutPane();
+}
+
+void PaymentRequestSheetController::RelayoutPane() {
   content_view_->Layout();
   pane_->SizeToPreferredSize();
   // Now that the content and its surrounding pane are updated, force a Layout
@@ -208,6 +212,11 @@
                                                   const ui::Event& event) {
   switch (static_cast<PaymentRequestCommonTags>(sender->tag())) {
     case PaymentRequestCommonTags::CLOSE_BUTTON_TAG:
+      // Transfer the focus to the cancel button, so that any OnBlur actions
+      // can fully execute before CloseDialog is called.
+      dialog()
+          ->GetViewByID(static_cast<int>(DialogViewID::CANCEL_BUTTON))
+          ->RequestFocus();
       dialog()->CloseDialog();
       break;
     case PaymentRequestCommonTags::BACK_BUTTON_TAG:
diff --git a/chrome/browser/ui/views/payments/payment_request_sheet_controller.h b/chrome/browser/ui/views/payments/payment_request_sheet_controller.h
index 2a790566..ebc2a0e 100644
--- a/chrome/browser/ui/views/payments/payment_request_sheet_controller.h
+++ b/chrome/browser/ui/views/payments/payment_request_sheet_controller.h
@@ -63,6 +63,10 @@
   // calls FillContentView again to re-populate it with updated views.
   void UpdateContentView();
 
+  // View controllers should call this if they have modified some layout aspect
+  // (e.g., made it taller or shorter), and want to relayout the whole pane.
+  void RelayoutPane();
+
   // Creates and returns the primary action button for this sheet. It's
   // typically a blue button with the "Pay" or "Done" labels. Subclasses may
   // return an empty std::unique_ptr (nullptr) to indicate that no primary
diff --git a/chrome/browser/ui/views/task_manager_view.cc b/chrome/browser/ui/views/task_manager_view.cc
index 14e52c8a..46401af 100644
--- a/chrome/browser/ui/views/task_manager_view.cc
+++ b/chrome/browser/ui/views/task_manager_view.cc
@@ -104,7 +104,8 @@
 #if defined(USE_ASH)
   aura::Window* window = g_task_manager_view->GetWidget()->GetNativeWindow();
   // An app id for task manager windows, also used to identify the shelf item.
-  static constexpr char kTaskManagerId[] = "TaskManagerId";
+  // Generated as crx_file::id_util::GenerateId("org.chromium.taskmanager")
+  static constexpr char kTaskManagerId[] = "ijaigheoohcacdnplfbdimmcfldnnhdi";
   window->SetProperty(ash::kShelfIDKey, new ash::ShelfID(kTaskManagerId));
   window->SetProperty<int>(ash::kShelfItemTypeKey, ash::TYPE_DIALOG);
   ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance();
diff --git a/chrome/browser/ui/views/toolbar/app_menu_button.cc b/chrome/browser/ui/views/toolbar/app_menu_button.cc
index 272cc0d..3f94b52 100644
--- a/chrome/browser/ui/views/toolbar/app_menu_button.cc
+++ b/chrome/browser/ui/views/toolbar/app_menu_button.cc
@@ -18,16 +18,17 @@
 #include "chrome/browser/ui/browser_otr_state.h"
 #include "chrome/browser/ui/layout_constants.h"
 #include "chrome/browser/ui/tabs/tab_strip_model.h"
+#include "chrome/browser/ui/toolbar/app_menu_animation.h"
 #include "chrome/browser/ui/toolbar/app_menu_model.h"
 #include "chrome/browser/ui/views/extensions/browser_action_drag_data.h"
 #include "chrome/browser/ui/views/toolbar/app_menu.h"
-#include "chrome/browser/ui/views/toolbar/app_menu_animation.h"
 #include "chrome/browser/ui/views/toolbar/toolbar_button.h"
 #include "chrome/browser/ui/views/toolbar/toolbar_view.h"
 #include "chrome/common/chrome_switches.h"
 #include "chrome/grit/theme_resources.h"
 #include "ui/base/resource/resource_bundle.h"
 #include "ui/base/theme_provider.h"
+#include "ui/gfx/canvas.h"
 #include "ui/gfx/color_palette.h"
 #include "ui/gfx/paint_vector_icon.h"
 #include "ui/keyboard/keyboard_controller.h"
@@ -36,7 +37,9 @@
 #include "ui/views/metrics.h"
 
 namespace {
-const float kIconSize = 16;
+
+constexpr float kIconSize = 16;
+
 }  // namespace
 
 // static
@@ -158,6 +161,19 @@
   AnimateIconIfPossible();
 }
 
+void AppMenuButton::AppMenuAnimationStarted() {
+  SetPaintToLayer();
+  layer()->SetFillsBoundsOpaquely(false);
+}
+
+void AppMenuButton::AppMenuAnimationEnded() {
+  DestroyLayer();
+}
+
+void AppMenuButton::InvalidateIcon() {
+  SchedulePaint();
+}
+
 void AppMenuButton::UpdateIcon(bool should_animate) {
   SkColor severity_color = gfx::kPlaceholderColor;
   SkColor toolbar_icon_color =
@@ -226,15 +242,6 @@
   animation_->StartAnimation();
 }
 
-void AppMenuButton::AppMenuAnimationStarted() {
-  SetPaintToLayer();
-  layer()->SetFillsBoundsOpaquely(false);
-}
-
-void AppMenuButton::AppMenuAnimationEnded() {
-  DestroyLayer();
-}
-
 const char* AppMenuButton::GetClassName() const {
   return "AppMenuButton";
 }
diff --git a/chrome/browser/ui/views/toolbar/app_menu_button.h b/chrome/browser/ui/views/toolbar/app_menu_button.h
index 96290b4..b8fc2be 100644
--- a/chrome/browser/ui/views/toolbar/app_menu_button.h
+++ b/chrome/browser/ui/views/toolbar/app_menu_button.h
@@ -10,6 +10,7 @@
 #include "base/macros.h"
 #include "base/memory/weak_ptr.h"
 #include "chrome/browser/ui/tabs/tab_strip_model_observer.h"
+#include "chrome/browser/ui/toolbar/app_menu_animation.h"
 #include "chrome/browser/ui/toolbar/app_menu_icon_controller.h"
 #include "ui/views/controls/button/menu_button.h"
 #include "ui/views/controls/button/menu_button_listener.h"
@@ -23,10 +24,11 @@
 class MenuListener;
 }
 
-class AppMenuAnimation;
 class ToolbarView;
 
-class AppMenuButton : public views::MenuButton, public TabStripModelObserver {
+class AppMenuButton : public views::MenuButton,
+                      public TabStripModelObserver,
+                      public AppMenuAnimationDelegate {
  public:
   explicit AppMenuButton(ToolbarView* toolbar_view);
   ~AppMenuButton() override;
@@ -64,6 +66,11 @@
                      int index,
                      bool foreground) override;
 
+  // AppMenuAnimationDelegate:
+  void AppMenuAnimationStarted() override;
+  void AppMenuAnimationEnded() override;
+  void InvalidateIcon() override;
+
   // Updates the presentation according to |severity_| and the theme provider.
   // If |should_animate| is true, the icon should animate.
   void UpdateIcon(bool should_animate);
@@ -76,11 +83,6 @@
   // level is none, |animation_| is nullptr or |should_use_new_icon_| is false.
   void AnimateIconIfPossible();
 
-  // Methods called by AppMenuAnimation when the animation has started/ended.
-  // The layer is managed inside these methods.
-  void AppMenuAnimationStarted();
-  void AppMenuAnimationEnded();
-
   // Opens the app menu immediately during a drag-and-drop operation.
   // Used only in testing.
   static bool g_open_app_immediately_for_testing;
diff --git a/chrome/browser/ui/webui/net_export_ui.cc b/chrome/browser/ui/webui/net_export_ui.cc
index abc8b81..c886b6d 100644
--- a/chrome/browser/ui/webui/net_export_ui.cc
+++ b/chrome/browser/ui/webui/net_export_ui.cc
@@ -300,10 +300,13 @@
                                            void* params) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
   DCHECK(select_file_dialog_);
-  select_file_dialog_ = nullptr;
   *last_save_dir.Pointer() = path.DirName();
 
   file_writer_->StartNetLog(path, capture_mode_, GetURLRequestContexts());
+
+  // IMPORTANT: resetting the dialog may lead to the deletion of |path|, so keep
+  // this line last.
+  select_file_dialog_ = nullptr;
 }
 
 void NetExportMessageHandler::FileSelectionCanceled(void* params) {
diff --git a/chrome/browser/ui/webui/settings/settings_default_browser_handler.cc b/chrome/browser/ui/webui/settings/settings_default_browser_handler.cc
index 03abb0f..4cd6010 100644
--- a/chrome/browser/ui/webui/settings/settings_default_browser_handler.cc
+++ b/chrome/browser/ui/webui/settings/settings_default_browser_handler.cc
@@ -32,9 +32,6 @@
 
 DefaultBrowserHandler::DefaultBrowserHandler(content::WebUI* webui)
     : weak_ptr_factory_(this) {
-  default_browser_worker_ = new shell_integration::DefaultBrowserWorker(
-      base::Bind(&DefaultBrowserHandler::OnDefaultBrowserWorkerFinished,
-                 weak_ptr_factory_.GetWeakPtr()));
 }
 
 DefaultBrowserHandler::~DefaultBrowserHandler() {}
@@ -57,10 +54,15 @@
       prefs::kDefaultBrowserSettingEnabled,
       base::Bind(&DefaultBrowserHandler::RequestDefaultBrowserState,
                  base::Unretained(this), nullptr));
+  default_browser_worker_ = new shell_integration::DefaultBrowserWorker(
+      base::Bind(&DefaultBrowserHandler::OnDefaultBrowserWorkerFinished,
+                 weak_ptr_factory_.GetWeakPtr()));
 }
 
 void DefaultBrowserHandler::OnJavascriptDisallowed() {
   local_state_pref_registrar_.RemoveAll();
+  weak_ptr_factory_.InvalidateWeakPtrs();
+  default_browser_worker_ = nullptr;
 }
 
 void DefaultBrowserHandler::RequestDefaultBrowserState(
diff --git a/chrome/browser/unload_browsertest.cc b/chrome/browser/unload_browsertest.cc
index ae66d8c..1051724 100644
--- a/chrome/browser/unload_browsertest.cc
+++ b/chrome/browser/unload_browsertest.cc
@@ -204,6 +204,13 @@
     else
       js_dialog->native_dialog()->CancelAppModalDialog();
   }
+
+  void PrepareForDialog(Browser* browser) {
+    for (int i = 0; i < browser->tab_strip_model()->count(); i++) {
+      content::PrepContentsForBeforeUnloadTest(
+          browser->tab_strip_model()->GetWebContentsAt(i));
+    }
+  }
 };
 
 // Navigate to a page with an infinite unload handler.
@@ -282,13 +289,7 @@
 // OK in the beforeunload confirm dialog.
 IN_PROC_BROWSER_TEST_F(UnloadTest, BrowserCloseBeforeUnloadOK) {
   NavigateToDataURL(BEFORE_UNLOAD_HTML, "beforeunload");
-  // Disable the hang monitor, otherwise there will be a race between the
-  // beforeunload dialog and the beforeunload hang timer.
-  browser()
-      ->tab_strip_model()
-      ->GetActiveWebContents()
-      ->GetMainFrame()
-      ->DisableBeforeUnloadHangMonitorForTesting();
+  PrepareForDialog(browser());
 
   content::WindowedNotificationObserver window_observer(
         chrome::NOTIFICATION_BROWSER_CLOSED,
@@ -303,14 +304,7 @@
 // If this test flakes, reopen http://crbug.com/123110
 IN_PROC_BROWSER_TEST_F(UnloadTest, BrowserCloseBeforeUnloadCancel) {
   NavigateToDataURL(BEFORE_UNLOAD_HTML, "beforeunload");
-  // Disable the hang monitor, otherwise there will be a race between the
-  // beforeunload dialog and the beforeunload hang timer.
-  browser()
-      ->tab_strip_model()
-      ->GetActiveWebContents()
-      ->GetMainFrame()
-      ->DisableBeforeUnloadHangMonitorForTesting();
-
+  PrepareForDialog(browser());
   chrome::CloseWindow(browser());
 
   // We wait for the title to change after cancelling the closure of browser
@@ -356,13 +350,7 @@
 // beforeunload handler and clicking Leave in the beforeunload confirm dialog.
 IN_PROC_BROWSER_TEST_F(UnloadTest, BrowserListCloseBeforeUnloadOK) {
   NavigateToDataURL(BEFORE_UNLOAD_HTML, "beforeunload");
-  // Disable the hang monitor, otherwise there will be a race between the
-  // beforeunload dialog and the beforeunload hang timer.
-  browser()
-      ->tab_strip_model()
-      ->GetActiveWebContents()
-      ->GetMainFrame()
-      ->DisableBeforeUnloadHangMonitorForTesting();
+  PrepareForDialog(browser());
 
   content::WindowedNotificationObserver window_observer(
         chrome::NOTIFICATION_BROWSER_CLOSED,
@@ -383,13 +371,7 @@
 // beforeunload handler and clicking Stay in the beforeunload confirm dialog.
 IN_PROC_BROWSER_TEST_F(UnloadTest, BrowserListCloseBeforeUnloadCancel) {
   NavigateToDataURL(BEFORE_UNLOAD_HTML, "beforeunload");
-  // Disable the hang monitor, otherwise there will be a race between the
-  // beforeunload dialog and the beforeunload hang timer.
-  browser()
-      ->tab_strip_model()
-      ->GetActiveWebContents()
-      ->GetMainFrame()
-      ->DisableBeforeUnloadHangMonitorForTesting();
+  PrepareForDialog(browser());
 
   UnloadResults unload_results;
   BrowserList::CloseAllBrowsersWithProfile(
@@ -425,13 +407,7 @@
 // beforeunload handler and clicking Leave in the beforeunload confirm dialog.
 IN_PROC_BROWSER_TEST_F(UnloadTest, BrowserListDoubleCloseBeforeUnloadOK) {
   NavigateToDataURL(BEFORE_UNLOAD_HTML, "beforeunload");
-  // Disable the hang monitor, otherwise there will be a race between the
-  // beforeunload dialog and the beforeunload hang timer.
-  browser()
-      ->tab_strip_model()
-      ->GetActiveWebContents()
-      ->GetMainFrame()
-      ->DisableBeforeUnloadHangMonitorForTesting();
+  PrepareForDialog(browser());
 
   content::WindowedNotificationObserver window_observer(
         chrome::NOTIFICATION_BROWSER_CLOSED,
@@ -457,13 +433,7 @@
 // beforeunload handler and clicking Stay in the beforeunload confirm dialog.
 IN_PROC_BROWSER_TEST_F(UnloadTest, BrowserListDoubleCloseBeforeUnloadCancel) {
   NavigateToDataURL(BEFORE_UNLOAD_HTML, "beforeunload");
-  // Disable the hang monitor, otherwise there will be a race between the
-  // beforeunload dialog and the beforeunload hang timer.
-  browser()
-      ->tab_strip_model()
-      ->GetActiveWebContents()
-      ->GetMainFrame()
-      ->DisableBeforeUnloadHangMonitorForTesting();
+  PrepareForDialog(browser());
 
   UnloadResults unload_results;
   BrowserList::CloseAllBrowsersWithProfile(
@@ -514,13 +484,7 @@
 // If this flakes, use http://crbug.com/32615 and http://crbug.com/45675
 IN_PROC_BROWSER_TEST_F(UnloadTest, BrowserCloseWithInnerFocusedFrame) {
   NavigateToDataURL(INNER_FRAME_WITH_FOCUS_HTML, "innerframewithfocus");
-  // Disable the hang monitor, otherwise there will be a race between the
-  // beforeunload dialog and the beforeunload hang timer.
-  browser()
-      ->tab_strip_model()
-      ->GetActiveWebContents()
-      ->GetMainFrame()
-      ->DisableBeforeUnloadHangMonitorForTesting();
+  PrepareForDialog(browser());
 
   content::WindowedNotificationObserver window_observer(
         chrome::NOTIFICATION_BROWSER_CLOSED,
@@ -895,6 +859,7 @@
     return;
 
   NavigateToDataURL(BEFORE_UNLOAD_HTML, "beforeunload");
+  PrepareForDialog(browser());
   content::WebContents* beforeunload_contents =
       browser()->tab_strip_model()->GetActiveWebContents();
 
@@ -927,6 +892,7 @@
 IN_PROC_BROWSER_TEST_F(FastUnloadTest,
                        BrowserListForceCloseWithBeforeUnloadWithFastUnload) {
   NavigateToDataURL(BEFORE_UNLOAD_HTML, "beforeunload");
+  PrepareForDialog(browser());
 
   content::WindowedNotificationObserver window_observer(
       chrome::NOTIFICATION_BROWSER_CLOSED,
@@ -945,6 +911,7 @@
 IN_PROC_BROWSER_TEST_F(FastUnloadTest,
                        BrowserListForceCloseAfterNormalCloseWithFastUnload) {
   NavigateToDataURL(BEFORE_UNLOAD_HTML, "beforeunload");
+  PrepareForDialog(browser());
 
   content::WindowedNotificationObserver window_observer(
       chrome::NOTIFICATION_BROWSER_CLOSED,
diff --git a/chrome/gpu/arc_gpu_video_decode_accelerator.cc b/chrome/gpu/arc_gpu_video_decode_accelerator.cc
index d0212aef0..63e8ff83 100644
--- a/chrome/gpu/arc_gpu_video_decode_accelerator.cc
+++ b/chrome/gpu/arc_gpu_video_decode_accelerator.cc
@@ -9,6 +9,7 @@
 #include "base/metrics/histogram_macros.h"
 #include "base/numerics/safe_math.h"
 #include "base/run_loop.h"
+#include "base/unguessable_token.h"
 #include "media/base/video_frame.h"
 #include "media/gpu/gpu_video_decode_accelerator_factory.h"
 
@@ -295,9 +296,14 @@
         return;
       }
       CreateInputRecord(bitstream_buffer_id, index, metadata.timestamp);
+      // TODO(rockot): Pass GUIDs through Mojo. https://crbug.com/713763.
+      // TODO(erikchen): This fd comes from a mojo::ScopedHandle in
+      // GpuArcVideoService::BindSharedMemory. That should be passed through,
+      // rather than pulling out the fd. https://crbug.com/713763.
+      base::UnguessableToken guid = base::UnguessableToken::Create();
       vda_->Decode(media::BitstreamBuffer(
           bitstream_buffer_id,
-          base::SharedMemoryHandle(base::FileDescriptor(dup_fd, true)),
+          base::SharedMemoryHandle(base::FileDescriptor(dup_fd, true), guid),
           metadata.bytes_used, input_info->offset));
       break;
     }
diff --git a/chrome/test/android/javatests/src/org/chromium/chrome/test/util/ApplicationData.java b/chrome/test/android/javatests/src/org/chromium/chrome/test/util/ApplicationData.java
index eea546b..c38f2c5 100644
--- a/chrome/test/android/javatests/src/org/chromium/chrome/test/util/ApplicationData.java
+++ b/chrome/test/android/javatests/src/org/chromium/chrome/test/util/ApplicationData.java
@@ -45,7 +45,9 @@
                 new Criteria() {
                     private boolean mDataRemoved;
 
-                    @SuppressLint("ApplySharedPref")
+                    // The lint check for calling apply() rather than commit() on a shared pref
+                    // was recently renamed.
+                    @SuppressLint({"ApplySharedPref", "CommitPrefEdits"})
                     @Override
                     public boolean isSatisfied() {
                         SharedPreferences multidexPrefs =
diff --git a/chromecast/BUILD.gn b/chromecast/BUILD.gn
index 33765f8..b718dc9 100644
--- a/chromecast/BUILD.gn
+++ b/chromecast/BUILD.gn
@@ -59,7 +59,11 @@
   }
 
   if (!is_android && use_alsa) {
-    tests += [ "//chromecast/media/cma/backend/alsa:cast_alsa_cma_backend_unittests" ]
+    tests += [
+      "//chromecast/media/cma/backend/alsa:cast_alsa_cma_backend_unittests",
+      "//chromecast/media/cma/backend/alsa:libcast_governor_unittests",
+      "//chromecast/media/cma/backend/alsa:slew_volume_unittests",
+    ]
   }
 
   if (!is_android) {
diff --git a/chromecast/media/cma/backend/alsa/BUILD.gn b/chromecast/media/cma/backend/alsa/BUILD.gn
index 6647d16..63dfa36 100644
--- a/chromecast/media/cma/backend/alsa/BUILD.gn
+++ b/chromecast/media/cma/backend/alsa/BUILD.gn
@@ -134,15 +134,48 @@
   ]
 }
 
-shared_library("libcast_governor_1.0") {
+test("slew_volume_unittests") {
   sources = [
-    "post_processors/governor_shlib.cc",
+    "slew_volume_unittests.cc",
   ]
+  deps = [
+    ":slew_volume",
+    "//base",
+    "//base/test:run_all_unittests",
+    "//media",
+    "//testing/gtest",
+  ]
+}
 
+shared_library("libcast_governor_1.0") {
+  deps = [
+    ":governor",
+  ]
+}
+
+test("libcast_governor_unittests") {
+  sources = [
+    "post_processors/governor_unittest.cc",
+  ]
+  deps = [
+    ":governor",
+    "//base",
+    "//base/test:run_all_unittests",
+    "//media",
+    "//testing/gtest",
+  ]
+}
+
+source_set("governor") {
+  sources = [
+    "post_processors/governor.cc",
+    "post_processors/governor.h",
+  ]
   deps = [
     ":slew_volume",
     "//base",
     "//chromecast/base",
     "//chromecast/public/media",
   ]
+  public_configs = [ "//chromecast/public:public_config" ]
 }
diff --git a/chromecast/media/cma/backend/alsa/post_processors/governor_shlib.cc b/chromecast/media/cma/backend/alsa/post_processors/governor.cc
similarity index 60%
rename from chromecast/media/cma/backend/alsa/post_processors/governor_shlib.cc
rename to chromecast/media/cma/backend/alsa/post_processors/governor.cc
index e4af055a..19ab8c78 100644
--- a/chromecast/media/cma/backend/alsa/post_processors/governor_shlib.cc
+++ b/chromecast/media/cma/backend/alsa/post_processors/governor.cc
@@ -2,21 +2,22 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#include "chromecast/media/cma/backend/alsa/post_processors/governor.h"
+
 #include <memory>
 #include <string>
 
 #include "base/logging.h"
-#include "base/macros.h"
 #include "base/values.h"
 #include "chromecast/base/serializers.h"
 #include "chromecast/media/cma/backend/alsa/slew_volume.h"
-#include "chromecast/public/media/audio_post_processor_shlib.h"
 
 namespace chromecast {
 namespace media {
 
 namespace {
 const int kNoSampleRate = -1;
+const int kNoVolume = -1;
 
 // Configuration strings:
 const char kOnsetVolumeKey[] = "onset_volume";
@@ -24,44 +25,17 @@
 
 }  // namespace
 
-// Provides a flat reduction in output volume if the input volume is above a
-// given threshold.
-// Used to protect speakers at high output levels
-// while providing dyanmic range at low output level.
-// The configuration string for this plugin is:
-//  {"onset_volume": |VOLUME_TO_CLAMP|, "clamp_multiplier": |CLAMP_MULTIPLIER|}
-// Input volumes > |VOLUME_TO_CLAMP| will be attenuated by |CLAMP_MULTIPLIER|.
-class Governor : public AudioPostProcessor {
- public:
-  Governor(const std::string& config, int channels);
-  ~Governor() override;
-
-  bool SetSampleRate(int sample_rate) override;
-  int ProcessFrames(const std::vector<float*>& data,
-                    int frames,
-                    float volume) override;
-  int GetRingingTimeInFrames() override;
-
- private:
-  float GetGovernorMultiplier();
-
-  int channels_;
-  int sample_rate_;
-  float volume_;
-  double onset_volume_;
-  double clamp_multiplier_;
-  SlewVolume governor_;
-  DISALLOW_COPY_AND_ASSIGN(Governor);
-};
-
 Governor::Governor(const std::string& config, int channels)
-    : channels_(channels), sample_rate_(kNoSampleRate), volume_(1.0) {
+    : channels_(channels),
+      sample_rate_(kNoSampleRate),
+      volume_(kNoVolume),
+      slew_volume_() {
   auto config_dict = base::DictionaryValue::From(DeserializeFromJson(config));
   CHECK(config_dict) << "Governor config is not valid json: " << config;
   CHECK(config_dict->GetDouble(kOnsetVolumeKey, &onset_volume_));
   CHECK(config_dict->GetDouble(kClampMultiplierKey, &clamp_multiplier_));
   DCHECK_EQ(channels_, 2);
-  governor_.SetVolume(1.0);
+  slew_volume_.SetVolume(1.0);
   LOG(INFO) << "Created a governor: onset_volume = " << onset_volume_
             << ", clamp_multiplier = " << clamp_multiplier_;
 }
@@ -70,7 +44,7 @@
 
 bool Governor::SetSampleRate(int sample_rate) {
   sample_rate_ = sample_rate;
-  governor_.SetSampleRate(sample_rate);
+  slew_volume_.SetSampleRate(sample_rate);
   return true;
 }
 
@@ -81,13 +55,13 @@
 
   if (volume != volume_) {
     volume_ = volume;
-    governor_.SetVolume(GetGovernorMultiplier());
+    slew_volume_.SetVolume(GetGovernorMultiplier());
   }
 
   for (int c = 0; c < channels_; ++c) {
     DCHECK(data[c]);
-    governor_.ProcessFMAC(c != 0 /* repeat_transition */, data[c], frames,
-                          data[c]);
+    slew_volume_.ProcessFMUL(c != 0 /* repeat_transition */, data[c], frames,
+                             data[c]);
   }
 
   return 0;  // No delay in this pipeline.
@@ -104,6 +78,10 @@
   return 1.0;
 }
 
+void Governor::SetSlewTimeMsForTest(int slew_time_ms) {
+  slew_volume_.SetMaxSlewTimeMs(slew_time_ms);
+}
+
 }  // namespace media
 }  // namespace chromecast
 
diff --git a/chromecast/media/cma/backend/alsa/post_processors/governor.h b/chromecast/media/cma/backend/alsa/post_processors/governor.h
new file mode 100644
index 0000000..8607a22
--- /dev/null
+++ b/chromecast/media/cma/backend/alsa/post_processors/governor.h
@@ -0,0 +1,55 @@
+// 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 CHROMECAST_MEDIA_CMA_BACKEND_ALSA_POST_PROCESSORS_GOVERNOR_H_
+#define CHROMECAST_MEDIA_CMA_BACKEND_ALSA_POST_PROCESSORS_GOVERNOR_H_
+
+#include <memory>
+#include <vector>
+
+#include "base/macros.h"
+#include "chromecast/media/cma/backend/alsa/slew_volume.h"
+#include "chromecast/public/media/audio_post_processor_shlib.h"
+
+namespace chromecast {
+namespace media {
+
+// Provides a flat reduction in output volume if the input volume is above a
+// given threshold.
+// Used to protect speakers at high output levels while providing dynamic range
+// at low output level.
+// The configuration string for this plugin is:
+//  {"onset_volume": |VOLUME_TO_CLAMP|, "clamp_multiplier": |CLAMP_MULTIPLIER|}
+// Input volumes > |VOLUME_TO_CLAMP| will be attenuated by |CLAMP_MULTIPLIER|.
+class Governor : public AudioPostProcessor {
+ public:
+  Governor(const std::string& config, int channels);
+  ~Governor() override;
+
+  // AudioPostProcessor implementation:
+  bool SetSampleRate(int sample_rate) override;
+  int ProcessFrames(const std::vector<float*>& data,
+                    int frames,
+                    float volume) override;
+  int GetRingingTimeInFrames() override;
+
+  void SetSlewTimeMsForTest(int slew_time_ms);
+
+ private:
+  float GetGovernorMultiplier();
+
+  int channels_;
+  int sample_rate_;
+  float volume_;
+  double onset_volume_;
+  double clamp_multiplier_;
+  SlewVolume slew_volume_;
+
+  DISALLOW_COPY_AND_ASSIGN(Governor);
+};
+
+}  // namespace media
+}  // namespace chromecast
+
+#endif  // CHROMECAST_MEDIA_CMA_BACKEND_ALSA_POST_PROCESSORS_GOVERNOR_H_
diff --git a/chromecast/media/cma/backend/alsa/post_processors/governor_unittest.cc b/chromecast/media/cma/backend/alsa/post_processors/governor_unittest.cc
new file mode 100644
index 0000000..30598cc6
--- /dev/null
+++ b/chromecast/media/cma/backend/alsa/post_processors/governor_unittest.cc
@@ -0,0 +1,151 @@
+// 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 <cmath>
+#include <cstdint>
+#include <limits>
+#include <string>
+#include <vector>
+
+#include "base/macros.h"
+#include "base/memory/ptr_util.h"
+#include "base/strings/stringprintf.h"
+#include "chromecast/media/cma/backend/alsa/post_processors/governor.h"
+#include "media/base/audio_bus.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+namespace chromecast {
+namespace media {
+
+namespace {
+
+const char* kConfigTemplate =
+    R"config({"onset_volume": %f, "clamp_multiplier": %f})config";
+
+const int kNumChannels = 2;
+const float kDefaultClamp = 0.6f;
+const int kNumFrames = 100;
+const float kFrequency = 1.0f / kNumFrames;
+const int kBytesPerSample = sizeof(int32_t);
+const int kSampleRate = 44100;
+
+std::string MakeConfigString(float onset_volume, float clamp_multiplier) {
+  return base::StringPrintf(kConfigTemplate, onset_volume, clamp_multiplier);
+}
+
+// Frequency is in frames (frequency = frequency_in_hz / sample rate)
+std::unique_ptr<::media::AudioBus> GetSineData(size_t frames, float frequency) {
+  auto data = ::media::AudioBus::Create(kNumChannels, frames);
+  std::vector<int32_t> sine(frames * 2);
+  for (size_t i = 0; i < frames; ++i) {
+    sine[i * 2] = sin(static_cast<float>(i) * frequency * 2 * M_PI) *
+                  std::numeric_limits<int32_t>::max();
+    sine[i * 2 + 1] = cos(static_cast<float>(i) * frequency * 2 * M_PI) *
+                      std::numeric_limits<int32_t>::max();
+  }
+  data->FromInterleaved(sine.data(), frames, kBytesPerSample);
+  return data;
+}
+
+std::vector<float*> GetDataChannels(::media::AudioBus* audio) {
+  std::vector<float*> data(kNumChannels);
+  for (int i = 0; i < kNumChannels; ++i) {
+    data[i] = audio->channel(i);
+  }
+  return data;
+}
+
+void ScaleData(const std::vector<float*>& data, int frames, float scale) {
+  for (size_t ch = 0; ch < data.size(); ++ch) {
+    for (int f = 0; f < frames; ++f) {
+      data[ch][f] *= scale;
+    }
+  }
+}
+
+void CompareData(const std::vector<float*>& expected,
+                 const std::vector<float*>& actual,
+                 int frames) {
+  ASSERT_EQ(expected.size(), actual.size());
+  for (size_t ch = 0; ch < expected.size(); ++ch) {
+    for (int f = 0; f < frames; ++f) {
+      EXPECT_FLOAT_EQ(expected[ch][f], actual[ch][f])
+          << "ch: " << ch << " f: " << f;
+    }
+  }
+}
+
+}  // namespace
+
+class GovernorTest : public ::testing::TestWithParam<float> {
+ protected:
+  GovernorTest() = default;
+  ~GovernorTest() = default;
+  void SetUp() override {
+    clamp_ = kDefaultClamp;
+    onset_volume_ = GetParam();
+    std::string config = MakeConfigString(onset_volume_, clamp_);
+    governor_ = base::MakeUnique<Governor>(config, kNumChannels);
+    governor_->SetSlewTimeMsForTest(0);
+    governor_->SetSampleRate(kSampleRate);
+
+    data_bus_ = GetSineData(kNumFrames, kFrequency);
+    expected_bus_ = GetSineData(kNumFrames, kFrequency);
+    data_ = GetDataChannels(data_bus_.get());
+    expected_ = GetDataChannels(expected_bus_.get());
+  }
+
+  void CompareBuffers() { CompareData(expected_, data_, kNumFrames); }
+
+  void ProcessFrames(float volume) {
+    EXPECT_EQ(governor_->ProcessFrames(data_, kNumFrames, volume), 0);
+  }
+
+  float clamp_;
+  float onset_volume_;
+  std::unique_ptr<Governor> governor_;
+  std::unique_ptr<::media::AudioBus> data_bus_;
+  std::unique_ptr<::media::AudioBus> expected_bus_;
+  std::vector<float*> data_;
+  std::vector<float*> expected_;
+
+ private:
+  DISALLOW_COPY_AND_ASSIGN(GovernorTest);
+};
+
+TEST_P(GovernorTest, ZeroVolume) {
+  ProcessFrames(0.0f);
+  if (onset_volume_ <= 0.0f) {
+    ScaleData(expected_, kNumFrames, clamp_);
+  }
+  CompareBuffers();
+}
+
+TEST_P(GovernorTest, EpsilonBelowOnset) {
+  float volume = onset_volume_ - std::numeric_limits<float>::epsilon();
+  ProcessFrames(volume);
+  CompareBuffers();
+}
+
+TEST_P(GovernorTest, EpsilonAboveOnset) {
+  float volume = onset_volume_ + std::numeric_limits<float>::epsilon();
+  ProcessFrames(volume);
+  ScaleData(expected_, kNumFrames, clamp_);
+  CompareBuffers();
+}
+
+TEST_P(GovernorTest, MaxVolume) {
+  ProcessFrames(1.0);
+  if (onset_volume_ <= 1.0) {
+    ScaleData(expected_, kNumFrames, clamp_);
+  }
+  CompareBuffers();
+}
+
+INSTANTIATE_TEST_CASE_P(GovernorClampVolumeTest,
+                        GovernorTest,
+                        ::testing::Values(0.0f, 0.1f, 0.5f, 0.9f, 1.0f, 1.1f));
+
+}  // namespace media
+}  // namespace chromecast
diff --git a/chromecast/media/cma/backend/alsa/slew_volume.cc b/chromecast/media/cma/backend/alsa/slew_volume.cc
index 38ce1a7..6f2c5fe 100644
--- a/chromecast/media/cma/backend/alsa/slew_volume.cc
+++ b/chromecast/media/cma/backend/alsa/slew_volume.cc
@@ -5,6 +5,7 @@
 #include "chromecast/media/cma/backend/alsa/slew_volume.h"
 
 #include <algorithm>
+#include <cstring>
 
 #include "base/logging.h"
 #include "media/base/vector_math.h"
@@ -14,7 +15,51 @@
 // The time to slew from current volume to target volume.
 const int kMaxSlewTimeMs = 100;
 const int kDefaultSampleRate = 44100;
-}
+
+}  // namespace
+
+struct FMACTraits {
+  static void ProcessBulkData(const float* src,
+                              float volume,
+                              int frames,
+                              float* dest) {
+    ::media::vector_math::FMAC(src, volume, frames, dest);
+  }
+
+  static void ProcessSingleDatum(const float* src, float volume, float* dest) {
+    (*dest) += (*src) * volume;
+  }
+
+  static void ProcessZeroVolume(const float* src, int frames, float* dest) {}
+
+  static void ProcessUnityVolume(const float* src, int frames, float* dest) {
+    ProcessBulkData(src, 1.0, frames, dest);
+  }
+};
+
+struct FMULTraits {
+  static void ProcessBulkData(const float* src,
+                              float volume,
+                              int frames,
+                              float* dest) {
+    ::media::vector_math::FMUL(src, volume, frames, dest);
+  }
+
+  static void ProcessSingleDatum(const float* src, float volume, float* dest) {
+    (*dest) = (*src) * volume;
+  }
+
+  static void ProcessZeroVolume(const float* src, int frames, float* dest) {
+    std::memset(dest, 0, frames * sizeof(*dest));
+  }
+
+  static void ProcessUnityVolume(const float* src, int frames, float* dest) {
+    if (src == dest) {
+      return;
+    }
+    std::memcpy(dest, src, frames * sizeof(*dest));
+  }
+};
 
 namespace chromecast {
 namespace media {
@@ -24,11 +69,11 @@
 SlewVolume::SlewVolume(int max_slew_time_ms)
     : sample_rate_(kDefaultSampleRate),
       max_slew_time_ms_(max_slew_time_ms),
-      max_slew_per_sample_(1000.0 / (max_slew_time_ms_ * sample_rate_)) {
-  LOG(INFO) << "Creating a slew volume: " << max_slew_time_ms;
-}
+      max_slew_per_sample_(1000.0 / (max_slew_time_ms_ * sample_rate_)) {}
 
 void SlewVolume::SetSampleRate(int sample_rate) {
+  DCHECK_GT(sample_rate, 0);
+
   sample_rate_ = sample_rate;
   SetVolume(volume_scale_);
 }
@@ -49,6 +94,8 @@
 }
 
 void SlewVolume::SetMaxSlewTimeMs(int max_slew_time_ms) {
+  DCHECK_GE(max_slew_time_ms, 0);
+
   max_slew_time_ms_ = max_slew_time_ms;
 }
 
@@ -61,6 +108,21 @@
                              const float* src,
                              int frames,
                              float* dest) {
+  ProcessData<FMACTraits>(repeat_transition, src, frames, dest);
+}
+
+void SlewVolume::ProcessFMUL(bool repeat_transition,
+                             const float* src,
+                             int frames,
+                             float* dest) {
+  ProcessData<FMULTraits>(repeat_transition, src, frames, dest);
+}
+
+template <typename Traits>
+void SlewVolume::ProcessData(bool repeat_transition,
+                             const float* src,
+                             int frames,
+                             float* dest) {
   DCHECK(src);
   DCHECK(dest);
   // Ensure |src| and |dest| are 16-byte aligned.
@@ -82,13 +144,20 @@
 
   if (current_volume_ == volume_scale_) {
     if (current_volume_ == 0.0) {
+      Traits::ProcessZeroVolume(src, frames, dest);
       return;
     }
-    ::media::vector_math::FMAC(src, current_volume_, frames, dest);
+    if (current_volume_ == 1.0) {
+      Traits::ProcessUnityVolume(src, frames, dest);
+      return;
+    }
+    Traits::ProcessBulkData(src, current_volume_, frames, dest);
     return;
-  } else if (current_volume_ < volume_scale_) {
+  }
+
+  if (current_volume_ < volume_scale_) {
     do {
-      (*dest) += (*src) * current_volume_;
+      Traits::ProcessSingleDatum(src, current_volume_, dest);
       ++src;
       ++dest;
       --frames;
@@ -97,7 +166,7 @@
     current_volume_ = std::min(current_volume_, volume_scale_);
   } else {  // current_volume_ > volume_scale_
     do {
-      (*dest) += (*src) * current_volume_;
+      Traits::ProcessSingleDatum(src, current_volume_, dest);
       ++src;
       ++dest;
       --frames;
@@ -105,68 +174,17 @@
     } while (current_volume_ > volume_scale_ && frames);
     current_volume_ = std::max(current_volume_, volume_scale_);
   }
-
-  if (frames) {
-    for (int f = 0; f < frames; ++f) {
-      dest[f] += src[f] * current_volume_;
-    }
+  while (frames && (reinterpret_cast<uintptr_t>(src) &
+                    (::media::vector_math::kRequiredAlignment - 1))) {
+    Traits::ProcessSingleDatum(src, current_volume_, dest);
+    ++src;
+    ++dest;
+    --frames;
   }
-}
-
-// Scaling samples naively like this takes 0.2% of the CPU's time @ 44100hz
-// on pineapple.
-// Assumes 2 channel audio.
-bool SlewVolume::ProcessInterleaved(int32_t* data, int frames) {
-  DCHECK(data);
-
   if (!frames) {
-    return true;
+    return;
   }
-
-  interrupted_ = false;
-  if (current_volume_ == volume_scale_) {
-    if (current_volume_ == 1.0) {
-      return true;
-    }
-    for (int i = 0; i < 2 * frames; ++i) {
-      data[i] *= current_volume_;
-    }
-    return true;
-  } else if (current_volume_ < volume_scale_) {
-    do {
-      (*data) *= current_volume_;
-      ++data;
-      (*data) *= current_volume_;
-      ++data;
-      --frames;
-      current_volume_ += max_slew_per_sample_;
-    } while (current_volume_ < volume_scale_ && frames);
-    current_volume_ = std::min(current_volume_, volume_scale_);
-  } else {
-    do {
-      (*data) *= current_volume_;
-      ++data;
-      (*data) *= current_volume_;
-      ++data;
-      --frames;
-      current_volume_ -= max_slew_per_sample_;
-    } while (current_volume_ > volume_scale_ && frames);
-    current_volume_ = std::max(current_volume_, volume_scale_);
-  }
-
-  if (current_volume_ == 1.0) {
-    return true;
-  }
-
-  if (current_volume_ == 0.0) {
-    std::fill_n(data, frames * 2, 0);
-    return true;
-  }
-
-  for (int i = 0; i < 2 * frames; ++i) {
-    data[i] *= current_volume_;
-  }
-  return true;
+  Traits::ProcessBulkData(src, current_volume_, frames, dest);
 }
 
 }  // namespace media
diff --git a/chromecast/media/cma/backend/alsa/slew_volume.h b/chromecast/media/cma/backend/alsa/slew_volume.h
index 7e9f71ed..81152d2 100644
--- a/chromecast/media/cma/backend/alsa/slew_volume.h
+++ b/chromecast/media/cma/backend/alsa/slew_volume.h
@@ -37,10 +37,23 @@
                    int frames,
                    float* dest);
 
+  // Processes a single channel of float data
+  // dest[i] = src[i] * volume_scaling.
+  // ProcessFMUL will be called once for each channel of audio present.
+  // |repeat_transition| should be true for channels 2 through n.
   // Assumes 2 channels.
-  bool ProcessInterleaved(int32_t* data, int frames);
+  void ProcessFMUL(bool repeat_transition,
+                   const float* src,
+                   int frames,
+                   float* dest);
 
  private:
+  template <typename Traits>
+  void ProcessData(bool repeat_transition,
+                   const float* src,
+                   int frames,
+                   float* dest);
+
   double sample_rate_;
   double volume_scale_ = 1.0;
   double current_volume_ = 1.0;
diff --git a/chromecast/media/cma/backend/alsa/slew_volume_unittests.cc b/chromecast/media/cma/backend/alsa/slew_volume_unittests.cc
new file mode 100644
index 0000000..38bf6b7
--- /dev/null
+++ b/chromecast/media/cma/backend/alsa/slew_volume_unittests.cc
@@ -0,0 +1,366 @@
+// 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 <cmath>
+#include <cstdint>
+#include <limits>
+#include <vector>
+
+#include "base/logging.h"
+#include "base/macros.h"
+#include "base/memory/ptr_util.h"
+#include "chromecast/media/cma/backend/alsa/slew_volume.h"
+#include "media/base/audio_bus.h"
+#include "media/base/vector_math.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+namespace chromecast {
+namespace media {
+
+namespace {
+
+const int kNumChannels = 2;
+const int kNumFrames = 100;
+const float kSinFrequency = 1.0f / kNumFrames;
+const int kBytesPerSample = sizeof(int32_t);
+
+// Frequency is in frames (frequency = frequency_in_hz / sample rate)
+std::unique_ptr<::media::AudioBus> GetSineData(size_t frames, float frequency) {
+  auto data = ::media::AudioBus::Create(kNumChannels, frames);
+  std::vector<int32_t> sine(frames * 2);
+  for (size_t i = 0; i < frames; ++i) {
+    // Offset by 1 because sin(0) = 0 and the first value is a special case.
+    sine[i * 2] = sin(static_cast<float>(i + 1) * frequency * 2 * M_PI) *
+                  std::numeric_limits<int32_t>::max();
+    sine[i * 2 + 1] = cos(static_cast<float>(i + 1) * frequency * 2 * M_PI) *
+                      std::numeric_limits<int32_t>::max();
+  }
+  data->FromInterleaved(sine.data(), frames, kBytesPerSample);
+  return data;
+}
+
+// Gets pointers to the data in an audiobus.
+// If |swapped| is true, the channel order will be swapped.
+std::vector<float*> GetDataChannels(::media::AudioBus* audio,
+                                    bool swapped = false) {
+  std::vector<float*> data(kNumChannels);
+  for (int i = 0; i < kNumChannels; ++i) {
+    int source_channel = swapped ? (i + 1) % kNumChannels : i;
+    data[i] = audio->channel(source_channel);
+  }
+  return data;
+}
+
+void ScaleData(const std::vector<float*>& data, int frames, float scale) {
+  for (size_t ch = 0; ch < data.size(); ++ch) {
+    for (int f = 0; f < frames; ++f) {
+      data[ch][f] *= scale;
+    }
+  }
+}
+
+void CompareDataPartial(const std::vector<float*>& expected,
+                        const std::vector<float*>& actual,
+                        int start,
+                        int end) {
+  ASSERT_GE(start, 0);
+  ASSERT_LT(start, end);
+  ASSERT_EQ(expected.size(), actual.size());
+
+  for (size_t ch = 0; ch < expected.size(); ++ch) {
+    for (int f = start; f < end; ++f) {
+      EXPECT_FLOAT_EQ(expected[ch][f], actual[ch][f])
+          << "ch: " << ch << " f: " << f;
+    }
+  }
+}
+
+}  // namespace
+
+class SlewVolumeBaseTest : public ::testing::Test {
+ protected:
+  SlewVolumeBaseTest() = default;
+  ~SlewVolumeBaseTest() override = default;
+
+  void SetUp() override {
+    slew_volume_ = base::MakeUnique<SlewVolume>();
+    slew_volume_->Interrupted();
+    MakeData(kNumFrames);
+  }
+
+  void MakeData(int num_frames) {
+    num_frames_ = num_frames;
+    data_bus_ = GetSineData(num_frames_, kSinFrequency);
+    data_bus_2_ = GetSineData(num_frames_, kSinFrequency);
+    expected_bus_ = GetSineData(num_frames_, kSinFrequency);
+    data_ = GetDataChannels(data_bus_.get());
+    data_2_ = GetDataChannels(data_bus_2_.get(), true /* swapped */);
+    expected_ = GetDataChannels(expected_bus_.get());
+  }
+
+  void CompareBuffers(int start = 0, int end = -1) {
+    if (end == -1) {
+      end = num_frames_;
+    }
+
+    ASSERT_GE(start, 0);
+    ASSERT_LT(start, end);
+    ASSERT_LE(end, num_frames_);
+
+    CompareDataPartial(expected_, data_, start, end);
+  }
+
+  void ClearInterrupted() {
+    float throwaway __attribute__((__aligned__(16))) = 0.0f;
+    slew_volume_->ProcessFMUL(false, &throwaway, 1, &throwaway);
+  }
+
+  int num_frames_;
+
+  std::unique_ptr<SlewVolume> slew_volume_;
+  std::unique_ptr<::media::AudioBus> data_bus_;
+  std::unique_ptr<::media::AudioBus> data_bus_2_;
+  std::unique_ptr<::media::AudioBus> expected_bus_;
+  std::vector<float*> data_;
+  std::vector<float*> data_2_;
+  std::vector<float*> expected_;
+
+ private:
+  DISALLOW_COPY_AND_ASSIGN(SlewVolumeBaseTest);
+};
+
+TEST_F(SlewVolumeBaseTest, BadSampleRate) {
+  ASSERT_DEATH(slew_volume_->SetSampleRate(0), "sample_rate");
+}
+
+TEST_F(SlewVolumeBaseTest, BadSlewTime) {
+  ASSERT_DEATH(slew_volume_->SetMaxSlewTimeMs(-1), "");
+}
+
+class SlewVolumeSteadyStateTest : public SlewVolumeBaseTest {
+ protected:
+  SlewVolumeSteadyStateTest() = default;
+  ~SlewVolumeSteadyStateTest() override = default;
+
+  void SetUp() override {
+    SlewVolumeBaseTest::SetUp();
+    slew_volume_->Interrupted();
+  }
+
+ private:
+  DISALLOW_COPY_AND_ASSIGN(SlewVolumeSteadyStateTest);
+};
+
+TEST_F(SlewVolumeSteadyStateTest, FMULNoOp) {
+  slew_volume_->SetVolume(1.0f);
+
+  slew_volume_->ProcessFMUL(false /* repeat transition */, data_[0],
+                            num_frames_, data_[0]);
+  slew_volume_->ProcessFMUL(true /* repeat transition */, data_[1], num_frames_,
+                            data_[1]);
+  CompareBuffers();
+}
+
+TEST_F(SlewVolumeSteadyStateTest, FMULCopy) {
+  slew_volume_->SetVolume(1.0f);
+
+  slew_volume_->ProcessFMUL(false /* repeat transition */, data_2_[0],
+                            num_frames_, data_[0]);
+  slew_volume_->ProcessFMUL(true /* repeat transition */, data_2_[1],
+                            num_frames_, data_[1]);
+  CompareDataPartial(data_2_, data_, 0, num_frames_);
+}
+
+TEST_F(SlewVolumeSteadyStateTest, FMULZero) {
+  slew_volume_->SetVolume(0.0f);
+  slew_volume_->ProcessFMUL(false, /* repeat transition */
+                            data_[0], num_frames_, data_[0]);
+  slew_volume_->ProcessFMUL(true /* repeat transition */, data_[1], num_frames_,
+                            data_[1]);
+
+  for (size_t ch = 0; ch < data_.size(); ++ch) {
+    for (int f = 0; f < num_frames_; ++f) {
+      EXPECT_EQ(0.0f, data_[ch][f]) << "at ch " << ch << "frame " << f;
+    }
+  }
+}
+
+TEST_F(SlewVolumeSteadyStateTest, FMULInterrupted) {
+  float volume = 0.6f;
+  slew_volume_->SetVolume(volume);
+
+  slew_volume_->ProcessFMUL(false /* repeat transition */,
+                            data_[0] /* source */, num_frames_,
+                            data_[0] /* dst */);
+  slew_volume_->ProcessFMUL(true /* repeat transition */, data_[1] /* source */,
+                            num_frames_, data_[1] /* dst */);
+  ScaleData(expected_, num_frames_, volume);
+  CompareBuffers();
+}
+
+TEST_F(SlewVolumeSteadyStateTest, FMACNoOp) {
+  slew_volume_->SetVolume(0.0f);
+  slew_volume_->ProcessFMAC(false /* repeat transition */,
+                            data_2_[0] /* source */, num_frames_,
+                            data_[0] /* dst */);
+  slew_volume_->ProcessFMAC(false /* repeat transition */,
+                            data_2_[1] /* source */, num_frames_,
+                            data_[1] /*dst */);
+  CompareBuffers();
+}
+
+class SlewVolumeDynamicTest
+    : public SlewVolumeBaseTest,
+      public ::testing::WithParamInterface<std::tuple<int, int>> {
+ protected:
+  SlewVolumeDynamicTest() = default;
+  ~SlewVolumeDynamicTest() override = default;
+
+  void SetUp() override {
+    SlewVolumeBaseTest::SetUp();
+    sample_rate_ = std::get<0>(GetParam());
+    slew_time_ms_ = std::get<1>(GetParam());
+    slew_time_frames_ = sample_rate_ * slew_time_ms_ / 1000;
+    slew_volume_->SetSampleRate(sample_rate_);
+    slew_volume_->SetMaxSlewTimeMs(slew_time_ms_);
+
+    int num_frames = slew_time_frames_ + 2;  // +2 frames for numeric errors.
+    ASSERT_GE(num_frames, 1);
+    MakeData(num_frames);
+  }
+
+  // Checks data_ = slew_volume_(expected_)
+  void CheckSlewMUL(double start_vol, double end_vol) {
+    for (size_t ch = 0; ch < data_.size(); ++ch) {
+      // First value should have original scaling applied.
+      EXPECT_FLOAT_EQ(expected_[ch][0] * start_vol, data_[ch][0]) << ch;
+
+      // Steady state have final scaling applied
+      int f = num_frames_ - 1;
+      EXPECT_FLOAT_EQ(expected_[ch][f] * end_vol, data_[ch][f]) << ch;
+    }
+  }
+
+  // Checks data_ = expected_ + slew_volume_(data_2_)
+  void CheckSlewMAC(double start_vol, double end_vol) {
+    for (size_t ch = 0; ch < data_.size(); ++ch) {
+      // First value should have original scaling applied.
+      EXPECT_FLOAT_EQ(expected_[ch][0] + data_2_[ch][0] * start_vol,
+                      data_[ch][0])
+          << ch;
+
+      // Steady state have final scaling applied
+      int f = num_frames_ - 1;
+      EXPECT_FLOAT_EQ(expected_[ch][f] + data_2_[ch][f] * end_vol, data_[ch][f])
+          << ch << " " << f;
+    }
+  }
+
+  int sample_rate_;
+  int slew_time_ms_;
+  int slew_time_frames_;
+
+ private:
+  DISALLOW_COPY_AND_ASSIGN(SlewVolumeDynamicTest);
+};
+
+TEST_P(SlewVolumeDynamicTest, FMULRampUp) {
+  double start = 0.0;
+  double end = 1.0;
+  slew_volume_->SetVolume(start);
+  ClearInterrupted();
+
+  slew_volume_->SetVolume(end);
+  slew_volume_->ProcessFMUL(false, data_[0], num_frames_, data_[0]);
+  slew_volume_->ProcessFMUL(true, data_[1], num_frames_, data_[1]);
+  CheckSlewMUL(start, end);
+}
+
+TEST_P(SlewVolumeDynamicTest, FMULRampDown) {
+  double start = 1.0;
+  double end = 0.0;
+  slew_volume_->SetVolume(start);
+  ClearInterrupted();
+
+  slew_volume_->SetVolume(end);
+  slew_volume_->ProcessFMUL(false, data_[0], num_frames_, data_[0]);
+  slew_volume_->ProcessFMUL(true, data_[1], num_frames_, data_[1]);
+  CheckSlewMUL(start, end);
+}
+
+// Provide data as small buffers.
+TEST_P(SlewVolumeDynamicTest, FMULRampDownByParts) {
+  double start = 1.0;
+  double end = 0.0;
+  slew_volume_->SetVolume(start);
+  ClearInterrupted();
+
+  slew_volume_->SetVolume(end);
+  int frame_step = ::media::vector_math::kRequiredAlignment / kBytesPerSample;
+  int f;
+  for (f = 0; f < num_frames_; f += frame_step) {
+    // Process any remaining samples in the last step.
+    if (num_frames_ - f < frame_step * 2) {
+      frame_step = num_frames_ - f;
+    }
+    slew_volume_->ProcessFMUL(false, expected_[0] + f, frame_step,
+                              data_[0] + f);
+    slew_volume_->ProcessFMUL(true, expected_[1] + f, frame_step, data_[1] + f);
+  }
+  ASSERT_EQ(num_frames_, f);
+  CheckSlewMUL(start, end);
+}
+
+TEST_P(SlewVolumeDynamicTest, FMACRampUp) {
+  double start = 0.0;
+  double end = 1.0;
+  slew_volume_->SetVolume(start);
+  ClearInterrupted();
+
+  slew_volume_->SetVolume(end);
+  slew_volume_->ProcessFMAC(false, data_2_[0], num_frames_, data_[0]);
+  slew_volume_->ProcessFMAC(true, data_2_[1], num_frames_, data_[1]);
+  CheckSlewMAC(start, end);
+}
+
+TEST_P(SlewVolumeDynamicTest, FMACRampDown) {
+  double start = 1.0;
+  double end = 0.0;
+  slew_volume_->SetVolume(start);
+  ClearInterrupted();
+
+  slew_volume_->SetVolume(end);
+  slew_volume_->ProcessFMAC(false, data_2_[0], num_frames_, data_[0]);
+  slew_volume_->ProcessFMAC(true, data_2_[1], num_frames_, data_[1]);
+  CheckSlewMAC(start, end);
+}
+
+// Provide data as small buffers.
+TEST_P(SlewVolumeDynamicTest, FMACRampUpByParts) {
+  double start = 0.0;
+  double end = 1.0;
+  slew_volume_->SetVolume(start);
+  ClearInterrupted();
+
+  slew_volume_->SetVolume(end);
+  int frame_step = ::media::vector_math::kRequiredAlignment / kBytesPerSample;
+  int f;
+  for (f = 0; f < num_frames_; f += frame_step) {
+    // Process any remaining samples in the last step.
+    if (num_frames_ - f < frame_step * 2) {
+      frame_step = num_frames_ - f;
+    }
+    slew_volume_->ProcessFMAC(false, data_2_[0] + f, frame_step, data_[0] + f);
+    slew_volume_->ProcessFMAC(true, data_2_[1] + f, frame_step, data_[1] + f);
+  }
+  ASSERT_EQ(num_frames_, f);
+  CheckSlewMAC(start, end);
+}
+
+INSTANTIATE_TEST_CASE_P(SingleBufferSlew,
+                        SlewVolumeDynamicTest,
+                        ::testing::Combine(::testing::Values(44100, 48000),
+                                           ::testing::Values(0, 15, 100)));
+}  // namespace media
+}  // namespace chromecast
diff --git a/chromecast/public/media/audio_post_processor_shlib.h b/chromecast/public/media/audio_post_processor_shlib.h
index 1a84347..1326b7f 100644
--- a/chromecast/public/media/audio_post_processor_shlib.h
+++ b/chromecast/public/media/audio_post_processor_shlib.h
@@ -6,6 +6,7 @@
 #define CHROMECAST_PUBLIC_MEDIA_AUDIO_POST_PROCESSOR_SHLIB_H_
 
 #include <string>
+#include <vector>
 
 #include "chromecast_export.h"
 
diff --git a/components/download/internal/BUILD.gn b/components/download/internal/BUILD.gn
index a584dc54..1e3d1a2 100644
--- a/components/download/internal/BUILD.gn
+++ b/components/download/internal/BUILD.gn
@@ -14,6 +14,8 @@
   ]
 
   sources = [
+    "config.cc",
+    "config.h",
     "download_service_impl.cc",
     "download_service_impl.h",
   ]
diff --git a/components/download/internal/config.cc b/components/download/internal/config.cc
new file mode 100644
index 0000000..564da91
--- /dev/null
+++ b/components/download/internal/config.cc
@@ -0,0 +1,70 @@
+// 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/download/internal/config.h"
+
+#include <string>
+
+#include "base/memory/ptr_util.h"
+#include "base/metrics/field_trial_params.h"
+#include "base/strings/string_number_conversions.h"
+#include "components/download/public/features.h"
+
+namespace download {
+
+namespace {
+
+// Default value for max concurrent downloads configuration.
+const int kDefaultMaxConcurrentDownloads = 4;
+
+// Default value for maximum running downloads of the download service.
+const int kDefaultMaxRunningDownloads = 1;
+
+// Default value for maximum scheduled downloads.
+const int kDefaultMaxScheduledDownloads = 15;
+
+// Default value for maximum retry count.
+const int kDefaultMaxRetryCount = 5;
+
+// Default value for file keep alive time in minutes, keep the file alive for
+// 12 hours by default.
+const int kDefaultFileKeepAliveTimeMinutes = 12 * 60;
+
+// Helper routine to get Finch experiment parameter. If no Finch seed was found,
+// use the |default_value|. The |name| should match an experiment
+// parameter in Finch server configuration.
+int GetFinchConfigInt(const std::string& name, int default_value) {
+  std::string finch_value =
+      base::GetFieldTrialParamValueByFeature(kDownloadServiceFeature, name);
+  int result;
+  return base::StringToInt(finch_value, &result) ? result : default_value;
+}
+
+}  // namespace
+
+// static
+std::unique_ptr<Configuration> Configuration::CreateFromFinch() {
+  std::unique_ptr<Configuration> config(new Configuration());
+  config->max_concurrent_downloads = GetFinchConfigInt(
+      kMaxConcurrentDownloadsConfig, kDefaultMaxConcurrentDownloads);
+  config->max_running_downloads = GetFinchConfigInt(
+      kMaxRunningDownloadsConfig, kDefaultMaxRunningDownloads);
+  config->max_scheduled_downloads = GetFinchConfigInt(
+      kMaxScheduledDownloadsConfig, kDefaultMaxScheduledDownloads);
+  config->max_retry_count =
+      GetFinchConfigInt(kMaxRetryCountConfig, kDefaultMaxRetryCount);
+  config->file_keep_alive_time = base::TimeDelta::FromMinutes(GetFinchConfigInt(
+      kFileKeepAliveTimeMinutesConfig, kDefaultFileKeepAliveTimeMinutes));
+  return config;
+}
+
+Configuration::Configuration()
+    : max_concurrent_downloads(kDefaultMaxConcurrentDownloads),
+      max_running_downloads(kDefaultMaxRunningDownloads),
+      max_scheduled_downloads(kDefaultMaxScheduledDownloads),
+      max_retry_count(kDefaultMaxRetryCount),
+      file_keep_alive_time(
+          base::TimeDelta::FromMinutes(kDefaultFileKeepAliveTimeMinutes)) {}
+
+}  // namespace download
diff --git a/components/download/internal/config.h b/components/download/internal/config.h
new file mode 100644
index 0000000..c5b3b0d
--- /dev/null
+++ b/components/download/internal/config.h
@@ -0,0 +1,65 @@
+// 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_DOWNLOAD_INTERNAL_CONFIG_H_
+#define COMPONENTS_DOWNLOAD_INTERNAL_CONFIG_H_
+
+#include <memory>
+
+#include "base/macros.h"
+#include "base/time/time.h"
+
+namespace download {
+
+// Configuration name for max concurrent downloads.
+constexpr char kMaxConcurrentDownloadsConfig[] = "max_concurrent_downloads";
+
+// Configuration name for maximum running downloads.
+constexpr char kMaxRunningDownloadsConfig[] = "max_running_downloads";
+
+// Configuration name for maximum scheduled downloads.
+constexpr char kMaxScheduledDownloadsConfig[] = "max_scheduled_downloads";
+
+// Configuration name for maximum retry count.
+constexpr char kMaxRetryCountConfig[] = "max_retry_count";
+
+// Configuration name for file keep alive time.
+constexpr char kFileKeepAliveTimeMinutesConfig[] = "file_keep_alive_time";
+
+// Download service configuration.
+//
+// Loaded based on experiment parameters from the server. Use default values if
+// no server configuration was detected.
+struct Configuration {
+ public:
+  // Create the configuration.
+  static std::unique_ptr<Configuration> CreateFromFinch();
+  Configuration();
+
+  // The maximum number of downloads the DownloadService can have currently in
+  // Active or Paused states.
+  int max_concurrent_downloads;
+
+  // The maximum number of downloads the DownloadService can have currently in
+  // only Active state.
+  int max_running_downloads;
+
+  // The maximum number of downloads that are scheduled but not yet in Active
+  // state, for each client using the download service.
+  int max_scheduled_downloads;
+
+  // The maximum number of retries before the download is aborted.
+  int max_retry_count;
+
+  // The time that the download service will keep the files around before
+  // deleting them if the client hasn't handle the files.
+  base::TimeDelta file_keep_alive_time;
+
+ private:
+  DISALLOW_COPY_AND_ASSIGN(Configuration);
+};
+
+}  // namespace download
+
+#endif  // COMPONENTS_DOWNLOAD_INTERNAL_CONFIG_H_
diff --git a/components/download/internal/download_service_impl.cc b/components/download/internal/download_service_impl.cc
index bdce730..44610a9a 100644
--- a/components/download/internal/download_service_impl.cc
+++ b/components/download/internal/download_service_impl.cc
@@ -10,10 +10,12 @@
 DownloadService* DownloadService::Create(
     const base::FilePath& storage_dir,
     const scoped_refptr<base::SequencedTaskRunner>& background_task_runner) {
-  return new DownloadServiceImpl();
+  return new DownloadServiceImpl(Configuration::CreateFromFinch());
 }
 
-DownloadServiceImpl::DownloadServiceImpl() = default;
+DownloadServiceImpl::DownloadServiceImpl(std::unique_ptr<Configuration> config)
+    : config_(std::move(config)) {}
+
 DownloadServiceImpl::~DownloadServiceImpl() = default;
 
 void DownloadServiceImpl::StartDownload(const DownloadParams& download_params) {
diff --git a/components/download/internal/download_service_impl.h b/components/download/internal/download_service_impl.h
index e54ab3e6..319aea1 100644
--- a/components/download/internal/download_service_impl.h
+++ b/components/download/internal/download_service_impl.h
@@ -5,9 +5,11 @@
 #ifndef COMPONENTS_DOWNLOAD_INTERNAL_DOWNLOAD_SERVICE_IMPL_H_
 #define COMPONENTS_DOWNLOAD_INTERNAL_DOWNLOAD_SERVICE_IMPL_H_
 
+#include <memory>
 #include <string>
 
 #include "base/macros.h"
+#include "components/download/internal/config.h"
 #include "components/download/public/download_service.h"
 
 namespace download {
@@ -18,7 +20,7 @@
 // The internal implementation of the DownloadService.
 class DownloadServiceImpl : public DownloadService {
  public:
-  DownloadServiceImpl();
+  DownloadServiceImpl(std::unique_ptr<Configuration> config);
   ~DownloadServiceImpl() override;
 
   // DownloadService implementation.
@@ -30,6 +32,8 @@
                               const SchedulingParams& params) override;
 
  private:
+  std::unique_ptr<Configuration> config_;
+
   DISALLOW_COPY_AND_ASSIGN(DownloadServiceImpl);
 };
 
diff --git a/components/download/public/BUILD.gn b/components/download/public/BUILD.gn
index 4aeb211..5f013fd 100644
--- a/components/download/public/BUILD.gn
+++ b/components/download/public/BUILD.gn
@@ -14,6 +14,8 @@
     "download_params.cc",
     "download_params.h",
     "download_service.h",
+    "features.cc",
+    "features.h",
   ]
 
   deps = [
diff --git a/components/download/public/features.cc b/components/download/public/features.cc
new file mode 100644
index 0000000..f254f23
--- /dev/null
+++ b/components/download/public/features.cc
@@ -0,0 +1,12 @@
+// 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/download/public/features.h"
+
+namespace download {
+
+const base::Feature kDownloadServiceFeature{"DownloadService",
+                                            base::FEATURE_DISABLED_BY_DEFAULT};
+
+}  // namespace download
diff --git a/components/download/public/features.h b/components/download/public/features.h
new file mode 100644
index 0000000..1311719
--- /dev/null
+++ b/components/download/public/features.h
@@ -0,0 +1,16 @@
+// 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_DOWNLOAD_PUBLIC_FEATURES_H_
+#define COMPONENTS_DOWNLOAD_PUBLIC_FEATURES_H_
+
+#include "base/feature_list.h"
+
+namespace download {
+
+extern const base::Feature kDownloadServiceFeature;
+
+}  // namespace download
+
+#endif  // COMPONENTS_DOWNLOAD_PUBLIC_FEATURES_H_
diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
index 63b7bb2..11026077 100644
--- a/content/browser/BUILD.gn
+++ b/content/browser/BUILD.gn
@@ -142,6 +142,7 @@
     "//third_party/libyuv",
     "//third_party/re2",
     "//third_party/zlib",
+    "//third_party/zlib:compression_utils",
     "//third_party/zlib:zip",
     "//ui/accessibility",
     "//ui/accessibility:ax_gen",
@@ -1513,6 +1514,8 @@
     "webui/web_ui_impl.cc",
     "webui/web_ui_impl.h",
     "webui/web_ui_message_handler.cc",
+    "webui/web_ui_url_loader_factory.cc",
+    "webui/web_ui_url_loader_factory.h",
     "zygote_host/zygote_communication_linux.cc",
     "zygote_host/zygote_communication_linux.h",
     "zygote_host/zygote_handle_linux.cc",
diff --git a/content/browser/DEPS b/content/browser/DEPS
index 2d9c407..964efbb4 100644
--- a/content/browser/DEPS
+++ b/content/browser/DEPS
@@ -52,6 +52,7 @@
   "+third_party/isimpledom",
   "+third_party/khronos",   # For enum definitions only
   "+third_party/re2",
+  "+third_party/zlib",
 
   # Allow non-browser Chrome OS code to be used.
   "+chromeos",
diff --git a/content/browser/compositor/software_output_device_mac.h b/content/browser/compositor/software_output_device_mac.h
index 77c61fc..2227fb8 100644
--- a/content/browser/compositor/software_output_device_mac.h
+++ b/content/browser/compositor/software_output_device_mac.h
@@ -6,10 +6,12 @@
 #define CONTENT_BROWSER_COMPOSITOR_SOFTWARE_OUTPUT_DEVICE_MAC_H_
 
 #include <IOSurface/IOSurface.h>
+#include <list>
 
 #include "base/mac/scoped_cftyperef.h"
 #include "base/macros.h"
 #include "cc/output/software_output_device.h"
+#include "content/common/content_export.h"
 #include "third_party/skia/include/core/SkRefCnt.h"
 #include "third_party/skia/include/core/SkRegion.h"
 #include "ui/gfx/vsync_provider.h"
@@ -22,9 +24,8 @@
 
 namespace content {
 
-class SoftwareOutputDeviceMac :
-    public cc::SoftwareOutputDevice,
-    public gfx::VSyncProvider {
+class CONTENT_EXPORT SoftwareOutputDeviceMac : public cc::SoftwareOutputDevice,
+                                               public gfx::VSyncProvider {
  public:
   explicit SoftwareOutputDeviceMac(ui::Compositor* compositor);
   ~SoftwareOutputDeviceMac() override;
@@ -41,31 +42,50 @@
   void GetVSyncParameters(
       const gfx::VSyncProvider::UpdateVSyncCallback& callback) override;
 
+  // Testing methods.
+  SkRegion LastCopyRegionForTesting() const {
+    return last_copy_region_for_testing_;
+  }
+  IOSurfaceRef CurrentPaintIOSurfaceForTesting() const {
+    return current_paint_buffer_->io_surface.get();
+  }
+  size_t BufferQueueSizeForTesting() const { return buffer_queue_.size(); }
+
  private:
-  bool EnsureBuffersExist();
+  struct Buffer {
+    Buffer();
+    ~Buffer();
+    base::ScopedCFTypeRef<IOSurfaceRef> io_surface;
+    // The damage of all BeginPaints since this buffer was the back buffer.
+    SkRegion accumulated_damage;
+  };
 
-  // Copy the pixels from the previous buffer to the new buffer.
-  void CopyPreviousBufferDamage(const SkRegion& new_damage_rect);
+  // Copy the pixels from the previous buffer to the new buffer, and union
+  // |new_damage_rect| into all |buffer_queue_|'s accumulated damages.
+  void UpdateAndCopyBufferDamage(Buffer* previous_paint_buffer,
+                                 const SkRegion& new_damage_rect);
 
-  ui::Compositor* compositor_;
+  ui::Compositor* compositor_ = nullptr;
   gfx::Size pixel_size_;
-  float scale_factor_;
+  float scale_factor_ = 1;
 
-  // This surface is double-buffered. The two buffers are in |io_surfaces_|,
-  // and the index of the current buffer is |current_buffer_|.
-  base::ScopedCFTypeRef<IOSurfaceRef> io_surfaces_[2];
-  int current_index_;
+  // The queue of buffers. The back is the most recently painted buffer
+  // (sometimes equal to |current_paint_buffer_|), and the front is the
+  // least recently painted buffer.
+  std::list<std::unique_ptr<Buffer>> buffer_queue_;
 
-  // The previous frame's damage rectangle. Used to copy unchanged content
-  // between buffers in CopyPreviousBufferDamage.
-  SkRegion previous_buffer_damage_region_;
+  // A pointer to the last element of |buffer_queue_| during paint. It is only
+  // valid between BeginPaint and EndPaint.
+  Buffer* current_paint_buffer_ = nullptr;
 
-  // The SkCanvas wrapps the mapped current IOSurface. It is valid only between
-  // BeginPaint and EndPaint.
-  std::unique_ptr<SkCanvas> canvas_;
+  // The SkCanvas wraps the mapped |current_paint_buffer_|'s IOSurface. It is
+  // valid only between BeginPaint and EndPaint.
+  std::unique_ptr<SkCanvas> current_paint_canvas_;
 
   gfx::VSyncProvider::UpdateVSyncCallback update_vsync_callback_;
 
+  SkRegion last_copy_region_for_testing_;
+
   DISALLOW_COPY_AND_ASSIGN(SoftwareOutputDeviceMac);
 };
 
diff --git a/content/browser/compositor/software_output_device_mac.mm b/content/browser/compositor/software_output_device_mac.mm
index 1db3382..88c5956 100644
--- a/content/browser/compositor/software_output_device_mac.mm
+++ b/content/browser/compositor/software_output_device_mac.mm
@@ -14,8 +14,11 @@
 
 namespace content {
 
+SoftwareOutputDeviceMac::Buffer::Buffer() = default;
+SoftwareOutputDeviceMac::Buffer::~Buffer() = default;
+
 SoftwareOutputDeviceMac::SoftwareOutputDeviceMac(ui::Compositor* compositor)
-    : compositor_(compositor), scale_factor_(1), current_index_(0) {}
+    : compositor_(compositor) {}
 
 SoftwareOutputDeviceMac::~SoftwareOutputDeviceMac() {
 }
@@ -31,21 +34,39 @@
   DiscardBackbuffer();
 }
 
-void SoftwareOutputDeviceMac::CopyPreviousBufferDamage(
+void SoftwareOutputDeviceMac::UpdateAndCopyBufferDamage(
+    Buffer* previous_paint_buffer,
     const SkRegion& new_damage_region) {
   TRACE_EVENT0("browser", "CopyPreviousBufferDamage");
 
-  // The region to copy is the region drawn last frame, minus the region that
-  // is drawn this frame.
-  SkRegion copy_region = previous_buffer_damage_region_;
+  // Expand the |accumulated_damage| of all buffers to include this frame's
+  // damage.
+  for (auto& buffer : buffer_queue_)
+    buffer->accumulated_damage.op(new_damage_region, SkRegion::kUnion_Op);
+
+  // Compute the region to copy from |previous_paint_buffer| to
+  // |current_paint_buffer_| by subtracting |new_damage_region| (which we will
+  // be painting) from |current_paint_buffer_|'s |accumulated_damage|.
+  SkRegion copy_region;
+  current_paint_buffer_->accumulated_damage.swap(copy_region);
   bool copy_region_nonempty =
       copy_region.op(new_damage_region, SkRegion::kDifference_Op);
-  previous_buffer_damage_region_ = new_damage_region;
-
+  last_copy_region_for_testing_ = copy_region;
   if (!copy_region_nonempty)
     return;
 
-  IOSurfaceRef previous_io_surface = io_surfaces_[!current_index_].get();
+  // If we have anything to copy, we had better have a buffer to copy it from.
+  if (!previous_paint_buffer) {
+    DLOG(ERROR) << "No previous paint buffer to copy accumulated damage from.";
+    last_copy_region_for_testing_.setEmpty();
+    return;
+  }
+
+  // It is possible for |previous_paint_buffer| to equal
+  // |current_paint_buffer_|, but if it does, we should not need to do a copy.
+  CHECK_NE(previous_paint_buffer, current_paint_buffer_);
+
+  IOSurfaceRef previous_io_surface = previous_paint_buffer->io_surface.get();
 
   {
     TRACE_EVENT0("browser", "IOSurfaceLock for software copy");
@@ -64,7 +85,7 @@
   size_t bytes_per_element = 4;
   for (SkRegion::Iterator it(copy_region); !it.done(); it.next()) {
     const SkIRect& rect = it.rect();
-    canvas_->writePixels(
+    current_paint_canvas_->writePixels(
         SkImageInfo::MakeN32Premul(rect.width(), rect.height()),
         pixels + bytes_per_element * rect.x() + stride * rect.y(), stride,
         rect.x(), rect.y());
@@ -80,77 +101,104 @@
   }
 }
 
-bool SoftwareOutputDeviceMac::EnsureBuffersExist() {
-  for (int i = 0; i < 2; ++i) {
-    if (!io_surfaces_[i]) {
-      TRACE_EVENT0("browser", "IOSurfaceCreate");
-      io_surfaces_[i].reset(
-          gfx::CreateIOSurface(pixel_size_, gfx::BufferFormat::BGRA_8888));
-    }
-    if (!io_surfaces_[i]) {
-      DLOG(ERROR) << "Failed to allocate IOSurface";
-      return false;
-    }
-  }
-  return true;
-}
-
 SkCanvas* SoftwareOutputDeviceMac::BeginPaint(
     const gfx::Rect& new_damage_rect) {
-  if (!EnsureBuffersExist())
-    return nullptr;
+  // Record the previous paint buffer.
+  Buffer* previous_paint_buffer =
+      buffer_queue_.empty() ? nullptr : buffer_queue_.back().get();
 
+  // Find any buffer in the queue that is not in use by the window server, and
+  // re-use it as the buffer for this paint. Note that this can be any buffer in
+  // any position in the list.
+  for (auto iter = buffer_queue_.begin(); iter != buffer_queue_.end(); ++iter) {
+    Buffer* iter_buffer = iter->get();
+    if (IOSurfaceIsInUse(iter_buffer->io_surface))
+      continue;
+    current_paint_buffer_ = iter_buffer;
+    buffer_queue_.splice(buffer_queue_.end(), buffer_queue_, iter);
+    break;
+  }
+
+  // If we failed to find a suitable buffer, allocate a new one, and initialize
+  // it with complete damage.
+  if (!current_paint_buffer_) {
+    std::unique_ptr<Buffer> new_buffer(new Buffer);
+    new_buffer->io_surface.reset(
+        gfx::CreateIOSurface(pixel_size_, gfx::BufferFormat::BGRA_8888));
+    if (!new_buffer->io_surface)
+      return nullptr;
+    // Set the initial damage to be the full buffer.
+    new_buffer->accumulated_damage.setRect(
+        gfx::RectToSkIRect(gfx::Rect(pixel_size_)));
+    current_paint_buffer_ = new_buffer.get();
+    buffer_queue_.push_back(std::move(new_buffer));
+  }
+  DCHECK(current_paint_buffer_);
+
+  // Animating in steady-state should require no more than 4 buffers. If we have
+  // more than that, then purge the older buffers (the window server will
+  // continue to hold on to the IOSurfaces as long as is needed, so the
+  // consequence will be extra allocate-free cycles).
+  size_t kMaxBuffers = 4;
+  while (buffer_queue_.size() > kMaxBuffers)
+    buffer_queue_.pop_front();
+
+  // Lock the |current_paint_buffer_|'s IOSurface and wrap it in
+  // |current_paint_canvas_|.
   {
     TRACE_EVENT0("browser", "IOSurfaceLock for software paint");
-    IOReturn io_result = IOSurfaceLock(io_surfaces_[current_index_],
+    IOReturn io_result = IOSurfaceLock(current_paint_buffer_->io_surface,
                                        kIOSurfaceLockAvoidSync, nullptr);
     if (io_result) {
       DLOG(ERROR) << "Failed to lock IOSurface " << io_result;
+      current_paint_buffer_ = nullptr;
       return nullptr;
     }
   }
+  {
+    SkPMColor* pixels = static_cast<SkPMColor*>(
+        IOSurfaceGetBaseAddress(current_paint_buffer_->io_surface));
+    size_t stride = IOSurfaceGetBytesPerRow(current_paint_buffer_->io_surface);
+    current_paint_canvas_ = SkCanvas::MakeRasterDirectN32(
+        pixel_size_.width(), pixel_size_.height(), pixels, stride);
+  }
 
-  SkPMColor* pixels = static_cast<SkPMColor*>(
-      IOSurfaceGetBaseAddress(io_surfaces_[current_index_]));
-  size_t stride = IOSurfaceGetBytesPerRow(io_surfaces_[current_index_]);
+  UpdateAndCopyBufferDamage(previous_paint_buffer,
+                            SkRegion(gfx::RectToSkIRect(new_damage_rect)));
 
-  canvas_ = SkCanvas::MakeRasterDirectN32(pixel_size_.width(),
-                                          pixel_size_.height(), pixels, stride);
-
-  CopyPreviousBufferDamage(SkRegion(gfx::RectToSkIRect(new_damage_rect)));
-
-  return canvas_.get();
+  return current_paint_canvas_.get();
 }
 
 void SoftwareOutputDeviceMac::EndPaint() {
   SoftwareOutputDevice::EndPaint();
   {
     TRACE_EVENT0("browser", "IOSurfaceUnlock");
-    IOReturn io_result = IOSurfaceUnlock(io_surfaces_[current_index_],
+    IOReturn io_result = IOSurfaceUnlock(current_paint_buffer_->io_surface,
                                          kIOSurfaceLockAvoidSync, nullptr);
     if (io_result)
       DLOG(ERROR) << "Failed to unlock IOSurface " << io_result;
   }
-  canvas_.reset();
+  current_paint_canvas_.reset();
 
-  ui::AcceleratedWidgetMac* widget =
-      ui::AcceleratedWidgetMac::Get(compositor_->widget());
-  if (widget) {
-    widget->GotIOSurfaceFrame(io_surfaces_[current_index_], pixel_size_,
-                              scale_factor_);
-    base::TimeTicks vsync_timebase;
-    base::TimeDelta vsync_interval;
-    widget->GetVSyncParameters(&vsync_timebase, &vsync_interval);
-    if (!update_vsync_callback_.is_null())
-      update_vsync_callback_.Run(vsync_timebase, vsync_interval);
+  if (compositor_) {
+    ui::AcceleratedWidgetMac* widget =
+        ui::AcceleratedWidgetMac::Get(compositor_->widget());
+    if (widget) {
+      widget->GotIOSurfaceFrame(current_paint_buffer_->io_surface, pixel_size_,
+                                scale_factor_);
+      base::TimeTicks vsync_timebase;
+      base::TimeDelta vsync_interval;
+      widget->GetVSyncParameters(&vsync_timebase, &vsync_interval);
+      if (!update_vsync_callback_.is_null())
+        update_vsync_callback_.Run(vsync_timebase, vsync_interval);
+    }
   }
 
-  current_index_ = !current_index_;
+  current_paint_buffer_ = nullptr;
 }
 
 void SoftwareOutputDeviceMac::DiscardBackbuffer() {
-  for (int i = 0; i < 2; ++i)
-    io_surfaces_[i].reset();
+  buffer_queue_.clear();
 }
 
 void SoftwareOutputDeviceMac::EnsureBackbuffer() {}
diff --git a/content/browser/compositor/software_output_device_mac_unittest.mm b/content/browser/compositor/software_output_device_mac_unittest.mm
new file mode 100644
index 0000000..ab5d95ba
--- /dev/null
+++ b/content/browser/compositor/software_output_device_mac_unittest.mm
@@ -0,0 +1,120 @@
+// 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 "content/browser/compositor/software_output_device_mac.h"
+
+#include "testing/gtest/include/gtest/gtest.h"
+#include "ui/gfx/skia_util.h"
+
+namespace content {
+
+namespace {
+
+TEST(SoftwareOutputDeviceMacTest, Basics) {
+  std::unique_ptr<SoftwareOutputDeviceMac> device(
+      new SoftwareOutputDeviceMac(nullptr));
+  gfx::Size pixel_size(512, 512);
+  float scale_factor = 1;
+
+  EXPECT_EQ(device->BufferQueueSizeForTesting(), 0u);
+  device->Resize(pixel_size, scale_factor);
+
+  // Frame 0.
+  gfx::Rect damage0(pixel_size);
+  device->BeginPaint(damage0);
+  IOSurfaceRef io_surface0 = device->CurrentPaintIOSurfaceForTesting();
+  device->EndPaint();
+
+  // Frame 1.
+  // We didn't set the IOSurface in use, so it should be re-used, and we should
+  // have no copy.
+  gfx::Rect damage1(10, 10, 10, 10);
+  device->BeginPaint(damage1);
+  IOSurfaceRef io_surface1 = device->CurrentPaintIOSurfaceForTesting();
+  device->EndPaint();
+  EXPECT_EQ(io_surface0, io_surface1);
+  EXPECT_EQ(device->BufferQueueSizeForTesting(), 1u);
+  EXPECT_TRUE(device->LastCopyRegionForTesting().isEmpty());
+
+  // Frame 2.
+  // The IOSurface is in use, so we should allocate a new one. We'll do a full
+  // copy because it's a new buffer.
+  IOSurfaceIncrementUseCount(io_surface1);
+  gfx::Rect damage2(20, 20, 10, 10);
+  device->BeginPaint(damage2);
+  IOSurfaceRef io_surface2 = device->CurrentPaintIOSurfaceForTesting();
+  device->EndPaint();
+  EXPECT_NE(io_surface1, io_surface2);
+  EXPECT_EQ(device->BufferQueueSizeForTesting(), 2u);
+  SkRegion copy_region2(gfx::RectToSkIRect(gfx::Rect(pixel_size)));
+  copy_region2.op(gfx::RectToSkIRect(damage2), SkRegion::kDifference_Op);
+  EXPECT_EQ(device->LastCopyRegionForTesting(), copy_region2);
+
+  // Frame 3.
+  // Both IOSurfaces are in use, so we'll allocate yet a new one and do another
+  // full copy.
+  IOSurfaceIncrementUseCount(io_surface2);
+  gfx::Rect damage3(30, 30, 10, 10);
+  device->BeginPaint(damage3);
+  IOSurfaceRef io_surface3 = device->CurrentPaintIOSurfaceForTesting();
+  device->EndPaint();
+  EXPECT_NE(io_surface1, io_surface3);
+  EXPECT_NE(io_surface2, io_surface3);
+  EXPECT_EQ(device->BufferQueueSizeForTesting(), 3u);
+  SkRegion copy_region3(gfx::RectToSkIRect(gfx::Rect(pixel_size)));
+  copy_region3.op(gfx::RectToSkIRect(damage3), SkRegion::kDifference_Op);
+  EXPECT_EQ(device->LastCopyRegionForTesting(), copy_region3);
+
+  // Frame 4.
+  // The IOSurface from frame1 is free, so we should re-use it. We should be
+  // copying the damage from frame2 and frame3.
+  IOSurfaceIncrementUseCount(io_surface3);
+  IOSurfaceDecrementUseCount(io_surface1);
+  gfx::Rect damage4(35, 35, 15, 15);
+  device->BeginPaint(damage4);
+  IOSurfaceRef io_surface4 = device->CurrentPaintIOSurfaceForTesting();
+  device->EndPaint();
+  EXPECT_EQ(io_surface1, io_surface4);
+  EXPECT_EQ(device->BufferQueueSizeForTesting(), 3u);
+  SkRegion copy_region4;
+  copy_region4.op(gfx::RectToSkIRect(damage2), SkRegion::kUnion_Op);
+  copy_region4.op(gfx::RectToSkIRect(damage3), SkRegion::kUnion_Op);
+  copy_region4.op(gfx::RectToSkIRect(damage4), SkRegion::kDifference_Op);
+  EXPECT_EQ(device->LastCopyRegionForTesting(), copy_region4);
+
+  // Frame 5.
+  // All IOSurfaces are allocated, allocate another.
+  IOSurfaceIncrementUseCount(io_surface4);
+  gfx::Rect damage5(50, 50, 10, 10);
+  device->BeginPaint(damage5);
+  IOSurfaceRef io_surface5 = device->CurrentPaintIOSurfaceForTesting();
+  EXPECT_NE(io_surface5, io_surface2);
+  EXPECT_NE(io_surface5, io_surface3);
+  EXPECT_NE(io_surface5, io_surface4);
+  device->EndPaint();
+  EXPECT_EQ(device->BufferQueueSizeForTesting(), 4u);
+
+  // Frame 6.
+  // All IOSurfaces are in use, allocate another, but free the one from frame2
+  // (add an extra retain and check to retain count to verify that it steps
+  // down).
+  IOSurfaceIncrementUseCount(io_surface5);
+  CFRetain(io_surface2);
+  EXPECT_EQ(CFGetRetainCount(io_surface2), 2u);
+  gfx::Rect damage6(60, 60, 10, 10);
+  device->BeginPaint(damage6);
+  IOSurfaceRef io_surface6 = device->CurrentPaintIOSurfaceForTesting();
+  device->EndPaint();
+  EXPECT_EQ(device->BufferQueueSizeForTesting(), 4u);
+  EXPECT_NE(io_surface6, io_surface2);
+  EXPECT_NE(io_surface6, io_surface3);
+  EXPECT_NE(io_surface6, io_surface4);
+  EXPECT_NE(io_surface6, io_surface5);
+  EXPECT_EQ(CFGetRetainCount(io_surface2), 1u);
+  CFRelease(io_surface2);
+}
+
+}  // namespace
+
+}  // namespace content
diff --git a/content/browser/download/download_request_core.cc b/content/browser/download/download_request_core.cc
index 3cb2e649..b30984b 100644
--- a/content/browser/download/download_request_core.cc
+++ b/content/browser/download/download_request_core.cc
@@ -253,6 +253,11 @@
                                            save_info_.get())
           : DOWNLOAD_INTERRUPT_REASON_NONE;
 
+  if (request()->response_headers()) {
+    RecordDownloadHttpResponseCode(
+        request()->response_headers()->response_code());
+  }
+
   std::unique_ptr<DownloadCreateInfo> create_info =
       CreateDownloadCreateInfo(result);
   if (result != DOWNLOAD_INTERRUPT_REASON_NONE) {
diff --git a/content/browser/download/download_stats.cc b/content/browser/download/download_stats.cc
index d859b28..80be40f4e 100644
--- a/content/browser/download/download_stats.cc
+++ b/content/browser/download/download_stats.cc
@@ -12,6 +12,7 @@
 #include "content/browser/download/download_resource_handler.h"
 #include "content/public/browser/download_interrupt_reasons.h"
 #include "net/http/http_content_disposition.h"
+#include "net/http/http_util.h"
 
 namespace content {
 
@@ -932,4 +933,11 @@
       ui::PAGE_TRANSITION_LAST_CORE + 1);
 }
 
+void RecordDownloadHttpResponseCode(int response_code) {
+  UMA_HISTOGRAM_CUSTOM_ENUMERATION(
+      "Download.HttpResponseCode",
+      net::HttpUtil::MapStatusCodeForHistogram(response_code),
+      net::HttpUtil::GetStatusCodesForHistogram());
+}
+
 }  // namespace content
diff --git a/content/browser/download/download_stats.h b/content/browser/download/download_stats.h
index 0ad1bb0..ecd3bdf 100644
--- a/content/browser/download/download_stats.h
+++ b/content/browser/download/download_stats.h
@@ -336,6 +336,8 @@
 void RecordDownloadSourcePageTransitionType(
     const base::Optional<ui::PageTransition>& transition);
 
+void RecordDownloadHttpResponseCode(int response_code);
+
 }  // namespace content
 
 #endif  // CONTENT_BROWSER_DOWNLOAD_DOWNLOAD_STATS_H_
diff --git a/content/browser/frame_host/render_frame_host_impl.cc b/content/browser/frame_host/render_frame_host_impl.cc
index c6eba025..d0ac34f 100644
--- a/content/browser/frame_host/render_frame_host_impl.cc
+++ b/content/browser/frame_host/render_frame_host_impl.cc
@@ -59,6 +59,7 @@
 #include "content/browser/shared_worker/shared_worker_service_impl.h"
 #include "content/browser/websockets/websocket_manager.h"
 #include "content/browser/webui/web_ui_controller_factory_registry.h"
+#include "content/browser/webui/web_ui_url_loader_factory.h"
 #include "content/common/accessibility_messages.h"
 #include "content/common/associated_interface_provider_impl.h"
 #include "content/common/associated_interface_registry_impl.h"
@@ -3048,7 +3049,16 @@
   FrameMsg_CommitDataNetworkService_Params commit_data;
   commit_data.handle = handle.release();
   // TODO(scottmg): Pass a factory for SW, etc. once we have one.
-  commit_data.url_loader_factory = mojo::MessagePipeHandle();
+  if (base::CommandLine::ForCurrentProcess()->HasSwitch(
+          switches::kEnableNetworkService) &&
+      common_params.url.SchemeIs(kChromeUIScheme)) {
+    commit_data.url_loader_factory = GetWebUIURLLoader(frame_tree_node_)
+                                         .PassInterface()
+                                         .PassHandle()
+                                         .release();
+  } else {
+    commit_data.url_loader_factory = mojo::MessagePipeHandle();
+  }
   Send(new FrameMsg_CommitNavigation(routing_id_, head, body_url, commit_data,
                                      common_params, request_params));
 
diff --git a/content/browser/frame_host/render_frame_host_impl_browsertest.cc b/content/browser/frame_host/render_frame_host_impl_browsertest.cc
index f975aa9..0200d46 100644
--- a/content/browser/frame_host/render_frame_host_impl_browsertest.cc
+++ b/content/browser/frame_host/render_frame_host_impl_browsertest.cc
@@ -247,7 +247,10 @@
       "document.body.appendChild(iframe);"
       "iframe.contentWindow.onbeforeunload=function(e){return 'x'};";
   EXPECT_TRUE(content::ExecuteScript(wc, script));
-  EXPECT_TRUE(WaitForLoadStop(shell()->web_contents()));
+  EXPECT_TRUE(WaitForLoadStop(wc));
+  // JavaScript onbeforeunload dialogs require a user gesture.
+  for (auto* frame : wc->GetAllFrames())
+    frame->ExecuteJavaScriptWithUserGestureForTests(base::string16());
 
   // Force a process switch by going to a privileged page. The beforeunload
   // timer will be started on the top-level frame but will be paused while the
@@ -280,4 +283,43 @@
   wc->SetJavaScriptDialogManagerForTesting(nullptr);
 }
 
+// Tests that a gesture is required in a frame before it can request a
+// beforeunload dialog.
+IN_PROC_BROWSER_TEST_F(RenderFrameHostImplBrowserTest,
+                       BeforeUnloadDialogRequiresGesture) {
+  WebContentsImpl* wc = static_cast<WebContentsImpl*>(shell()->web_contents());
+  TestJavaScriptDialogManager dialog_manager;
+  wc->SetDelegate(&dialog_manager);
+
+  EXPECT_TRUE(NavigateToURL(
+      shell(), GetTestUrl("render_frame_host", "beforeunload.html")));
+  // Disable the hang monitor, otherwise there will be a race between the
+  // beforeunload dialog and the beforeunload hang timer.
+  wc->GetMainFrame()->DisableBeforeUnloadHangMonitorForTesting();
+
+  // Reload. There should be no beforeunload dialog because there was no gesture
+  // on the page. If there was, this WaitForLoadStop call will hang.
+  wc->GetController().Reload(ReloadType::NORMAL, false);
+  EXPECT_TRUE(WaitForLoadStop(wc));
+
+  // Give the page a user gesture and try reloading again. This time there
+  // should be a dialog. If there is no dialog, the call to Wait will hang.
+  wc->GetMainFrame()->ExecuteJavaScriptWithUserGestureForTests(
+      base::string16());
+  wc->GetController().Reload(ReloadType::NORMAL, false);
+  dialog_manager.Wait();
+
+  // Answer the dialog.
+  dialog_manager.callback().Run(true, base::string16());
+  EXPECT_TRUE(WaitForLoadStop(wc));
+
+  // The reload should have cleared the user gesture bit, so upon leaving again
+  // there should be no beforeunload dialog.
+  shell()->LoadURL(GURL("about:blank"));
+  EXPECT_TRUE(WaitForLoadStop(wc));
+
+  wc->SetDelegate(nullptr);
+  wc->SetJavaScriptDialogManagerForTesting(nullptr);
+}
+
 }  // namespace content
diff --git a/content/browser/indexed_db/database_impl.cc b/content/browser/indexed_db/database_impl.cc
index beb3da9..191b0db 100644
--- a/content/browser/indexed_db/database_impl.cc
+++ b/content/browser/indexed_db/database_impl.cc
@@ -126,6 +126,7 @@
                    const base::string16& new_name);
   void Abort(int64_t transaction_id);
   void AbortWithError(int64_t transaction_id,
+                      scoped_refptr<IndexedDBCallbacks> callbacks,
                       const IndexedDBDatabaseError& error);
   void Commit(int64_t transaction_id);
   void OnGotUsageAndQuotaForCommit(int64_t transaction_id,
@@ -296,12 +297,10 @@
     if (!handle) {
       IndexedDBDatabaseError error(blink::kWebIDBDatabaseExceptionUnknownError,
                                    kInvalidBlobUuid);
-      idb_runner_->PostTask(FROM_HERE, base::Bind(&IndexedDBCallbacks::OnError,
-                                                  callbacks, error));
       idb_runner_->PostTask(
-          FROM_HERE,
-          base::Bind(&IDBThreadHelper::AbortWithError,
-                     base::Unretained(helper_), transaction_id, error));
+          FROM_HERE, base::Bind(&IDBThreadHelper::AbortWithError,
+                                base::Unretained(helper_), transaction_id,
+                                base::Passed(&callbacks), error));
       return;
     }
     UMA_HISTOGRAM_MEMORY_KB("Storage.IndexedDB.PutBlobSizeKB",
@@ -858,8 +857,12 @@
 
 void DatabaseImpl::IDBThreadHelper::AbortWithError(
     int64_t transaction_id,
+    scoped_refptr<IndexedDBCallbacks> callbacks,
     const IndexedDBDatabaseError& error) {
   DCHECK(idb_thread_checker_.CalledOnValidThread());
+
+  callbacks->OnError(error);
+
   if (!connection_->IsConnected())
     return;
 
diff --git a/content/browser/loader/navigation_url_loader_network_service.cc b/content/browser/loader/navigation_url_loader_network_service.cc
index fc4fb7e..e82a39da 100644
--- a/content/browser/loader/navigation_url_loader_network_service.cc
+++ b/content/browser/loader/navigation_url_loader_network_service.cc
@@ -10,10 +10,12 @@
 #include "base/memory/ptr_util.h"
 #include "base/trace_event/trace_event.h"
 #include "content/browser/blob_storage/chrome_blob_storage_context.h"
+#include "content/browser/frame_host/frame_tree_node.h"
 #include "content/browser/frame_host/navigation_request_info.h"
 #include "content/browser/loader/navigation_resource_handler.h"
 #include "content/browser/loader/navigation_resource_throttle.h"
 #include "content/browser/loader/navigation_url_loader_delegate.h"
+#include "content/browser/webui/web_ui_url_loader_factory.h"
 #include "content/public/browser/browser_thread.h"
 #include "content/public/browser/global_request_id.h"
 #include "content/public/browser/navigation_data.h"
@@ -23,6 +25,7 @@
 #include "content/public/common/referrer.h"
 #include "content/public/common/service_manager_connection.h"
 #include "content/public/common/service_names.mojom.h"
+#include "content/public/common/url_constants.h"
 #include "net/base/load_flags.h"
 #include "net/url_request/url_request_context.h"
 #include "services/service_manager/public/cpp/connector.h"
@@ -61,34 +64,37 @@
     ServiceWorkerNavigationHandle* service_worker_handle,
     AppCacheNavigationHandle* appcache_handle,
     NavigationURLLoaderDelegate* delegate)
-    : delegate_(delegate), binding_(this), weak_factory_(this) {
+    : delegate_(delegate),
+      binding_(this),
+      request_info_(std::move(request_info)),
+      weak_factory_(this) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
 
   TRACE_EVENT_ASYNC_BEGIN_WITH_TIMESTAMP1(
       "navigation", "Navigation timeToResponseStarted", this,
-      request_info->common_params.navigation_start, "FrameTreeNode id",
-      request_info->frame_tree_node_id);
+      request_info_->common_params.navigation_start, "FrameTreeNode id",
+      request_info_->frame_tree_node_id);
 
   // TODO(scottmg): Port over stuff from RDHI::BeginNavigationRequest() here.
   auto new_request = base::MakeUnique<ResourceRequest>();
 
-  new_request->method = request_info->common_params.method;
-  new_request->url = request_info->common_params.url;
-  new_request->first_party_for_cookies = request_info->first_party_for_cookies;
+  new_request->method = request_info_->common_params.method;
+  new_request->url = request_info_->common_params.url;
+  new_request->first_party_for_cookies = request_info_->first_party_for_cookies;
   new_request->priority = net::HIGHEST;
 
   // The code below to set fields like request_initiator, referrer, etc has
   // been copied from ResourceDispatcherHostImpl. We did not refactor the
   // common code into a function, because RDHI uses accessor functions on the
   // URLRequest class to set these fields. whereas we use ResourceRequest here.
-  new_request->request_initiator = request_info->begin_params.initiator_origin;
-  new_request->referrer = request_info->common_params.referrer.url;
-  new_request->referrer_policy = request_info->common_params.referrer.policy;
-  new_request->headers = request_info->begin_params.headers;
+  new_request->request_initiator = request_info_->begin_params.initiator_origin;
+  new_request->referrer = request_info_->common_params.referrer.url;
+  new_request->referrer_policy = request_info_->common_params.referrer.policy;
+  new_request->headers = request_info_->begin_params.headers;
 
-  int load_flags = request_info->begin_params.load_flags;
+  int load_flags = request_info_->begin_params.load_flags;
   load_flags |= net::LOAD_VERIFY_EV_CERT;
-  if (request_info->is_main_frame)
+  if (request_info_->is_main_frame)
     load_flags |= net::LOAD_MAIN_FRAME_DEPRECATED;
 
   // Sync loads should have maximum priority and should be the only
@@ -97,7 +103,7 @@
 
   new_request->load_flags = load_flags;
 
-  new_request->request_body = request_info->common_params.post_data.get();
+  new_request->request_body = request_info_->common_params.post_data.get();
   if (new_request->request_body.get()) {
     // The request body may need blob handles to be added to it. This
     // functionality has to be invoked on the IO thread.
@@ -199,13 +205,32 @@
   mojom::URLLoaderClientPtr url_loader_client_ptr_to_pass;
   binding_.Bind(&url_loader_client_ptr_to_pass);
 
-  GetURLLoaderFactory().CreateLoaderAndStart(
-      mojo::MakeRequest(&url_loader_associated_ptr_), 0 /* routing_id? */,
-      0 /* request_id? */, mojom::kURLLoadOptionSendSSLInfo, *request,
-      std::move(url_loader_client_ptr_to_pass));
+  mojom::URLLoaderFactory* factory = nullptr;
+  // This |factory_ptr| will be destroyed when it goes out of scope. Because
+  // |url_loader_associated_ptr_| is associated with it, it will be disconnected
+  // as well. That means NavigationURLLoaderNetworkService::FollowRedirect()
+  // won't work as expected, the |url_loader_associated_ptr_| will silently drop
+  // calls.
+  // This is fine for now since the only user of this is WebUI which doesn't
+  // need this, but we'll have to fix this when other consumers come up.
+  mojom::URLLoaderFactoryPtr factory_ptr;
+  if (request->url.SchemeIs(kChromeUIScheme)) {
+    FrameTreeNode* frame_tree_node =
+        FrameTreeNode::GloballyFindByID(request_info_->frame_tree_node_id);
+    factory_ptr = GetWebUIURLLoader(frame_tree_node);
+    factory = factory_ptr.get();
+  }
+
+  if (!factory)
+    factory = GetURLLoaderFactory();
+
+  factory->CreateLoaderAndStart(mojo::MakeRequest(&url_loader_associated_ptr_),
+                                0 /* routing_id? */, 0 /* request_id? */,
+                                mojom::kURLLoadOptionSendSSLInfo, *request,
+                                std::move(url_loader_client_ptr_to_pass));
 }
 
-mojom::URLLoaderFactory&
+mojom::URLLoaderFactory*
 NavigationURLLoaderNetworkService::GetURLLoaderFactory() {
   // TODO(yzshen): We will need the ability to customize the factory per frame
   // e.g., for appcache or service worker.
@@ -214,7 +239,7 @@
         mojom::kNetworkServiceName, &g_url_loader_factory.Get());
   }
 
-  return *g_url_loader_factory.Get();
+  return g_url_loader_factory.Get().get();
 }
 
 }  // namespace content
diff --git a/content/browser/loader/navigation_url_loader_network_service.h b/content/browser/loader/navigation_url_loader_network_service.h
index 1130619..30196ee 100644
--- a/content/browser/loader/navigation_url_loader_network_service.h
+++ b/content/browser/loader/navigation_url_loader_network_service.h
@@ -73,11 +73,12 @@
   void ConnectURLLoaderFactory(
       std::unique_ptr<service_manager::Connector> connector);
 
-  mojom::URLLoaderFactory& GetURLLoaderFactory();
+  mojom::URLLoaderFactory* GetURLLoaderFactory();
 
   NavigationURLLoaderDelegate* delegate_;
 
   mojo::Binding<mojom::URLLoaderClient> binding_;
+  std::unique_ptr<NavigationRequestInfo> request_info_;
   mojom::URLLoaderAssociatedPtr url_loader_associated_ptr_;
   scoped_refptr<ResourceResponse> response_;
   SSLStatus ssl_status_;
diff --git a/content/browser/loader/resource_request_info_impl.cc b/content/browser/loader/resource_request_info_impl.cc
index d91848f..2d9e6e90 100644
--- a/content/browser/loader/resource_request_info_impl.cc
+++ b/content/browser/loader/resource_request_info_impl.cc
@@ -20,16 +20,6 @@
 
 namespace {
 
-WebContents* GetWebContentsFromFTNID(int frame_tree_node_id) {
-  DCHECK_CURRENTLY_ON(BrowserThread::UI);
-  FrameTreeNode* frame_tree_node =
-      FrameTreeNode::GloballyFindByID(frame_tree_node_id);
-  if (!frame_tree_node)
-    return nullptr;
-
-  return WebContentsImpl::FromFrameTreeNode(frame_tree_node);
-}
-
 int FrameTreeNodeIdFromHostIds(int render_process_host_id,
                                int render_frame_host_id) {
   RenderFrameHost* render_frame_host =
@@ -203,7 +193,7 @@
   // ID should be used to access the WebContents.
   if (frame_tree_node_id_ != -1) {
     DCHECK(IsBrowserSideNavigationEnabled());
-    return base::Bind(&GetWebContentsFromFTNID, frame_tree_node_id_);
+    return base::Bind(WebContents::FromFrameTreeNodeId, frame_tree_node_id_);
   }
 
   // In other cases, use the RenderProcessHost ID + RenderFrameHost ID to get
diff --git a/content/browser/media/capture/web_contents_tracker.cc b/content/browser/media/capture/web_contents_tracker.cc
index 770cb1e..32ba7241 100644
--- a/content/browser/media/capture/web_contents_tracker.cc
+++ b/content/browser/media/capture/web_contents_tracker.cc
@@ -107,10 +107,13 @@
 void WebContentsTracker::MaybeDoCallback(bool was_still_tracking) {
   DCHECK(task_runner_->BelongsToCurrentThread());
 
-  if (!callback_.is_null())
-    callback_.Run(was_still_tracking);
+  // Notify of a size change just before notifying of a new target. This allows
+  // the downstream implementation to capture the first frame from the new
+  // target at the correct resolution. http://crbug.com/704277
   if (was_still_tracking)
     MaybeDoResizeCallback();
+  if (!callback_.is_null())
+    callback_.Run(was_still_tracking);
 }
 
 void WebContentsTracker::MaybeDoResizeCallback() {
diff --git a/content/browser/media/media_canplaytype_browsertest.cc b/content/browser/media/media_canplaytype_browsertest.cc
index a58cbf81..3235bdf 100644
--- a/content/browser/media/media_canplaytype_browsertest.cc
+++ b/content/browser/media/media_canplaytype_browsertest.cc
@@ -1528,6 +1528,8 @@
             CanPlay(mime_prefix + "codecs=\"vp09.00.10.08\"'"));
   EXPECT_EQ(new_vp9_probably,
             CanPlay(mime_prefix + "codecs=\"vp09.00.10.08.00.01.01.01.00\"'"));
+  EXPECT_EQ(new_vp9_probably,
+            CanPlay(mime_prefix + "codecs=\"vp09.00.10.08.01.02.02.02.00\"'"));
 
   // Platform support is sadly ambiguous for profiles > 0.
   // TODO(chcunningham): Plumb proper querying of platform support - give a firm
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
index 5731df87c..bcad1f2 100644
--- a/content/browser/renderer_host/render_process_host_impl.cc
+++ b/content/browser/renderer_host/render_process_host_impl.cc
@@ -1227,17 +1227,6 @@
       base::Bind(&IndexedDBDispatcherHost::AddBinding,
                  base::Unretained(indexed_db_factory_.get())));
 
-#if defined(OS_ANDROID)
-  AddUIThreadInterface(
-      registry.get(), GetGlobalJavaInterfaces()
-                          ->CreateInterfaceFactory<
-                              shape_detection::mojom::FaceDetectionProvider>());
-#else
-  AddUIThreadInterface(
-      registry.get(),
-      base::Bind(&ForwardShapeDetectionRequest<
-                 shape_detection::mojom::FaceDetectionProviderRequest>));
-#endif
   AddUIThreadInterface(
       registry.get(),
       base::Bind(&ForwardShapeDetectionRequest<
@@ -1245,6 +1234,10 @@
   AddUIThreadInterface(
       registry.get(),
       base::Bind(&ForwardShapeDetectionRequest<
+                 shape_detection::mojom::FaceDetectionProviderRequest>));
+  AddUIThreadInterface(
+      registry.get(),
+      base::Bind(&ForwardShapeDetectionRequest<
                  shape_detection::mojom::TextDetectionRequest>));
 
   AddUIThreadInterface(
diff --git a/content/browser/storage_partition_impl_map.cc b/content/browser/storage_partition_impl_map.cc
index d3ed940..e71456af 100644
--- a/content/browser/storage_partition_impl_map.cc
+++ b/content/browser/storage_partition_impl_map.cc
@@ -419,7 +419,6 @@
       linked_ptr<net::URLRequestJobFactory::ProtocolHandler>(
           URLDataManagerBackend::CreateProtocolHandler(
               browser_context_->GetResourceContext(),
-              browser_context_->IsOffTheRecord(),
               blob_storage_context).release());
   std::vector<std::string> additional_webui_schemes;
   GetContentClient()->browser()->GetAdditionalWebUISchemes(
@@ -432,13 +431,13 @@
         linked_ptr<net::URLRequestJobFactory::ProtocolHandler>(
             URLDataManagerBackend::CreateProtocolHandler(
                 browser_context_->GetResourceContext(),
-                browser_context_->IsOffTheRecord(),
                 blob_storage_context).release());
   }
+
   protocol_handlers[kChromeDevToolsScheme] =
       linked_ptr<net::URLRequestJobFactory::ProtocolHandler>(
-          CreateDevToolsProtocolHandler(browser_context_->GetResourceContext(),
-                                        browser_context_->IsOffTheRecord()));
+          CreateDevToolsProtocolHandler(
+              browser_context_->GetResourceContext()));
 
   URLRequestInterceptorScopedVector request_interceptors;
   request_interceptors.push_back(ServiceWorkerRequestHandler::CreateInterceptor(
diff --git a/content/browser/tracing/DEPS b/content/browser/tracing/DEPS
index 1fc2c94..c50f522 100644
--- a/content/browser/tracing/DEPS
+++ b/content/browser/tracing/DEPS
@@ -1,7 +1,6 @@
 include_rules = [
   # Generated by the local tracing_resources.gyp:tracing_resources
   "+grit/tracing_resources.h",
-  "+third_party/zlib/zlib.h",
   "+tools/battor_agent",
 ]
 
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index c4e6c16e..a107c23 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -327,7 +327,7 @@
       FrameTreeNode::GloballyFindByID(frame_tree_node_id);
   if (!frame_tree_node)
     return nullptr;
-  return FromRenderFrameHost(frame_tree_node->current_frame_host());
+  return WebContentsImpl::FromFrameTreeNode(frame_tree_node);
 }
 
 void WebContents::SetScreenOrientationDelegate(
diff --git a/content/browser/web_contents/web_contents_impl.h b/content/browser/web_contents/web_contents_impl.h
index b0468b4..d198927 100644
--- a/content/browser/web_contents/web_contents_impl.h
+++ b/content/browser/web_contents/web_contents_impl.h
@@ -881,6 +881,8 @@
                            JavaScriptDialogsInMainAndSubframes);
   FRIEND_TEST_ALL_PREFIXES(RenderFrameHostImplBrowserTest,
                            IframeBeforeUnloadParentHang);
+  FRIEND_TEST_ALL_PREFIXES(RenderFrameHostImplBrowserTest,
+                           BeforeUnloadDialogRequiresGesture);
 
   // So |find_request_manager_| can be accessed for testing.
   friend class FindRequestManagerTest;
diff --git a/content/browser/webui/url_data_manager_backend.cc b/content/browser/webui/url_data_manager_backend.cc
index ff6ccb12..8612618 100644
--- a/content/browser/webui/url_data_manager_backend.cc
+++ b/content/browser/webui/url_data_manager_backend.cc
@@ -45,7 +45,6 @@
 #include "net/base/net_errors.h"
 #include "net/filter/gzip_source_stream.h"
 #include "net/filter/source_stream.h"
-#include "net/http/http_response_headers.h"
 #include "net/http/http_status_code.h"
 #include "net/log/net_log_util.h"
 #include "net/url_request/url_request.h"
@@ -71,34 +70,6 @@
   return std::find(schemes.begin(), schemes.end(), scheme) != schemes.end();
 }
 
-// Returns whether |url| passes some sanity checks and is a valid GURL.
-bool CheckURLIsValid(const GURL& url) {
-  std::vector<std::string> additional_schemes;
-  DCHECK(url.SchemeIs(kChromeDevToolsScheme) || url.SchemeIs(kChromeUIScheme) ||
-         (GetContentClient()->browser()->GetAdditionalWebUISchemes(
-              &additional_schemes),
-          SchemeIsInSchemes(url.scheme(), additional_schemes)));
-
-  if (!url.is_valid()) {
-    NOTREACHED();
-    return false;
-  }
-
-  return true;
-}
-
-// Parse |url| to get the path which will be used to resolve the request. The
-// path is the remaining portion after the scheme and hostname.
-void URLToRequestPath(const GURL& url, std::string* path) {
-  const std::string& spec = url.possibly_invalid_spec();
-  const url::Parsed& parsed = url.parsed_for_possibly_invalid_spec();
-  // + 1 to skip the slash at the beginning of the path.
-  int offset = parsed.CountCharactersBefore(url::Parsed::PATH, false) + 1;
-
-  if (offset < static_cast<int>(spec.size()))
-    path->assign(spec.substr(offset));
-}
-
 // Returns a value of 'Origin:' header for the |request| if the header is set.
 // Otherwise returns an empty string.
 std::string GetOriginHeaderValue(const net::URLRequest* request) {
@@ -134,11 +105,9 @@
 // calls back once the data is available.
 class URLRequestChromeJob : public net::URLRequestJob {
  public:
-  // |is_incognito| set when job is generated from an incognito profile.
   URLRequestChromeJob(net::URLRequest* request,
                       net::NetworkDelegate* network_delegate,
-                      URLDataManagerBackend* backend,
-                      bool is_incognito);
+                      URLDataManagerBackend* backend);
 
   // net::URLRequestJob implementation.
   void Start() override;
@@ -155,58 +124,6 @@
   // for us.  |bytes| may be null, indicating an error.
   void DataAvailable(base::RefCountedMemory* bytes);
 
-  // Returns a weak pointer to the job.
-  base::WeakPtr<URLRequestChromeJob> AsWeakPtr();
-
-  void set_mime_type(const std::string& mime_type) {
-    mime_type_ = mime_type;
-  }
-
-  void set_allow_caching(bool allow_caching) {
-    allow_caching_ = allow_caching;
-  }
-
-  void set_add_content_security_policy(bool add_content_security_policy) {
-    add_content_security_policy_ = add_content_security_policy;
-  }
-
-  void set_content_security_policy_object_source(
-      const std::string& data) {
-    content_security_policy_object_source_ = data;
-  }
-
-  void set_content_security_policy_script_source(
-      const std::string& data) {
-    content_security_policy_script_source_ = data;
-  }
-
-  void set_content_security_policy_child_source(
-      const std::string& data) {
-    content_security_policy_child_source_ = data;
-  }
-
-  void set_content_security_policy_style_source(
-      const std::string& data) {
-    content_security_policy_style_source_ = data;
-  }
-
-  void set_content_security_policy_image_source(
-      const std::string& data) {
-    content_security_policy_image_source_ = data;
-  }
-
-  void set_deny_xframe_options(bool deny_xframe_options) {
-    deny_xframe_options_ = deny_xframe_options;
-  }
-
-  void set_send_content_type_header(bool send_content_type_header) {
-    send_content_type_header_ = send_content_type_header;
-  }
-
-  void set_access_control_allow_origin(const std::string& value) {
-    access_control_allow_origin_ = value;
-  }
-
   void set_is_gzipped(bool is_gzipped) {
     is_gzipped_ = is_gzipped;
   }
@@ -215,11 +132,6 @@
     replacements_ = replacements;
   }
 
-  // Returns true when job was generated from an incognito profile.
-  bool is_incognito() const {
-    return is_incognito_;
-  }
-
  private:
   ~URLRequestChromeJob() override;
 
@@ -255,32 +167,6 @@
   int pending_buf_size_;
   std::string mime_type_;
 
-  // If true, set a header in the response to prevent it from being cached.
-  bool allow_caching_;
-
-  // If true, set the Content Security Policy (CSP) header.
-  bool add_content_security_policy_;
-
-  // These are used with the CSP.
-  std::string content_security_policy_script_source_;
-  std::string content_security_policy_object_source_;
-  std::string content_security_policy_child_source_;
-  std::string content_security_policy_style_source_;
-  std::string content_security_policy_image_source_;
-
-  // If true, sets  the "X-Frame-Options: DENY" header.
-  bool deny_xframe_options_;
-
-  // If true, sets the "Content-Type: <mime-type>" header.
-  bool send_content_type_header_;
-
-  // If not empty, "Access-Control-Allow-Origin:" is set to the value of this
-  // string.
-  std::string access_control_allow_origin_;
-
-  // True when job is generated from an incognito profile.
-  const bool is_incognito_;
-
   // True when gzip encoding should be used. NOTE: this requires the original
   // resources in resources.pak use compress="gzip".
   bool is_gzipped_;
@@ -298,17 +184,11 @@
 
 URLRequestChromeJob::URLRequestChromeJob(net::URLRequest* request,
                                          net::NetworkDelegate* network_delegate,
-                                         URLDataManagerBackend* backend,
-                                         bool is_incognito)
+                                         URLDataManagerBackend* backend)
     : net::URLRequestJob(request, network_delegate),
       data_offset_(0),
       data_available_status_(net::OK),
       pending_buf_size_(0),
-      allow_caching_(true),
-      add_content_security_policy_(true),
-      deny_xframe_options_(true),
-      send_content_type_header_(false),
-      is_incognito_(is_incognito),
       is_gzipped_(false),
       replacements_(nullptr),
       backend_(backend),
@@ -359,43 +239,11 @@
 
 void URLRequestChromeJob::GetResponseInfo(net::HttpResponseInfo* info) {
   DCHECK(!info->headers.get());
-  // Set the headers so that requests serviced by ChromeURLDataManager return a
-  // status code of 200. Without this they return a 0, which makes the status
-  // indistiguishable from other error types. Instant relies on getting a 200.
-  info->headers = new net::HttpResponseHeaders("HTTP/1.1 200 OK");
-
-  // Determine the least-privileged content security policy header, if any,
-  // that is compatible with a given WebUI URL, and append it to the existing
-  // response headers.
-  if (add_content_security_policy_) {
-    std::string base = kChromeURLContentSecurityPolicyHeaderBase;
-    base.append(content_security_policy_script_source_);
-    base.append(content_security_policy_object_source_);
-    base.append(content_security_policy_child_source_);
-    base.append(content_security_policy_style_source_);
-    base.append(content_security_policy_image_source_);
-    info->headers->AddHeader(base);
-  }
-
-  if (deny_xframe_options_)
-    info->headers->AddHeader(kChromeURLXFrameOptionsHeader);
-
-  if (!allow_caching_)
-    info->headers->AddHeader("Cache-Control: no-cache");
-
-  if (send_content_type_header_ && !mime_type_.empty()) {
-    std::string content_type =
-        base::StringPrintf("%s:%s", net::HttpRequestHeaders::kContentType,
-                           mime_type_.c_str());
-    info->headers->AddHeader(content_type);
-  }
-
-  if (!access_control_allow_origin_.empty()) {
-    info->headers->AddHeader("Access-Control-Allow-Origin: " +
-                             access_control_allow_origin_);
-    info->headers->AddHeader("Vary: Origin");
-  }
-
+  URLDataSourceImpl* source = backend_->GetDataSourceFromURL(request()->url());
+  std::string path;
+  URLDataManagerBackend::URLToRequestPath(request()->url(), &path);
+  info->headers = URLDataManagerBackend::GetHeaders(
+      source, path, GetOriginHeaderValue(request()));
   if (is_gzipped_)
     info->headers->AddHeader("Content-Encoding: gzip");
 }
@@ -410,7 +258,7 @@
   }
 
   if (replacements_) {
-    source_stream = content::I18nSourceStream::Create(
+    source_stream = I18nSourceStream::Create(
         std::move(source_stream), net::SourceStream::TYPE_NONE, replacements_);
   }
 
@@ -418,7 +266,7 @@
 }
 
 void URLRequestChromeJob::MimeTypeAvailable(const std::string& mime_type) {
-  set_mime_type(mime_type);
+  mime_type_ = mime_type;
   NotifyHeadersComplete();
 }
 
@@ -441,10 +289,6 @@
   }
 }
 
-base::WeakPtr<URLRequestChromeJob> URLRequestChromeJob::AsWeakPtr() {
-  return weak_factory_.GetWeakPtr();
-}
-
 int URLRequestChromeJob::ReadRawData(net::IOBuffer* buf, int buf_size) {
   DCHECK(!pending_buf_.get());
 
@@ -477,8 +321,8 @@
       FROM_HERE, {base::TaskShutdownBehavior::CONTINUE_ON_SHUTDOWN},
       base::Bind(&CopyData, base::RetainedRef(buf), buf_size, data_,
                  data_offset_),
-      base::Bind(&URLRequestChromeJob::ReadRawDataComplete, AsWeakPtr(),
-                 buf_size));
+      base::Bind(&URLRequestChromeJob::ReadRawDataComplete,
+                 weak_factory_.GetWeakPtr(), buf_size));
   data_offset_ += buf_size;
 
   return net::ERR_IO_PENDING;
@@ -531,12 +375,9 @@
 class ChromeProtocolHandler
     : public net::URLRequestJobFactory::ProtocolHandler {
  public:
-  // |is_incognito| should be set for incognito profiles.
   ChromeProtocolHandler(ResourceContext* resource_context,
-                        bool is_incognito,
                         ChromeBlobStorageContext* blob_storage_context)
       : resource_context_(resource_context),
-        is_incognito_(is_incognito),
         blob_storage_context_(blob_storage_context) {}
   ~ChromeProtocolHandler() override {}
 
@@ -590,7 +431,7 @@
     // Fall back to using a custom handler
     return new URLRequestChromeJob(
         request, network_delegate,
-        GetURLDataManagerForResourceContext(resource_context_), is_incognito_);
+        GetURLDataManagerForResourceContext(resource_context_));
   }
 
   bool IsSafeRedirectTarget(const GURL& location) const override {
@@ -601,8 +442,6 @@
   // These members are owned by ProfileIOData, which owns this ProtocolHandler.
   ResourceContext* const resource_context_;
 
-  // True when generated from an incognito profile.
-  const bool is_incognito_;
   ChromeBlobStorageContext* blob_storage_context_;
 
   DISALLOW_COPY_AND_ASSIGN(ChromeProtocolHandler);
@@ -628,10 +467,9 @@
 std::unique_ptr<net::URLRequestJobFactory::ProtocolHandler>
 URLDataManagerBackend::CreateProtocolHandler(
     ResourceContext* resource_context,
-    bool is_incognito,
     ChromeBlobStorageContext* blob_storage_context) {
   DCHECK(resource_context);
-  return base::MakeUnique<ChromeProtocolHandler>(resource_context, is_incognito,
+  return base::MakeUnique<ChromeProtocolHandler>(resource_context,
                                                  blob_storage_context);
 }
 
@@ -672,6 +510,7 @@
 
 bool URLDataManagerBackend::StartRequest(const net::URLRequest* request,
                                          URLRequestChromeJob* job) {
+  // NOTE: this duplicates code in web_ui_url_loader_factory.cc's URLLoaderImpl.
   if (!CheckURLIsValid(request->url()))
     return false;
 
@@ -679,8 +518,7 @@
   if (!source)
     return false;
 
-  const content::ResourceRequestInfo* info =
-      content::ResourceRequestInfo::ForRequest(request);
+  const ResourceRequestInfo* info = ResourceRequestInfo::ForRequest(request);
   if (!source->source()->ShouldServiceRequest(
           request->url(), info ? info->GetContext() : nullptr,
           info ? info->GetChildID() : -1)) {
@@ -694,23 +532,6 @@
   RequestID request_id = next_request_id_++;
   pending_requests_.insert(std::make_pair(request_id, job));
 
-  job->set_allow_caching(source->source()->AllowCaching());
-  job->set_add_content_security_policy(
-      source->source()->ShouldAddContentSecurityPolicy());
-  job->set_content_security_policy_script_source(
-      source->source()->GetContentSecurityPolicyScriptSrc());
-  job->set_content_security_policy_object_source(
-      source->source()->GetContentSecurityPolicyObjectSrc());
-  job->set_content_security_policy_child_source(
-      source->source()->GetContentSecurityPolicyChildSrc());
-  job->set_content_security_policy_style_source(
-      source->source()->GetContentSecurityPolicyStyleSrc());
-  job->set_content_security_policy_image_source(
-      source->source()->GetContentSecurityPolicyImgSrc());
-  job->set_deny_xframe_options(
-      source->source()->ShouldDenyXFrameOptions());
-  job->set_send_content_type_header(
-      source->source()->ShouldServeMimeTypeAsContentTypeHeader());
   job->set_is_gzipped(source->source()->IsGzipped(path));
 
   // TODO(dschuyler): improve filtering of which resource to run template
@@ -719,15 +540,6 @@
   if (mime_type == "text/html")
     job->SetReplacements(source->GetReplacements());
 
-  std::string origin = GetOriginHeaderValue(request);
-  if (!origin.empty()) {
-    std::string header =
-        source->source()->GetAccessControlAllowOriginForOrigin(origin);
-    DCHECK(header.empty() || header == origin || header == "*" ||
-           header == "null");
-    job->set_access_control_allow_origin(header);
-  }
-
   // Also notifies that the headers are complete.
   job->MimeTypeAvailable(mime_type);
 
@@ -810,13 +622,90 @@
   }
 }
 
+scoped_refptr<net::HttpResponseHeaders> URLDataManagerBackend::GetHeaders(
+    URLDataSourceImpl* source_impl,
+    const std::string& path,
+    const std::string& origin) {
+  // Set the headers so that requests serviced by ChromeURLDataManager return a
+  // status code of 200. Without this they return a 0, which makes the status
+  // indistiguishable from other error types. Instant relies on getting a 200.
+  scoped_refptr<net::HttpResponseHeaders> headers(
+      new net::HttpResponseHeaders("HTTP/1.1 200 OK"));
+  if (!source_impl)
+    return headers;
+
+  URLDataSource* source = source_impl->source();
+  // Determine the least-privileged content security policy header, if any,
+  // that is compatible with a given WebUI URL, and append it to the existing
+  // response headers.
+  if (source->ShouldAddContentSecurityPolicy()) {
+    std::string base = kChromeURLContentSecurityPolicyHeaderBase;
+    base.append(source->GetContentSecurityPolicyScriptSrc());
+    base.append(source->GetContentSecurityPolicyObjectSrc());
+    base.append(source->GetContentSecurityPolicyChildSrc());
+    base.append(source->GetContentSecurityPolicyStyleSrc());
+    base.append(source->GetContentSecurityPolicyImgSrc());
+    headers->AddHeader(base);
+  }
+
+  if (source->ShouldDenyXFrameOptions())
+    headers->AddHeader(kChromeURLXFrameOptionsHeader);
+
+  if (!source->AllowCaching())
+    headers->AddHeader("Cache-Control: no-cache");
+
+  std::string mime_type = source->GetMimeType(path);
+  if (source->ShouldServeMimeTypeAsContentTypeHeader() && !mime_type.empty()) {
+    std::string content_type = base::StringPrintf(
+        "%s:%s", net::HttpRequestHeaders::kContentType, mime_type.c_str());
+    headers->AddHeader(content_type);
+  }
+
+  if (!origin.empty()) {
+    std::string header = source->GetAccessControlAllowOriginForOrigin(origin);
+    DCHECK(header.empty() || header == origin || header == "*" ||
+           header == "null");
+    if (!header.empty()) {
+      headers->AddHeader("Access-Control-Allow-Origin: " + header);
+      headers->AddHeader("Vary: Origin");
+    }
+  }
+
+  return headers;
+}
+
+bool URLDataManagerBackend::CheckURLIsValid(const GURL& url) {
+  std::vector<std::string> additional_schemes;
+  DCHECK(url.SchemeIs(kChromeDevToolsScheme) || url.SchemeIs(kChromeUIScheme) ||
+         (GetContentClient()->browser()->GetAdditionalWebUISchemes(
+              &additional_schemes),
+          SchemeIsInSchemes(url.scheme(), additional_schemes)));
+
+  if (!url.is_valid()) {
+    NOTREACHED();
+    return false;
+  }
+
+  return true;
+}
+
+void URLDataManagerBackend::URLToRequestPath(const GURL& url,
+                                             std::string* path) {
+  const std::string& spec = url.possibly_invalid_spec();
+  const url::Parsed& parsed = url.parsed_for_possibly_invalid_spec();
+  // + 1 to skip the slash at the beginning of the path.
+  int offset = parsed.CountCharactersBefore(url::Parsed::PATH, false) + 1;
+
+  if (offset < static_cast<int>(spec.size()))
+    path->assign(spec.substr(offset));
+}
+
 namespace {
 
 class DevToolsJobFactory
     : public net::URLRequestJobFactory::ProtocolHandler {
  public:
-  // |is_incognito| should be set for incognito profiles.
-  DevToolsJobFactory(ResourceContext* resource_context, bool is_incognito);
+  explicit DevToolsJobFactory(ResourceContext* resource_context);
   ~DevToolsJobFactory() override;
 
   net::URLRequestJob* MaybeCreateJob(
@@ -828,15 +717,11 @@
   // which owns this ProtocolHandler.
   ResourceContext* const resource_context_;
 
-  // True when generated from an incognito profile.
-  const bool is_incognito_;
-
   DISALLOW_COPY_AND_ASSIGN(DevToolsJobFactory);
 };
 
-DevToolsJobFactory::DevToolsJobFactory(ResourceContext* resource_context,
-                                       bool is_incognito)
-    : resource_context_(resource_context), is_incognito_(is_incognito) {
+DevToolsJobFactory::DevToolsJobFactory(ResourceContext* resource_context)
+    : resource_context_(resource_context) {
   DCHECK(resource_context_);
 }
 
@@ -847,15 +732,14 @@
     net::URLRequest* request, net::NetworkDelegate* network_delegate) const {
   return new URLRequestChromeJob(
       request, network_delegate,
-      GetURLDataManagerForResourceContext(resource_context_), is_incognito_);
+      GetURLDataManagerForResourceContext(resource_context_));
 }
 
 }  // namespace
 
 net::URLRequestJobFactory::ProtocolHandler* CreateDevToolsProtocolHandler(
-    ResourceContext* resource_context,
-    bool is_incognito) {
-  return new DevToolsJobFactory(resource_context, is_incognito);
+    ResourceContext* resource_context) {
+  return new DevToolsJobFactory(resource_context);
 }
 
 }  // namespace content
diff --git a/content/browser/webui/url_data_manager_backend.h b/content/browser/webui/url_data_manager_backend.h
index 20002c7..6c706fdd 100644
--- a/content/browser/webui/url_data_manager_backend.h
+++ b/content/browser/webui/url_data_manager_backend.h
@@ -16,6 +16,7 @@
 #include "base/values.h"
 #include "content/browser/webui/url_data_manager.h"
 #include "content/public/browser/url_data_source.h"
+#include "net/http/http_response_headers.h"
 #include "net/url_request/url_request_job_factory.h"
 
 class GURL;
@@ -42,12 +43,11 @@
   URLDataManagerBackend();
   ~URLDataManagerBackend() override;
 
-  // Invoked to create the protocol handler for chrome://. |is_incognito| should
-  // be set for incognito profiles. Called on the UI thread.
+  // Invoked to create the protocol handler for chrome://. Called on the UI
+  // thread.
   CONTENT_EXPORT static std::unique_ptr<
       net::URLRequestJobFactory::ProtocolHandler>
-  CreateProtocolHandler(content::ResourceContext* resource_context,
-                        bool is_incognito,
+  CreateProtocolHandler(ResourceContext* resource_context,
                         ChromeBlobStorageContext* blob_storage_context);
 
   // Adds a DataSource to the collection of data sources.
@@ -60,8 +60,22 @@
   // null, which signals an error handling the request.
   void DataAvailable(RequestID request_id, base::RefCountedMemory* bytes);
 
-  static net::URLRequestJob* Factory(net::URLRequest* request,
-                                     const std::string& scheme);
+  // Look up the data source for the request. Returns the source if it is found,
+  // else NULL.
+  URLDataSourceImpl* GetDataSourceFromURL(const GURL& url);
+
+  // Creates and sets the response headers for the given request.
+  static scoped_refptr<net::HttpResponseHeaders> GetHeaders(
+      URLDataSourceImpl* source,
+      const std::string& path,
+      const std::string& origin);
+
+  // Returns whether |url| passes some sanity checks and is a valid GURL.
+  static bool CheckURLIsValid(const GURL& url);
+
+  // Parse |url| to get the path which will be used to resolve the request. The
+  // path is the remaining portion after the scheme and hostname.
+  static void URLToRequestPath(const GURL& url, std::string* path);
 
  private:
   friend class URLRequestChromeJob;
@@ -91,10 +105,6 @@
   // up to date.
   bool HasPendingJob(URLRequestChromeJob* job) const;
 
-  // Look up the data source for the request. Returns the source if it is found,
-  // else NULL.
-  URLDataSourceImpl* GetDataSourceFromURL(const GURL& url);
-
   // Custom sources of data, keyed by source path (e.g. "favicon").
   DataSourceMap data_sources_;
 
@@ -109,11 +119,9 @@
   DISALLOW_COPY_AND_ASSIGN(URLDataManagerBackend);
 };
 
-// Creates protocol handler for chrome-devtools://. |is_incognito| should be
-// set for incognito profiles.
-net::URLRequestJobFactory::ProtocolHandler*
-CreateDevToolsProtocolHandler(content::ResourceContext* resource_context,
-                              bool is_incognito);
+// Creates protocol handler for chrome-devtools://.
+net::URLRequestJobFactory::ProtocolHandler* CreateDevToolsProtocolHandler(
+    ResourceContext* resource_context);
 
 }  // namespace content
 
diff --git a/content/browser/webui/url_data_manager_backend_unittest.cc b/content/browser/webui/url_data_manager_backend_unittest.cc
index 660b33fc..87333d19 100644
--- a/content/browser/webui/url_data_manager_backend_unittest.cc
+++ b/content/browser/webui/url_data_manager_backend_unittest.cc
@@ -50,7 +50,7 @@
     // URLRequestJobFactory takes ownership of the passed in ProtocolHandler.
     url_request_job_factory_.SetProtocolHandler(
         "chrome", URLDataManagerBackend::CreateProtocolHandler(
-                      &resource_context_, false, nullptr));
+                      &resource_context_, nullptr));
     url_request_context_.set_job_factory(&url_request_job_factory_);
   }
 
diff --git a/content/browser/webui/web_ui_url_loader_factory.cc b/content/browser/webui/web_ui_url_loader_factory.cc
new file mode 100644
index 0000000..6da49a6
--- /dev/null
+++ b/content/browser/webui/web_ui_url_loader_factory.cc
@@ -0,0 +1,296 @@
+// 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 "content/browser/webui/web_ui_url_loader_factory.h"
+
+#include <map>
+
+#include "base/bind.h"
+#include "base/lazy_instance.h"
+#include "base/logging.h"
+#include "base/memory/ref_counted_memory.h"
+#include "base/strings/string_piece.h"
+#include "base/sys_byteorder.h"
+#include "content/browser/frame_host/frame_tree_node.h"
+#include "content/browser/frame_host/render_frame_host_impl.h"
+#include "content/browser/resource_context_impl.h"
+#include "content/browser/webui/url_data_manager_backend.h"
+#include "content/browser/webui/url_data_source_impl.h"
+#include "content/public/browser/browser_context.h"
+#include "content/public/browser/browser_thread.h"
+#include "content/public/browser/render_process_host.h"
+#include "content/public/browser/web_contents.h"
+#include "mojo/public/cpp/bindings/binding_set.h"
+#include "third_party/zlib/google/compression_utils.h"
+#include "ui/base/template_expressions.h"
+
+namespace content {
+
+namespace {
+
+class WebUIURLLoaderFactory;
+base::LazyInstance<std::map<int, std::unique_ptr<WebUIURLLoaderFactory>>>::Leaky
+    g_factories = LAZY_INSTANCE_INITIALIZER;
+
+class URLLoaderImpl : public mojom::URLLoader {
+ public:
+  static void Create(mojom::URLLoaderAssociatedRequest loader,
+                     const ResourceRequest& request,
+                     int frame_tree_node_id,
+                     mojo::InterfacePtrInfo<mojom::URLLoaderClient> client_info,
+                     ResourceContext* resource_context) {
+    mojom::URLLoaderClientPtr client;
+    client.Bind(std::move(client_info));
+    new URLLoaderImpl(std::move(loader), request, frame_tree_node_id,
+                      std::move(client), resource_context);
+  }
+
+ private:
+  URLLoaderImpl(mojom::URLLoaderAssociatedRequest loader,
+                const ResourceRequest& request,
+                int frame_tree_node_id,
+                mojom::URLLoaderClientPtr client,
+                ResourceContext* resource_context)
+      : binding_(this, std::move(loader)),
+        client_(std::move(client)),
+        replacements_(nullptr),
+        weak_factory_(this) {
+    // NOTE: this duplicates code in URLDataManagerBackend::StartRequest.
+    if (!URLDataManagerBackend::CheckURLIsValid(request.url)) {
+      OnError(net::ERR_INVALID_URL);
+      return;
+    }
+
+    URLDataSourceImpl* source =
+        GetURLDataManagerForResourceContext(resource_context)
+            ->GetDataSourceFromURL(request.url);
+    if (!source) {
+      OnError(net::ERR_INVALID_URL);
+      return;
+    }
+
+    if (!source->source()->ShouldServiceRequest(request.url, resource_context,
+                                                -1)) {
+      OnError(net::ERR_INVALID_URL);
+      return;
+    }
+
+    std::string path;
+    URLDataManagerBackend::URLToRequestPath(request.url, &path);
+    gzipped_ = source->source()->IsGzipped(path);
+    if (source->source()->GetMimeType(path) == "text/html")
+      replacements_ = source->GetReplacements();
+
+    net::HttpRequestHeaders request_headers;
+    request_headers.AddHeadersFromString(request.headers);
+    std::string origin_header;
+    request_headers.GetHeader(net::HttpRequestHeaders::kOrigin, &origin_header);
+
+    scoped_refptr<net::HttpResponseHeaders> headers =
+        URLDataManagerBackend::GetHeaders(source, path, origin_header);
+
+    ResourceResponseHead head;
+    head.headers = headers;
+    head.mime_type = source->source()->GetMimeType(path);
+    // TODO: fill all the time related field i.e. request_time response_time
+    // request_start response_start
+    client_->OnReceiveResponse(head, base::nullopt, nullptr);
+
+    ResourceRequestInfo::WebContentsGetter wc_getter =
+        base::Bind(WebContents::FromFrameTreeNodeId, frame_tree_node_id);
+
+    // Forward along the request to the data source.
+    // TODO(jam): once we only have this code path for WebUI, and not the
+    // URLLRequestJob one, then we should switch data sources to run on the UI
+    // thread by default.
+    scoped_refptr<base::SingleThreadTaskRunner> target_runner =
+        source->source()->TaskRunnerForRequestPath(path);
+    if (!target_runner) {
+      source->source()->StartDataRequest(
+          path, wc_getter,
+          base::Bind(&URLLoaderImpl::DataAvailable,
+                     weak_factory_.GetWeakPtr()));
+    } else {
+      // The DataSource wants StartDataRequest to be called on a specific
+      // thread, usually the UI thread, for this path.
+      target_runner->PostTask(
+          FROM_HERE, base::Bind(&URLLoaderImpl::CallStartDataRequest,
+                                base::RetainedRef(source), path, wc_getter,
+                                weak_factory_.GetWeakPtr()));
+    }
+  }
+
+  void FollowRedirect() override { NOTREACHED(); }
+  void SetPriority(net::RequestPriority priority,
+                   int32_t intra_priority_value) override {
+    NOTREACHED();
+  }
+
+  static void CallStartDataRequest(
+      scoped_refptr<URLDataSourceImpl> source,
+      const std::string& path,
+      const ResourceRequestInfo::WebContentsGetter& wc_getter,
+      const base::WeakPtr<URLLoaderImpl>& weak_ptr) {
+    source->source()->StartDataRequest(
+        path, wc_getter,
+        base::Bind(URLLoaderImpl::DataAvailableOnTargetThread, weak_ptr));
+  }
+
+  static void DataAvailableOnTargetThread(
+      const base::WeakPtr<URLLoaderImpl>& weak_ptr,
+      scoped_refptr<base::RefCountedMemory> bytes) {
+    BrowserThread::PostTask(
+        BrowserThread::IO, FROM_HERE,
+        base::Bind(&URLLoaderImpl::DataAvailable, weak_ptr, bytes));
+  }
+
+  void DataAvailable(scoped_refptr<base::RefCountedMemory> bytes) {
+    if (!bytes) {
+      OnError(net::ERR_FAILED);
+      return;
+    }
+
+    base::StringPiece input(reinterpret_cast<const char*>(bytes->front()),
+                            bytes->size());
+    if (replacements_) {
+      std::string temp_string;
+      // We won't know the the final output size ahead of time, so we have to
+      // use an intermediate string.
+      base::StringPiece source;
+      std::string temp_str;
+      if (gzipped_) {
+        temp_str.resize(compression::GetUncompressedSize(input));
+        source.set(temp_str.c_str(), temp_str.size());
+        CHECK(compression::GzipUncompress(input, source));
+        gzipped_ = false;
+      } else {
+        source = input;
+      }
+      temp_str = ui::ReplaceTemplateExpressions(source, *replacements_);
+      bytes = base::RefCountedString::TakeString(&temp_str);
+      input.set(reinterpret_cast<const char*>(bytes->front()), bytes->size());
+    }
+
+    uint32_t output_size =
+        gzipped_ ? compression::GetUncompressedSize(input) : bytes->size();
+
+    MojoCreateDataPipeOptions options;
+    options.struct_size = sizeof(MojoCreateDataPipeOptions);
+    options.flags = MOJO_CREATE_DATA_PIPE_OPTIONS_FLAG_NONE;
+    options.element_num_bytes = 1;
+    options.capacity_num_bytes = output_size;
+    mojo::DataPipe data_pipe(options);
+
+    DCHECK(data_pipe.producer_handle.is_valid());
+    DCHECK(data_pipe.consumer_handle.is_valid());
+
+    void* buffer = nullptr;
+    uint32_t num_bytes = output_size;
+    MojoResult result =
+        BeginWriteDataRaw(data_pipe.producer_handle.get(), &buffer, &num_bytes,
+                          MOJO_WRITE_DATA_FLAG_NONE);
+    CHECK_EQ(result, MOJO_RESULT_OK);
+    CHECK_EQ(num_bytes, output_size);
+
+    if (gzipped_) {
+      base::StringPiece output(static_cast<char*>(buffer), num_bytes);
+      CHECK(compression::GzipUncompress(input, output));
+    } else {
+      memcpy(buffer, bytes->front(), output_size);
+    }
+    result = EndWriteDataRaw(data_pipe.producer_handle.get(), num_bytes);
+    CHECK_EQ(result, MOJO_RESULT_OK);
+
+    client_->OnStartLoadingResponseBody(std::move(data_pipe.consumer_handle));
+
+    ResourceRequestCompletionStatus request_complete_data;
+    request_complete_data.error_code = net::OK;
+    request_complete_data.exists_in_cache = false;
+    request_complete_data.completion_time = base::TimeTicks::Now();
+    request_complete_data.encoded_data_length = output_size;
+    request_complete_data.encoded_body_length = output_size;
+    client_->OnComplete(request_complete_data);
+    delete this;
+  }
+
+  void OnError(int error_code) {
+    ResourceRequestCompletionStatus status;
+    status.error_code = error_code;
+    client_->OnComplete(status);
+    delete this;
+  }
+
+  mojo::AssociatedBinding<mojom::URLLoader> binding_;
+  mojom::URLLoaderClientPtr client_;
+  bool gzipped_;
+  // Replacement dictionary for i18n.
+  const ui::TemplateReplacements* replacements_;
+  base::WeakPtrFactory<URLLoaderImpl> weak_factory_;
+
+  DISALLOW_COPY_AND_ASSIGN(URLLoaderImpl);
+};
+
+class WebUIURLLoaderFactory : public mojom::URLLoaderFactory,
+                              public FrameTreeNode::Observer {
+ public:
+  WebUIURLLoaderFactory(FrameTreeNode* ftn)
+      : frame_tree_node_id_(ftn->frame_tree_node_id()),
+        resource_context_(ftn->current_frame_host()
+                              ->GetProcess()
+                              ->GetBrowserContext()
+                              ->GetResourceContext()) {
+    ftn->AddObserver(this);
+  }
+
+  ~WebUIURLLoaderFactory() override {}
+
+  mojom::URLLoaderFactoryPtr CreateBinding() {
+    return loader_factory_bindings_.CreateInterfacePtrAndBind(this);
+  }
+
+  // mojom::URLLoaderFactory implementation:
+  void CreateLoaderAndStart(mojom::URLLoaderAssociatedRequest loader,
+                            int32_t routing_id,
+                            int32_t request_id,
+                            uint32_t options,
+                            const ResourceRequest& request,
+                            mojom::URLLoaderClientPtr client) override {
+    DCHECK_CURRENTLY_ON(BrowserThread::UI);
+    BrowserThread::PostTask(
+        BrowserThread::IO, FROM_HERE,
+        base::BindOnce(&URLLoaderImpl::Create, std::move(loader), request,
+                       frame_tree_node_id_, client.PassInterface(),
+                       resource_context_));
+  }
+
+  void SyncLoad(int32_t routing_id,
+                int32_t request_id,
+                const ResourceRequest& request,
+                SyncLoadCallback callback) override {
+    NOTREACHED();
+  }
+
+  // FrameTreeNode::Observer implementation:
+  void OnFrameTreeNodeDestroyed(FrameTreeNode* node) override {
+    g_factories.Get().erase(frame_tree_node_id_);
+  }
+
+ private:
+  int frame_tree_node_id_;
+  ResourceContext* resource_context_;
+  mojo::BindingSet<mojom::URLLoaderFactory> loader_factory_bindings_;
+
+  DISALLOW_COPY_AND_ASSIGN(WebUIURLLoaderFactory);
+};
+
+}  // namespace
+
+mojom::URLLoaderFactoryPtr GetWebUIURLLoader(FrameTreeNode* node) {
+  int ftn_id = node->frame_tree_node_id();
+  if (g_factories.Get()[ftn_id].get() == nullptr)
+    g_factories.Get()[ftn_id] = base::MakeUnique<WebUIURLLoaderFactory>(node);
+  return g_factories.Get()[ftn_id]->CreateBinding();
+}
+
+}  // namespace content
diff --git a/content/browser/webui/web_ui_url_loader_factory.h b/content/browser/webui/web_ui_url_loader_factory.h
new file mode 100644
index 0000000..cf085f51
--- /dev/null
+++ b/content/browser/webui/web_ui_url_loader_factory.h
@@ -0,0 +1,18 @@
+// 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 CONTENT_BROWSER_WEBUI_WEB_UI_URL_LOADER_FACTORY_H_
+#define CONTENT_BROWSER_WEBUI_WEB_UI_URL_LOADER_FACTORY_H_
+
+#include "content/common/url_loader_factory.mojom.h"
+
+namespace content {
+class FrameTreeNode;
+
+// Returns a URLLoaderFactory interface pointer for serving WebUI requests.
+mojom::URLLoaderFactoryPtr GetWebUIURLLoader(FrameTreeNode* node);
+
+}  // namespace content
+
+#endif  // CONTENT_BROWSER_WEBUI_WEB_UI_URL_LOADER_FACTORY_H_
diff --git a/content/public/android/BUILD.gn b/content/public/android/BUILD.gn
index 6a4f042d6..bd793cb 100644
--- a/content/public/android/BUILD.gn
+++ b/content/public/android/BUILD.gn
@@ -55,6 +55,7 @@
     "//services/device:java",
     "//services/service_manager/public/interfaces:interfaces_java",
     "//services/service_manager/public/java:service_manager_java",
+    "//services/shape_detection:shape_detection_java",
     "//services/shape_detection/public/interfaces:interfaces_java",
     "//third_party/WebKit/public:android_mojo_bindings_java",
     "//third_party/WebKit/public:blink_headers_java",
@@ -218,8 +219,6 @@
     "java/src/org/chromium/content/browser/picker/TwoFieldDatePickerDialog.java",
     "java/src/org/chromium/content/browser/picker/WeekPicker.java",
     "java/src/org/chromium/content/browser/picker/WeekPickerDialog.java",
-    "java/src/org/chromium/content/browser/shapedetection/FaceDetectionImpl.java",
-    "java/src/org/chromium/content/browser/shapedetection/FaceDetectionProviderImpl.java",
     "java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java",
     "java/src/org/chromium/content/browser/webcontents/WebContentsObserverProxy.java",
     "java/src/org/chromium/content/common/ContentSwitches.java",
diff --git a/content/public/android/java/src/org/chromium/content/browser/ContextSelectionClient.java b/content/public/android/java/src/org/chromium/content/browser/ContextSelectionClient.java
index c5f75ba..4bc9e92 100644
--- a/content/public/android/java/src/org/chromium/content/browser/ContextSelectionClient.java
+++ b/content/public/android/java/src/org/chromium/content/browser/ContextSelectionClient.java
@@ -11,7 +11,6 @@
 import org.chromium.base.annotations.JNINamespace;
 import org.chromium.content_public.browser.WebContents;
 import org.chromium.ui.base.WindowAndroid;
-import org.chromium.ui.touch_selection.SelectionEventType;
 
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
@@ -77,40 +76,19 @@
     public void onSelectionChanged(String selection) {}
 
     @Override
-    public void onSelectionEvent(int eventType, float posXPix, float posYPix) {
-        switch (eventType) {
-            case SelectionEventType.SELECTION_HANDLES_SHOWN:
-                // This event is sent when the long press is detected which causes
-                // selection to appear for the first time. Temporarily hiding the
-                // handles that happens e.g. during scroll does not affect this event.
-                requestSurroundingText(SUGGEST_AND_CLASSIFY);
-                break;
-
-            case SelectionEventType.SELECTION_HANDLES_CLEARED:
-                // The ActionMode should be stopped when this event comes.
-                cancelAllRequests();
-                break;
-
-            case SelectionEventType.SELECTION_HANDLE_DRAG_STOPPED:
-                // This event is sent after a user stopped dragging one of the
-                // selection handles, i.e. stopped modifying the selection.
-                requestSurroundingText(CLASSIFY);
-                break;
-
-            default:
-                break; // ignore
-        }
-    }
+    public void onSelectionEvent(int eventType, float posXPix, float posYPix) {}
 
     @Override
     public void showUnhandledTapUIIfNeeded(int x, int y) {}
 
     @Override
-    public boolean sendsSelectionPopupUpdates() {
+    public boolean requestSelectionPopupUpdates(boolean shouldSuggest) {
+        requestSurroundingText(shouldSuggest ? SUGGEST_AND_CLASSIFY : CLASSIFY);
         return true;
     }
 
-    private void cancelAllRequests() {
+    @Override
+    public void cancelAllRequests() {
         if (mNativeContextSelectionClient != 0) {
             nativeCancelAllRequests(mNativeContextSelectionClient);
         }
diff --git a/content/public/android/java/src/org/chromium/content/browser/InterfaceRegistrarImpl.java b/content/public/android/java/src/org/chromium/content/browser/InterfaceRegistrarImpl.java
index 7873733..10bb5e4 100644
--- a/content/public/android/java/src/org/chromium/content/browser/InterfaceRegistrarImpl.java
+++ b/content/public/android/java/src/org/chromium/content/browser/InterfaceRegistrarImpl.java
@@ -10,7 +10,6 @@
 import org.chromium.base.annotations.JNINamespace;
 import org.chromium.content.browser.androidoverlay.AndroidOverlayProviderImpl;
 import org.chromium.content.browser.installedapp.InstalledAppProviderFactory;
-import org.chromium.content.browser.shapedetection.FaceDetectionProviderImpl;
 import org.chromium.content_public.browser.InterfaceRegistrar;
 import org.chromium.content_public.browser.RenderFrameHost;
 import org.chromium.content_public.browser.WebContents;
@@ -19,7 +18,6 @@
 import org.chromium.media.mojom.AndroidOverlayProvider;
 import org.chromium.mojo.system.impl.CoreImpl;
 import org.chromium.services.service_manager.InterfaceRegistry;
-import org.chromium.shape_detection.mojom.FaceDetectionProvider;
 
 @JNINamespace("content")
 class InterfaceRegistrarImpl {
@@ -68,8 +66,6 @@
         @Override
         public void registerInterfaces(
                 InterfaceRegistry registry, final Context applicationContext) {
-            registry.addInterface(FaceDetectionProvider.MANAGER,
-                    new FaceDetectionProviderImpl.Factory(applicationContext));
             registry.addInterface(AndroidOverlayProvider.MANAGER,
                     new AndroidOverlayProviderImpl.Factory(applicationContext));
             // TODO(avayvod): Register the PresentationService implementation here.
diff --git a/content/public/android/java/src/org/chromium/content/browser/SelectionClient.java b/content/public/android/java/src/org/chromium/content/browser/SelectionClient.java
index 7c9a844..bc6b7421 100644
--- a/content/public/android/java/src/org/chromium/content/browser/SelectionClient.java
+++ b/content/public/android/java/src/org/chromium/content/browser/SelectionClient.java
@@ -30,9 +30,15 @@
     void showUnhandledTapUIIfNeeded(int x, int y);
 
     /**
-     * Returns true if the SelectionClient sends responces that can contain information about
-     * the context menu (e.g. that we need a new menu item). In this case an embedder might want
-     * to wait for this responce before taking further actions.
+     * Notifies the SelectionClient that the selection menu has been requested.
+     * @param shouldSuggest Whether SelectionClient should suggest and classify or just classify.
+     * @return True if embedder should wait for a response before showing selection menu.
      */
-    boolean sendsSelectionPopupUpdates();
+    boolean requestSelectionPopupUpdates(boolean shouldSuggest);
+
+    /**
+     * Cancel any outstanding requests the embedder had previously requested using
+     * SelectionClient.requestSelectionPopupUpdates().
+     */
+    public void cancelAllRequests();
 }
diff --git a/content/public/android/java/src/org/chromium/content/browser/SelectionPopupController.java b/content/public/android/java/src/org/chromium/content/browser/SelectionPopupController.java
index 5dc6d92..ae752619 100644
--- a/content/public/android/java/src/org/chromium/content/browser/SelectionPopupController.java
+++ b/content/public/android/java/src/org/chromium/content/browser/SelectionPopupController.java
@@ -931,12 +931,13 @@
                 mSelectionRect.set(left, top, right, bottom);
                 mHasSelection = true;
                 mUnselectAllOnDismiss = true;
-                if (mSelectionClient == null || !mSelectionClient.sendsSelectionPopupUpdates()) {
-                    showActionModeOrClearOnFailure();
-                } else {
+                if (mSelectionClient != null
+                        && mSelectionClient.requestSelectionPopupUpdates(true /* suggest */)) {
                     // Rely on |mSelectionClient| sending a classification request and the request
                     // always calling onClassified() callback.
                     mPendingShowActionMode = true;
+                } else {
+                    showActionModeOrClearOnFailure();
                 }
                 break;
 
@@ -953,6 +954,7 @@
                 mHasSelection = false;
                 mUnselectAllOnDismiss = false;
                 mSelectionRect.setEmpty();
+                if (mSelectionClient != null) mSelectionClient.cancelAllRequests();
                 finishActionMode();
                 break;
 
@@ -961,11 +963,13 @@
                 break;
 
             case SelectionEventType.SELECTION_HANDLE_DRAG_STOPPED:
-                if (mSelectionClient == null || !mSelectionClient.sendsSelectionPopupUpdates()) {
+                if (mSelectionClient != null
+                        && mSelectionClient.requestSelectionPopupUpdates(false /* suggest */)) {
+                    // Rely on |mSelectionClient| sending a classification request and the request
+                    // always calling onClassified() callback.
+                } else {
                     hideActionMode(false);
                 }
-                // Otherwise rely on |mSelectionClient| sending a classification request and the
-                // request always calling onClassified() callback.
                 break;
 
             case SelectionEventType.INSERTION_HANDLE_SHOWN:
diff --git a/content/public/common/webplugininfo.h b/content/public/common/webplugininfo.h
index 3fb1998..4061522d 100644
--- a/content/public/common/webplugininfo.h
+++ b/content/public/common/webplugininfo.h
@@ -43,7 +43,7 @@
   std::vector<base::string16> additional_param_values;
 };
 
-// Describes an available NPAPI or Pepper plugin.
+// Describes an available Pepper plugin.
 struct CONTENT_EXPORT WebPluginInfo {
   enum PluginType {
     PLUGIN_TYPE_PEPPER_IN_PROCESS,
diff --git a/content/public/renderer/render_frame.h b/content/public/renderer/render_frame.h
index a2f781ed..adf7d2a 100644
--- a/content/public/renderer/render_frame.h
+++ b/content/public/renderer/render_frame.h
@@ -115,7 +115,7 @@
   virtual blink::WebLocalFrame* GetWebFrame() = 0;
 
   // Gets WebKit related preferences associated with this frame.
-  virtual WebPreferences& GetWebkitPreferences() = 0;
+  virtual const WebPreferences& GetWebkitPreferences() = 0;
 
   // Shows a context menu with the given information. The given client will
   // be called with the result.
@@ -135,8 +135,8 @@
   // menu is closed.
   virtual void CancelContextMenu(int request_id) = 0;
 
-  // Create a new NPAPI/Pepper plugin depending on |info|. Returns NULL if no
-  // plugin was found. |throttler| may be empty.
+  // Create a new Pepper plugin depending on |info|. Returns NULL if no plugin
+  // was found. |throttler| may be empty.
   virtual blink::WebPlugin* CreatePlugin(
       const WebPluginInfo& info,
       const blink::WebPluginParams& params,
diff --git a/content/public/renderer/render_view.h b/content/public/renderer/render_view.h
index b828c99..b6de698 100644
--- a/content/public/renderer/render_view.h
+++ b/content/public/renderer/render_view.h
@@ -71,7 +71,7 @@
   virtual float GetDeviceScaleFactor() const = 0;
 
   // Gets WebKit related preferences associated with this view.
-  virtual WebPreferences& GetWebkitPreferences() = 0;
+  virtual const WebPreferences& GetWebkitPreferences() = 0;
 
   // Overrides the WebKit related preferences associated with this view. Note
   // that the browser process may update the preferences at any time.
diff --git a/content/public/test/browser_test_utils.cc b/content/public/test/browser_test_utils.cc
index 052ffca..b9a3011 100644
--- a/content/public/test/browser_test_utils.cc
+++ b/content/public/test/browser_test_utils.cc
@@ -471,6 +471,18 @@
   return IsLastCommittedEntryOfPageType(web_contents, PAGE_TYPE_NORMAL);
 }
 
+void PrepContentsForBeforeUnloadTest(WebContents* web_contents) {
+  for (auto* frame : web_contents->GetAllFrames()) {
+    // JavaScript onbeforeunload dialogs are ignored unless the frame received a
+    // user gesture. Make sure the frames have user gestures.
+    frame->ExecuteJavaScriptWithUserGestureForTests(base::string16());
+
+    // Disable the hang monitor, otherwise there will be a race between the
+    // beforeunload dialog and the beforeunload hang timer.
+    frame->DisableBeforeUnloadHangMonitorForTesting();
+  }
+}
+
 bool IsLastCommittedEntryOfPageType(WebContents* web_contents,
                                     content::PageType page_type) {
   NavigationEntry* last_entry =
diff --git a/content/public/test/browser_test_utils.h b/content/public/test/browser_test_utils.h
index 1b063f6..4122a90 100644
--- a/content/public/test/browser_test_utils.h
+++ b/content/public/test/browser_test_utils.h
@@ -101,6 +101,10 @@
 // navigations should be refactored to do EXPECT_TRUE(WaitForLoadStop()).
 bool WaitForLoadStop(WebContents* web_contents);
 
+// If a test uses a beforeunload dialog, it must be prepared to avoid flakes.
+// This function collects everything that needs to be done.
+void PrepContentsForBeforeUnloadTest(WebContents* web_contents);
+
 #if defined(USE_AURA) || defined(OS_ANDROID)
 // If WebContent's view is currently being resized, this will wait for the ack
 // from the renderer that the resize is complete and for the
diff --git a/content/renderer/pepper/pepper_media_device_manager.cc b/content/renderer/pepper/pepper_media_device_manager.cc
index 55a2fd0..731a3093 100644
--- a/content/renderer/pepper/pepper_media_device_manager.cc
+++ b/content/renderer/pepper/pepper_media_device_manager.cc
@@ -266,7 +266,8 @@
 const ::mojom::MediaDevicesDispatcherHostPtr&
 PepperMediaDeviceManager::GetMediaDevicesDispatcher() {
   if (!media_devices_dispatcher_) {
-    DCHECK(render_frame());
+    CHECK(render_frame());
+    CHECK(render_frame()->GetRemoteInterfaces());
     render_frame()->GetRemoteInterfaces()->GetInterface(
         mojo::MakeRequest(&media_devices_dispatcher_));
   }
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
index 8363470c..f0b5cf86 100644
--- a/content/renderer/render_frame_impl.cc
+++ b/content/renderer/render_frame_impl.cc
@@ -2487,7 +2487,7 @@
   return frame_;
 }
 
-WebPreferences& RenderFrameImpl::GetWebkitPreferences() {
+const WebPreferences& RenderFrameImpl::GetWebkitPreferences() {
   return render_view_->GetWebkitPreferences();
 }
 
diff --git a/content/renderer/render_frame_impl.h b/content/renderer/render_frame_impl.h
index a3d28ae..0b981590 100644
--- a/content/renderer/render_frame_impl.h
+++ b/content/renderer/render_frame_impl.h
@@ -433,7 +433,7 @@
   RenderAccessibility* GetRenderAccessibility() override;
   int GetRoutingID() override;
   blink::WebLocalFrame* GetWebFrame() override;
-  WebPreferences& GetWebkitPreferences() override;
+  const WebPreferences& GetWebkitPreferences() override;
   int ShowContextMenu(ContextMenuClient* client,
                       const ContextMenuParams& params) override;
   void CancelContextMenu(int request_id) override;
@@ -1451,7 +1451,7 @@
     blink::WebFormElement form;
     blink::WebSourceLocation source_location;
 
-    PendingNavigationInfo(const NavigationPolicyInfo& info);
+    explicit PendingNavigationInfo(const NavigationPolicyInfo& info);
   };
 
   // PlzNavigate: Contains information about a pending navigation to be sent to
diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc
index 3ee151f..b8376f2 100644
--- a/content/renderer/render_view_impl.cc
+++ b/content/renderer/render_view_impl.cc
@@ -1976,7 +1976,7 @@
   return device_scale_factor_;
 }
 
-WebPreferences& RenderViewImpl::GetWebkitPreferences() {
+const WebPreferences& RenderViewImpl::GetWebkitPreferences() {
   return webkit_preferences_;
 }
 
diff --git a/content/renderer/render_view_impl.h b/content/renderer/render_view_impl.h
index 6b27bfb..2194b73 100644
--- a/content/renderer/render_view_impl.h
+++ b/content/renderer/render_view_impl.h
@@ -352,7 +352,7 @@
   int GetRoutingID() const override;
   gfx::Size GetSize() const override;
   float GetDeviceScaleFactor() const override;
-  WebPreferences& GetWebkitPreferences() override;
+  const WebPreferences& GetWebkitPreferences() override;
   void SetWebkitPreferences(const WebPreferences& preferences) override;
   blink::WebView* GetWebView() override;
   blink::WebFrameWidget* GetWebFrameWidget() override;
diff --git a/content/renderer/sad_plugin.h b/content/renderer/sad_plugin.h
index 4148c0a..412e8cb 100644
--- a/content/renderer/sad_plugin.h
+++ b/content/renderer/sad_plugin.h
@@ -16,7 +16,7 @@
 namespace content {
 
 // Paints the sad plugin to the given canvas for the given plugin bounds. This
-// is used by both the NPAPI and the PPAPI out-of-process plugin impls.
+// is used by PPAPI out-of-process plugin impls.
 void PaintSadPlugin(blink::WebCanvas* canvas,
                     const gfx::Rect& plugin_rect,
                     const SkBitmap& sad_plugin_bitmap);
diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn
index 19c0159..2166fd1c 100644
--- a/content/test/BUILD.gn
+++ b/content/test/BUILD.gn
@@ -1073,6 +1073,7 @@
     "../browser/cocoa/system_hotkey_map_unittest.mm",
     "../browser/compositor/reflector_impl_unittest.cc",
     "../browser/compositor/software_browser_compositor_output_surface_unittest.cc",
+    "../browser/compositor/software_output_device_mac_unittest.mm",
     "../browser/compositor/software_output_device_ozone_unittest.cc",
     "../browser/devtools/devtools_http_handler_unittest.cc",
     "../browser/devtools/devtools_manager_unittest.cc",
@@ -1691,6 +1692,7 @@
       "//third_party/ocmock",
       "//ui/accelerated_widget_mac",
     ]
+    libs = [ "IOSurface.framework" ]
   }
   if (is_chromeos) {
     deps += [ "//chromeos" ]
diff --git a/content/test/data/cross_site_iframe_factory.html b/content/test/data/cross_site_iframe_factory.html
index e4e808b0..9d09bc3 100644
--- a/content/test/data/cross_site_iframe_factory.html
+++ b/content/test/data/cross_site_iframe_factory.html
@@ -17,6 +17,23 @@
   <iframe src="http://c.com:1234/cross_site_iframe_factory.html?c()">
   <iframe src="http://d.com:1234/cross_site_iframe_factory.html?d()">
 
+Add iframe options by enclosing them in '{' and '}' characters after the
+hostname (multiple options can be separated with commas):
+
+  cross_site_iframe_factory.html?a(b{allowfullscreen}(),c{sandbox-allow-scripts}(d))
+
+Will create two iframes:
+
+  <iframe src="http://a.com:1234/cross_site_iframe_factory.html?b()" allowfullscreen>
+  <iframe src="http://c.com:1234/cross_site_iframe_factory.html?c{sandbox-allow-scripts}(d())" sandbox="allow-scripts">
+
+These options are supported:
+
+  allowfullscreen
+  allowpaymentrequest
+  allow-{featurename} - Adds {featurename} to the "allow" attribute
+  sandbox-{flagname} - Adds {flagname} to the "sandbox" attribute
+
 To make this page work, your browsertest needs a MockHostResolver, like:
 
   void SetUpOnMainThread() override {
@@ -92,6 +109,34 @@
 }
 
 /**
+ * Parses the list of iframe options and applies them to the provided element.
+ */
+function applyIFrameOptions(element, options) {
+  var sandboxArguments = [];
+  var allowFeatures = [];
+  for (var option of options) {
+    if (option == "allowfullscreen") {
+      element.allowFullscreen = true;
+    }
+    if (option == "allowpaymentrequest") {
+      element.allowPaymentRequest = true;
+    }
+    if (option.startsWith("sandbox-")) {
+      sandboxArguments.push(option.slice(8));
+    }
+    if (option.startsWith("allow-")) {
+      allowFeatures.push(option.slice(6))
+    }
+  }
+  if (sandboxArguments.length) {
+    element.sandbox = sandboxArguments.join(" ");
+  }
+  if (allowFeatures.length) {
+    element.allow = allowFeatures.join(" ");
+  }
+}
+
+/**
  * Simple recursive layout heuristic, since frames can't size themselves.
  * This scribbles .layoutX and .layoutY properties into |tree|.
  */
@@ -143,7 +188,7 @@
   layout(frameTree);
 
   for (var i = 0; i < frameTree.children.length; i++) {
-    // Compute the URL for this iframe .
+    // Compute the URL for this iframe.
     var site = canonicalizeSite(frameTree.children[i].value);
     var subtreeString = TreeParserUtil.flatten(frameTree.children[i]);
     var url = '';
@@ -154,13 +199,17 @@
     url += window.location.pathname;                     // path (preserved)
     url += '?' + encodeURIComponent(subtreeString);      // query
 
-    // Add the iframe to the document.
+    // Construct the iframe.
     var iframe = document.createElement('iframe');
     iframe.src = url;
     iframe.id = "child-" + i;
     iframe.style.borderColor = borderColorForSite(site);
     iframe.width = frameTree.children[i].layoutX;
     iframe.height = frameTree.children[i].layoutY;
+    // Apply any additional attributes.
+    applyIFrameOptions(iframe, frameTree.children[i].attributes);
+
+    // Add the iframe to the document.
     document.body.appendChild(iframe);
   }
 }
diff --git a/content/test/data/render_frame_host/beforeunload.html b/content/test/data/render_frame_host/beforeunload.html
new file mode 100644
index 0000000..656d433
--- /dev/null
+++ b/content/test/data/render_frame_host/beforeunload.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<html>
+<head>
+</head>
+<body>
+</body>
+<script>
+window.onbeforeunload=function(e){
+  return 'foo';
+}
+</script>
+</html>
diff --git a/content/test/data/tree_parser_util.js b/content/test/data/tree_parser_util.js
index 4f83fdda..8afd676f 100644
--- a/content/test/data/tree_parser_util.js
+++ b/content/test/data/tree_parser_util.js
@@ -10,32 +10,49 @@
  * escaping. But there's nothing really iframe-specific here. See below for some
  * examples of the grammar and the parser output.
  *
- * @example <caption>Basic syntax: an identifier followed by arg list.</caption>
- * TreeParserUtil.parse('abc ()');  // returns { value: 'abc', children: [] }
+ * @example <caption>Basic syntax: an identifier, optionally followed by a list
+ * of attributes, optionally followed by a list of children.</caption>
+ * // returns { value: 'abc', attributes: [], children: [] }
+ * TreeParserUtil.parse('abc {} ()');
  *
- * @example <caption>The arg list is optional. Dots are legal in ids.</caption>
- * TreeParserUtil.parse('b.com');  // returns { value: 'b.com', children: [] }
+ * @example <caption>Both the attribute and child lists are optional. Dots and
+ * hyphens are legal in ids.</caption>
+ * // returns { value: 'example-b.com', attributes: [], children: [] }
+ * TreeParserUtil.parse('example-b.com');
  *
- * @example <caption>Commas separate children in the arg list.</caption>
- * // returns { value: 'b', children: [
- * //           { value: 'c', children: [] },
- * //           { value: 'd', children: [] }
+ * @example <caption>Attributes are identifiers as well, separated by commas.
+ * </caption>
+ * // returns { value: 'abc', attributes: ['attr-1', 'attr-2'], children: [] }
+ * TreeParserUtil.parse('abc {attr-1, attr-2}');
+ *
+ * @example <caption>Commas separate children in the child list.</caption>
+ * // returns { value: 'b', attributes: [], children: [
+ * //           { value: 'c', attributes: [], children: [] },
+ * //           { value: 'd', attributes: [], children: [] }
  * //         ]}
  * TreeParserUtil.parse('b (c, d)';
  *
  * @example <caption>Children can have children, and so on.</caption>
- * // returns { value: 'e', children: [
- * //           { value: 'f', children: [
- * //             { value: 'g', children: [
- * //               { value: 'h', children: [] },
- * //               { value: 'i', children: [
- * //                 { value: 'j', children: [] }
+ * // returns { value: 'e', attributes: [], children: [
+ * //           { value: 'f', attributes: [], children: [
+ * //             { value: 'g', attributes: [], children: [
+ * //               { value: 'h', attributes: [], children: [] },
+ * //               { value: 'i', attributes: [], children: [
+ * //                 { value: 'j', attributes: [], children: [] }
  * //               ]},
  * //             ]}
  * //           ]}
  * //         ]}
  * TreeParserUtil.parse('e(f(g(h(),i(j))))';
  *
+ * @example <caption>Attributes can be applied to children at any level of
+ * nesting.</caption>
+ * // returns { value: 'b', attributes: ['red', 'blue'], children: [
+ * //           { value: 'c', attributes: [], children: [] },
+ * //           { value: 'd', attributes: ['green'], children: [] }
+ * //         ]}
+ * TreeParserUtil.parse('b{red,blue}(c,d{green})';
+ *
  * @example <caption>flatten() converts a [sub]tree back to a string.</caption>
  * var tree = TreeParserUtil.parse('b.com (c.com(e.com), d.com)');
  * TreeParserUtil.flatten(tree.children[0]);  // returns 'c.com(e.com())'
@@ -62,7 +79,10 @@
    * used to forward a subtree as an argument to a nested document.
    */
   function flatten(tree) {
-    return tree.value + '(' + tree.children.map(flatten).join(',') + ')';
+    var result = tree.value;
+    if (tree.attributes && tree.attributes.length)
+      result += '{' + tree.attributes.join(",") + "}";
+    return result + '(' + tree.children.map(flatten).join(',') + ')';
   }
 
   /**
@@ -74,7 +94,7 @@
    * @return {Array.<string>} The resulting token stream.
    */
   function lex(input) {
-    return input.split(/(\s+|\(|\)|,)/).reduce(
+    return input.split(/(\s+|\(|\)|{|}|,)/).reduce(
       function (resultArray, token) {
         var trimmed = token.trim();
         if (trimmed) {
@@ -84,13 +104,13 @@
       }, []);
   }
 
-
   /**
-   * Consumes from the stream an identifier and optional child list, returning
-   * its parsed representation.
+   * Consumes from the stream an identifier with optional attribute and child
+   * lists, returning its parsed representation.
    */
   function takeIdAndChild(tokenStream) {
     return { value: takeIdentifier(tokenStream),
+             attributes: takeAttributeList(tokenStream),
              children: takeChildList(tokenStream) };
   }
 
@@ -101,12 +121,52 @@
     if (tokenStream.length == 0)
       throw new Error('Expected an identifier, but found end-of-stream.');
     var token = tokenStream.shift();
-    if (!token.match(/[a-zA-Z0-9.-]+/))
+    if (!token.match(/^[a-zA-Z0-9.-]+$/))
       throw new Error('Expected an identifier, but found "' + token + '".');
     return token;
   }
 
   /**
+   * Consumes an optional attribute list from the token stream, returning a list
+   * of the parsed attribute identifiers.
+   */
+  function takeAttributeList(tokenStream) {
+    // Remove the next token from the stream if it matches |token|.
+    function tryToEatA(token) {
+      if (tokenStream[0] == token) {
+        tokenStream.shift();
+        return true;
+      }
+      return false;
+    }
+
+    // Bare identifier case, as in 'b' in the input '(a (b, c))'
+    if (!tryToEatA('{'))
+      return [];
+
+    // Empty list case, as in 'b' in the input 'a (b {}, c)'.
+    if (tryToEatA('}')) {
+      return [];
+    }
+
+    // List with at least one entry.
+    var result = [ takeIdentifier(tokenStream) ];
+
+    // Additional entries allowed with comma.
+    while (tryToEatA(',')) {
+      result.push(takeIdentifier(tokenStream));
+    }
+
+    // End of list.
+    if (tryToEatA('}')) {
+      return result;
+    }
+    if (tokenStream.length == 0)
+      throw new Error('Expected "}" or ",", but found end-of-stream.');
+    throw new Error('Expected "}" or ",", but found "' + tokenStream[0] + '".');
+  }
+
+  /**
    * Consumes an optional child list from the token stream, returning a list of
    * the parsed children.
    */
diff --git a/content/test/gpu/gpu_tests/webgl_conformance_expectations_unittest.py b/content/test/gpu/gpu_tests/webgl_conformance_expectations_unittest.py
index 0e97c15..d2d8dc5 100644
--- a/content/test/gpu/gpu_tests/webgl_conformance_expectations_unittest.py
+++ b/content/test/gpu/gpu_tests/webgl_conformance_expectations_unittest.py
@@ -32,6 +32,10 @@
   def GetOSVersionName(self):
     return 'win8'
 
+  def GetOSVersionDetailString(self):
+    # Not sure whether this is accurate.
+    return 'Windows 8.1'
+
 
 class WebGLTestInfo(object):
   def __init__(self, url):
diff --git a/content/test/gpu/gpu_tests/webgl_conformance_revision.txt b/content/test/gpu/gpu_tests/webgl_conformance_revision.txt
index b1779e3..d3585f8 100644
--- a/content/test/gpu/gpu_tests/webgl_conformance_revision.txt
+++ b/content/test/gpu/gpu_tests/webgl_conformance_revision.txt
@@ -1,3 +1,3 @@
 # AUTOGENERATED FILE - DO NOT EDIT
 # SEE roll_webgl_conformance.py
-Current webgl revision 239528772a1362d0e0c2d1cb2f256f19d6e0c1c1
+Current webgl revision c91689d6df5536fefaa07a459c80c210bd580a1b
diff --git a/extensions/browser/api/declarative/declarative_api.cc b/extensions/browser/api/declarative/declarative_api.cc
index 8049813f..8a87957 100644
--- a/extensions/browser/api/declarative/declarative_api.cc
+++ b/extensions/browser/api/declarative/declarative_api.cc
@@ -9,7 +9,9 @@
 #include "base/base64.h"
 #include "base/bind.h"
 #include "base/bind_helpers.h"
+#include "base/metrics/histogram_macros.h"
 #include "base/single_thread_task_runner.h"
+#include "base/strings/string_util.h"
 #include "base/task_runner_util.h"
 #include "base/values.h"
 #include "content/public/browser/browser_thread.h"
@@ -35,7 +37,55 @@
 
 namespace {
 
-const char kDeclarativeEventPrefix[] = "declarative";
+constexpr char kDeclarativeEventPrefix[] = "declarative";
+constexpr char kDeclarativeContentEventPrefix[] = "declarativeContent.";
+constexpr char kDeclarativeWebRequestEventPrefix[] = "declarativeWebRequest.";
+constexpr char kDeclarativeWebRequestWebViewEventPrefix[] =
+    "webViewInternal.declarativeWebRequest.";
+
+// The type of Declarative API. To collect more granular metrics, a distinction
+// is made when the declarative web request API is used from a webview.
+enum class DeclarativeAPIType {
+  kContent,
+  kWebRequest,
+  kWebRequestWebview,
+  kUnknown,
+};
+
+// Describes the possible types of declarative API function calls.
+// These values are recorded as UMA. New enum values can be added, but existing
+// enum values must never be renumbered or deleted and reused.
+enum DeclarativeAPIFunctionType {
+  kDeclarativeContentAddRules = 0,
+  kDeclarativeContentRemoveRules = 1,
+  kDeclarativeContentGetRules = 2,
+  kDeclarativeWebRequestAddRules = 3,
+  kDeclarativeWebRequestRemoveRules = 4,
+  kDeclarativeWebRequestGetRules = 5,
+  kDeclarativeWebRequestWebviewAddRules = 6,
+  kDeclarativeWebRequestWebviewRemoveRules = 7,
+  kDeclarativeWebRequestWebviewGetRules = 8,
+  kDeclarativeApiFunctionCallTypeMax,
+};
+
+DeclarativeAPIType GetDeclarativeAPIType(const std::string& event_name) {
+  if (base::StartsWith(event_name, kDeclarativeContentEventPrefix,
+                       base::CompareCase::SENSITIVE))
+    return DeclarativeAPIType::kContent;
+  if (base::StartsWith(event_name, kDeclarativeWebRequestEventPrefix,
+                       base::CompareCase::SENSITIVE))
+    return DeclarativeAPIType::kWebRequest;
+  if (base::StartsWith(event_name, kDeclarativeWebRequestWebViewEventPrefix,
+                       base::CompareCase::SENSITIVE))
+    return DeclarativeAPIType::kWebRequestWebview;
+  return DeclarativeAPIType::kUnknown;
+}
+
+void RecordUMAHelper(DeclarativeAPIFunctionType type) {
+  DCHECK_LT(type, kDeclarativeApiFunctionCallTypeMax);
+  UMA_HISTOGRAM_ENUMERATION("Extensions.DeclarativeAPIFunctionCalls", type,
+                            kDeclarativeApiFunctionCallTypeMax);
+}
 
 void ConvertBinaryDictionaryValuesToBase64(base::DictionaryValue* dict);
 
@@ -125,6 +175,8 @@
   EXTENSION_FUNCTION_VALIDATE(args_->GetInteger(1, &web_view_instance_id));
   int embedder_process_id = render_frame_host()->GetProcess()->GetID();
 
+  RecordUMA(event_name);
+
   bool from_web_view = web_view_instance_id != 0;
   // If we are not operating on a particular <webview>, then the key is 0.
   int rules_registry_id = RulesRegistryService::kDefaultRulesRegistryID;
@@ -189,6 +241,26 @@
   return error_.empty();
 }
 
+void EventsEventAddRulesFunction::RecordUMA(
+    const std::string& event_name) const {
+  DeclarativeAPIFunctionType type = kDeclarativeApiFunctionCallTypeMax;
+  switch (GetDeclarativeAPIType(event_name)) {
+    case DeclarativeAPIType::kContent:
+      type = kDeclarativeContentAddRules;
+      break;
+    case DeclarativeAPIType::kWebRequest:
+      type = kDeclarativeWebRequestAddRules;
+      break;
+    case DeclarativeAPIType::kWebRequestWebview:
+      type = kDeclarativeWebRequestWebviewAddRules;
+      break;
+    case DeclarativeAPIType::kUnknown:
+      NOTREACHED();
+      return;
+  }
+  RecordUMAHelper(type);
+}
+
 bool EventsEventRemoveRulesFunction::RunAsyncOnCorrectThread() {
   std::unique_ptr<RemoveRules::Params> params(
       RemoveRules::Params::Create(*args_));
@@ -204,6 +276,26 @@
   return error_.empty();
 }
 
+void EventsEventRemoveRulesFunction::RecordUMA(
+    const std::string& event_name) const {
+  DeclarativeAPIFunctionType type = kDeclarativeApiFunctionCallTypeMax;
+  switch (GetDeclarativeAPIType(event_name)) {
+    case DeclarativeAPIType::kContent:
+      type = kDeclarativeContentRemoveRules;
+      break;
+    case DeclarativeAPIType::kWebRequest:
+      type = kDeclarativeWebRequestRemoveRules;
+      break;
+    case DeclarativeAPIType::kWebRequestWebview:
+      type = kDeclarativeWebRequestWebviewRemoveRules;
+      break;
+    case DeclarativeAPIType::kUnknown:
+      NOTREACHED();
+      return;
+  }
+  RecordUMAHelper(type);
+}
+
 bool EventsEventGetRulesFunction::RunAsyncOnCorrectThread() {
   std::unique_ptr<GetRules::Params> params(GetRules::Params::Create(*args_));
   EXTENSION_FUNCTION_VALIDATE(params.get());
@@ -224,4 +316,24 @@
   return true;
 }
 
+void EventsEventGetRulesFunction::RecordUMA(
+    const std::string& event_name) const {
+  DeclarativeAPIFunctionType type = kDeclarativeApiFunctionCallTypeMax;
+  switch (GetDeclarativeAPIType(event_name)) {
+    case DeclarativeAPIType::kContent:
+      type = kDeclarativeContentGetRules;
+      break;
+    case DeclarativeAPIType::kWebRequest:
+      type = kDeclarativeWebRequestGetRules;
+      break;
+    case DeclarativeAPIType::kWebRequestWebview:
+      type = kDeclarativeWebRequestWebviewGetRules;
+      break;
+    case DeclarativeAPIType::kUnknown:
+      NOTREACHED();
+      return;
+  }
+  RecordUMAHelper(type);
+}
+
 }  // namespace extensions
diff --git a/extensions/browser/api/declarative/declarative_api.h b/extensions/browser/api/declarative/declarative_api.h
index 7f3b1a2..aa68f603 100644
--- a/extensions/browser/api/declarative/declarative_api.h
+++ b/extensions/browser/api/declarative/declarative_api.h
@@ -28,6 +28,9 @@
   // Returns false in case of errors.
   virtual bool RunAsyncOnCorrectThread() = 0;
 
+  // Records UMA metrics for the kind of declarative API call.
+  virtual void RecordUMA(const std::string& event_name) const = 0;
+
   scoped_refptr<RulesRegistry> rules_registry_;
 };
 
@@ -40,6 +43,7 @@
 
   // RulesFunction:
   bool RunAsyncOnCorrectThread() override;
+  void RecordUMA(const std::string& event_name) const override;
 };
 
 class EventsEventRemoveRulesFunction : public RulesFunction {
@@ -51,6 +55,7 @@
 
   // RulesFunction:
   bool RunAsyncOnCorrectThread() override;
+  void RecordUMA(const std::string& event_name) const override;
 };
 
 class EventsEventGetRulesFunction : public RulesFunction {
@@ -62,6 +67,7 @@
 
   // RulesFunction:
   bool RunAsyncOnCorrectThread() override;
+  void RecordUMA(const std::string& event_name) const override;
 };
 
 }  // namespace extensions
diff --git a/extensions/browser/api/web_request/web_request_api.cc b/extensions/browser/api/web_request/web_request_api.cc
index ea2a7fe..334f3f4 100644
--- a/extensions/browser/api/web_request/web_request_api.cc
+++ b/extensions/browser/api/web_request/web_request_api.cc
@@ -1999,6 +1999,13 @@
     return true;
   }
 
+  if (is_web_view_guest) {
+    const bool has_declarative_rules = !relevant_registries.empty();
+    UMA_HISTOGRAM_BOOLEAN(
+        "Extensions.DeclarativeWebRequest.WebViewRequestDeclarativeRules",
+        has_declarative_rules);
+  }
+
   base::Time start = base::Time::Now();
 
   bool deltas_created = false;
diff --git a/extensions/shell/BUILD.gn b/extensions/shell/BUILD.gn
index b25f58b..31e9417 100644
--- a/extensions/shell/BUILD.gn
+++ b/extensions/shell/BUILD.gn
@@ -32,7 +32,6 @@
   deps = [
     ":resources",
     ":version_header",
-    "//apps",
     "//base",
     "//components/guest_view/browser",
     "//components/guest_view/common",
diff --git a/extensions/shell/DEPS b/extensions/shell/DEPS
index b807024..eeb99ae5 100644
--- a/extensions/shell/DEPS
+++ b/extensions/shell/DEPS
@@ -1,4 +1,7 @@
 include_rules = [
+  # The apps module has dependencies on chrome.
+  "-apps",
+
   # Individual subdirectories should have their own DEPS that include
   # their allowed directories.
   "-extensions/shell",
diff --git a/extensions/shell/browser/DEPS b/extensions/shell/browser/DEPS
index 274f5f61..e834fe1 100644
--- a/extensions/shell/browser/DEPS
+++ b/extensions/shell/browser/DEPS
@@ -1,5 +1,4 @@
 include_rules = [
-  "+apps",
   "+chromeos",
   "+components/keyed_service",
   "+components/nacl/browser",
diff --git a/extensions/shell/browser/default_shell_browser_main_delegate.cc b/extensions/shell/browser/default_shell_browser_main_delegate.cc
index 74a5473..c73a35f9 100644
--- a/extensions/shell/browser/default_shell_browser_main_delegate.cc
+++ b/extensions/shell/browser/default_shell_browser_main_delegate.cc
@@ -4,11 +4,9 @@
 
 #include "extensions/shell/browser/default_shell_browser_main_delegate.h"
 
-#include "apps/launcher.h"
 #include "base/command_line.h"
 #include "base/files/file_path.h"
 #include "base/files/file_util.h"
-#include "base/path_service.h"
 #include "base/strings/string_tokenizer.h"
 #include "build/build_config.h"
 #include "extensions/common/switches.h"
@@ -45,25 +43,22 @@
                            base::CommandLine::StringType::const_iterator>
         tokenizer(path_list, FILE_PATH_LITERAL(","));
 
-    const Extension* launch_app = nullptr;
+    std::string launch_id;
     while (tokenizer.GetNext()) {
       base::FilePath app_absolute_dir =
           base::MakeAbsoluteFilePath(base::FilePath(tokenizer.token()));
 
       const Extension* extension = extension_system->LoadApp(app_absolute_dir);
-      if (extension && !launch_app)
-        launch_app = extension;
+      if (!extension)
+        continue;
+      if (launch_id.empty())
+        launch_id = extension->id();
     }
 
-    if (launch_app) {
-      base::FilePath current_directory;
-      base::PathService::Get(base::DIR_CURRENT, &current_directory);
-      apps::LaunchPlatformAppWithCommandLineAndLaunchId(
-          browser_context, launch_app, launch_app->id(), *command_line,
-          current_directory, SOURCE_COMMAND_LINE);
-    } else {
+    if (!launch_id.empty())
+      extension_system->LaunchApp(launch_id);
+    else
       LOG(ERROR) << "Could not load any apps.";
-    }
   } else {
     LOG(ERROR) << "--" << switches::kLoadApps
                << " unset; boredom is in your future";
diff --git a/gpu/GLES2/extensions/CHROMIUM/EGL_CHROMIUM_get_sync_values.txt b/gpu/GLES2/extensions/CHROMIUM/EGL_CHROMIUM_sync_control.txt
similarity index 90%
rename from gpu/GLES2/extensions/CHROMIUM/EGL_CHROMIUM_get_sync_values.txt
rename to gpu/GLES2/extensions/CHROMIUM/EGL_CHROMIUM_sync_control.txt
index d95b348c..91a3019 100644
--- a/gpu/GLES2/extensions/CHROMIUM/EGL_CHROMIUM_get_sync_values.txt
+++ b/gpu/GLES2/extensions/CHROMIUM/EGL_CHROMIUM_sync_control.txt
@@ -1,10 +1,10 @@
 Name
 
-   CHROMIUM_get_sync_values
+   CHROMIUM_sync_control
 
 Name Strings
 
-   EGL_CHROMIUM_get_sync_values
+   EGL_CHROMIUM_sync_control
 
 Contact
 
@@ -16,7 +16,7 @@
 
 Version
 
-   Last Modified Date: N/A   Revision: 1.0
+   Version 2, 2017-05-05
 
    Based on GLX_OML_sync_control Revision 6.0
 
@@ -129,3 +129,13 @@
 New Implementation Dependent State
 
    None
+
+Revision History
+
+    Version 2, 2015-05-05 (Chad Versace)
+       - Rename to EGL_CHROMIUM_sync_control from EGL_CHROMIUM_get_sync_values.
+         EGL_CHROMIUM_sync_control is the de facto extension name because all
+         users query that extension string.
+
+    Version 1, 2014-08-15 (Stéphane Marchesin)
+       - Initial draft, based on GLX_OML_sync_control revision 6.0.
diff --git a/ipc/ipc_message_utils.cc b/ipc/ipc_message_utils.cc
index a173226..e8aeee4 100644
--- a/ipc/ipc_message_utils.cc
+++ b/ipc/ipc_message_utils.cc
@@ -620,6 +620,8 @@
 
 void ParamTraits<base::FileDescriptor>::Write(base::Pickle* m,
                                               const param_type& p) {
+  // This serialization must be kept in sync with
+  // nacl_ipc_adapater.cc:WriteHandle().
   const bool valid = p.fd >= 0;
   WriteParam(m, valid);
 
@@ -677,54 +679,13 @@
 #if defined(OS_MACOSX) && !defined(OS_IOS)
 void ParamTraits<base::SharedMemoryHandle>::GetSize(base::PickleSizer* sizer,
                                                     const param_type& p) {
-  GetParamSize(sizer, p.GetMemoryObject());
-  uint32_t dummy = 0;
-  GetParamSize(sizer, dummy);
-}
-
-void ParamTraits<base::SharedMemoryHandle>::Write(base::Pickle* m,
-                                                  const param_type& p) {
-  MachPortMac mach_port_mac(p.GetMemoryObject());
-  ParamTraits<MachPortMac>::Write(m, mach_port_mac);
-  size_t size = 0;
-  bool result = p.GetSize(&size);
-  DCHECK(result);
-  ParamTraits<uint32_t>::Write(m, static_cast<uint32_t>(size));
-
-  // If the caller intended to pass ownership to the IPC stack, release a
-  // reference.
-  if (p.OwnershipPassesToIPC())
-    p.Close();
-}
-
-bool ParamTraits<base::SharedMemoryHandle>::Read(const base::Pickle* m,
-                                                 base::PickleIterator* iter,
-                                                 param_type* r) {
-  MachPortMac mach_port_mac;
-  if (!ParamTraits<MachPortMac>::Read(m, iter, &mach_port_mac))
-    return false;
-
-  uint32_t size;
-  if (!ParamTraits<uint32_t>::Read(m, iter, &size))
-    return false;
-
-  *r = base::SharedMemoryHandle(mach_port_mac.get_mach_port(),
-                                static_cast<size_t>(size));
-  return true;
-}
-
-void ParamTraits<base::SharedMemoryHandle>::Log(const param_type& p,
-                                                std::string* l) {
-  l->append("Mach port: ");
-  LogParam(p.GetMemoryObject(), l);
-}
-
-#elif defined(OS_WIN)
-void ParamTraits<base::SharedMemoryHandle>::GetSize(base::PickleSizer* s,
-                                                    const param_type& p) {
-  GetParamSize(s, p.IsValid());
-  if (p.IsValid())
-    GetParamSize(s, p.GetHandle());
+  GetParamSize(sizer, p.IsValid());
+  if (p.IsValid()) {
+    GetParamSize(sizer, p.GetMemoryObject());
+    GetParamSize(sizer, p.GetGUID());
+    uint32_t dummy = 0;
+    GetParamSize(sizer, dummy);
+  }
 }
 
 void ParamTraits<base::SharedMemoryHandle>::Write(base::Pickle* m,
@@ -735,8 +696,15 @@
   if (!valid)
     return;
 
-  HandleWin handle_win(p.GetHandle(), HandleWin::DUPLICATE);
-  ParamTraits<HandleWin>::Write(m, handle_win);
+  MachPortMac mach_port_mac(p.GetMemoryObject());
+  WriteParam(m, mach_port_mac);
+  DCHECK(!p.GetGUID().is_empty());
+  WriteParam(m, p.GetGUID());
+
+  size_t size = 0;
+  bool result = p.GetSize(&size);
+  DCHECK(result);
+  ParamTraits<uint32_t>::Write(m, static_cast<uint32_t>(size));
 
   // If the caller intended to pass ownership to the IPC stack, release a
   // reference.
@@ -755,27 +723,105 @@
   if (!valid)
     return true;
 
-  HandleWin handle_win;
-  if (!ParamTraits<HandleWin>::Read(m, iter, &handle_win))
+  MachPortMac mach_port_mac;
+  if (!ReadParam(m, iter, &mach_port_mac))
     return false;
-  *r = base::SharedMemoryHandle(handle_win.get_handle());
+
+  base::UnguessableToken guid;
+  if (!ReadParam(m, iter, &guid))
+    return false;
+
+  uint32_t size;
+  if (!ParamTraits<uint32_t>::Read(m, iter, &size))
+    return false;
+
+  *r = base::SharedMemoryHandle(mach_port_mac.get_mach_port(),
+                                static_cast<size_t>(size), guid);
   return true;
 }
 
 void ParamTraits<base::SharedMemoryHandle>::Log(const param_type& p,
                                                 std::string* l) {
+  l->append("Mach port: ");
+  LogParam(p.GetMemoryObject(), l);
+  l->append("GUID: ");
+  ParamTraits<base::UnguessableToken>::Log(p.GetGUID(), l);
+}
+
+#elif defined(OS_WIN)
+void ParamTraits<base::SharedMemoryHandle>::GetSize(base::PickleSizer* s,
+                                                    const param_type& p) {
+  GetParamSize(s, p.IsValid());
+  if (p.IsValid()) {
+    GetParamSize(s, p.GetHandle());
+    GetParamSize(s, p.GetGUID());
+  }
+}
+
+void ParamTraits<base::SharedMemoryHandle>::Write(base::Pickle* m,
+                                                  const param_type& p) {
+  const bool valid = p.IsValid();
+  WriteParam(m, valid);
+
+  if (!valid)
+    return;
+
+  HandleWin handle_win(p.GetHandle(), HandleWin::DUPLICATE);
+  WriteParam(m, handle_win);
+
+  // If the caller intended to pass ownership to the IPC stack, release a
+  // reference.
+  if (p.OwnershipPassesToIPC())
+    p.Close();
+
+  DCHECK(!p.GetGUID().is_empty());
+  WriteParam(m, p.GetGUID());
+}
+
+bool ParamTraits<base::SharedMemoryHandle>::Read(const base::Pickle* m,
+                                                 base::PickleIterator* iter,
+                                                 param_type* r) {
+  *r = base::SharedMemoryHandle();
+
+  bool valid;
+  if (!ReadParam(m, iter, &valid))
+    return false;
+  if (!valid)
+    return true;
+
+  HandleWin handle_win;
+  if (!ReadParam(m, iter, &handle_win))
+    return false;
+
+  base::UnguessableToken guid;
+  if (!ReadParam(m, iter, &guid))
+    return false;
+
+  *r = base::SharedMemoryHandle(handle_win.get_handle(), guid);
+  return true;
+}
+
+void ParamTraits<base::SharedMemoryHandle>::Log(const param_type& p,
+                                                std::string* l) {
+  l->append("HANDLE: ");
   LogParam(p.GetHandle(), l);
+  l->append("GUID: ");
+  ParamTraits<base::UnguessableToken>::Log(p.GetGUID(), l);
 }
 #elif defined(OS_POSIX)
 void ParamTraits<base::SharedMemoryHandle>::GetSize(base::PickleSizer* sizer,
                                                     const param_type& p) {
   GetParamSize(sizer, p.IsValid());
-  if (p.IsValid())
+  if (p.IsValid()) {
     sizer->AddAttachment();
+    GetParamSize(sizer, p.GetGUID());
+  }
 }
 
 void ParamTraits<base::SharedMemoryHandle>::Write(base::Pickle* m,
                                                   const param_type& p) {
+  // This serialization must be kept in sync with
+  // nacl_ipc_adapater.cc:WriteHandle().
   const bool valid = p.IsValid();
   WriteParam(m, valid);
 
@@ -791,6 +837,8 @@
             new internal::PlatformFileAttachment(p.GetHandle())))
       NOTREACHED();
   }
+  DCHECK(!p.GetGUID().is_empty());
+  WriteParam(m, p.GetGUID());
 }
 
 bool ParamTraits<base::SharedMemoryHandle>::Read(const base::Pickle* m,
@@ -814,10 +862,16 @@
     return false;
   }
 
-  *r = base::SharedMemoryHandle(base::FileDescriptor(
-      static_cast<internal::PlatformFileAttachment*>(attachment.get())
-          ->TakePlatformFile(),
-      true));
+  base::UnguessableToken guid;
+  if (!ReadParam(m, iter, &guid))
+    return false;
+
+  *r = base::SharedMemoryHandle(
+      base::FileDescriptor(
+          static_cast<internal::PlatformFileAttachment*>(attachment.get())
+              ->TakePlatformFile(),
+          true),
+      guid);
   return true;
 }
 
@@ -828,6 +882,8 @@
   } else {
     l->append(base::StringPrintf("FD(%d)", p.GetHandle()));
   }
+  l->append("GUID: ");
+  ParamTraits<base::UnguessableToken>::Log(p.GetGUID(), l);
 }
 #endif  // defined(OS_MACOSX) && !defined(OS_IOS)
 
@@ -1086,6 +1142,8 @@
                                                 const param_type& p) {
   DCHECK(!p.is_empty());
 
+  // This serialization must be kept in sync with
+  // nacl_ipc_adapater.cc:WriteHandle().
   ParamTraits<uint64_t>::Write(m, p.GetHighForSerialization());
   ParamTraits<uint64_t>::Write(m, p.GetLowForSerialization());
 }
diff --git a/media/capture/video/win/video_capture_device_win.cc b/media/capture/video/win/video_capture_device_win.cc
index b244df7..43bd83a 100644
--- a/media/capture/video/win/video_capture_device_win.cc
+++ b/media/capture/video/win/video_capture_device_win.cc
@@ -7,6 +7,7 @@
 #include <ks.h>
 #include <ksmedia.h>
 #include <objbase.h>
+#include <vidcap.h>
 
 #include <algorithm>
 #include <list>
@@ -26,10 +27,10 @@
 namespace media {
 
 #if DCHECK_IS_ON()
-#define DLOG_IF_FAILED_WITH_HRESULT(message, hr)                        \
-  {                                                                     \
-    DLOG_IF(ERROR, FAILED(hr)) << (message) << ": "                     \
-                               << logging::SystemErrorCodeToString(hr); \
+#define DLOG_IF_FAILED_WITH_HRESULT(message, hr)                      \
+  {                                                                   \
+    DLOG_IF(ERROR, FAILED(hr))                                        \
+        << (message) << ": " << logging::SystemErrorCodeToString(hr); \
   }
 #else
 #define DLOG_IF_FAILED_WITH_HRESULT(message, hr) \
@@ -62,6 +63,45 @@
   return SUCCEEDED(hr) && connection_media_type.majortype == major_type;
 }
 
+// Retrieves the control range and value using the provided getters, and
+// optionally returns the associated supported and current mode.
+template <typename RangeGetter, typename ValueGetter>
+mojom::RangePtr RetrieveControlRangeAndCurrent(
+    RangeGetter range_getter,
+    ValueGetter value_getter,
+    std::vector<mojom::MeteringMode>* supported_modes = nullptr,
+    mojom::MeteringMode* current_mode = nullptr) {
+  auto control_range = mojom::Range::New();
+  long min, max, step, default_value, flags;
+  HRESULT hr = range_getter(&min, &max, &step, &default_value, &flags);
+  DLOG_IF_FAILED_WITH_HRESULT("Control range reading failed", hr);
+  if (SUCCEEDED(hr)) {
+    control_range->min = min;
+    control_range->max = max;
+    control_range->step = step;
+    if (supported_modes != nullptr) {
+      if (flags && CameraControl_Flags_Auto)
+        supported_modes->push_back(mojom::MeteringMode::CONTINUOUS);
+      if (flags && CameraControl_Flags_Manual)
+        supported_modes->push_back(mojom::MeteringMode::MANUAL);
+    }
+  }
+  long current;
+  hr = value_getter(&current, &flags);
+  DLOG_IF_FAILED_WITH_HRESULT("Control value reading failed", hr);
+  if (SUCCEEDED(hr)) {
+    control_range->current = current;
+    if (current_mode != nullptr) {
+      if (flags && CameraControl_Flags_Auto)
+        *current_mode = mojom::MeteringMode::CONTINUOUS;
+      else if (flags && CameraControl_Flags_Manual)
+        *current_mode = mojom::MeteringMode::MANUAL;
+    }
+  }
+
+  return control_range;
+}
+
 // Finds and creates a DirectShow Video Capture filter matching the |device_id|.
 // static
 HRESULT VideoCaptureDeviceWin::GetDeviceFilter(const std::string& device_id,
@@ -93,8 +133,8 @@
 
     // Find |device_id| via DevicePath, Description or FriendlyName, whichever
     // is available first and is a VT_BSTR (i.e. String) type.
-    static const wchar_t* kPropertyNames[] = {
-        L"DevicePath", L"Description", L"FriendlyName"};
+    static const wchar_t* kPropertyNames[] = {L"DevicePath", L"Description",
+                                              L"FriendlyName"};
 
     ScopedVariant name;
     for (const auto* property_name : kPropertyNames) {
@@ -155,8 +195,7 @@
 }
 
 // static
-VideoPixelFormat
-VideoCaptureDeviceWin::TranslateMediaSubtypeToPixelFormat(
+VideoPixelFormat VideoCaptureDeviceWin::TranslateMediaSubtypeToPixelFormat(
     const GUID& sub_type) {
   static struct {
     const GUID& sub_type;
@@ -453,6 +492,134 @@
   take_photo_callbacks_.push(std::move(callback));
 }
 
+void VideoCaptureDeviceWin::GetPhotoCapabilities(
+    GetPhotoCapabilitiesCallback callback) {
+  DCHECK(thread_checker_.CalledOnValidThread());
+
+  base::win::ScopedComPtr<IKsTopologyInfo> info;
+  HRESULT hr = capture_filter_.CopyTo(info.Receive());
+  if (FAILED(hr)) {
+    SetErrorState(FROM_HERE, "Failed to obtain the topology info.", hr);
+    return;
+  }
+
+  DWORD num_nodes = 0;
+  hr = info->get_NumNodes(&num_nodes);
+  if (FAILED(hr)) {
+    SetErrorState(FROM_HERE, "Failed to obtain the number of nodes.", hr);
+    return;
+  }
+
+  // Every UVC camera is expected to have a single ICameraControl and a single
+  // IVideoProcAmp nodes, and both are needed; ignore any unlikely later ones.
+  GUID node_type;
+  base::win::ScopedComPtr<ICameraControl> camera_control;
+  for (size_t i = 0; i < num_nodes; i++) {
+    info->get_NodeType(i, &node_type);
+    if (IsEqualGUID(node_type, KSNODETYPE_VIDEO_CAMERA_TERMINAL)) {
+      hr = info->CreateNodeInstance(i, IID_PPV_ARGS(camera_control.Receive()));
+      if (SUCCEEDED(hr))
+        break;
+      SetErrorState(FROM_HERE, "Failed to retrieve the ICameraControl.", hr);
+      return;
+    }
+  }
+  if (!camera_control)
+    return;
+  base::win::ScopedComPtr<IVideoProcAmp> video_control;
+  for (size_t i = 0; i < num_nodes; i++) {
+    info->get_NodeType(i, &node_type);
+    if (IsEqualGUID(node_type, KSNODETYPE_VIDEO_PROCESSING)) {
+      hr = info->CreateNodeInstance(i, IID_PPV_ARGS(video_control.Receive()));
+      if (SUCCEEDED(hr))
+        break;
+      SetErrorState(FROM_HERE, "Failed to retrieve the IVideoProcAmp.", hr);
+      return;
+    }
+  }
+  if (!video_control)
+    return;
+
+  auto photo_capabilities = mojom::PhotoCapabilities::New();
+
+  photo_capabilities->exposure_compensation = RetrieveControlRangeAndCurrent(
+      [camera_control](auto... args) {
+        return camera_control->getRange_Exposure(args...);
+      },
+      [camera_control](auto... args) {
+        return camera_control->get_Exposure(args...);
+      },
+      &photo_capabilities->supported_exposure_modes,
+      &photo_capabilities->current_exposure_mode);
+
+  photo_capabilities->color_temperature = RetrieveControlRangeAndCurrent(
+      [video_control](auto... args) {
+        return video_control->getRange_WhiteBalance(args...);
+      },
+      [video_control](auto... args) {
+        return video_control->get_WhiteBalance(args...);
+      },
+      &photo_capabilities->supported_white_balance_modes,
+      &photo_capabilities->current_white_balance_mode);
+
+  // Ignore the returned Focus control range and status.
+  RetrieveControlRangeAndCurrent(
+      [camera_control](auto... args) {
+        return camera_control->getRange_Focus(args...);
+      },
+      [camera_control](auto... args) {
+        return camera_control->get_Focus(args...);
+      },
+      &photo_capabilities->supported_focus_modes,
+      &photo_capabilities->current_focus_mode);
+
+  photo_capabilities->iso = mojom::Range::New();
+
+  photo_capabilities->brightness = RetrieveControlRangeAndCurrent(
+      [video_control](auto... args) {
+        return video_control->getRange_Brightness(args...);
+      },
+      [video_control](auto... args) {
+        return video_control->get_Brightness(args...);
+      });
+  photo_capabilities->contrast = RetrieveControlRangeAndCurrent(
+      [video_control](auto... args) {
+        return video_control->getRange_Contrast(args...);
+      },
+      [video_control](auto... args) {
+        return video_control->get_Contrast(args...);
+      });
+  photo_capabilities->saturation = RetrieveControlRangeAndCurrent(
+      [video_control](auto... args) {
+        return video_control->getRange_Saturation(args...);
+      },
+      [video_control](auto... args) {
+        return video_control->get_Saturation(args...);
+      });
+  photo_capabilities->sharpness = RetrieveControlRangeAndCurrent(
+      [video_control](auto... args) {
+        return video_control->getRange_Sharpness(args...);
+      },
+      [video_control](auto... args) {
+        return video_control->get_Sharpness(args...);
+      });
+
+  photo_capabilities->zoom = RetrieveControlRangeAndCurrent(
+      [camera_control](auto... args) {
+        return camera_control->getRange_Zoom(args...);
+      },
+      [camera_control](auto... args) {
+        return camera_control->get_Zoom(args...);
+      });
+
+  photo_capabilities->red_eye_reduction = mojom::RedEyeReduction::NEVER;
+  photo_capabilities->height = mojom::Range::New();
+  photo_capabilities->width = mojom::Range::New();
+  photo_capabilities->torch = false;
+
+  callback.Run(std::move(photo_capabilities));
+}
+
 // Implements SinkFilterObserver::SinkFilterObserver.
 void VideoCaptureDeviceWin::FrameReceived(const uint8_t* buffer,
                                           int length,
diff --git a/media/capture/video/win/video_capture_device_win.h b/media/capture/video/win/video_capture_device_win.h
index 108a1312..ac75421 100644
--- a/media/capture/video/win/video_capture_device_win.h
+++ b/media/capture/video/win/video_capture_device_win.h
@@ -76,6 +76,7 @@
       std::unique_ptr<VideoCaptureDevice::Client> client) override;
   void StopAndDeAllocate() override;
   void TakePhoto(TakePhotoCallback callback) override;
+  void GetPhotoCapabilities(GetPhotoCapabilitiesCallback callback) override;
 
  private:
   enum InternalState {
diff --git a/media/test/data/README b/media/test/data/README
index b28de988..0d444e8 100644
--- a/media/test/data/README
+++ b/media/test/data/README
@@ -64,9 +64,9 @@
 bear-1280x720-v_frag-cenc-key_rotation.mp4 - A fragmented MP4 version of the video track of bear-1280x720.mp4 encrypted (ISO CENC) using key ID [1] and key [2] with key rotation [3].
 bear-1280x720-v_frag-cenc_clear-all.mp4 - Same as bear-1280x720-v_frag-cenc.mp4 but no fragments are encrypted.
 bear-1280x720-a_frag-cenc_missing-saiz-saio.mp4 - An invalid file similar to bear-1280x720-a_frag-cenc.mp4 but has no saiz and saio boxes. To save space, it has only one encrypted sample.
-bear-320x240-v_frag-vp9.mp4 - Bear video with VP9 codec in MP4 container. Generated with shaka-packager (https://github.com/google/shaka-packager):
+bear-320x240-v_frag-vp9.mp4 - Bear video with VP9 codec in MP4 container. Generated with shaka-packager 1e2da22c8809c17cc4dfdb45924ec45e42058393 (https://github.com/google/shaka-packager):
                               packager in=bear-vp9.webm,stream=video,out=bear-320x240-v_frag-vp9.mp4
-bear-320x240-v_frag-vp9-cenc.mp4 - Same as above, with video encrypted using key ID [1] and key [2]. Generated with shaka-packager (https://github.com/google/shaka-packager):
+bear-320x240-v_frag-vp9-cenc.mp4 - Same as above, with video encrypted using key ID [1] and key [2]. Generated with shaka-packager 1e2da22c8809c17cc4dfdb45924ec45e42058393 (https://github.com/google/shaka-packager):
                                    packager in=bear-vp9.webm,stream=video,out=bear-320x240-v_frag-vp9-cenc.mp4 --enable_fixed_key_encryption --key_id 30313233343536373839303132333435
                                             --key ebdd62f16814d27b68ef122afce4ae3c --clear_lead 0
                                             --pssh 0000003470737368010000001077EFECC0B24D02ACE33C1E52E2FB4B000000013031323334353637383930313233343500000000000000467073736800000000EDEF8BA979D64ACEA3C827DCD51D21ED000000261210303132333435363738393031323334351A00221030313233343536373839303132333435
diff --git a/media/test/data/bear-320x240-v_frag-vp9-cenc.mp4 b/media/test/data/bear-320x240-v_frag-vp9-cenc.mp4
index 03027b1..3d7b3c2 100644
--- a/media/test/data/bear-320x240-v_frag-vp9-cenc.mp4
+++ b/media/test/data/bear-320x240-v_frag-vp9-cenc.mp4
Binary files differ
diff --git a/media/test/data/bear-320x240-v_frag-vp9.mp4 b/media/test/data/bear-320x240-v_frag-vp9.mp4
index 241240d6..7170ffa 100644
--- a/media/test/data/bear-320x240-v_frag-vp9.mp4
+++ b/media/test/data/bear-320x240-v_frag-vp9.mp4
Binary files differ
diff --git a/media/test/pipeline_integration_test.cc b/media/test/pipeline_integration_test.cc
index 69b7da0..3b7a8ce 100644
--- a/media/test/pipeline_integration_test.cc
+++ b/media/test/pipeline_integration_test.cc
@@ -102,7 +102,8 @@
 const char kADTS[] = "audio/aac";
 const char kMP4[] = "video/mp4; codecs=\"avc1.4D4041,mp4a.40.2\"";
 const char kMP4VideoAVC3[] = "video/mp4; codecs=\"avc3.64001f\"";
-const char kMP4VideoVP9[] = "video/mp4; codecs=\"vp09.00.10.08.01.05.01\"";
+const char kMP4VideoVP9[] =
+    "video/mp4; codecs=\"vp09.00.10.08.01.02.02.02.00\"";
 const char kMP4VideoHEVC1[] = "video/mp4; codecs=\"hvc1.1.6.L93.B0\"";
 const char kMP4VideoHEVC2[] = "video/mp4; codecs=\"hev1.1.6.L93.B0\"";
 const char kMP4Video[] = "video/mp4; codecs=\"avc1.4D4041\"";
diff --git a/mojo/edk/embedder/platform_shared_buffer.cc b/mojo/edk/embedder/platform_shared_buffer.cc
index 6e11f05..7548b4d 100644
--- a/mojo/edk/embedder/platform_shared_buffer.cc
+++ b/mojo/edk/embedder/platform_shared_buffer.cc
@@ -233,14 +233,16 @@
     ScopedPlatformHandle platform_handle) {
   DCHECK(!shared_memory_);
 
+  // TODO(rockot): Pass GUIDs through Mojo. https://crbug.com/713763.
+  base::UnguessableToken guid = base::UnguessableToken::Create();
 #if defined(OS_WIN)
-  base::SharedMemoryHandle handle(platform_handle.release().handle);
+  base::SharedMemoryHandle handle(platform_handle.release().handle, guid);
 #elif defined(OS_MACOSX) && !defined(OS_IOS)
-  base::SharedMemoryHandle handle;
-  handle = base::SharedMemoryHandle(platform_handle.release().port, num_bytes_);
+  base::SharedMemoryHandle handle = base::SharedMemoryHandle(
+      platform_handle.release().port, num_bytes_, guid);
 #else
   base::SharedMemoryHandle handle(
-      base::FileDescriptor(platform_handle.release().handle, false));
+      base::FileDescriptor(platform_handle.release().handle, false), guid);
 #endif
 
   shared_memory_.reset(new base::SharedMemory(handle, read_only_));
@@ -255,14 +257,16 @@
   return false;
 #else  // defined(OS_MACOSX)
 
+  // TODO(rockot): Pass GUIDs through Mojo. https://crbug.com/713763.
+  base::UnguessableToken guid = base::UnguessableToken::Create();
 #if defined(OS_WIN)
-  base::SharedMemoryHandle handle(rw_platform_handle.release().handle);
-  base::SharedMemoryHandle ro_handle(ro_platform_handle.release().handle);
+  base::SharedMemoryHandle handle(rw_platform_handle.release().handle, guid);
+  base::SharedMemoryHandle ro_handle(ro_platform_handle.release().handle, guid);
 #else  // defined(OS_WIN)
   base::SharedMemoryHandle handle(
-      base::FileDescriptor(rw_platform_handle.release().handle, false));
+      base::FileDescriptor(rw_platform_handle.release().handle, false), guid);
   base::SharedMemoryHandle ro_handle(
-      base::FileDescriptor(ro_platform_handle.release().handle, false));
+      base::FileDescriptor(ro_platform_handle.release().handle, false), guid);
 #endif  // defined(OS_WIN)
 
   DCHECK(!shared_memory_);
diff --git a/mojo/edk/system/platform_wrapper_unittest.cc b/mojo/edk/system/platform_wrapper_unittest.cc
index c049fa3..1719c9d 100644
--- a/mojo/edk/system/platform_wrapper_unittest.cc
+++ b/mojo/edk/system/platform_wrapper_unittest.cc
@@ -161,18 +161,20 @@
   bool read_only = flags & MOJO_PLATFORM_SHARED_BUFFER_HANDLE_FLAG_NONE;
   EXPECT_FALSE(read_only);
 
+  // TODO(rockot): Pass GUIDs through Mojo. https://crbug.com/713763.
+  base::UnguessableToken guid = base::UnguessableToken::Create();
 #if defined(OS_MACOSX) && !defined(OS_IOS)
   ASSERT_EQ(MOJO_PLATFORM_HANDLE_TYPE_MACH_PORT, os_buffer.type);
   base::SharedMemoryHandle memory_handle(
-      static_cast<mach_port_t>(os_buffer.value), size);
+      static_cast<mach_port_t>(os_buffer.value), size, guid);
 #elif defined(OS_POSIX)
   ASSERT_EQ(MOJO_PLATFORM_HANDLE_TYPE_FILE_DESCRIPTOR, os_buffer.type);
   base::SharedMemoryHandle memory_handle(
-      base::FileDescriptor(static_cast<int>(os_buffer.value), false));
+      base::FileDescriptor(static_cast<int>(os_buffer.value), false), guid);
 #elif defined(OS_WIN)
   ASSERT_EQ(MOJO_PLATFORM_HANDLE_TYPE_WINDOWS_HANDLE, os_buffer.type);
   base::SharedMemoryHandle memory_handle(
-      reinterpret_cast<HANDLE>(os_buffer.value));
+      reinterpret_cast<HANDLE>(os_buffer.value), guid);
 #endif
 
   base::SharedMemory memory(memory_handle, read_only);
diff --git a/mojo/public/cpp/system/platform_handle.cc b/mojo/public/cpp/system/platform_handle.cc
index 7cedb3ac..05bc215 100644
--- a/mojo/public/cpp/system/platform_handle.cc
+++ b/mojo/public/cpp/system/platform_handle.cc
@@ -114,18 +114,21 @@
   if (read_only)
     *read_only = flags & MOJO_PLATFORM_SHARED_BUFFER_HANDLE_FLAG_READ_ONLY;
 
+  // TODO(rockot): Pass GUIDs through Mojo. https://crbug.com/713763.
+  base::UnguessableToken guid = base::UnguessableToken::Create();
 #if defined(OS_MACOSX) && !defined(OS_IOS)
   CHECK_EQ(platform_handle.type, MOJO_PLATFORM_HANDLE_TYPE_MACH_PORT);
   *memory_handle = base::SharedMemoryHandle(
-      static_cast<mach_port_t>(platform_handle.value), num_bytes);
+      static_cast<mach_port_t>(platform_handle.value), num_bytes, guid);
 #elif defined(OS_POSIX)
   CHECK_EQ(platform_handle.type, MOJO_PLATFORM_HANDLE_TYPE_FILE_DESCRIPTOR);
   *memory_handle = base::SharedMemoryHandle(
-      base::FileDescriptor(static_cast<int>(platform_handle.value), false));
+      base::FileDescriptor(static_cast<int>(platform_handle.value), false),
+      guid);
 #elif defined(OS_WIN)
   CHECK_EQ(platform_handle.type, MOJO_PLATFORM_HANDLE_TYPE_WINDOWS_HANDLE);
-  *memory_handle =
-      base::SharedMemoryHandle(reinterpret_cast<HANDLE>(platform_handle.value));
+  *memory_handle = base::SharedMemoryHandle(
+      reinterpret_cast<HANDLE>(platform_handle.value), guid);
 #endif
 
   return MOJO_RESULT_OK;
diff --git a/net/cert/cert_verify_proc.cc b/net/cert/cert_verify_proc.cc
index 13f0375..60fc941 100644
--- a/net/cert/cert_verify_proc.cc
+++ b/net/cert/cert_verify_proc.cc
@@ -428,6 +428,7 @@
 
   // Check algorithm-specific parameters.
   switch (algorithm->algorithm()) {
+    case SignatureAlgorithmId::Dsa:
     case SignatureAlgorithmId::RsaPkcs1:
     case SignatureAlgorithmId::Ecdsa:
       DCHECK(!algorithm->has_params());
diff --git a/net/cert/internal/parsed_certificate.cc b/net/cert/internal/parsed_certificate.cc
index 97a432aa..f164437 100644
--- a/net/cert/internal/parsed_certificate.cc
+++ b/net/cert/internal/parsed_certificate.cc
@@ -101,12 +101,10 @@
   }
 
   // Attempt to parse the signature algorithm contained in the Certificate.
-  // Do not give up on failure here, since SignatureAlgorithm::Create
-  // will fail on valid but unsupported signature algorithms.
-  // TODO(mattm): should distinguish between unsupported algorithms and parsing
-  // errors.
   result->signature_algorithm_ =
       SignatureAlgorithm::Create(result->signature_algorithm_tlv_, errors);
+  if (!result->signature_algorithm_)
+    return nullptr;
 
   der::Input subject_value;
   if (!GetSequenceValue(result->tbs_.subject_tlv, &subject_value) ||
diff --git a/net/cert/internal/parsed_certificate.h b/net/cert/internal/parsed_certificate.h
index 9b561a0..f078af1 100644
--- a/net/cert/internal/parsed_certificate.h
+++ b/net/cert/internal/parsed_certificate.h
@@ -96,14 +96,7 @@
   // Accessor for struct containing raw fields of the TbsCertificate.
   const ParsedTbsCertificate& tbs() const { return tbs_; }
 
-  // Returns true if the signatureAlgorithm of the Certificate is supported and
-  // valid.
-  bool has_valid_supported_signature_algorithm() const {
-    return signature_algorithm_ != nullptr;
-  }
-
   // Returns the signatureAlgorithm of the Certificate (not the tbsCertificate).
-  // Must not be called if has_valid_supported_signature_algorithm() is false.
   const SignatureAlgorithm& signature_algorithm() const {
     DCHECK(signature_algorithm_);
     return *signature_algorithm_;
diff --git a/net/cert/internal/signature_algorithm.cc b/net/cert/internal/signature_algorithm.cc
index 285ae61d..a284975 100644
--- a/net/cert/internal/signature_algorithm.cc
+++ b/net/cert/internal/signature_algorithm.cc
@@ -9,6 +9,8 @@
 
 #include "base/memory/ptr_util.h"
 #include "base/numerics/safe_math.h"
+#include "net/cert/internal/cert_error_params.h"
+#include "net/cert/internal/cert_errors.h"
 #include "net/der/input.h"
 #include "net/der/parse_values.h"
 #include "net/der/parser.h"
@@ -134,6 +136,24 @@
 
 // From RFC 5912:
 //
+//     dsa-with-sha1 OBJECT IDENTIFIER ::=  {
+//      iso(1) member-body(2) us(840) x9-57(10040) x9algorithm(4) 3 }
+//
+// In dotted notation: 1.2.840.10040.4.3
+const uint8_t kOidDsaWithSha1[] = {0x2a, 0x86, 0x48, 0xce, 0x38, 0x04, 0x03};
+
+// From RFC 5912:
+//
+//     dsa-with-sha256 OBJECT IDENTIFIER  ::=  {
+//      joint-iso-ccitt(2) country(16) us(840) organization(1) gov(101)
+//      csor(3) algorithms(4) id-dsa-with-sha2(3) 2 }
+//
+// In dotted notation: 2.16.840.1.101.3.4.3.2
+const uint8_t kOidDsaWithSha256[] = {0x60, 0x86, 0x48, 0x01, 0x65,
+                                     0x03, 0x04, 0x03, 0x02};
+
+// From RFC 5912:
+//
 //     id-sha1 OBJECT IDENTIFIER ::= {
 //      iso(1) identified-organization(3) oiw(14) secsig(3)
 //      algorithm(2) 26 }
@@ -286,6 +306,22 @@
   return SignatureAlgorithm::CreateRsaPkcs1(digest);
 }
 
+// Parses a DSA signature algorithm given the DER-encoded
+// "parameters" from the parsed AlgorithmIdentifier, and the hash algorithm
+// that was implied by the AlgorithmIdentifier's OID.
+//
+// Returns a nullptr on failure.
+//
+// RFC 5912 requires that the parameters for DSA algorithms be absent.
+std::unique_ptr<SignatureAlgorithm> ParseDsa(DigestAlgorithm digest,
+                                             const der::Input& params) {
+  // TODO(svaldez): Add warning about non-strict parsing.
+  if (!IsNull(params) && !IsEmpty(params))
+    return nullptr;
+
+  return SignatureAlgorithm::CreateDsa(digest);
+}
+
 // Parses an ECDSA signature algorithm given the DER-encoded "parameters" from
 // the parsed AlgorithmIdentifier, and the hash algorithm that was implied by
 // the AlgorithmIdentifier's OID.
@@ -511,6 +547,9 @@
   return SignatureAlgorithm::CreateRsaPss(hash, mgf1_hash, salt_length);
 }
 
+DEFINE_CERT_ERROR_ID(kUnknownAlgorithmIdentifierOid,
+                     "Unknown AlgorithmIdentifier OID");
+
 }  // namespace
 
 WARN_UNUSED_RESULT bool ParseHashAlgorithm(const der::Input& input,
@@ -605,10 +644,18 @@
   if (oid == der::Input(kOidMd5WithRsaEncryption))
     return ParseRsaPkcs1(DigestAlgorithm::Md5, params);
 
-  // TODO(crbug.com/634443): Add an error indicating what the OID
-  // was.
+  if (oid == der::Input(kOidDsaWithSha1))
+    return ParseDsa(DigestAlgorithm::Sha1, params);
 
-  return nullptr;  // Unsupported OID.
+  if (oid == der::Input(kOidDsaWithSha256))
+    return ParseDsa(DigestAlgorithm::Sha256, params);
+
+  // Unknown OID.
+  if (errors) {
+    errors->AddError(kUnknownAlgorithmIdentifierOid,
+                     CreateCertErrorParams2Der("oid", oid, "params", params));
+  }
+  return nullptr;
 }
 
 std::unique_ptr<SignatureAlgorithm> SignatureAlgorithm::CreateRsaPkcs1(
@@ -617,6 +664,12 @@
       new SignatureAlgorithm(SignatureAlgorithmId::RsaPkcs1, digest, nullptr));
 }
 
+std::unique_ptr<SignatureAlgorithm> SignatureAlgorithm::CreateDsa(
+    DigestAlgorithm digest) {
+  return base::WrapUnique(
+      new SignatureAlgorithm(SignatureAlgorithmId::Dsa, digest, nullptr));
+}
+
 std::unique_ptr<SignatureAlgorithm> SignatureAlgorithm::CreateEcdsa(
     DigestAlgorithm digest) {
   return base::WrapUnique(
@@ -656,6 +709,7 @@
   switch (alg1->algorithm()) {
     case SignatureAlgorithmId::RsaPkcs1:
     case SignatureAlgorithmId::Ecdsa:
+    case SignatureAlgorithmId::Dsa:
       DCHECK(!alg1->has_params());
       DCHECK(!alg2->has_params());
       return true;
diff --git a/net/cert/internal/signature_algorithm.h b/net/cert/internal/signature_algorithm.h
index 58b9582..9c691ec 100644
--- a/net/cert/internal/signature_algorithm.h
+++ b/net/cert/internal/signature_algorithm.h
@@ -38,6 +38,7 @@
   RsaPkcs1,  // RSA PKCS#1 v1.5
   RsaPss,    // RSASSA-PSS
   Ecdsa,     // ECDSA
+  Dsa,       // DSA
 };
 
 // Parses a HashAlgorithm as defined by RFC 5912:
@@ -102,6 +103,7 @@
   // Guaranteed to return non-null result.
   static std::unique_ptr<SignatureAlgorithm> CreateRsaPkcs1(
       DigestAlgorithm digest);
+  static std::unique_ptr<SignatureAlgorithm> CreateDsa(DigestAlgorithm digest);
   static std::unique_ptr<SignatureAlgorithm> CreateEcdsa(
       DigestAlgorithm digest);
   static std::unique_ptr<SignatureAlgorithm> CreateRsaPss(
diff --git a/net/cert/internal/signature_algorithm_unittest.cc b/net/cert/internal/signature_algorithm_unittest.cc
index 6e7c4731..5688cc0 100644
--- a/net/cert/internal/signature_algorithm_unittest.cc
+++ b/net/cert/internal/signature_algorithm_unittest.cc
@@ -1127,6 +1127,65 @@
   EXPECT_EQ(DigestAlgorithm::Md2, algorithm->digest());
 }
 
+// Parses a dsaWithSha1 which contains no parameters field.
+//
+//   SEQUENCE (1 elem)
+//       OBJECT IDENTIFIER  1.2.840.10040.4.3
+TEST(SignatureAlgorithmTest, ParseDerDsaWithSha1NoParams) {
+  // clang-format off
+  const uint8_t kData[] = {
+      0x30, 0x09,  // SEQUENCE (9 bytes)
+      0x06, 0x07,  // OBJECT IDENTIFIER (7 bytes)
+      0x2a, 0x86, 0x48, 0xce, 0x38, 0x04, 0x03,
+  };
+  // clang-format on
+  std::unique_ptr<SignatureAlgorithm> algorithm;
+  ASSERT_TRUE(ParseDer(kData, &algorithm));
+
+  EXPECT_EQ(SignatureAlgorithmId::Dsa, algorithm->algorithm());
+  EXPECT_EQ(DigestAlgorithm::Sha1, algorithm->digest());
+}
+
+// Parses a dsaWithSha1 which contains a NULL parameters field.
+//
+//   SEQUENCE (2 elem)
+//       OBJECT IDENTIFIER  1.2.840.10040.4.3
+//       NULL
+TEST(SignatureAlgorithmTest, ParseDerDsaWithSha1NullParams) {
+  // clang-format off
+  const uint8_t kData[] = {
+      0x30, 0x0B,  // SEQUENCE (9 bytes)
+      0x06, 0x07,  // OBJECT IDENTIFIER (7 bytes)
+      0x2a, 0x86, 0x48, 0xce, 0x38, 0x04, 0x03,
+      0x05, 0x00,  // NULL (0 bytes)
+  };
+  // clang-format on
+  std::unique_ptr<SignatureAlgorithm> algorithm;
+  ASSERT_TRUE(ParseDer(kData, &algorithm));
+
+  EXPECT_EQ(SignatureAlgorithmId::Dsa, algorithm->algorithm());
+  EXPECT_EQ(DigestAlgorithm::Sha1, algorithm->digest());
+}
+
+// Parses a dsaWithSha256 which contains no parameters field.
+//
+//   SEQUENCE (1 elem)
+//       OBJECT IDENTIFIER  2.16.840.1.101.3.4.3.2
+TEST(SignatureAlgorithmTest, ParseDerDsaWithSha256NoParams) {
+  // clang-format off
+  const uint8_t kData[] = {
+      0x30, 0x0B,  // SEQUENCE (11 bytes)
+      0x06, 0x09,  // OBJECT IDENTIFIER (9 bytes)
+      0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x03, 0x02
+  };
+  // clang-format on
+  std::unique_ptr<SignatureAlgorithm> algorithm;
+  ASSERT_TRUE(ParseDer(kData, &algorithm));
+
+  EXPECT_EQ(SignatureAlgorithmId::Dsa, algorithm->algorithm());
+  EXPECT_EQ(DigestAlgorithm::Sha256, algorithm->digest());
+}
+
 }  // namespace
 
 }  // namespace net
diff --git a/net/cert/internal/signature_policy.cc b/net/cert/internal/signature_policy.cc
index 81896a99..d8a877c9 100644
--- a/net/cert/internal/signature_policy.cc
+++ b/net/cert/internal/signature_policy.cc
@@ -66,6 +66,8 @@
   //    SHA384
   //    SHA512
   switch (algorithm.algorithm()) {
+    case SignatureAlgorithmId::Dsa:
+      return false;
     case SignatureAlgorithmId::Ecdsa:
     case SignatureAlgorithmId::RsaPkcs1:
       return IsAcceptableDigest(algorithm.digest());
diff --git a/net/cert/internal/verify_certificate_chain.cc b/net/cert/internal/verify_certificate_chain.cc
index 15c4d68..2560b942 100644
--- a/net/cert/internal/verify_certificate_chain.cc
+++ b/net/cert/internal/verify_certificate_chain.cc
@@ -35,8 +35,6 @@
 DEFINE_CERT_ERROR_ID(
     kSignatureAlgorithmMismatch,
     "Certificate.signatureAlgorithm != TBSCertificate.signature");
-DEFINE_CERT_ERROR_ID(kInvalidOrUnsupportedSignatureAlgorithm,
-                     "Invalid or unsupported signature algorithm");
 DEFINE_CERT_ERROR_ID(kChainIsEmpty, "Chain is empty");
 DEFINE_CERT_ERROR_ID(kChainIsLength1,
                      "TODO: Cannot verify a chain of length 1");
@@ -236,16 +234,10 @@
 
   // Verify the digital signature using the previous certificate's key (RFC
   // 5280 section 6.1.3 step a.1).
-  if (!cert.has_valid_supported_signature_algorithm()) {
-    errors->AddError(
-        kInvalidOrUnsupportedSignatureAlgorithm,
-        CreateCertErrorParams1Der("algorithm", cert.signature_algorithm_tlv()));
-  } else {
-    if (!VerifySignedData(cert.signature_algorithm(),
-                          cert.tbs_certificate_tlv(), cert.signature_value(),
-                          working_spki, signature_policy, errors)) {
-      errors->AddError(kVerifySignedDataFailed);
-    }
+  if (!VerifySignedData(cert.signature_algorithm(), cert.tbs_certificate_tlv(),
+                        cert.signature_value(), working_spki, signature_policy,
+                        errors)) {
+    errors->AddError(kVerifySignedDataFailed);
   }
 
   // Check the time range for the certificate's validity, ensuring it is valid
diff --git a/net/cert/internal/verify_signed_data.cc b/net/cert/internal/verify_signed_data.cc
index 28c8b7d..bb700fe67 100644
--- a/net/cert/internal/verify_signed_data.cc
+++ b/net/cert/internal/verify_signed_data.cc
@@ -184,42 +184,48 @@
                                  const der::Input& signed_data,
                                  const der::BitString& signature_value,
                                  EVP_PKEY* public_key) {
-  DCHECK(algorithm.algorithm() == SignatureAlgorithmId::RsaPkcs1 ||
-         algorithm.algorithm() == SignatureAlgorithmId::RsaPss ||
-         algorithm.algorithm() == SignatureAlgorithmId::Ecdsa);
+  switch (algorithm.algorithm()) {
+    case SignatureAlgorithmId::Dsa:
+      return false;
+    case SignatureAlgorithmId::RsaPkcs1:
+    case SignatureAlgorithmId::RsaPss:
+    case SignatureAlgorithmId::Ecdsa: {
+      // For the supported algorithms the signature value must be a whole
+      // number of bytes.
+      if (signature_value.unused_bits() != 0)
+        return false;
+      const der::Input& signature_value_bytes = signature_value.bytes();
 
-  // For the supported algorithms the signature value must be a whole
-  // number of bytes.
-  if (signature_value.unused_bits() != 0)
-    return false;
-  const der::Input& signature_value_bytes = signature_value.bytes();
+      crypto::OpenSSLErrStackTracer err_tracer(FROM_HERE);
 
-  crypto::OpenSSLErrStackTracer err_tracer(FROM_HERE);
+      bssl::ScopedEVP_MD_CTX ctx;
+      EVP_PKEY_CTX* pctx = nullptr;  // Owned by |ctx|.
 
-  bssl::ScopedEVP_MD_CTX ctx;
-  EVP_PKEY_CTX* pctx = nullptr;  // Owned by |ctx|.
+      const EVP_MD* digest;
+      if (!GetDigest(algorithm.digest(), &digest))
+        return false;
 
-  const EVP_MD* digest;
-  if (!GetDigest(algorithm.digest(), &digest))
-    return false;
+      if (!EVP_DigestVerifyInit(ctx.get(), &pctx, digest, nullptr, public_key))
+        return false;
 
-  if (!EVP_DigestVerifyInit(ctx.get(), &pctx, digest, nullptr, public_key))
-    return false;
+      // Set the RSASSA-PSS specific options.
+      if (algorithm.algorithm() == SignatureAlgorithmId::RsaPss &&
+          !ApplyRsaPssOptions(algorithm.ParamsForRsaPss(), pctx)) {
+        return false;
+      }
 
-  // Set the RSASSA-PSS specific options.
-  if (algorithm.algorithm() == SignatureAlgorithmId::RsaPss &&
-      !ApplyRsaPssOptions(algorithm.ParamsForRsaPss(), pctx)) {
-    return false;
+      if (!EVP_DigestVerifyUpdate(ctx.get(), signed_data.UnsafeData(),
+                                  signed_data.Length())) {
+        return false;
+      }
+
+      return 1 == EVP_DigestVerifyFinal(ctx.get(),
+                                        signature_value_bytes.UnsafeData(),
+                                        signature_value_bytes.Length());
+    }
   }
 
-  if (!EVP_DigestVerifyUpdate(ctx.get(), signed_data.UnsafeData(),
-                              signed_data.Length())) {
-    return false;
-  }
-
-  return 1 == EVP_DigestVerifyFinal(ctx.get(),
-                                    signature_value_bytes.UnsafeData(),
-                                    signature_value_bytes.Length());
+  return false;
 }
 
 // Parses an EC public key from SPKI to an EVP_PKEY.
@@ -306,6 +312,8 @@
 
   // Parse the SPKI to an EVP_PKEY appropriate for the signature algorithm.
   switch (signature_algorithm.algorithm()) {
+    case SignatureAlgorithmId::Dsa:
+      return false;
     case SignatureAlgorithmId::RsaPkcs1:
     case SignatureAlgorithmId::RsaPss:
       if (!ParseRsaKeyFromSpki(public_key_spki, &public_key, policy, errors))
diff --git a/net/quic/chromium/quic_chromium_client_session.cc b/net/quic/chromium/quic_chromium_client_session.cc
index e080708..042fb5a 100644
--- a/net/quic/chromium/quic_chromium_client_session.cc
+++ b/net/quic/chromium/quic_chromium_client_session.cc
@@ -297,7 +297,7 @@
   // base::MakeUnique does not work because the StreamRequest constructor
   // is private.
   stream_request_ = std::unique_ptr<StreamRequest>(
-      new StreamRequest(session_->CreateHandle(), requires_confirmation));
+      new StreamRequest(this, requires_confirmation));
   return stream_request_->StartRequest(callback);
 }
 
@@ -347,7 +347,7 @@
 }
 
 QuicChromiumClientSession::StreamRequest::StreamRequest(
-    std::unique_ptr<QuicChromiumClientSession::Handle> session,
+    QuicChromiumClientSession::Handle* session,
     bool requires_confirmation)
     : session_(std::move(session)),
       requires_confirmation_(requires_confirmation),
diff --git a/net/quic/chromium/quic_chromium_client_session.h b/net/quic/chromium/quic_chromium_client_session.h
index 2b0ffa28..a7e191214 100644
--- a/net/quic/chromium/quic_chromium_client_session.h
+++ b/net/quic/chromium/quic_chromium_client_session.h
@@ -206,7 +206,8 @@
       STATE_REQUEST_STREAM_COMPLETE,
     };
 
-    StreamRequest(std::unique_ptr<QuicChromiumClientSession::Handle> session,
+    // |session| must outlive this request.
+    StreamRequest(QuicChromiumClientSession::Handle* session,
                   bool requires_confirmation);
 
     void OnIOComplete(int rv);
@@ -227,7 +228,7 @@
     // if |session_| is destroyed while the stream request is still pending.
     void OnRequestCompleteFailure(int rv);
 
-    std::unique_ptr<QuicChromiumClientSession::Handle> session_;
+    QuicChromiumClientSession::Handle* session_;
     const bool requires_confirmation_;
     CompletionCallback callback_;
     QuicChromiumClientStream* stream_;
diff --git a/ppapi/proxy/nacl_message_scanner.cc b/ppapi/proxy/nacl_message_scanner.cc
index 19edce26..79e6fa7 100644
--- a/ppapi/proxy/nacl_message_scanner.cc
+++ b/ppapi/proxy/nacl_message_scanner.cc
@@ -59,9 +59,23 @@
                  base::Pickle* msg) {
   SerializedHandle::WriteHeader(handle.header(), msg);
 
-  if (handle.type() != SerializedHandle::INVALID) {
+  if (handle.type() == SerializedHandle::SHARED_MEMORY) {
     // Now write the handle itself in POSIX style.
-    // See ParamTraits<FileDescriptor>::Read for where these values are read.
+    // This serialization must be kept in sync with
+    // ParamTraits<SharedMemoryHandle>::Write and
+    // ParamTraits<UnguessableToken>::Write.
+    if (handle.shmem().IsValid()) {
+      msg->WriteBool(true);  // valid == true
+      msg->WriteInt(handle_index);
+      msg->WriteUInt64(handle.shmem().GetGUID().GetHighForSerialization());
+      msg->WriteUInt64(handle.shmem().GetGUID().GetLowForSerialization());
+    } else {
+      msg->WriteBool(false);  // valid == false
+    }
+  } else if (handle.type() != SerializedHandle::INVALID) {
+    // Now write the handle itself in POSIX style.
+    // This serialization must be kept in sync with
+    // ParamTraits<FileDescriptor>::Write.
     msg->WriteBool(true);  // valid == true
     msg->WriteInt(handle_index);
   }
diff --git a/remoting/host/it2me/it2me_host.cc b/remoting/host/it2me/it2me_host.cc
index 84bc3e3db..17e71435 100644
--- a/remoting/host/it2me/it2me_host.cc
+++ b/remoting/host/it2me/it2me_host.cc
@@ -28,7 +28,6 @@
 #include "remoting/host/host_status_logger.h"
 #include "remoting/host/it2me/it2me_confirmation_dialog.h"
 #include "remoting/host/it2me_desktop_environment.h"
-#include "remoting/host/policy_watcher.h"
 #include "remoting/host/register_support_host_request.h"
 #include "remoting/protocol/auth_util.h"
 #include "remoting/protocol/chromium_port_allocator_factory.h"
@@ -58,7 +57,6 @@
 
 It2MeHost::It2MeHost(
     std::unique_ptr<ChromotingHostContext> host_context,
-    std::unique_ptr<PolicyWatcher> policy_watcher,
     std::unique_ptr<It2MeConfirmationDialogFactory> dialog_factory,
     base::WeakPtr<It2MeHost::Observer> observer,
     std::unique_ptr<SignalStrategy> signal_strategy,
@@ -69,7 +67,6 @@
       signal_strategy_(std::move(signal_strategy)),
       username_(username),
       directory_bot_jid_(directory_bot_jid),
-      policy_watcher_(std::move(policy_watcher)),
       confirmation_dialog_factory_(std::move(dialog_factory)) {
   DCHECK(host_context_->ui_task_runner()->BelongsToCurrentThread());
 }
@@ -77,7 +74,6 @@
 It2MeHost::~It2MeHost() {
   // Check that resources that need to be torn down on the UI thread are gone.
   DCHECK(!desktop_environment_factory_.get());
-  DCHECK(!policy_watcher_.get());
 }
 
 void It2MeHost::Connect() {
@@ -92,11 +88,6 @@
       host_context_->video_capture_task_runner(),
       host_context_->input_task_runner(), host_context_->ui_task_runner()));
 
-  // Start monitoring configured policies.
-  policy_watcher_->StartWatching(
-      base::Bind(&It2MeHost::OnPolicyUpdate, this),
-      base::Bind(&It2MeHost::OnPolicyError, this));
-
   // Switch to the network thread to start the actual connection.
   host_context_->network_task_runner()->PostTask(
       FROM_HERE, base::Bind(&It2MeHost::ReadPolicyAndConnect, this));
@@ -132,8 +123,6 @@
   // Post tasks to delete UI objects on the UI thread.
   host_context_->ui_task_runner()->DeleteSoon(
       FROM_HERE, desktop_environment_factory_.release());
-  host_context_->ui_task_runner()->DeleteSoon(FROM_HERE,
-                                              policy_watcher_.release());
 
   SetState(kDisconnected, "");
 }
@@ -348,11 +337,6 @@
   }
 }
 
-void It2MeHost::OnPolicyError() {
-  // TODO(lukasza): Report the policy error to the user.  crbug.com/433009
-  NOTIMPLEMENTED();
-}
-
 void It2MeHost::UpdateNatPolicy(bool nat_traversal_enabled) {
   DCHECK(host_context_->network_task_runner()->BelongsToCurrentThread());
 
@@ -588,19 +572,14 @@
 
 scoped_refptr<It2MeHost> It2MeHostFactory::CreateIt2MeHost(
     std::unique_ptr<ChromotingHostContext> context,
-    policy::PolicyService* policy_service,
     base::WeakPtr<It2MeHost::Observer> observer,
     std::unique_ptr<SignalStrategy> signal_strategy,
     const std::string& username,
     const std::string& directory_bot_jid) {
   DCHECK(context->ui_task_runner()->BelongsToCurrentThread());
-
-  std::unique_ptr<PolicyWatcher> policy_watcher =
-      PolicyWatcher::Create(policy_service, context->file_task_runner());
-  return new It2MeHost(std::move(context), std::move(policy_watcher),
-                       base::MakeUnique<It2MeConfirmationDialogFactory>(),
-                       observer, std::move(signal_strategy), username,
-                       directory_bot_jid);
+  return new It2MeHost(
+      std::move(context), base::MakeUnique<It2MeConfirmationDialogFactory>(),
+      observer, std::move(signal_strategy), username, directory_bot_jid);
 }
 
 }  // namespace remoting
diff --git a/remoting/host/it2me/it2me_host.h b/remoting/host/it2me/it2me_host.h
index 95390c4..18df48c 100644
--- a/remoting/host/it2me/it2me_host.h
+++ b/remoting/host/it2me/it2me_host.h
@@ -22,10 +22,6 @@
 class DictionaryValue;
 }
 
-namespace policy {
-class PolicyService;
-}  // namespace policy
-
 namespace remoting {
 
 class ChromotingHost;
@@ -33,7 +29,6 @@
 class DesktopEnvironmentFactory;
 class HostEventLogger;
 class HostStatusLogger;
-class PolicyWatcher;
 class RegisterSupportHostRequest;
 class RsaKeyPair;
 
@@ -65,7 +60,6 @@
   };
 
   It2MeHost(std::unique_ptr<ChromotingHostContext> context,
-            std::unique_ptr<PolicyWatcher> policy_watcher,
             std::unique_ptr<It2MeConfirmationDialogFactory> dialog_factory_,
             base::WeakPtr<It2MeHost::Observer> observer,
             std::unique_ptr<SignalStrategy> signal_strategy,
@@ -99,6 +93,9 @@
   protocol::ValidatingAuthenticator::ValidationCallback
   GetValidationCallbackForTesting();
 
+  // Called when initial policies are read and when they change.
+  void OnPolicyUpdate(std::unique_ptr<base::DictionaryValue> policies);
+
  protected:
   friend class base::RefCountedThreadSafe<It2MeHost>;
 
@@ -130,12 +127,6 @@
                            const base::TimeDelta& lifetime,
                            const std::string& error_message);
 
-  // Called when initial policies are read, and when they change.
-  void OnPolicyUpdate(std::unique_ptr<base::DictionaryValue> policies);
-
-  // Called when malformed policies are detected.
-  void OnPolicyError();
-
   // Handlers for NAT traversal and domain policies.
   void UpdateNatPolicy(bool nat_traversal_enabled);
   void UpdateHostDomainListPolicy(std::vector<std::string> host_domain_list);
@@ -168,7 +159,6 @@
   std::unique_ptr<ChromotingHost> host_;
   int failed_login_attempts_ = 0;
 
-  std::unique_ptr<PolicyWatcher> policy_watcher_;
   std::unique_ptr<It2MeConfirmationDialogFactory> confirmation_dialog_factory_;
   std::unique_ptr<It2MeConfirmationDialogProxy> confirmation_dialog_proxy_;
 
@@ -203,14 +193,8 @@
   It2MeHostFactory();
   virtual ~It2MeHostFactory();
 
-  // |policy_service| is used for creating the policy watcher for new
-  // instances of It2MeHost on ChromeOS.  The caller must ensure that
-  // |policy_service| is valid throughout the lifetime of each created It2MeHost
-  // object.  This is currently possible because |policy_service| is a global
-  // singleton available from the browser process.
   virtual scoped_refptr<It2MeHost> CreateIt2MeHost(
       std::unique_ptr<ChromotingHostContext> context,
-      policy::PolicyService* policy_service,
       base::WeakPtr<It2MeHost::Observer> observer,
       std::unique_ptr<SignalStrategy> signal_strategy,
       const std::string& username,
diff --git a/remoting/host/it2me/it2me_host_unittest.cc b/remoting/host/it2me/it2me_host_unittest.cc
index 5de40a8..7ed93bc 100644
--- a/remoting/host/it2me/it2me_host_unittest.cc
+++ b/remoting/host/it2me/it2me_host_unittest.cc
@@ -19,7 +19,6 @@
 #include "base/message_loop/message_loop.h"
 #include "base/run_loop.h"
 #include "base/threading/thread_task_runner_handle.h"
-#include "components/policy/core/common/fake_async_policy_loader.h"
 #include "components/policy/policy_constants.h"
 #include "remoting/base/auto_thread_task_runner.h"
 #include "remoting/host/chromoting_host_context.h"
@@ -172,9 +171,6 @@
   scoped_refptr<AutoThreadTaskRunner> ui_task_runner_;
 
   scoped_refptr<It2MeHost> it2me_host_;
-  // The FakeAsyncPolicyLoader is owned by it2me_host_, but we retain a raw
-  // pointer so we can control the policy contents.
-  policy::FakeAsyncPolicyLoader* policy_loader_ = nullptr;
 
   base::WeakPtrFactory<It2MeHostTest> weak_factory_;
 
@@ -198,16 +194,14 @@
   std::unique_ptr<FakeIt2MeDialogFactory> dialog_factory(
       new FakeIt2MeDialogFactory());
   dialog_factory_ = dialog_factory.get();
-  policy_loader_ =
-      new policy::FakeAsyncPolicyLoader(base::ThreadTaskRunnerHandle::Get());
   it2me_host_ = new It2MeHost(
       std::move(host_context),
-      PolicyWatcher::CreateFromPolicyLoaderForTesting(
-          base::WrapUnique(policy_loader_)),
       std::move(dialog_factory), weak_factory_.GetWeakPtr(),
       base::WrapUnique(
           new FakeSignalStrategy(SignalingAddress("fake_local_jid"))),
       kTestUserName, "fake_bot_jid");
+
+  it2me_host_->OnPolicyUpdate(PolicyWatcher::GetDefaultPolicies());
 }
 
 void It2MeHostTest::TearDown() {
@@ -230,17 +224,11 @@
 void It2MeHostTest::SetPolicies(
     std::initializer_list<std::pair<base::StringPiece, const base::Value&>>
         policies) {
-  policy::PolicyBundle bundle;
-  policy::PolicyMap& map = bundle.Get(
-      policy::PolicyNamespace(policy::POLICY_DOMAIN_CHROME, std::string()));
+  auto dictionary = base::MakeUnique<base::DictionaryValue>();
   for (const auto& policy : policies) {
-    map.Set(policy.first.as_string(), policy::POLICY_LEVEL_MANDATORY,
-            policy::POLICY_SCOPE_MACHINE, policy::POLICY_SOURCE_PLATFORM,
-            policy.second.CreateDeepCopy(), nullptr);
+    dictionary->Set(policy.first, policy.second.CreateDeepCopy());
   }
-  policy_loader_->SetPolicies(bundle);
-  policy_loader_->PostReloadOnBackgroundThread(true);
-  base::RunLoop().RunUntilIdle();
+  it2me_host_->OnPolicyUpdate(std::move(dictionary));
 }
 
 void It2MeHostTest::StartupHostStateHelper(const base::Closure& quit_closure) {
diff --git a/remoting/host/it2me/it2me_native_messaging_host.cc b/remoting/host/it2me/it2me_native_messaging_host.cc
index 9580d3d5..043795f 100644
--- a/remoting/host/it2me/it2me_native_messaging_host.cc
+++ b/remoting/host/it2me/it2me_native_messaging_host.cc
@@ -83,15 +83,13 @@
 
 It2MeNativeMessagingHost::It2MeNativeMessagingHost(
     bool needs_elevation,
-    policy::PolicyService* policy_service,
+    std::unique_ptr<PolicyWatcher> policy_watcher,
     std::unique_ptr<ChromotingHostContext> context,
     std::unique_ptr<It2MeHostFactory> factory)
     : needs_elevation_(needs_elevation),
       host_context_(std::move(context)),
       factory_(std::move(factory)),
-      policy_service_(policy_service),
-      policy_watcher_(PolicyWatcher::Create(policy_service_,
-                                            host_context_->file_task_runner())),
+      policy_watcher_(std::move(policy_watcher)),
       weak_factory_(this) {
   weak_ptr_ = weak_factory_.GetWeakPtr();
 
@@ -195,7 +193,7 @@
   DCHECK(task_runner()->BelongsToCurrentThread());
 
   if (!policy_received_) {
-    DCHECK(pending_connect_.is_null());
+    DCHECK(!pending_connect_);
     pending_connect_ =
         base::Bind(&It2MeNativeMessagingHost::ProcessConnect, weak_ptr_,
                    base::Passed(&message), base::Passed(&response));
@@ -317,9 +315,10 @@
 #endif  // !defined(NDEBUG)
 
   // Create the It2Me host and start connecting.
-  it2me_host_ = factory_->CreateIt2MeHost(
-      host_context_->Copy(), policy_service_, weak_ptr_,
-      std::move(signal_strategy), username, directory_bot_jid);
+  it2me_host_ = factory_->CreateIt2MeHost(host_context_->Copy(), weak_ptr_,
+                                          std::move(signal_strategy), username,
+                                          directory_bot_jid);
+  it2me_host_->OnPolicyUpdate(policy_watcher_->GetCurrentPolicies());
   it2me_host_->Connect();
 
   SendMessageToClient(std::move(response));
@@ -469,30 +468,33 @@
 
 void It2MeNativeMessagingHost::OnPolicyUpdate(
     std::unique_ptr<base::DictionaryValue> policies) {
-  if (policy_received_) {
-    // Don't dynamically change how the host operates since we don't have a good
-    // way to communicate changes to the user.
-    return;
-  }
-
-  bool allow_elevated_host = false;
-  if (!policies->GetBoolean(
-          policy::key::kRemoteAccessHostAllowUiAccessForRemoteAssistance,
-          &allow_elevated_host)) {
-    LOG(WARNING) << "Failed to retrieve elevated host policy value.";
-  }
+  // Don't dynamically change the elevation status since we don't have a good
+  // way to communicate changes to the user.
+  if (!policy_received_) {
+    bool allow_elevated_host = false;
+    if (!policies->GetBoolean(
+            policy::key::kRemoteAccessHostAllowUiAccessForRemoteAssistance,
+            &allow_elevated_host)) {
+      LOG(WARNING) << "Failed to retrieve elevated host policy value.";
+    }
 #if defined(OS_WIN)
-  LOG(INFO) << "Allow UiAccess for Remote Assistance: " << allow_elevated_host;
+    LOG(INFO) << "Allow UiAccess for Remote Assistance: "
+              << allow_elevated_host;
 #endif  // defined(OS_WIN)
 
-  policy_received_ = true;
+    policy_received_ = true;
 
-  // If |allow_elevated_host| is false, then we will fall back to using a host
-  // running in the current context regardless of the elevation request.  This
-  // may not be ideal, but is still functional.
-  needs_elevation_ = needs_elevation_ && allow_elevated_host;
-  if (!pending_connect_.is_null()) {
-    base::ResetAndReturn(&pending_connect_).Run();
+    // If |allow_elevated_host| is false, then we will fall back to using a host
+    // running in the current context regardless of the elevation request.  This
+    // may not be ideal, but is still functional.
+    needs_elevation_ = needs_elevation_ && allow_elevated_host;
+    if (pending_connect_) {
+      base::ResetAndReturn(&pending_connect_).Run();
+    }
+  }
+
+  if (it2me_host_.get()) {
+    it2me_host_->OnPolicyUpdate(std::move(policies));
   }
 }
 
diff --git a/remoting/host/it2me/it2me_native_messaging_host.h b/remoting/host/it2me/it2me_native_messaging_host.h
index b42cda0..948c41a 100644
--- a/remoting/host/it2me/it2me_native_messaging_host.h
+++ b/remoting/host/it2me/it2me_native_messaging_host.h
@@ -37,7 +37,7 @@
                                  public extensions::NativeMessageHost {
  public:
   It2MeNativeMessagingHost(bool needs_elevation,
-                           policy::PolicyService* policy_service,
+                           std::unique_ptr<PolicyWatcher> policy_watcher,
                            std::unique_ptr<ChromotingHostContext> host_context,
                            std::unique_ptr<It2MeHostFactory> host_factory);
   ~It2MeNativeMessagingHost() override;
@@ -77,7 +77,7 @@
   // Callback for DelegatingSignalStrategy.
   void SendOutgoingIq(const std::string& iq);
 
-  // Called when initial policies are read.
+  // Called when initial policies are read and when they change.
   void OnPolicyUpdate(std::unique_ptr<base::DictionaryValue> policies);
 
   // Returns whether the request was successfully sent to the elevated host.
@@ -116,8 +116,6 @@
   // queried our policy restrictions.
   bool policy_received_ = false;
 
-  policy::PolicyService* policy_service_ = nullptr;
-
   // Used to retrieve Chrome policies set for the local machine.
   std::unique_ptr<PolicyWatcher> policy_watcher_;
 
diff --git a/remoting/host/it2me/it2me_native_messaging_host_main.cc b/remoting/host/it2me/it2me_native_messaging_host_main.cc
index 43faaf12..129d7e18 100644
--- a/remoting/host/it2me/it2me_native_messaging_host_main.cc
+++ b/remoting/host/it2me/it2me_native_messaging_host_main.cc
@@ -21,6 +21,7 @@
 #include "remoting/host/logging.h"
 #include "remoting/host/native_messaging/native_messaging_pipe.h"
 #include "remoting/host/native_messaging/pipe_messaging_channel.h"
+#include "remoting/host/policy_watcher.h"
 #include "remoting/host/resources.h"
 #include "remoting/host/usage_stats_consent.h"
 
@@ -186,8 +187,10 @@
   std::unique_ptr<ChromotingHostContext> context =
       ChromotingHostContext::Create(new remoting::AutoThreadTaskRunner(
           message_loop.task_runner(), run_loop.QuitClosure()));
+  std::unique_ptr<PolicyWatcher> policy_watcher =
+      PolicyWatcher::Create(nullptr, context->file_task_runner());
   std::unique_ptr<extensions::NativeMessageHost> host(
-      new It2MeNativeMessagingHost(needs_elevation, /*policy_service=*/nullptr,
+      new It2MeNativeMessagingHost(needs_elevation, std::move(policy_watcher),
                                    std::move(context), std::move(factory)));
 
   host->Start(native_messaging_pipe.get());
diff --git a/remoting/host/it2me/it2me_native_messaging_host_unittest.cc b/remoting/host/it2me/it2me_native_messaging_host_unittest.cc
index 072bfb6d..830e2b38 100644
--- a/remoting/host/it2me/it2me_native_messaging_host_unittest.cc
+++ b/remoting/host/it2me/it2me_native_messaging_host_unittest.cc
@@ -22,6 +22,7 @@
 #include "base/strings/stringize_macros.h"
 #include "base/threading/thread_task_runner_handle.h"
 #include "base/values.h"
+#include "components/policy/core/common/fake_async_policy_loader.h"
 #include "components/policy/core/common/mock_policy_service.h"
 #include "net/base/file_stream.h"
 #include "remoting/base/auto_thread_task_runner.h"
@@ -75,63 +76,14 @@
   EXPECT_EQ(id, int_value);
 }
 
-class FakePolicyService : public policy::PolicyService {
- public:
-  FakePolicyService();
-  ~FakePolicyService() override;
-
-  // policy::PolicyService overrides.
-  void AddObserver(policy::PolicyDomain domain,
-                   policy::PolicyService::Observer* observer) override;
-  void RemoveObserver(policy::PolicyDomain domain,
-                      policy::PolicyService::Observer* observer) override;
-  const policy::PolicyMap& GetPolicies(
-      const policy::PolicyNamespace& ns) const override;
-  bool IsInitializationComplete(policy::PolicyDomain domain) const override;
-  void RefreshPolicies(const base::Closure& callback) override;
-
- private:
-  policy::PolicyMap policy_map_;
-
-  DISALLOW_COPY_AND_ASSIGN(FakePolicyService);
-};
-
-FakePolicyService::FakePolicyService() {}
-
-FakePolicyService::~FakePolicyService() {}
-
-void FakePolicyService::AddObserver(policy::PolicyDomain domain,
-                                    policy::PolicyService::Observer* observer) {
-}
-
-void FakePolicyService::RemoveObserver(
-    policy::PolicyDomain domain,
-    policy::PolicyService::Observer* observer) {}
-
-const policy::PolicyMap& FakePolicyService::GetPolicies(
-    const policy::PolicyNamespace& ns) const {
-  return policy_map_;
-}
-
-bool FakePolicyService::IsInitializationComplete(
-    policy::PolicyDomain domain) const {
-  return true;
-}
-
-void FakePolicyService::RefreshPolicies(const base::Closure& callback) {
-  base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE, callback);
-}
-
 class MockIt2MeHost : public It2MeHost {
  public:
   MockIt2MeHost(std::unique_ptr<ChromotingHostContext> context,
-                std::unique_ptr<PolicyWatcher> policy_watcher,
                 base::WeakPtr<It2MeHost::Observer> observer,
                 std::unique_ptr<SignalStrategy> signal_strategy,
                 const std::string& username,
                 const std::string& directory_bot_jid)
       : It2MeHost(std::move(context),
-                  std::move(policy_watcher),
                   /*confirmation_dialog_factory=*/nullptr,
                   observer,
                   std::move(signal_strategy),
@@ -208,7 +160,6 @@
 
   scoped_refptr<It2MeHost> CreateIt2MeHost(
       std::unique_ptr<ChromotingHostContext> context,
-      policy::PolicyService* policy_service,
       base::WeakPtr<It2MeHost::Observer> observer,
       std::unique_ptr<SignalStrategy> signal_strategy,
       const std::string& username,
@@ -224,13 +175,11 @@
 
 scoped_refptr<It2MeHost> MockIt2MeHostFactory::CreateIt2MeHost(
     std::unique_ptr<ChromotingHostContext> context,
-    policy::PolicyService* policy_service,
     base::WeakPtr<It2MeHost::Observer> observer,
     std::unique_ptr<SignalStrategy> signal_strategy,
     const std::string& username,
     const std::string& directory_bot_jid) {
-  return new MockIt2MeHost(std::move(context),
-                           /*policy_watcher=*/nullptr, observer,
+  return new MockIt2MeHost(std::move(context), observer,
                            std::move(signal_strategy), username,
                            directory_bot_jid);
 }
@@ -285,8 +234,6 @@
   scoped_refptr<AutoThreadTaskRunner> host_task_runner_;
   std::unique_ptr<remoting::NativeMessagingPipe> pipe_;
 
-  std::unique_ptr<policy::PolicyService> fake_policy_service_;
-
   DISALLOW_COPY_AND_ASSIGN(It2MeNativeMessagingHostTest);
 };
 
@@ -294,11 +241,6 @@
   test_message_loop_.reset(new base::MessageLoop());
   test_run_loop_.reset(new base::RunLoop());
 
-#if defined(OS_CHROMEOS)
-  // On Chrome OS, the browser owns the PolicyService so simulate that here.
-  fake_policy_service_.reset(new FakePolicyService());
-#endif  // defined(OS_CHROMEOS)
-
   // Run the host on a dedicated thread.
   host_thread_.reset(new base::Thread("host_thread"));
   host_thread_->Start();
@@ -399,14 +341,16 @@
 
 void It2MeNativeMessagingHostTest::VerifyConnectResponses(int request_id) {
   bool connect_response_received = false;
+  bool nat_policy_received = false;
   bool starting_received = false;
   bool requestedAccessCode_received = false;
   bool receivedAccessCode_received = false;
   bool connecting_received = false;
   bool connected_received = false;
 
-  // We expect a total of 6 messages: 1 connectResponse and 5 hostStateChanged.
-  for (int i = 0; i < 6; ++i) {
+  // We expect a total of 7 messages: 1 connectResponse, 1 natPolicyChanged,
+  // and 5 hostStateChanged.
+  for (int i = 0; i < 7; ++i) {
     std::unique_ptr<base::DictionaryValue> response =
         ReadMessageFromOutputPipe();
     ASSERT_TRUE(response);
@@ -418,6 +362,9 @@
       EXPECT_FALSE(connect_response_received);
       connect_response_received = true;
       VerifyId(std::move(response), request_id);
+    } else if (type == "natPolicyChanged") {
+      EXPECT_FALSE(nat_policy_received);
+      nat_policy_received = true;
     } else if (type == "hostStateChanged") {
       std::string state;
       ASSERT_TRUE(response->GetString("state", &state));
@@ -530,11 +477,16 @@
                                std::move(output_write_file)));
 
   // Creating a native messaging host with a mock It2MeHostFactory.
+  std::unique_ptr<ChromotingHostContext> context =
+      ChromotingHostContext::Create(host_task_runner_);
+  std::unique_ptr<PolicyWatcher> policy_watcher =
+      PolicyWatcher::CreateFromPolicyLoaderForTesting(
+          base::MakeUnique<policy::FakeAsyncPolicyLoader>(
+              base::ThreadTaskRunnerHandle::Get()));
   std::unique_ptr<extensions::NativeMessageHost> it2me_host(
       new It2MeNativeMessagingHost(
-          /*needs_elevation=*/false, fake_policy_service_.get(),
-          ChromotingHostContext::Create(host_task_runner_),
-          base::WrapUnique(new MockIt2MeHostFactory())));
+          /*needs_elevation=*/false, std::move(policy_watcher),
+          std::move(context), base::WrapUnique(new MockIt2MeHostFactory())));
   it2me_host->Start(pipe_.get());
 
   pipe_->Start(std::move(it2me_host), std::move(channel));
@@ -609,7 +561,7 @@
   EXPECT_EQ("42", value);
 }
 
-TEST_F(It2MeNativeMessagingHostTest, Connect) {
+TEST_F(It2MeNativeMessagingHostTest, ConnectMultiple) {
   // A new It2MeHost instance is created for every it2me session. The native
   // messaging host, on the other hand, is long lived. This test verifies
   // multiple It2Me host startup and shutdowns.
diff --git a/remoting/host/policy_watcher.cc b/remoting/host/policy_watcher.cc
index 9bb9007..4dc8beb 100644
--- a/remoting/host/policy_watcher.cc
+++ b/remoting/host/policy_watcher.cc
@@ -158,6 +158,38 @@
   }
 }
 
+std::unique_ptr<base::DictionaryValue> PolicyWatcher::GetCurrentPolicies() {
+  // If |old_policies_| is empty, then the PolicyService has not yet provided
+  // policies, so just return the default values. Otherwise, |old_policies_|
+  // already contains all the supported policies, defaults and overrides.
+  return old_policies_->size() == 0 ? GetDefaultPolicies()
+                                    : old_policies_->CreateDeepCopy();
+}
+
+std::unique_ptr<base::DictionaryValue> PolicyWatcher::GetDefaultPolicies() {
+  auto result = base::MakeUnique<base::DictionaryValue>();
+  result->SetBoolean(key::kRemoteAccessHostFirewallTraversal, true);
+  result->SetBoolean(key::kRemoteAccessHostRequireCurtain, false);
+  result->SetBoolean(key::kRemoteAccessHostMatchUsername, false);
+  result->Set(key::kRemoteAccessHostClientDomainList,
+              base::MakeUnique<base::ListValue>());
+  result->Set(key::kRemoteAccessHostDomainList,
+              base::MakeUnique<base::ListValue>());
+  result->SetString(key::kRemoteAccessHostTalkGadgetPrefix,
+                    kDefaultHostTalkGadgetPrefix);
+  result->SetString(key::kRemoteAccessHostTokenUrl, std::string());
+  result->SetString(key::kRemoteAccessHostTokenValidationUrl, std::string());
+  result->SetString(key::kRemoteAccessHostTokenValidationCertificateIssuer,
+                    std::string());
+  result->SetBoolean(key::kRemoteAccessHostAllowClientPairing, true);
+  result->SetBoolean(key::kRemoteAccessHostAllowGnubbyAuth, true);
+  result->SetBoolean(key::kRemoteAccessHostAllowRelayedConnection, true);
+  result->SetString(key::kRemoteAccessHostUdpPortRange, "");
+  result->SetBoolean(key::kRemoteAccessHostAllowUiAccessForRemoteAssistance,
+                     false);
+  return result;
+}
+
 void PolicyWatcher::SignalPolicyError() {
   old_policies_->Clear();
   policy_error_callback_.Run();
@@ -169,36 +201,13 @@
     std::unique_ptr<policy::ConfigurationPolicyProvider> owned_policy_provider,
     std::unique_ptr<policy::SchemaRegistry> owned_schema_registry)
     : old_policies_(new base::DictionaryValue()),
-      default_values_(new base::DictionaryValue()),
+      default_values_(GetDefaultPolicies()),
       policy_service_(policy_service),
       owned_schema_registry_(std::move(owned_schema_registry)),
       owned_policy_provider_(std::move(owned_policy_provider)),
       owned_policy_service_(std::move(owned_policy_service)) {
   DCHECK(policy_service_);
   DCHECK(owned_schema_registry_);
-
-  // Initialize the default values for each policy.
-  default_values_->SetBoolean(key::kRemoteAccessHostFirewallTraversal, true);
-  default_values_->SetBoolean(key::kRemoteAccessHostRequireCurtain, false);
-  default_values_->SetBoolean(key::kRemoteAccessHostMatchUsername, false);
-  default_values_->Set(key::kRemoteAccessHostClientDomainList,
-                       base::MakeUnique<base::ListValue>());
-  default_values_->Set(key::kRemoteAccessHostDomainList,
-                       base::MakeUnique<base::ListValue>());
-  default_values_->SetString(key::kRemoteAccessHostTalkGadgetPrefix,
-                             kDefaultHostTalkGadgetPrefix);
-  default_values_->SetString(key::kRemoteAccessHostTokenUrl, std::string());
-  default_values_->SetString(key::kRemoteAccessHostTokenValidationUrl,
-                             std::string());
-  default_values_->SetString(
-      key::kRemoteAccessHostTokenValidationCertificateIssuer, std::string());
-  default_values_->SetBoolean(key::kRemoteAccessHostAllowClientPairing, true);
-  default_values_->SetBoolean(key::kRemoteAccessHostAllowGnubbyAuth, true);
-  default_values_->SetBoolean(key::kRemoteAccessHostAllowRelayedConnection,
-                              true);
-  default_values_->SetString(key::kRemoteAccessHostUdpPortRange, "");
-  default_values_->SetBoolean(
-      key::kRemoteAccessHostAllowUiAccessForRemoteAssistance, false);
 }
 
 PolicyWatcher::~PolicyWatcher() {
diff --git a/remoting/host/policy_watcher.h b/remoting/host/policy_watcher.h
index 44f3863..49d0dd5 100644
--- a/remoting/host/policy_watcher.h
+++ b/remoting/host/policy_watcher.h
@@ -59,6 +59,12 @@
       const PolicyUpdatedCallback& policy_updated_callback,
       const PolicyErrorCallback& policy_error_callback);
 
+  // Return the current policies.
+  std::unique_ptr<base::DictionaryValue> GetCurrentPolicies();
+
+  // Return the default policies.
+  static std::unique_ptr<base::DictionaryValue> GetDefaultPolicies();
+
   // Specify a |policy_service| to borrow (on Chrome OS, from the browser
   // process) or specify nullptr to internally construct and use a new
   // PolicyService (on other OS-es). PolicyWatcher must be used on the thread on
diff --git a/remoting/host/policy_watcher_unittest.cc b/remoting/host/policy_watcher_unittest.cc
index 4b70a6a..3447f569 100644
--- a/remoting/host/policy_watcher_unittest.cc
+++ b/remoting/host/policy_watcher_unittest.cc
@@ -239,6 +239,7 @@
     return policy_watcher_->GetPolicySchema();
   }
 
+  // TODO(jamiewalch): Update this to use PolicyWatcher::GetDefaultValues()
   const base::DictionaryValue& GetDefaultValues() {
     return *(policy_watcher_->default_values_);
   }
@@ -769,4 +770,18 @@
   StartWatching();
 }
 
+TEST_F(PolicyWatcherTest, GetCurrentPolicies) {
+  testing::InSequence sequence;
+  EXPECT_CALL(mock_policy_callback_,
+              OnPolicyUpdatePtr(IsPolicies(&nat_true_others_default_)));
+  EXPECT_CALL(mock_policy_callback_,
+              OnPolicyUpdatePtr(IsPolicies(&nat_false_)));
+
+  StartWatching();
+  SetPolicies(nat_false_);
+  std::unique_ptr<base::DictionaryValue> current_policies =
+      policy_watcher_->GetCurrentPolicies();
+  ASSERT_TRUE(*current_policies == nat_false_others_default_);
+}
+
 }  // namespace remoting
diff --git a/sandbox/win/src/process_mitigations_win32k_dispatcher.cc b/sandbox/win/src/process_mitigations_win32k_dispatcher.cc
index 426e331..f27711d 100644
--- a/sandbox/win/src/process_mitigations_win32k_dispatcher.cc
+++ b/sandbox/win/src/process_mitigations_win32k_dispatcher.cc
@@ -8,6 +8,7 @@
 
 #include "base/memory/shared_memory.h"
 #include "base/strings/string16.h"
+#include "base/unguessable_token.h"
 #include "base/win/windows_version.h"
 #include "sandbox/win/src/interception.h"
 #include "sandbox/win/src/interceptors.h"
@@ -28,7 +29,8 @@
                          &result_handle, 0, FALSE, DUPLICATE_SAME_ACCESS)) {
     result_handle = nullptr;
   }
-  return base::SharedMemoryHandle(result_handle);
+  return base::SharedMemoryHandle(result_handle,
+                                  base::UnguessableToken::Create());
 }
 
 }  // namespace
diff --git a/sandbox/win/tests/common/controller.cc b/sandbox/win/tests/common/controller.cc
index 24070e78..6a498144 100644
--- a/sandbox/win/tests/common/controller.cc
+++ b/sandbox/win/tests/common/controller.cc
@@ -11,6 +11,7 @@
 #include "base/process/process_handle.h"
 #include "base/strings/string_number_conversions.h"
 #include "base/strings/sys_string_conversions.h"
+#include "base/unguessable_token.h"
 #include "base/win/windows_version.h"
 #include "sandbox/win/src/sandbox_factory.h"
 
@@ -315,7 +316,8 @@
     base::StringToUint(argv[4], reinterpret_cast<unsigned int*>(&raw_handle));
     if (raw_handle == nullptr)
       return SBOX_TEST_INVALID_PARAMETER;
-    base::SharedMemoryHandle shared_handle(raw_handle);
+    base::SharedMemoryHandle shared_handle(raw_handle,
+                                           base::UnguessableToken::Create());
     base::SharedMemory read_only_view(shared_handle, true);
     if (!read_only_view.Map(0))
       return SBOX_TEST_INVALID_PARAMETER;
diff --git a/services/shape_detection/BUILD.gn b/services/shape_detection/BUILD.gn
index 8a8bfb7..73caa06 100644
--- a/services/shape_detection/BUILD.gn
+++ b/services/shape_detection/BUILD.gn
@@ -64,6 +64,8 @@
   android_library("shape_detection_java") {
     java_files = [
       "android/java/src/org/chromium/shape_detection/BarcodeDetectionImpl.java",
+      "android/java/src/org/chromium/shape_detection/FaceDetectionImpl.java",
+      "android/java/src/org/chromium/shape_detection/FaceDetectionProviderImpl.java",
       "android/java/src/org/chromium/shape_detection/InterfaceRegistrar.java",
       "android/java/src/org/chromium/shape_detection/TextDetectionImpl.java",
     ]
diff --git a/content/public/android/java/src/org/chromium/content/browser/shapedetection/FaceDetectionImpl.java b/services/shape_detection/android/java/src/org/chromium/shape_detection/FaceDetectionImpl.java
similarity index 98%
rename from content/public/android/java/src/org/chromium/content/browser/shapedetection/FaceDetectionImpl.java
rename to services/shape_detection/android/java/src/org/chromium/shape_detection/FaceDetectionImpl.java
index 674673e..0d7dcbb9 100644
--- a/content/public/android/java/src/org/chromium/content/browser/shapedetection/FaceDetectionImpl.java
+++ b/services/shape_detection/android/java/src/org/chromium/shape_detection/FaceDetectionImpl.java
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-package org.chromium.content.browser.shapedetection;
+package org.chromium.shape_detection;
 
 import android.graphics.Bitmap;
 import android.graphics.PointF;
diff --git a/content/public/android/java/src/org/chromium/content/browser/shapedetection/FaceDetectionProviderImpl.java b/services/shape_detection/android/java/src/org/chromium/shape_detection/FaceDetectionProviderImpl.java
similarity index 95%
rename from content/public/android/java/src/org/chromium/content/browser/shapedetection/FaceDetectionProviderImpl.java
rename to services/shape_detection/android/java/src/org/chromium/shape_detection/FaceDetectionProviderImpl.java
index 975ca3d..232102a 100644
--- a/content/public/android/java/src/org/chromium/content/browser/shapedetection/FaceDetectionProviderImpl.java
+++ b/services/shape_detection/android/java/src/org/chromium/shape_detection/FaceDetectionProviderImpl.java
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-package org.chromium.content.browser.shapedetection;
+package org.chromium.shape_detection;
 
 import android.content.Context;
 
diff --git a/services/shape_detection/android/java/src/org/chromium/shape_detection/InterfaceRegistrar.java b/services/shape_detection/android/java/src/org/chromium/shape_detection/InterfaceRegistrar.java
index 6a62aa5..6938cf3 100644
--- a/services/shape_detection/android/java/src/org/chromium/shape_detection/InterfaceRegistrar.java
+++ b/services/shape_detection/android/java/src/org/chromium/shape_detection/InterfaceRegistrar.java
@@ -11,6 +11,7 @@
 import org.chromium.mojo.system.impl.CoreImpl;
 import org.chromium.services.service_manager.InterfaceRegistry;
 import org.chromium.shape_detection.mojom.BarcodeDetection;
+import org.chromium.shape_detection.mojom.FaceDetectionProvider;
 import org.chromium.shape_detection.mojom.TextDetection;
 
 @JNINamespace("shape_detection")
@@ -23,6 +24,8 @@
                 CoreImpl.getInstance().acquireNativeHandle(nativeHandle).toMessagePipeHandle());
         registry.addInterface(
                 BarcodeDetection.MANAGER, new BarcodeDetectionImpl.Factory(applicationContext));
+        registry.addInterface(FaceDetectionProvider.MANAGER,
+                new FaceDetectionProviderImpl.Factory(applicationContext));
         registry.addInterface(
                 TextDetection.MANAGER, new TextDetectionImpl.Factory(applicationContext));
     }
diff --git a/services/shape_detection/shape_detection_service.cc b/services/shape_detection/shape_detection_service.cc
index 89a705d..8f6c453 100644
--- a/services/shape_detection/shape_detection_service.cc
+++ b/services/shape_detection/shape_detection_service.cc
@@ -35,13 +35,15 @@
   registry_.AddInterface(
       GetJavaInterfaces()->CreateInterfaceFactory<mojom::BarcodeDetection>());
   registry_.AddInterface(
+      GetJavaInterfaces()
+          ->CreateInterfaceFactory<mojom::FaceDetectionProvider>());
+  registry_.AddInterface(
       GetJavaInterfaces()->CreateInterfaceFactory<mojom::TextDetection>());
 #else
   registry_.AddInterface(base::Bind(&BarcodeDetectionImpl::Create));
   registry_.AddInterface(base::Bind(&TextDetectionImpl::Create));
-#endif
-
   registry_.AddInterface(base::Bind(&FaceDetectionProviderImpl::Create));
+#endif
 }
 
 void ShapeDetectionService::OnBindInterface(
diff --git a/testing/buildbot/chromium.perf.json b/testing/buildbot/chromium.perf.json
index d4161ba..de9f878 100644
--- a/testing/buildbot/chromium.perf.json
+++ b/testing/buildbot/chromium.perf.json
@@ -3558,7 +3558,7 @@
           "dimension_sets": [
             {
               "android_devices": "1",
-              "id": "build73-b1--device1",
+              "id": "build73-b1--device4",
               "os": "Android",
               "pool": "Chrome-perf"
             }
@@ -3588,7 +3588,7 @@
           "dimension_sets": [
             {
               "android_devices": "1",
-              "id": "build73-b1--device1",
+              "id": "build73-b1--device4",
               "os": "Android",
               "pool": "Chrome-perf"
             }
@@ -12462,7 +12462,7 @@
           "dimension_sets": [
             {
               "gpu": "102b:0534",
-              "id": "build148-m1",
+              "id": "build152-m1",
               "os": "Ubuntu-14.04",
               "pool": "Chrome-perf"
             }
@@ -12492,7 +12492,7 @@
           "dimension_sets": [
             {
               "gpu": "102b:0534",
-              "id": "build148-m1",
+              "id": "build152-m1",
               "os": "Ubuntu-14.04",
               "pool": "Chrome-perf"
             }
@@ -31874,7 +31874,7 @@
           "dimension_sets": [
             {
               "gpu": "8086:1626",
-              "id": "build123-b1",
+              "id": "build127-b1",
               "os": "Mac-10.11",
               "pool": "Chrome-perf"
             }
@@ -31904,7 +31904,7 @@
           "dimension_sets": [
             {
               "gpu": "8086:1626",
-              "id": "build123-b1",
+              "id": "build127-b1",
               "os": "Mac-10.11",
               "pool": "Chrome-perf"
             }
@@ -38338,7 +38338,7 @@
           "dimension_sets": [
             {
               "gpu": "8086:0a26",
-              "id": "build24-b1",
+              "id": "build28-b1",
               "os": "Mac-10.12",
               "pool": "Chrome-perf"
             }
@@ -38368,7 +38368,7 @@
           "dimension_sets": [
             {
               "gpu": "8086:0a26",
-              "id": "build24-b1",
+              "id": "build28-b1",
               "os": "Mac-10.12",
               "pool": "Chrome-perf"
             }
@@ -106332,7 +106332,7 @@
           "dimension_sets": [
             {
               "gpu": "8086:161e",
-              "id": "build34-b1",
+              "id": "build31-b1",
               "os": "Windows-10-10240",
               "pool": "Chrome-perf"
             }
@@ -106362,7 +106362,7 @@
           "dimension_sets": [
             {
               "gpu": "8086:161e",
-              "id": "build34-b1",
+              "id": "build31-b1",
               "os": "Windows-10-10240",
               "pool": "Chrome-perf"
             }
diff --git a/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG b/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG
index 654ccba..531373c 100644
--- a/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG
+++ b/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG
@@ -8,7 +8,8 @@
 crbug.com/591099 accessibility/add-to-menu-list-crashes.html [ Failure ]
 crbug.com/591099 accessibility/adjacent-continuations-cause-assertion-failure.html [ Failure ]
 crbug.com/591099 accessibility/adopt-node-causes-crash.html [ Failure ]
-crbug.com/591099 accessibility/anonymous-render-block-in-continuation-causes-crash.html [ Failure ]
+crbug.com/591099 accessibility/anchor-linked-anonymous-block-crash.html [ Crash Pass ]
+crbug.com/591099 accessibility/anonymous-render-block-in-continuation-causes-crash.html [ Crash Failure ]
 crbug.com/591099 accessibility/aom.html [ Crash ]
 crbug.com/591099 accessibility/aom-string-properties.html [ Crash ]
 crbug.com/591099 accessibility/aria-activedescendant-events.html [ Crash ]
@@ -16,9 +17,9 @@
 crbug.com/591099 accessibility/aria-checkbox-checked.html [ Failure ]
 crbug.com/591099 accessibility/aria-checkbox-checked-mixed.html [ Failure ]
 crbug.com/591099 accessibility/aria-checkbox-sends-notification.html [ Failure ]
-crbug.com/591099 accessibility/aria-controls.html [ Failure ]
-crbug.com/591099 accessibility/aria-controls-with-tabs.html [ Failure ]
-crbug.com/591099 accessibility/aria-describedby-on-input.html [ Failure ]
+crbug.com/591099 accessibility/aria-controls.html [ Crash Failure ]
+crbug.com/591099 accessibility/aria-controls-with-tabs.html [ Crash Failure ]
+crbug.com/591099 accessibility/aria-describedby-on-input.html [ Crash Failure ]
 crbug.com/591099 accessibility/aria-disabled.html [ Failure ]
 crbug.com/591099 accessibility/aria-fallback-roles.html [ Failure ]
 crbug.com/591099 accessibility/aria-flowto.html [ Failure ]
@@ -27,26 +28,30 @@
 crbug.com/591099 accessibility/aria-hidden.html [ Failure ]
 crbug.com/591099 accessibility/aria-hidden-update.html [ Failure ]
 crbug.com/591099 accessibility/aria-hidden-updates-alldescendants.html [ Failure ]
-crbug.com/591099 accessibility/aria-hidden-with-elements.html [ Failure ]
+crbug.com/591099 accessibility/aria-hidden-with-elements.html [ Crash Failure ]
 crbug.com/591099 accessibility/aria-label.html [ Failure ]
-crbug.com/591099 accessibility/aria-labelledby-on-input.html [ Failure ]
-crbug.com/591099 accessibility/aria-labelledby-overrides-aria-labeledby.html [ Failure ]
-crbug.com/591099 accessibility/aria-labelledby-overrides-aria-label.html [ Failure ]
-crbug.com/591099 accessibility/aria-labelledby-overrides-label.html [ Failure ]
-crbug.com/591099 accessibility/aria-labelledby-stay-within.html [ Failure ]
-crbug.com/591099 accessibility/aria-list-and-listitem.html [ Failure ]
+crbug.com/591099 accessibility/aria-labelledby-on-input.html [ Crash Failure ]
+crbug.com/591099 accessibility/aria-labelledby-overrides-aria-labeledby.html [ Crash Failure ]
+crbug.com/591099 accessibility/aria-labelledby-overrides-aria-label.html [ Crash Failure ]
+crbug.com/591099 accessibility/aria-labelledby-overrides-label.html [ Crash Failure ]
+crbug.com/591099 accessibility/aria-labelledby-stay-within.html [ Crash Failure ]
+crbug.com/591099 accessibility/aria-list-and-listitem.html [ Crash Failure ]
 crbug.com/591099 accessibility/aria-none-role.html [ Failure ]
 crbug.com/591099 accessibility/aria-option-role.html [ Failure ]
 crbug.com/591099 accessibility/aria-orientation.html [ Failure ]
-crbug.com/591099 accessibility/aria-owns-ignores-leafs.html [ Failure ]
+crbug.com/591099 accessibility/aria-owns-dynamic-changes.html [ Crash Pass ]
+crbug.com/591099 accessibility/aria-owns.html [ Crash Pass ]
+crbug.com/591099 accessibility/aria-owns-ignores-leafs.html [ Crash Failure ]
+crbug.com/591099 accessibility/aria-owns-sends-notification.html [ Crash Pass ]
 crbug.com/591099 accessibility/aria-presentational-role.html [ Failure ]
 crbug.com/591099 accessibility/aria-readonly.html [ Failure ]
-crbug.com/591099 accessibility/aria-roles.html [ Failure ]
+crbug.com/591099 accessibility/aria-relations-should-ignore-hidden-targets.html [ Crash Pass ]
+crbug.com/591099 accessibility/aria-roles.html [ Crash Failure ]
 crbug.com/591099 accessibility/aria-scrollbar-role.html [ Failure ]
 crbug.com/591099 accessibility/aria-setsize-posinset.html [ Failure ]
 crbug.com/591099 accessibility/aria-slider-value.html [ Failure ]
 crbug.com/591099 accessibility/aria-tables.html [ Failure ]
-crbug.com/591099 accessibility/aria-tab-roles.html [ Failure ]
+crbug.com/591099 accessibility/aria-tab-roles.html [ Crash Failure ]
 crbug.com/591099 accessibility/aria-text-role.html [ Failure ]
 crbug.com/591099 accessibility/aria-toggle-button-with-title.html [ Failure ]
 crbug.com/591099 accessibility/aria-used-on-image-maps.html [ Failure ]
@@ -56,21 +61,21 @@
 crbug.com/591099 accessibility/calling-accessibility-methods-with-pending-layout-causes-crash.html [ Failure ]
 crbug.com/591099 accessibility/canvas-accessibilitynodeobject.html [ Failure ]
 crbug.com/591099 accessibility/canvas-description-and-role.html [ Failure ]
-crbug.com/591099 accessibility/canvas-fallback-content-2.html [ Timeout ]
+crbug.com/591099 accessibility/canvas-fallback-content-2.html [ Crash Timeout ]
 crbug.com/591099 accessibility/canvas-fallback-content.html [ Failure ]
 crbug.com/591099 accessibility/canvas-fallback-content-labels.html [ Crash ]
 crbug.com/591099 accessibility/chromium-only-roles.html [ Failure ]
 crbug.com/591099 accessibility/clickable.html [ Crash ]
 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-name.html [ Crash 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 ]
+crbug.com/591099 accessibility/contenteditable-caret-position.html [ Crash Failure ]
 crbug.com/591099 accessibility/contenteditable-hidden-div.html [ Failure ]
 crbug.com/591099 accessibility/contenteditable-notifications.html [ Failure ]
-crbug.com/591099 accessibility/contenteditable-selection.html [ Failure ]
+crbug.com/591099 accessibility/contenteditable-selection.html [ Crash Failure ]
 crbug.com/591099 accessibility/contenteditable-table-check-causes-crash.html [ Failure ]
 crbug.com/591099 accessibility/corresponding-control-deleted-crash.html [ Failure ]
 crbug.com/591099 accessibility/crash-determining-aria-role-when-label-present.html [ Failure ]
@@ -78,7 +83,7 @@
 crbug.com/591099 accessibility/crash-on-accessing-properties-at-initial-state.html [ Failure ]
 crbug.com/591099 accessibility/crash-with-noelement-selectbox.html [ Failure ]
 crbug.com/591099 accessibility/css-generated-content.html [ Failure ]
-crbug.com/591099 accessibility/css-styles.html [ Failure ]
+crbug.com/591099 accessibility/css-styles.html [ Crash Failure ]
 crbug.com/591099 accessibility/description-calc-aria-describedby.html [ Crash ]
 crbug.com/591099 accessibility/description-calc-inputs.html [ Crash ]
 crbug.com/591099 accessibility/description-calc-native-markup-input-buttons.html [ Crash ]
@@ -91,12 +96,12 @@
 crbug.com/591099 accessibility/div-within-anchors-causes-crash.html [ Failure ]
 crbug.com/591099 accessibility/dl-role.html [ Failure ]
 crbug.com/591099 accessibility/duplicate-child-nodes.html [ Failure ]
-crbug.com/591099 accessibility/element-role-mapping-focusable.html [ Failure ]
-crbug.com/591099 accessibility/element-role-mapping-normal.html [ Failure ]
+crbug.com/591099 accessibility/element-role-mapping-focusable.html [ Crash Failure ]
+crbug.com/591099 accessibility/element-role-mapping-normal.html [ Crash Failure ]
 crbug.com/591099 accessibility/ellipsis-text.html [ Failure ]
-crbug.com/591099 accessibility/file-upload-button-with-axpress.html [ Failure ]
+crbug.com/591099 accessibility/file-upload-button-with-axpress.html [ Crash Failure ]
 crbug.com/591099 accessibility/first-letter-text-transform-causes-crash.html [ Failure ]
-crbug.com/591099 accessibility/focusable-div.html [ Failure ]
+crbug.com/591099 accessibility/focusable-div.html [ Crash Failure ]
 crbug.com/591099 accessibility/hang-in-isignored.html [ Failure ]
 crbug.com/591099 accessibility/heading-level.html [ Failure ]
 crbug.com/591099 accessibility/image-inside-link.html [ Crash ]
@@ -107,29 +112,29 @@
 crbug.com/591099 accessibility/image-map-update-parent-crash.html [ Crash ]
 crbug.com/591099 accessibility/img-alt-tag-only-whitespace.html [ Failure ]
 crbug.com/591099 accessibility/img-aria-button-alt-tag.html [ Failure ]
-crbug.com/591099 accessibility/img-fallsback-to-title.html [ Failure ]
+crbug.com/591099 accessibility/img-fallsback-to-title.html [ Crash Failure ]
 crbug.com/591099 accessibility/inline-continuations.html [ Failure ]
 crbug.com/591099 accessibility/inline-text-bidi-bounds-for-range.html [ Failure ]
 crbug.com/591099 accessibility/inline-text-bounds-for-range.html [ Failure ]
 crbug.com/591099 accessibility/inline-text-changes.html [ Failure ]
 crbug.com/591099 accessibility/inline-text-change-style.html [ Failure ]
-crbug.com/591099 accessibility/inline-text-input.html [ Failure ]
-crbug.com/591099 accessibility/inline-text-textarea.html [ Failure ]
+crbug.com/591099 accessibility/inline-text-input.html [ Crash Failure ]
+crbug.com/591099 accessibility/inline-text-textarea.html [ Crash Failure ]
 crbug.com/591099 accessibility/inline-text-word-boundaries.html [ Failure ]
 crbug.com/591099 accessibility/inline-text-word-boundary-causes-crash.html [ Failure ]
 crbug.com/591099 accessibility/input-aria-required.html [ Crash ]
-crbug.com/591099 accessibility/input-file-causes-crash.html [ Failure ]
+crbug.com/591099 accessibility/input-file-causes-crash.html [ Crash Failure ]
 crbug.com/591099 accessibility/input-image-alt.html [ Failure ]
 crbug.com/591099 accessibility/input-mixed.html [ Crash ]
-crbug.com/591099 accessibility/input-type-password-value-and-selection.html [ Timeout ]
+crbug.com/591099 accessibility/input-type-password-value-and-selection.html [ Crash Timeout ]
 crbug.com/591099 accessibility/input-type-range-aria-value.html [ Failure ]
 crbug.com/591099 accessibility/input-type-range-value-change-event.html [ Crash ]
 crbug.com/591099 accessibility/input-type-range-value-change.html [ Failure ]
-crbug.com/591099 accessibility/input-type-text-caret-position.html [ Failure ]
-crbug.com/591099 accessibility/input-type-text-selection.html [ Timeout ]
+crbug.com/591099 accessibility/input-type-text-caret-position.html [ Crash Failure ]
+crbug.com/591099 accessibility/input-type-text-selection.html [ Crash Timeout ]
 crbug.com/591099 accessibility/input-type-text-value-change-event.html [ Crash ]
 crbug.com/591099 accessibility/insert-selected-option-into-select-causes-crash.html [ Failure ]
-crbug.com/591099 accessibility/is-richly-editable.html [ Failure ]
+crbug.com/591099 accessibility/is-richly-editable.html [ Crash Failure ]
 crbug.com/591099 accessibility/label-element-press.html [ Failure ]
 crbug.com/591099 accessibility/label-for-control-hittest.html [ Failure ]
 crbug.com/591099 accessibility/language-attribute.html [ Failure ]
@@ -139,7 +144,7 @@
 crbug.com/591099 accessibility/link-inside-label.html [ Failure ]
 crbug.com/591099 accessibility/listbox-enabled-states.html [ Failure ]
 crbug.com/591099 accessibility/listbox-focus.html [ Crash ]
-crbug.com/591099 accessibility/listitem-presentation-inherited.html [ Failure ]
+crbug.com/591099 accessibility/listitem-presentation-inherited.html [ Crash Failure ]
 crbug.com/591099 accessibility/main-element.html [ Failure ]
 crbug.com/591099 accessibility/media-controls.html [ Failure ]
 crbug.com/591099 accessibility/menu-item-crash.html [ Failure ]
@@ -163,7 +168,8 @@
 crbug.com/591099 accessibility/name-calc-summary.html [ Crash ]
 crbug.com/591099 accessibility/name-calc-svg.html [ Crash ]
 crbug.com/591099 accessibility/name-calc-visibility.html [ Crash ]
-crbug.com/591099 accessibility/nested-layout-crash.html [ Failure ]
+crbug.com/591099 accessibility/nested-layout-crash.html [ Crash Failure ]
+crbug.com/591099 accessibility/nochildren-elements.html [ Crash Pass ]
 crbug.com/591099 accessibility/non-native-image-crash.html [ Failure ]
 crbug.com/591099 accessibility/notification-listeners.html [ Failure ]
 crbug.com/591099 accessibility/not-ignore-landmark-roles.html [ Failure ]
@@ -172,15 +178,15 @@
 crbug.com/591099 accessibility/platform-name.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/presentation-owned-elements.html [ Crash Failure ]
 crbug.com/591099 accessibility/press-works-on-control-types.html [ Failure ]
 crbug.com/591099 accessibility/press-works-on-text-fields.html [ Crash ]
 crbug.com/591099 accessibility/radio-button-title-label.html [ Failure ]
-crbug.com/591099 accessibility/readonly.html [ Failure ]
+crbug.com/591099 accessibility/readonly.html [ Crash Failure ]
 crbug.com/591099 accessibility/removed-anonymous-block-child-causes-crash.html [ Failure ]
-crbug.com/591099 accessibility/removed-continuation-element-causes-crash.html [ Failure ]
+crbug.com/591099 accessibility/removed-continuation-element-causes-crash.html [ Crash Failure ]
 crbug.com/591099 accessibility/render-counter-text.html [ Failure ]
-crbug.com/591099 accessibility/role-attribute.html [ Failure ]
+crbug.com/591099 accessibility/role-attribute.html [ Crash Failure ]
 crbug.com/591099 accessibility/scroll-div-horiz-sends-notification.html [ Timeout ]
 crbug.com/591099 accessibility/scroll-div-sends-notification.html [ Timeout ]
 crbug.com/591099 accessibility/scroll-to-global-point-main-window.html [ Failure ]
@@ -194,15 +200,16 @@
 crbug.com/591099 accessibility/scroll-window-sends-notification.html [ Failure ]
 crbug.com/591099 accessibility/selection-change-notification-aria-textbox.html [ Failure ]
 crbug.com/591099 accessibility/selection-change-notification-contenteditable.html [ Failure ]
-crbug.com/591099 accessibility/selection-change-notification-input.html [ Failure ]
+crbug.com/591099 accessibility/selection-change-notification-input.html [ Crash Failure ]
 crbug.com/591099 accessibility/selection-change-notification-statictext.html [ Failure ]
-crbug.com/591099 accessibility/selection-change-notification-textarea.html [ Failure ]
+crbug.com/591099 accessibility/selection-change-notification-textarea.html [ Crash Failure ]
 crbug.com/591099 accessibility/selection-states.html [ Failure ]
 crbug.com/591099 accessibility/set-selection-whitespace.html [ Failure ]
+crbug.com/591099 accessibility/spin-button-bounds.html [ Crash Pass ]
 crbug.com/591099 accessibility/spin-button-detach.html [ Crash ]
 crbug.com/591099 accessibility/spinbutton-value.html [ Failure ]
 crbug.com/591099 accessibility/svg-bounds.html [ Failure ]
-crbug.com/591099 accessibility/svg-image.html [ Failure ]
+crbug.com/591099 accessibility/svg-image.html [ Crash Failure ]
 crbug.com/591099 accessibility/svg-path-crash.html [ Failure ]
 crbug.com/591099 accessibility/table-caption.html [ Failure ]
 crbug.com/591099 accessibility/table-cell-for-column-and-row-crash.html [ Failure ]
@@ -216,13 +223,16 @@
 crbug.com/591099 accessibility/table-row-with-aria-role.html [ Failure ]
 crbug.com/591099 accessibility/table-with-empty-thead-causes-crash.html [ Failure ]
 crbug.com/591099 accessibility/table-with-hidden-head-section.html [ Failure ]
-crbug.com/591099 accessibility/textarea-caret-position.html [ Timeout ]
-crbug.com/591099 accessibility/textarea-line-for-index.html [ Failure ]
-crbug.com/591099 accessibility/textarea-selection.html [ Failure ]
+crbug.com/591099 accessibility/textarea-caret-position.html [ Crash Timeout ]
+crbug.com/591099 accessibility/textarea-line-for-index.html [ Crash Failure ]
+crbug.com/591099 accessibility/textarea-selection.html [ Crash Failure ]
 crbug.com/591099 accessibility/textbox-role-on-contenteditable-crash.html [ Failure ]
 crbug.com/591099 accessibility/text-change-notification.html [ Crash ]
 crbug.com/591099 accessibility/title-ui-element-correctness.html [ Crash ]
 crbug.com/591099 accessibility/updating-attribute-in-table-causes-crash.html [ Failure ]
+crbug.com/591099 accessibility/whitespace-in-name-calc.html [ Crash Failure Pass ]
+crbug.com/591099 animations/3d/change-transform-in-end-event.html [ Failure Pass ]
+crbug.com/591099 animations/3d/state-at-end-event-transform.html [ Failure Pass ]
 crbug.com/591099 animations/additive-transform-animations.html [ Failure ]
 crbug.com/591099 animations/animation-css-rule-types.html [ Failure ]
 crbug.com/591099 animations/animation-end-event-destroy-renderer.html [ Failure ]
@@ -240,6 +250,7 @@
 crbug.com/591099 animations/composition/caret-color-composition.html [ Crash ]
 crbug.com/591099 animations/composition/stroke-dasharray-composition.html [ Crash ]
 crbug.com/591099 animations/computed-style.html [ Failure ]
+crbug.com/591099 animations/cross-fade-list-style-image.html [ Crash Pass ]
 crbug.com/591099 animations/css-animation-overrides-svg-presentation-attribute-animation.html [ Crash ]
 crbug.com/591099 animations/delay-start-event.html [ Failure ]
 crbug.com/591099 animations/display-change-does-not-terminate-animation.html [ Crash ]
@@ -280,6 +291,7 @@
 crbug.com/591099 animations/interpolation/font-weight-interpolation.html [ Crash ]
 crbug.com/591099 animations/interpolation/height-interpolation.html [ Crash ]
 crbug.com/591099 animations/interpolation/line-height-interpolation.html [ Crash ]
+crbug.com/591099 animations/interpolation/list-style-image-interpolation.html [ Crash Pass ]
 crbug.com/591099 animations/interpolation/margin-interpolation.html [ Crash ]
 crbug.com/591099 animations/interpolation/max-height-interpolation.html [ Crash ]
 crbug.com/591099 animations/interpolation/min-height-interpolation.html [ Crash ]
@@ -342,7 +354,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/length-zero-percent-crash.html [ Failure Pass ]
 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 ]
@@ -353,6 +365,7 @@
 crbug.com/591099 animations/responsive-neutral-keyframe.html [ Failure ]
 crbug.com/591099 animations/rotate-transform-equivalent.html [ Failure ]
 crbug.com/591099 animations/skew-notsequential-compositor.html [ Failure ]
+crbug.com/591099 animations/state-at-end-event.html [ Failure Pass ]
 crbug.com/591099 animations/svg-attribute-composition/svg-amplitude-composition.html [ Crash ]
 crbug.com/591099 animations/svg-attribute-composition/svg-azimuth-composition.html [ Crash ]
 crbug.com/591099 animations/svg-attribute-composition/svg-baseFrequency-composition.html [ Crash ]
@@ -527,33 +540,808 @@
 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.canvas.readonly.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.canvas.reference.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.clearRect.basic.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.clearRect.clip.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.clearRect+fillRect.alpha0.5.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.clearRect+fillRect.basic.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.clearRect.globalalpha.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.clearRect.globalcomposite.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.clearRect.negative.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.clearRect.nonfinite.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.clearRect.path.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.clearRect.shadow.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.clearRect.transform.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.clearRect.zero.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.canvas.copy.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.canvas.destination-atop.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.canvas.destination-in.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.canvas.destination-out.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.canvas.destination-over.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.canvas.lighter.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.canvas.source-atop.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.canvas.source-in.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.canvas.source-out.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.canvas.source-over.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.canvas.xor.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.clip.copy.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.clip.destination-atop.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.clip.destination-in.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.clip.destination-out.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.clip.destination-over.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.clip.lighter.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.clip.source-atop.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.clip.source-in.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.clip.source-out.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.clip.source-over.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.clip.xor.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.globalAlpha.canvas.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.globalAlpha.canvaspattern.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.globalAlpha.default.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.globalAlpha.fill.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.globalAlpha.image.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.globalAlpha.imagepattern.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.globalAlpha.invalid.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.globalAlpha.range.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.image.copy.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.image.destination-atop.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.image.destination-in.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.image.destination-out.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.image.destination-over.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.image.lighter.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.image.source-atop.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.image.source-in.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.image.source-out.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.image.source-over.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.image.xor.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.operation.casesensitive.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.operation.clear.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.operation.darker.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.operation.default.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.operation.foobar.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.operation.get.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.operation.highlight.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.operation.nullsuffix.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.operation.over.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.operation.unrecognised.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.solid.copy.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.solid.destination-atop.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.solid.destination-in.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.solid.destination-out.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.solid.destination-over.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.solid.lighter.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.solid.source-atop.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.solid.source-in.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.solid.source-out.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.solid.source-over.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.solid.xor.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.transparent.copy.html [ Crash Pass ]
 crbug.com/591099 canvas/philip/tests/2d.composite.transparent.destination-atop.html [ Crash Pass ]
 crbug.com/591099 canvas/philip/tests/2d.composite.transparent.destination-in.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.transparent.destination-out.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.transparent.destination-over.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.transparent.lighter.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.transparent.source-atop.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.transparent.source-in.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.transparent.source-out.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.transparent.source-over.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.transparent.xor.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.uncovered.fill.copy.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.uncovered.fill.destination-atop.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.uncovered.fill.destination-in.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.uncovered.fill.source-in.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.uncovered.fill.source-out.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.uncovered.image.copy.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.uncovered.image.destination-atop.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.uncovered.image.destination-in.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.uncovered.image.source-in.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.uncovered.image.source-out.html [ Crash Pass ]
 crbug.com/591099 canvas/philip/tests/2d.composite.uncovered.nocontext.copy.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.uncovered.nocontext.destination-atop.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.uncovered.nocontext.destination-in.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.uncovered.nocontext.source-in.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.uncovered.nocontext.source-out.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.uncovered.pattern.copy.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.uncovered.pattern.destination-atop.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.uncovered.pattern.destination-in.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.uncovered.pattern.source-in.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.composite.uncovered.pattern.source-out.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.coordinatespace.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.drawImage.3arg.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.drawImage.5arg.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.drawImage.9arg.basic.html [ Crash Pass ]
 crbug.com/591099 canvas/philip/tests/2d.drawImage.9arg.destpos.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.drawImage.9arg.destsize.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.drawImage.9arg.sourcepos.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.drawImage.9arg.sourcesize.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.drawImage.alpha.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.drawImage.animated.apng.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.drawImage.animated.gif.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.drawImage.animated.poster.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.drawImage.broken.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.drawImage.canvas.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.drawImage.clip.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.drawImage.composite.html [ Crash Pass ]
 crbug.com/591099 canvas/philip/tests/2d.drawImage.floatsource.html [ Crash Pass ]
 crbug.com/591099 canvas/philip/tests/2d.drawImage.image.incomplete.empty.html [ Crash Pass ]
 crbug.com/591099 canvas/philip/tests/2d.drawImage.image.incomplete.omitted.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.drawImage.incomplete.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.drawImage.negativedest.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.drawImage.negativedir.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.drawImage.negativeSourceHeight2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.drawImage.negativeSourceHeightAndWidth.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.drawImage.negativeSourceHeight.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.drawImage.negativesource.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.drawImage.nonfinite.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.drawImage.nowrap.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.drawImage.null.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.drawImage.outsidesource.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.drawImage.path.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.drawImage.self.1.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.drawImage.self.2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.drawImage.transform.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.drawImage.wrongtype.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.drawImage.zerocanvas.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.drawImage.zerosource.html [ Crash Pass ]
 crbug.com/591099 canvas/philip/tests/2d.fillRect.basic.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillRect.clip.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillRect.negative.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillRect.nonfinite.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillRect.path.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillRect.shadow.html [ Crash Pass ]
 crbug.com/591099 canvas/philip/tests/2d.fillRect.transform.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillRect.zero.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.default.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.get.semitransparent.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.get.solid.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.get.transparent.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.invalidstring.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.invalidtype.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.current.basic.html [ Crash Pass ]
 crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.current.changed.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.current.removed.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.hex3.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.hex6.html [ Crash Pass ]
 crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.hsl-1.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.hsl-2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.hsl-3.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.hsl-4.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.hsl-5.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.hsl-6.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.hsla-1.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.hsla-2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.hsla-clamp-1.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.hsla-clamp-2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.hsla-clamp-3.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.hsla-clamp-4.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.hsla-clamp-5.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.hsla-clamp-6.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.hsl-clamp-1.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.hsl-clamp-2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.hsl-clamp-3.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.hsl-clamp-4.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.html4.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.invalid.hex1.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.invalid.hex2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.invalid.hex3.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.invalid.hex5.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.invalid.hex6.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.invalid.hex7.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.invalid.hsl-1.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.invalid.hsl-2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.invalid.hsl-3.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.invalid.hsl-4.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.invalid.hsl-5.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.invalid.hsl-6.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.invalid.hsla-1.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.invalid.hsla-2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.invalid.name-1.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.invalid.name-2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.invalid.name-3.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.invalid.name-4.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.invalid.rgb-1.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.invalid.rgb-2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.invalid.rgb-3.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.invalid.rgb-4.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.invalid.rgb-5.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.invalid.rgb-6.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.invalid.rgb-7.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.invalid.rgba-1.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.invalid.rgba-2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.invalid.rgba-3.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.invalid.rgba-4.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.invalid.rgba-5.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.invalid.rgba-6.html [ Crash Pass ]
 crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.invalid.rgba-7.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.rgba-clamp-1.html [ Crash Pass ]
 crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.rgba-clamp-2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.rgba-eof.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.rgba-num-1.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.rgba-num-2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.rgba-percent.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.rgba-solid-1.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.rgba-solid-2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.rgba-solid-3.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.rgba-solid-4.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.rgb-clamp-1.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.rgb-clamp-2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.rgb-clamp-3.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.rgb-clamp-4.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.rgb-clamp-5.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.rgb-eof.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.rgb-num.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.rgb-percent.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.svg-1.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.svg-2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.system.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.transparent-1.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.fillStyle.parse.transparent-2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.getcontext.exists.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.getcontext.extraargs.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.getcontext.shared.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.getcontext.unique.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.gradient.empty.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.gradient.interpolate.alpha.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.gradient.interpolate.colouralpha.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.gradient.interpolate.colour.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.gradient.interpolate.multiple.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.gradient.interpolate.outside.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.gradient.interpolate.overlap2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.gradient.interpolate.overlap.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.gradient.interpolate.solid.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.gradient.interpolate.vertical.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.gradient.interpolate.zerosize.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.gradient.linear.transform.1.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.gradient.linear.transform.2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.gradient.linear.transform.3.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.gradient.object.compare.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.gradient.object.crosscanvas.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.gradient.object.current.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.gradient.object.invalidcolour.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.gradient.object.return.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.gradient.object.update.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.gradient.radial.cone.behind.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.gradient.radial.cone.beside.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.gradient.radial.cone.bottom.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.gradient.radial.cone.cylinder.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.gradient.radial.cone.front.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.gradient.radial.cone.shape1.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.gradient.radial.cone.shape2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.gradient.radial.cone.top.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.gradient.radial.equal.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.gradient.radial.inside1.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.gradient.radial.inside2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.gradient.radial.inside3.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.gradient.radial.negative.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.gradient.radial.outside1.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.gradient.radial.outside2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.gradient.radial.outside3.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.gradient.radial.touch1.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.gradient.radial.touch2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.gradient.radial.touch3.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.gradient.radial.transform.1.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.gradient.radial.transform.2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.gradient.radial.transform.3.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.imageData.create1.basic.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.imageData.create1.initial.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.imageData.create1.type.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.imageData.create1.zero.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.imageData.create2.basic.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.imageData.create2.initial.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.imageData.create2.large.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.imageData.create2.negative.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.imageData.create2.round.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.imageData.create2.tiny.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.imageData.create2.type.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.imageData.create2.zero.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.imageData.get.basic.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.imageData.get.clamp.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.imageData.get.length.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.imageData.get.nonpremul.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.imageData.get.order.alpha.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.imageData.get.order.cols.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.imageData.get.order.rgb.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.imageData.get.order.rows.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.imageData.get.range.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.imageData.get.source.negative.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.imageData.get.source.outside.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.imageData.get.source.size.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.imageData.get.tiny.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.imageData.get.type.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.imageData.get.unaffected.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.imageData.get.zero.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.imageData.object.clamp.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.imageData.object.nan.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.imageData.object.properties.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.imageData.object.readonly.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.imageData.object.round.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.imageData.object.set.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.imageData.object.string.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.imageData.object.undefined.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.imageData.put.alpha.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.imageData.put.basic.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.imageData.put.clip.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.imageData.put.created.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.imageData.put.cross.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.imageData.put.dirty.negative.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.imageData.put.dirty.outside.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.imageData.put.dirty.rect1.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.imageData.put.dirty.rect2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.imageData.put.dirty.zero.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.imageData.put.modified.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.imageData.put.null.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.imageData.put.path.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.imageData.put.unaffected.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.imageData.put.unchanged.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.imageData.put.wrongtype.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.line.cap.butt.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.line.cap.closed.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.line.cap.invalid.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.line.cap.open.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.line.cap.round.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.line.cap.square.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.line.cap.valid.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.line.cross.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.line.defaults.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.line.join.bevel.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.line.join.closed.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.line.join.invalid.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.line.join.miter.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.line.join.open.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.line.join.parallel.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.line.join.round.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.line.join.valid.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.line.miter.acute.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.line.miter.exceeded.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.line.miter.invalid.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.line.miter.lineedge.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.line.miter.obtuse.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.line.miter.rightangle.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.line.miter.valid.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.line.miter.within.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.line.union.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.line.width.basic.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.line.width.invalid.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.line.width.scaledefault.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.line.width.transformed.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.line.width.valid.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.missingargs.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.arc.angle.1.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.arc.angle.2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.arc.angle.3.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.arc.angle.4.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.arc.angle.5.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.arc.angle.6.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.arc.default.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.arc.empty.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.arc.end.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.arc.negative.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.arc.nonempty.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.arc.nonfinite.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.arc.scale.1.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.arc.scale.2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.arc.selfintersect.1.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.arc.selfintersect.2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.arc.shape.1.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.arc.shape.2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.arc.shape.3.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.arc.shape.4.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.arc.shape.5.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.arcTo.coincide.1.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.arcTo.coincide.2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.arcTo.collinear.1.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.arcTo.collinear.2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.arcTo.collinear.3.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.arcTo.ensuresubpath.1.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.arcTo.ensuresubpath.2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.arcTo.negative.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.arcTo.nonfinite.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.arcTo.scale.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.arcTo.shape.curve1.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.arcTo.shape.curve2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.arcTo.shape.end.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.arcTo.shape.start.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.arcTo.transformation.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.arcTo.zero.1.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.arcTo.zero.2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.arc.twopie.1.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.arc.twopie.2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.arc.twopie.3.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.arc.twopie.4.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.arc.zero.1.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.arc.zero.2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.arc.zeroradius.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.beginPath.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.bezierCurveTo.basic.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.bezierCurveTo.ensuresubpath.1.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.bezierCurveTo.ensuresubpath.2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.bezierCurveTo.nonfinite.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.bezierCurveTo.scaled.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.bezierCurveTo.shape.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.clip.basic.1.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.clip.basic.2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.clip.empty.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.clip.intersect.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.clip.unaffected.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.clip.winding.1.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.clip.winding.2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.closePath.empty.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.closePath.newline.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.closePath.nextpoint.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.fill.closed.basic.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.fill.closed.unaffected.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.fill.overlap.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.fill.winding.add.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.fill.winding.subtract.1.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.fill.winding.subtract.2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.fill.winding.subtract.3.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.initial.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.isPointInPath.arc.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.isPointInPath.basic.1.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.isPointInPath.basic.2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.isPointInPath.bezier.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.isPointInPath.bigarc.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.isPointInPath.edge.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.isPointInPath.empty.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.isPointInPath.nonfinite.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.isPointInPath.outside.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.isPointInPath.subpath.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.isPointInPath.transform.1.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.isPointInPath.transform.2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.isPointInPath.transform.3.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.isPointInPath.unclosed.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.isPointInPath.winding.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.lineTo.basic.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.lineTo.ensuresubpath.1.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.lineTo.ensuresubpath.2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.lineTo.nextpoint.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.lineTo.nonfinite.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.moveTo.basic.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.moveTo.multiple.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.moveTo.newsubpath.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.moveTo.nonfinite.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.quadraticCurveTo.basic.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.quadraticCurveTo.ensuresubpath.1.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.quadraticCurveTo.ensuresubpath.2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.quadraticCurveTo.nonfinite.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.quadraticCurveTo.scaled.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.quadraticCurveTo.shape.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.rect.basic.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.rect.closed.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.rect.end.1.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.rect.end.2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.rect.negative.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.rect.newsubpath.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.rect.nonfinite.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.rect.selfintersect.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.rect.winding.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.rect.zero.1.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.rect.zero.2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.rect.zero.3.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.rect.zero.4.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.rect.zero.5.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.rect.zero.6.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.stroke.empty.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.stroke.overlap.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.stroke.prune.arc.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.stroke.prune.closed.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.stroke.prune.corner.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.stroke.prune.curve.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.stroke.prune.line.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.stroke.prune.rect.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.stroke.scale1.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.stroke.scale2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.stroke.skew.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.stroke.unaffected.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.stroke.union.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.transformation.basic.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.transformation.changing.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.path.transformation.multiple.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.pattern.animated.gif.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.pattern.basic.canvas.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.pattern.basic.image.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.pattern.basic.nocontext.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.pattern.basic.type.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.pattern.basic.zerocanvas.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.pattern.crosscanvas.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.pattern.image.broken.html [ Crash Pass ]
 crbug.com/591099 canvas/philip/tests/2d.pattern.image.incomplete.empty.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.pattern.image.incomplete.html [ Crash Pass ]
 crbug.com/591099 canvas/philip/tests/2d.pattern.image.incomplete.omitted.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.pattern.image.null.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.pattern.image.string.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.pattern.image.undefined.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.pattern.modify.canvas1.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.pattern.modify.canvas2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.pattern.modify.image1.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.pattern.modify.image2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.pattern.paint.norepeat.basic.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.pattern.paint.norepeat.coord1.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.pattern.paint.norepeat.coord2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.pattern.paint.norepeat.coord3.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.pattern.paint.norepeat.outside.html [ Crash Pass ]
 crbug.com/591099 canvas/philip/tests/2d.pattern.paint.orientation.canvas.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.pattern.paint.orientation.image.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.pattern.paint.repeat.basic.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.pattern.paint.repeat.coord1.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.pattern.paint.repeat.coord2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.pattern.paint.repeat.coord3.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.pattern.paint.repeat.outside.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.pattern.paint.repeatx.basic.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.pattern.paint.repeatx.coord1.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.pattern.paint.repeatx.outside.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.pattern.paint.repeaty.basic.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.pattern.paint.repeaty.coord1.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.pattern.paint.repeaty.outside.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.pattern.repeat.case.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.pattern.repeat.empty.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.pattern.repeat.null.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.pattern.repeat.nullsuffix.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.pattern.repeat.undefined.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.pattern.repeat.unrecognised.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.scaled.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.shadow.alpha.1.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.shadow.alpha.2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.shadow.alpha.3.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.shadow.alpha.4.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.shadow.alpha.5.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.shadow.attributes.shadowBlur.initial.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.shadow.attributes.shadowBlur.invalid.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.shadow.attributes.shadowBlur.valid.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.shadow.attributes.shadowColor.initial.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.shadow.attributes.shadowColor.invalid.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.shadow.attributes.shadowColor.valid.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.shadow.attributes.shadowOffset.initial.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.shadow.attributes.shadowOffset.invalid.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.shadow.attributes.shadowOffset.valid.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.shadow.blur.high.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.shadow.blur.low.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.shadow.canvas.alpha.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.shadow.canvas.basic.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.shadow.canvas.transparent.1.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.shadow.canvas.transparent.2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.shadow.clip.1.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.shadow.clip.2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.shadow.clip.3.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.shadow.composite.1.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.shadow.composite.2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.shadow.composite.3.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.shadow.enable.blur.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.shadow.enable.off.1.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.shadow.enable.off.2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.shadow.enable.x.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.shadow.enable.y.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.shadow.gradient.alpha.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.shadow.gradient.basic.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.shadow.gradient.transparent.1.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.shadow.gradient.transparent.2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.shadow.image.alpha.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.shadow.image.basic.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.shadow.image.scale.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.shadow.image.section.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.shadow.image.transparent.1.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.shadow.image.transparent.2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.shadow.offset.negativeX.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.shadow.offset.negativeY.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.shadow.offset.positiveX.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.shadow.offset.positiveY.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.shadow.outside.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.shadow.pattern.alpha.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.shadow.pattern.basic.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.shadow.pattern.transparent.1.html [ Crash Pass ]
 crbug.com/591099 canvas/philip/tests/2d.shadow.pattern.transparent.2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.shadow.stroke.basic.html [ Crash Pass ]
 crbug.com/591099 canvas/philip/tests/2d.shadow.stroke.cap.1.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.shadow.stroke.cap.2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.shadow.stroke.join.1.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.shadow.stroke.join.2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.shadow.stroke.join.3.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.shadow.transform.1.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.shadow.transform.2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.state.saverestore.bitmap.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.state.saverestore.clip.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.state.saverestore.fillStyle.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.state.saverestore.font.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.state.saverestore.globalAlpha.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.state.saverestore.globalCompositeOperation.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.state.saverestore.lineCap.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.state.saverestore.lineJoin.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.state.saverestore.lineWidth.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.state.saverestore.miterLimit.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.state.saverestore.path.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.state.saverestore.shadowBlur.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.state.saverestore.shadowColor.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.state.saverestore.shadowOffsetX.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.state.saverestore.shadowOffsetY.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.state.saverestore.stackdepth.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.state.saverestore.stack.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.state.saverestore.strokeStyle.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.state.saverestore.textAlign.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.state.saverestore.textBaseline.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.state.saverestore.transformation.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.state.saverestore.underflow.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.strokeRect.basic.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.strokeRect.clip.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.strokeRect.globalalpha.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.strokeRect.globalcomposite.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.strokeRect.negative.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.strokeRect.nonfinite.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.strokeRect.path.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.strokeRect.shadow.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.strokeRect.transform.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.strokeRect.zero.1.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.strokeRect.zero.2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.strokeRect.zero.3.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.strokeRect.zero.4.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.strokeRect.zero.5.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.strokeStyle.default.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.text.align.default.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.text.align.invalid.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.text.align.valid.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.text.baseline.default.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.text.baseline.invalid.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.text.baseline.valid.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.text-custom-font-load-crash.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.text.draw.align.center.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.text.draw.align.end.ltr.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.text.draw.align.end.rtl.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.text.draw.align.left.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.text.draw.align.right.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.text.draw.align.start.ltr.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.text.draw.align.start.rtl.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.text.draw.baseline.alphabetic.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.text.draw.baseline.bottom.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.text.draw.baseline.hanging.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.text.draw.baseline.ideographic.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.text.draw.baseline.middle.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.text.draw.baseline.top.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.text.draw.fill.basic.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.text.draw.fill.maxWidth.bound.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.text.draw.fill.maxWidth.fontface.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.text.draw.fill.maxWidth.large.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.text.draw.fill.maxWidth.small.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.text.draw.fill.maxWidth.zero.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.text.draw.fill.rtl.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.text.draw.fill.unaffected.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.text.draw.fontface.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.text.draw.fontface.notinpage.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.text.draw.fontface.repeat.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.text.draw.kern.consistent.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.text.draw.space.basic.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.text.draw.space.collapse.end.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.text.draw.space.collapse.nonspace.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.text.draw.space.collapse.other.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.text.draw.space.collapse.space.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.text.draw.space.collapse.start.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.text.draw.stroke.basic.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.text.draw.stroke.unaffected.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.text.font.default.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.text.font.parse.basic.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.text.font.parse.complex.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.text.font.parse.invalid.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.text.font.parse.size.percentage.default.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.text.font.parse.size.percentage.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.text.font.parse.system.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.text.font.rem.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.text.measure.width.basic.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.text.measure.width.empty.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.text.measure.width.space.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.transformation.order.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.transformation.rotate.direction.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.transformation.rotate.nonfinite.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.transformation.rotate.radians.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.transformation.rotate.wrap.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.transformation.rotate.wrapnegative.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.transformation.rotate.zero.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.transformation.scale.basic.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.transformation.scale.large.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.transformation.scale.multiple.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.transformation.scale.negative.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.transformation.scale.nonfinite.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.transformation.scale.zero.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.transformation.setTransform.multiple.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.transformation.setTransform.nonfinite.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.transformation.setTransform.skewed.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.transformation.transform.identity.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.transformation.transform.multiply.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.transformation.transform.nonfinite.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.transformation.transform.skewed.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.transformation.translate.basic.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.transformation.translate.nonfinite.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/2d.voidreturn.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/context.casesensitive.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/context.emptystring.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/context.unrecognised.badname.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/context.unrecognised.badsuffix.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/context.unrecognised.nullsuffix.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/context.unrecognised.unicode.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/fallback.basic.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/fallback.multiple.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/fallback.nested.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/initial.colour.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/initial.reset.2dstate.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/initial.reset.clip.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/initial.reset.different.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/initial.reset.gradient.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/initial.reset.path.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/initial.reset.pattern.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/initial.reset.same.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/initial.reset.transform.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/security.dataURI.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/size.attributes.default.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/size.attributes.get.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/size.attributes.idl.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/size.attributes.idl.set.zero.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/size.attributes.parse.decimal.html [ Crash Pass ]
 crbug.com/591099 canvas/philip/tests/size.attributes.parse.em.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/size.attributes.parse.empty.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/size.attributes.parse.exp.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/size.attributes.parse.hex.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/size.attributes.parse.junk.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/size.attributes.parse.minus.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/size.attributes.parse.octal.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/size.attributes.parse.onlyspace.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/size.attributes.parse.percent.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/size.attributes.parse.plus.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/size.attributes.parse.space.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/size.attributes.parse.trailingjunk.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/size.attributes.parse.whitespace.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/size.attributes.parse.zero.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/size.attributes.reflect.setcontent.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/size.attributes.reflect.setidl.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/size.attributes.reflect.setidlzero.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/size.attributes.removed.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/size.attributes.setAttribute.decimal.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/size.attributes.setAttribute.em.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/size.attributes.setAttribute.empty.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/size.attributes.setAttribute.exp.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/size.attributes.setAttribute.hex.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/size.attributes.setAttribute.junk.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/size.attributes.setAttribute.minus.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/size.attributes.setAttribute.octal.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/size.attributes.setAttribute.onlyspace.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/size.attributes.setAttribute.percent.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/size.attributes.setAttribute.plus.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/size.attributes.setAttribute.space.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/size.attributes.setAttribute.trailingjunk.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/size.attributes.setAttribute.whitespace.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/size.attributes.setAttribute.zero.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/size.attributes.set.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/size.attributes.style.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/toDataURL.arguments.1.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/toDataURL.arguments.2.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/toDataURL.arguments.3.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/toDataURL.bogustype.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/toDataURL.default.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/toDataURL.jpeg.alpha.html [ Crash Pass ]
 crbug.com/591099 canvas/philip/tests/toDataURL.jpeg.primarycolours.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/toDataURL.jpeg.quality.basic.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/toDataURL.jpeg.quality.notnumber.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/toDataURL.jpeg.quality.outsiderange.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/toDataURL.lowercase.ascii.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/toDataURL.lowercase.unicode.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/toDataURL.nocontext.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/toDataURL.png.complexcolours.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/toDataURL.png.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/toDataURL.png.primarycolours.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/toDataURL.unrecognised.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/toDataURL.zerosize.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/type.exists.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/type.extend.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/type.name.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/type.prototype.html [ Crash Pass ]
+crbug.com/591099 canvas/philip/tests/type.replace.html [ Crash Pass ]
 crbug.com/591099 compositing/3d-corners.html [ Failure ]
+crbug.com/591099 compositing/absolute-inside-out-of-view-fixed.html [ Failure Pass ]
 crbug.com/591099 compositing/animation/busy-indicator.html [ Failure ]
 crbug.com/591099 compositing/animation/hidden-composited.html [ Failure ]
+crbug.com/591099 compositing/animation/state-at-end-event-transform-layer.html [ Failure Pass ]
 crbug.com/591099 compositing/backface-visibility/backface-visibility-image.html [ Failure ]
 crbug.com/591099 compositing/backface-visibility/backface-visibility-non3d.html [ Failure Pass ]
+crbug.com/591099 compositing/backface-visibility/backface-visibility-simple.html [ Failure ]
 crbug.com/591099 compositing/backface-visibility/backface-visibility-webgl.html [ Failure ]
-crbug.com/591099 compositing/backface-visibility-transformed.html [ Failure ]
+crbug.com/591099 compositing/backface-visibility-transformed.html [ Failure Pass ]
 crbug.com/591099 compositing/background-color/background-color-change-to-text.html [ Failure Pass ]
 crbug.com/591099 compositing/backgrounds/fixed-backgrounds.html [ Failure ]
 crbug.com/591099 compositing/backgrounds/local-background.html [ Failure ]
@@ -561,23 +1349,34 @@
 crbug.com/591099 compositing/change-preferCompositingToLCDText-setting.html [ Failure ]
 crbug.com/591099 compositing/checkerboard.html [ Failure ]
 crbug.com/591099 compositing/child-transform-layer-requires-box.html [ Failure ]
+crbug.com/591099 compositing/clip-child-by-non-stacking-ancestor.html [ Failure Pass ]
+crbug.com/591099 compositing/color-matching/image-color-matching.html [ Failure Pass ]
+crbug.com/591099 compositing/columns/composited-in-paginated.html [ Failure Pass ]
 crbug.com/591099 compositing/columns/geometry-map-paginated-assert.html [ Failure ]
-crbug.com/591099 compositing/composite-scrollable-fixed-position-when-descendants-composite.html [ Failure ]
 crbug.com/591099 compositing/composited-negative-zindex-child.html [ Failure ]
+crbug.com/591099 compositing/composite-scrollable-fixed-position-when-descendants-composite.html [ Failure ]
 crbug.com/591099 compositing/compositing-visible-descendant.html [ Failure ]
+crbug.com/591099 compositing/contents-opaque/background-clip.html [ Failure Pass ]
+crbug.com/591099 compositing/contents-opaque/background-color.html [ Failure Pass ]
 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/layer-opacity.html [ Failure Pass ]
+crbug.com/591099 compositing/contents-opaque/layer-transform.html [ Failure Pass ]
 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/contents-opaque/visibility-hidden.html [ Crash 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 ]
 crbug.com/591099 compositing/culling/unscrolled-within-boxshadow.html [ Failure ]
 crbug.com/591099 compositing/direct-image-compositing.html [ Failure ]
 crbug.com/591099 compositing/empty-render-surface-crasher.html [ Failure ]
+crbug.com/591099 compositing/filters/sw-layer-overlaps-hw-shadow.html [ Failure Pass ]
+crbug.com/591099 compositing/filters/sw-nested-shadow-overlaps-hw-nested-shadow.html [ Failure Pass ]
+crbug.com/591099 compositing/filters/sw-shadow-overlaps-hw-layer.html [ Failure Pass ]
+crbug.com/591099 compositing/filters/sw-shadow-overlaps-hw-shadow.html [ Failure Pass ]
 crbug.com/591099 compositing/fixed-body-background-positioned.html [ Failure Pass ]
 crbug.com/591099 compositing/fixed-position-changed-to-absolute.html [ Failure ]
 crbug.com/591099 compositing/fixed-position-container.html [ Failure ]
@@ -585,6 +1384,7 @@
 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 ]
+crbug.com/591099 compositing/generated-content.html [ Failure Pass ]
 crbug.com/591099 compositing/geometry/abs-position-inside-opacity.html [ Failure ]
 crbug.com/591099 compositing/geometry/ancestor-overflow-change.html [ Failure ]
 crbug.com/591099 compositing/geometry/assert-marquee-timer.html [ Crash ]
@@ -597,6 +1397,8 @@
 crbug.com/591099 compositing/geometry/clip-inside.html [ Failure ]
 crbug.com/591099 compositing/geometry/clipped-video-controller.html [ Failure ]
 crbug.com/591099 compositing/geometry/clipping-foreground.html [ Failure ]
+crbug.com/591099 compositing/geometry/clip-with-shadow.html [ Failure Pass ]
+crbug.com/591099 compositing/geometry/composited-html-size.html [ Failure Pass ]
 crbug.com/591099 compositing/geometry/composited-in-columns.html [ Failure ]
 crbug.com/591099 compositing/geometry/empty-embed-rects.html [ Failure ]
 crbug.com/591099 compositing/geometry/fixed-in-composited.html [ Failure ]
@@ -615,11 +1417,15 @@
 crbug.com/591099 compositing/geometry/horizontal-scroll-composited.html [ Failure ]
 crbug.com/591099 compositing/geometry/layer-due-to-layer-children-deep.html [ Failure Pass ]
 crbug.com/591099 compositing/geometry/layer-due-to-layer-children-deep-switch.html [ Failure ]
+crbug.com/591099 compositing/geometry/layer-due-to-layer-children.html [ Failure Pass ]
 crbug.com/591099 compositing/geometry/layer-due-to-layer-children-switch.html [ Failure ]
 crbug.com/591099 compositing/geometry/limit-layer-bounds-opacity-transition.html [ Failure ]
 crbug.com/591099 compositing/geometry/limit-layer-bounds-overflow-root.html [ Failure Pass ]
 crbug.com/591099 compositing/geometry/limit-layer-bounds-positioned.html [ Failure ]
+crbug.com/591099 compositing/geometry/limit-layer-bounds-positioned-transition.html [ Failure Pass ]
+crbug.com/591099 compositing/geometry/limit-layer-bounds-transformed.html [ Failure Pass ]
 crbug.com/591099 compositing/geometry/object-clip-rects-assertion.html [ Failure ]
+crbug.com/591099 compositing/geometry/outline-change.html [ Failure Pass ]
 crbug.com/591099 compositing/geometry/partial-layout-update.html [ Failure ]
 crbug.com/591099 compositing/geometry/preserve-3d-switching.html [ Failure ]
 crbug.com/591099 compositing/geometry/repaint-foreground-layer.html [ Failure ]
@@ -657,6 +1463,7 @@
 crbug.com/591099 compositing/gestures/gesture-tapHighlight-2-overflow-div.html [ Failure ]
 crbug.com/591099 compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-inner.html [ Failure ]
 crbug.com/591099 compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-outer.html [ Failure ]
+crbug.com/591099 compositing/gestures/gesture-tapHighlight-form-input-text.html [ Crash Pass ]
 crbug.com/591099 compositing/gestures/gesture-tapHighlight-img-and-text-2.html [ Failure ]
 crbug.com/591099 compositing/gestures/gesture-tapHighlight-img.html [ Failure ]
 crbug.com/591099 compositing/gestures/gesture-tapHighlight-img-transformed.html [ Failure ]
@@ -672,7 +1479,7 @@
 crbug.com/591099 compositing/gestures/gesture-tapHighlight-simple-margin.html [ Failure ]
 crbug.com/591099 compositing/gestures/gesture-tapHighlight-simple-multi-line.html [ Failure ]
 crbug.com/591099 compositing/gestures/gesture-tapHighlight-simple-nested.html [ Failure ]
-crbug.com/591099 compositing/gestures/gesture-tapHighlight-simple-scaledY.html [ Failure ]
+crbug.com/591099 compositing/gestures/gesture-tapHighlight-simple-scaledY.html [ Failure Pass ]
 crbug.com/591099 compositing/gestures/gesture-tapHighlight-simple-window-scroll.html [ Failure ]
 crbug.com/591099 compositing/gestures/gesture-tapHighlight-skew-matrix.html [ Failure ]
 crbug.com/591099 compositing/gestures/gesture-tapHighlight-with-box-shadow.html [ Failure ]
@@ -681,6 +1488,7 @@
 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-iframe-transition-flicker.html [ Crash Pass ]
 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 ]
@@ -704,37 +1512,58 @@
 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/repaint-after-losing-scrollbars.html [ Failure Pass ]
 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/scroll-fixed-transformed-element.html [ Failure Pass ]
+crbug.com/591099 compositing/iframes/scroll-grandchild-iframe.html [ Failure Pass ]
 crbug.com/591099 compositing/iframes/scrolling-iframe.html [ Failure ]
 crbug.com/591099 compositing/iframes/visibility-hidden-transformed-content.html [ Failure Pass ]
-crbug.com/591099 compositing/images/clip-on-directly-composited-image.html [ Failure ]
+crbug.com/591099 compositing/images/clip-on-directly-composited-image.html [ Failure Pass ]
 crbug.com/591099 compositing/images/content-image-change.html [ Failure Pass ]
 crbug.com/591099 compositing/images/content-image.html [ Failure ]
 crbug.com/591099 compositing/images/direct-image-background-color.html [ Failure ]
 crbug.com/591099 compositing/images/direct-svg-image.html [ Failure ]
 crbug.com/591099 compositing/img-layer-object-fit.html [ Failure ]
+crbug.com/591099 compositing/layer-creation/animation-overlap-with-children.html [ Failure Pass ]
+crbug.com/591099 compositing/layer-creation/assumed-overlap-for-inline-transform.html [ Failure Pass ]
+crbug.com/591099 compositing/layer-creation/fixed-position-and-transform.html [ Failure Pass ]
+crbug.com/591099 compositing/layer-creation/fixed-position-change-out-of-view-in-view.html [ Failure Pass ]
 crbug.com/591099 compositing/layer-creation/fixed-position-in-fixed-overflow.html [ Failure ]
+crbug.com/591099 compositing/layer-creation/fixed-position-no-content.html [ Failure Pass ]
 crbug.com/591099 compositing/layer-creation/fixed-position-nonscrollable-body.html [ Failure ]
 crbug.com/591099 compositing/layer-creation/fixed-position-nonscrollable-body-mismatch-containers.html [ Failure ]
 crbug.com/591099 compositing/layer-creation/fixed-position-nonscrollable-body-overlap.html [ Failure ]
 crbug.com/591099 compositing/layer-creation/fixed-position-nonscrollable-iframes-in-scrollable-page.html [ Failure ]
+crbug.com/591099 compositing/layer-creation/fixed-position-out-of-view.html [ Failure Pass ]
 crbug.com/591099 compositing/layer-creation/fixed-position-out-of-view-positioning.html [ Failure ]
 crbug.com/591099 compositing/layer-creation/fixed-position-out-of-view-scaled.html [ Failure ]
 crbug.com/591099 compositing/layer-creation/fixed-position-out-of-view-scaled-scroll.html [ Failure ]
+crbug.com/591099 compositing/layer-creation/fixed-position-out-of-view-with-backdrop-filter.html [ Failure Pass ]
 crbug.com/591099 compositing/layer-creation/fixed-position-under-transform.html [ Failure ]
 crbug.com/591099 compositing/layer-creation/main-thread-scrolling-for-non-composited-fixed-position-if-overflow-hidden.html [ Failure ]
+crbug.com/591099 compositing/layer-creation/no-compositing-for-fixed-position-under-transform.html [ Failure Pass ]
+crbug.com/591099 compositing/layer-creation/no-compositing-for-preserve-3d.html [ Failure Pass ]
 crbug.com/591099 compositing/layer-creation/overflow-scroll-overlap.html [ Failure ]
+crbug.com/591099 compositing/layer-creation/overlap-animation-clipping.html [ Failure Pass ]
 crbug.com/591099 compositing/layer-creation/overlap-animation-container.html [ Failure ]
+crbug.com/591099 compositing/layer-creation/overlap-animation.html [ Failure Pass ]
 crbug.com/591099 compositing/layer-creation/overlap-child-layer.html [ Failure ]
+crbug.com/591099 compositing/layer-creation/overlap-clipping.html [ Failure Pass ]
+crbug.com/591099 compositing/layer-creation/overlap-transformed-3d.html [ Failure Pass ]
+crbug.com/591099 compositing/layer-creation/overlap-transformed-and-clipped.html [ Failure Pass ]
 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/overlap-transforms.html [ Failure Pass ]
+crbug.com/591099 compositing/layer-creation/remove-clipping-layer-with-no-children.html [ Failure Pass ]
 crbug.com/591099 compositing/layer-creation/rotate3d-overlap.html [ Failure ]
+crbug.com/591099 compositing/layer-creation/scroll-partial-update.html [ Failure Pass ]
+crbug.com/591099 compositing/layer-creation/spanOverlapsCanvas.html [ Failure Pass ]
 crbug.com/591099 compositing/layer-creation/squashing-into-ancestor-clipping-layer-change.html [ Failure ]
+crbug.com/591099 compositing/layer-creation/stacking-context-overlap.html [ Failure Pass ]
 crbug.com/591099 compositing/layer-creation/stacking-context-overlap-nested.html [ Failure ]
+crbug.com/591099 compositing/layer-creation/translatez-added.html [ Failure Pass ]
+crbug.com/591099 compositing/layer-creation/translatez-overlap.html [ Failure Pass ]
 crbug.com/591099 compositing/layer-creation/visibility-and-stacking-change.html [ Failure ]
 crbug.com/591099 compositing/layers-inside-overflow-scroll.html [ Failure ]
 crbug.com/591099 compositing/layout-width-change.html [ Failure ]
@@ -749,7 +1578,7 @@
 crbug.com/591099 compositing/masks/multiple-masks.html [ Failure ]
 crbug.com/591099 compositing/masks/simple-composited-mask.html [ Failure ]
 crbug.com/591099 compositing/nested-border-radius-composited-child.html [ Failure Pass ]
-crbug.com/591099 compositing/nested-direct-image-compositing.html [ Failure ]
+crbug.com/591099 compositing/nested-direct-image-compositing.html [ Failure Pass ]
 crbug.com/591099 compositing/opacity-with-mask.html [ Failure ]
 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 ]
@@ -760,9 +1589,9 @@
 crbug.com/591099 compositing/overflow/body-switch-composited-scrolling.html [ Failure ]
 crbug.com/591099 compositing/overflow/border-radius-styles-with-composited-child.html [ Failure ]
 crbug.com/591099 compositing/overflow/clear-scroll-parent.html [ Failure ]
-crbug.com/591099 compositing/overflow/clip-content-under-overflow-controls.html [ Failure ]
+crbug.com/591099 compositing/overflow/clip-content-under-overflow-controls.html [ Failure Pass ]
 crbug.com/591099 compositing/overflow/clip-descendents.html [ Failure ]
-crbug.com/591099 compositing/overflow/clip-parent-of-non-scrolled.html [ Failure ]
+crbug.com/591099 compositing/overflow/clip-parent-of-non-scrolled.html [ Failure Pass ]
 crbug.com/591099 compositing/overflow/clip-parent-reset.html [ Failure ]
 crbug.com/591099 compositing/overflow/clipping-ancestor-with-accelerated-scrolling-ancestor.html [ Failure ]
 crbug.com/591099 compositing/overflow/composited-nested-sticky-deep.html [ Failure ]
@@ -779,7 +1608,7 @@
 crbug.com/591099 compositing/overflow/content-gains-scrollbars.html [ Failure ]
 crbug.com/591099 compositing/overflow/content-loses-scrollbars.html [ Failure ]
 crbug.com/591099 compositing/overflow/descendant-with-clip-path.html [ Failure ]
-crbug.com/591099 compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents.html [ Failure ]
+crbug.com/591099 compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents.html [ Crash Failure ]
 crbug.com/591099 compositing/overflow/fixed-position-ancestor-clip.html [ Failure ]
 crbug.com/591099 compositing/overflow/fractional-sized-scrolling-layer.html [ Failure ]
 crbug.com/591099 compositing/overflow/grandchild-composited-with-border-radius-ancestor.html [ Failure ]
@@ -799,7 +1628,8 @@
 crbug.com/591099 compositing/overflow/opt-in-if-composited.html [ Failure ]
 crbug.com/591099 compositing/overflow/overflow-clip-with-accelerated-scrolling-ancestor.html [ Failure ]
 crbug.com/591099 compositing/overflow/overflow-compositing-descendant.html [ Failure ]
-crbug.com/591099 compositing/overflow/overflow-scaled-descendant-overlapping.html [ Failure ]
+crbug.com/591099 compositing/overflow/overflow-positioning.html [ Failure Pass ]
+crbug.com/591099 compositing/overflow/overflow-scaled-descendant-overlapping.html [ Failure Pass ]
 crbug.com/591099 compositing/overflow/overflow-scroll-background-opaque-to-transparent.html [ Failure ]
 crbug.com/591099 compositing/overflow/overflow-scroll-background-transparent-to-opaque.html [ Failure ]
 crbug.com/591099 compositing/overflow/overflow-scrollbar-layers.html [ Failure ]
@@ -816,7 +1646,7 @@
 crbug.com/591099 compositing/overflow/paint-neg-z-order-descendants-into-scrolling-contents-layer.html [ Failure ]
 crbug.com/591099 compositing/overflow/parent-overflow.html [ Failure ]
 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/repaint-after-losing-scrollbars.html [ Failure Pass ]
 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 ]
@@ -837,24 +1667,29 @@
 crbug.com/591099 compositing/overflow/siblings-composited-with-border-radius-ancestor.html [ Failure ]
 crbug.com/591099 compositing/overflow/siblings-composited-with-border-radius-ancestor-one-clipped.html [ Failure ]
 crbug.com/591099 compositing/overflow/siblings-with-border-radius-ancestor.html [ Failure ]
-crbug.com/591099 compositing/overflow/textarea-scroll-touch.html [ Failure ]
+crbug.com/591099 compositing/overflow/textarea-scroll-touch.html [ Crash Failure ]
 crbug.com/591099 compositing/overflow/theme-affects-visual-overflow.html [ Failure ]
 crbug.com/591099 compositing/overflow/tiled-mask.html [ Failure ]
-crbug.com/591099 compositing/overflow/transform-in-empty-container.html [ Failure ]
+crbug.com/591099 compositing/overflow/transform-in-empty-container.html [ Failure Pass ]
 crbug.com/591099 compositing/overflow/transform-should-update-container-overflow.html [ Failure ]
 crbug.com/591099 compositing/overflow/universal-accelerated-overflow-scroll.html [ Failure ]
 crbug.com/591099 compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers.html [ Failure ]
 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/children-opacity-no-overlap.html [ Failure Pass ]
 crbug.com/591099 compositing/overlap-blending/reflection-opacity-huge.html [ Failure ]
 crbug.com/591099 compositing/perspective-origin-with-scrollbars.html [ Crash Failure ]
-crbug.com/591099 compositing/plugins/webplugin-alpha.html [ Failure ]
-crbug.com/591099 compositing/plugins/webplugin-reflection.html [ Failure ]
-crbug.com/591099 compositing/preserve-3d-toggle.html [ Failure ]
+crbug.com/591099 compositing/plugins/webplugin-alpha.html [ Failure Pass ]
+crbug.com/591099 compositing/plugins/webplugin-no-alpha.html [ Failure Pass ]
+crbug.com/591099 compositing/plugins/webplugin-reflection.html [ Failure Pass ]
+crbug.com/591099 compositing/preserve-3d-toggle.html [ Failure Pass ]
 crbug.com/591099 compositing/reflections/animation-inside-reflection.html [ Failure ]
+crbug.com/591099 compositing/reflections/backface-hidden-reflection.html [ Failure Pass ]
 crbug.com/591099 compositing/reflections/compositing-change-inside-reflection.html [ Failure ]
 crbug.com/591099 compositing/reflections/deeply-nested-reflections.html [ Failure ]
-crbug.com/591099 compositing/reflections/load-video-in-reflection.html [ Failure ]
+crbug.com/591099 compositing/reflections/enable-disable-compositing-reflection.html [ Failure Pass ]
+crbug.com/591099 compositing/reflections/load-video-in-reflection.html [ Failure Pass ]
+crbug.com/591099 compositing/reflections/masked-reflection-on-composited.html [ Failure Pass ]
 crbug.com/591099 compositing/reflections/masked-reflection-on-composited-huge.html [ Failure ]
 crbug.com/591099 compositing/reflections/nested-reflection.html [ Failure ]
 crbug.com/591099 compositing/reflections/nested-reflection-mask-change.html [ Failure ]
@@ -864,6 +1699,7 @@
 crbug.com/591099 compositing/reflections/nested-reflection-transformed2.html [ Failure ]
 crbug.com/591099 compositing/reflections/nested-reflection-transformed.html [ Failure ]
 crbug.com/591099 compositing/reflections/reflection-in-composited.html [ Failure ]
+crbug.com/591099 compositing/reflections/reflection-on-composited.html [ Failure Pass ]
 crbug.com/591099 compositing/reflections/reflection-opacity.html [ Failure ]
 crbug.com/591099 compositing/reflections/reflection-ordering.html [ Failure ]
 crbug.com/591099 compositing/reflections/reflection-positioning2.html [ Failure ]
@@ -871,7 +1707,9 @@
 crbug.com/591099 compositing/reflections/remove-add-reflection.html [ Failure ]
 crbug.com/591099 compositing/reflections/simple-composited-reflections.html [ Failure ]
 crbug.com/591099 compositing/reflections/transform-inside-reflection.html [ Failure ]
+crbug.com/591099 compositing/rendering-contexts.html [ Failure Pass ]
 crbug.com/591099 compositing/render-surface-alpha-blending.html [ Failure ]
+crbug.com/591099 compositing/rounded-corners.html [ Failure Pass ]
 crbug.com/591099 compositing/rtl/rtl-absolute.html [ Failure ]
 crbug.com/591099 compositing/rtl/rtl-absolute-overflow.html [ Failure ]
 crbug.com/591099 compositing/rtl/rtl-absolute-overflow-scrolled.html [ Failure ]
@@ -890,35 +1728,53 @@
 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 Pass ]
-crbug.com/591099 compositing/scrollbar-painting.html [ Failure ]
+crbug.com/591099 compositing/scrollbar-painting.html [ Failure Pass ]
 crbug.com/591099 compositing/scrollbars/custom-composited-different-track-parts.html [ Failure ]
 crbug.com/591099 compositing/scrollbars/nested-overlay-scrollbars.html [ Failure ]
 crbug.com/591099 compositing/self-painting-layers2.html [ Failure ]
 crbug.com/591099 compositing/self-painting-layers.html [ Failure ]
 crbug.com/591099 compositing/shadows/shadow-drawing.html [ Failure ]
+crbug.com/591099 compositing/sibling-positioning.html [ Failure Pass ]
 crbug.com/591099 compositing/squashing/add-remove-squashed-layers.html [ Failure ]
 crbug.com/591099 compositing/squashing/animation-repaint-crash.html [ Failure ]
 crbug.com/591099 compositing/squashing/backing-owner-determines-scroll-parent.html [ Failure ]
+crbug.com/591099 compositing/squashing/clipping-ancestor.html [ Failure Pass ]
 crbug.com/591099 compositing/squashing/composited-bounds-for-negative-z.html [ Failure ]
+crbug.com/591099 compositing/squashing/do-not-squash-non-self-painting-layer.html [ Failure Pass ]
 crbug.com/591099 compositing/squashing/do-not-squash-scroll-child-with-composited-descendants.html [ Failure ]
 crbug.com/591099 compositing/squashing/dont-squash-into-animated-layers.html [ Failure ]
 crbug.com/591099 compositing/squashing/dont-squash-into-blend-mode.html [ Failure ]
+crbug.com/591099 compositing/squashing/dont-squash-into-iframes.html [ Failure Pass ]
+crbug.com/591099 compositing/squashing/dont-squash-into-videos.html [ Failure Pass ]
+crbug.com/591099 compositing/squashing/iframes-are-never-squashed.html [ Failure Pass ]
+crbug.com/591099 compositing/squashing/invalidations-with-large-negative-margin-inline-content.html [ Failure Pass ]
+crbug.com/591099 compositing/squashing/invisible-layers-should-not-affect-geometry.html [ Failure Pass ]
 crbug.com/591099 compositing/squashing/move-squashing-layer.html [ Failure ]
+crbug.com/591099 compositing/squashing/no-squashing-for-filters.html [ Failure Pass ]
 crbug.com/591099 compositing/squashing/no-squashing-into-another-clip-layer.html [ Failure ]
 crbug.com/591099 compositing/squashing/no-squashing-into-fixed-position-that-clips.html [ Failure ]
+crbug.com/591099 compositing/squashing/opacity-squashed-owner.html [ Failure Pass ]
+crbug.com/591099 compositing/squashing/repaint-child-of-squashed.html [ Failure Pass ]
 crbug.com/591099 compositing/squashing/selection-repaint-with-gaps.html [ Failure ]
 crbug.com/591099 compositing/squashing/squash-above-fixed-1.html [ Failure ]
 crbug.com/591099 compositing/squashing/squash-above-fixed-2.html [ Failure ]
 crbug.com/591099 compositing/squashing/squash-above-fixed-3.html [ Failure ]
+crbug.com/591099 compositing/squashing/squash-composited-input.html [ Crash Pass ]
 crbug.com/591099 compositing/squashing/squash-compositing-hover.html [ Failure ]
 crbug.com/591099 compositing/squashing/squashed-clip-parent.html [ Failure ]
 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/squashing-print.html [ Failure Pass ]
+crbug.com/591099 compositing/squashing/squashing-sparsity-heuristic.html [ Failure Pass ]
+crbug.com/591099 compositing/squashing/squash-onto-distant-relative.html [ Failure Pass ]
 crbug.com/591099 compositing/squashing/squash-onto-nephew.html [ Failure Pass ]
 crbug.com/591099 compositing/squashing/squash-onto-transform-backing.html [ Failure Pass ]
 crbug.com/591099 compositing/squashing/squash-overflow-hidden-scrolltop.html [ Failure ]
 crbug.com/591099 compositing/squashing/squash-paint-invalidation-fixed-position.html [ Failure ]
+crbug.com/591099 compositing/squashing/squash-same-transform-ancestor.html [ Failure Pass ]
+crbug.com/591099 compositing/squashing/squash-simple.html [ Failure Pass ]
+crbug.com/591099 compositing/squashing/squash-three-layers.html [ Failure Pass ]
 crbug.com/591099 compositing/squashing/squash-transform.html [ Failure Pass ]
 crbug.com/591099 compositing/squashing/squash-transform-repainting-child.html [ Failure Pass ]
 crbug.com/591099 compositing/squashing/squash-transform-repainting-transformed-child.html [ Failure Pass ]
@@ -929,11 +1785,14 @@
 crbug.com/591099 compositing/transitions/scale-transition-no-start.html [ Failure ]
 crbug.com/591099 compositing/transitions/singular-scale-transition.html [ Failure ]
 crbug.com/591099 compositing/update-paint-phases.html [ Failure ]
+crbug.com/591099 compositing/video-frame-size-change.html [ Failure Pass ]
 crbug.com/591099 compositing/video/video-poster.html [ Failure ]
 crbug.com/591099 compositing/visibility/compositing-and-visibility-turned-off-together.html [ Failure ]
 crbug.com/591099 compositing/visibility/hidden-iframe.html [ Failure ]
 crbug.com/591099 compositing/visibility/layer-visible-content.html [ Failure ]
 crbug.com/591099 compositing/visibility/overlays.html [ Failure Pass ]
+crbug.com/591099 compositing/visibility/visibility-composited.html [ Failure Pass ]
+crbug.com/591099 compositing/visibility/visibility-composited-transforms.html [ Failure Pass ]
 crbug.com/591099 compositing/visibility/visibility-image-layers-dynamic.html [ Failure ]
 crbug.com/591099 compositing/visibility/visibility-image-layers.html [ Failure ]
 crbug.com/591099 compositing/visibility/visibility-on-distant-descendant.html [ Failure ]
@@ -944,10 +1803,12 @@
 crbug.com/591099 compositing/webgl/webgl-reflection.html [ Failure ]
 crbug.com/591099 compositing/webgl/webgl-repaint.html [ Failure ]
 crbug.com/591099 compositing/webgl/webgl-with-accelerated-background-color.html [ Failure Pass ]
+crbug.com/591099 compositing/will-change/composited-layers.html [ Failure Pass ]
 crbug.com/591099 compositing/will-change/neutral-keyframe-not-decomposed.html [ Failure ]
 crbug.com/591099 compositing/will-change/parse-will-change.html [ Failure ]
 crbug.com/591099 compositing/writing-mode-rl-overflow.html [ Failure ]
 crbug.com/591099 compositing/z-order/collect-layers-does-not-initialize-pos-z-order-list.html [ Failure ]
+crbug.com/591099 compositing/z-order/negative-z-index.html [ Failure Pass ]
 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 [ Crash Failure ]
@@ -1075,15 +1936,15 @@
 crbug.com/591099 crypto/worker-random-values.html [ Failure ]
 crbug.com/591099 crypto/worker-random-values-limits.html [ Failure ]
 crbug.com/591099 crypto/worker-random-values-types.html [ Failure ]
-crbug.com/591099 css1/basic/class_as_selector.html [ Failure ]
+crbug.com/591099 css1/basic/class_as_selector.html [ Crash Failure ]
 crbug.com/591099 css1/basic/comments.html [ Failure ]
-crbug.com/591099 css1/basic/containment.html [ Failure ]
-crbug.com/591099 css1/basic/contextual_selectors.html [ Failure ]
+crbug.com/591099 css1/basic/containment.html [ Crash Failure ]
+crbug.com/591099 css1/basic/contextual_selectors.html [ Crash Failure ]
 crbug.com/591099 css1/basic/grouping.html [ Failure ]
-crbug.com/591099 css1/basic/id_as_selector.html [ Failure ]
+crbug.com/591099 css1/basic/id_as_selector.html [ Crash Failure ]
 crbug.com/591099 css1/basic/inheritance.html [ Failure ]
 crbug.com/591099 css1/box_properties/acid_test.html [ Failure ]
-crbug.com/591099 css1/box_properties/border_bottom.html [ Failure ]
+crbug.com/591099 css1/box_properties/border_bottom.html [ Crash Failure ]
 crbug.com/591099 css1/box_properties/border_bottom_inline.html [ Failure ]
 crbug.com/591099 css1/box_properties/border_bottom_width.html [ Failure ]
 crbug.com/591099 css1/box_properties/border_bottom_width_inline.html [ Failure ]
@@ -1091,57 +1952,57 @@
 crbug.com/591099 css1/box_properties/border_color_inline.html [ Failure ]
 crbug.com/591099 css1/box_properties/border.html [ Failure ]
 crbug.com/591099 css1/box_properties/border_inline.html [ Failure ]
-crbug.com/591099 css1/box_properties/border_left.html [ Failure ]
+crbug.com/591099 css1/box_properties/border_left.html [ Crash Failure ]
 crbug.com/591099 css1/box_properties/border_left_inline.html [ Failure ]
 crbug.com/591099 css1/box_properties/border_left_width.html [ Failure ]
 crbug.com/591099 css1/box_properties/border_left_width_inline.html [ Failure ]
 crbug.com/591099 css1/box_properties/border_right.html [ Failure ]
-crbug.com/591099 css1/box_properties/border_right_inline.html [ Failure ]
+crbug.com/591099 css1/box_properties/border_right_inline.html [ Crash Failure ]
 crbug.com/591099 css1/box_properties/border_right_width.html [ Failure ]
 crbug.com/591099 css1/box_properties/border_right_width_inline.html [ Failure ]
 crbug.com/591099 css1/box_properties/border_style.html [ Failure ]
 crbug.com/591099 css1/box_properties/border_style_inline.html [ Failure ]
-crbug.com/591099 css1/box_properties/border_top.html [ Failure ]
+crbug.com/591099 css1/box_properties/border_top.html [ Crash Failure ]
 crbug.com/591099 css1/box_properties/border_top_inline.html [ Failure ]
 crbug.com/591099 css1/box_properties/border_top_width.html [ Failure ]
 crbug.com/591099 css1/box_properties/border_top_width_inline.html [ Failure ]
 crbug.com/591099 css1/box_properties/border_width.html [ Failure ]
 crbug.com/591099 css1/box_properties/border_width_inline.html [ Failure ]
-crbug.com/591099 css1/box_properties/clear_float.html [ Failure ]
+crbug.com/591099 css1/box_properties/clear_float.html [ Crash Failure ]
 crbug.com/591099 css1/box_properties/clear.html [ Failure ]
 crbug.com/591099 css1/box_properties/float_elements_in_series.html [ Crash Failure ]
 crbug.com/591099 css1/box_properties/float.html [ Failure ]
 crbug.com/591099 css1/box_properties/float_margin.html [ Failure ]
 crbug.com/591099 css1/box_properties/float_on_text_elements.html [ Failure ]
 crbug.com/591099 css1/box_properties/height.html [ Failure ]
-crbug.com/591099 css1/box_properties/margin_bottom.html [ Failure ]
+crbug.com/591099 css1/box_properties/margin_bottom.html [ Crash Failure ]
 crbug.com/591099 css1/box_properties/margin_bottom_inline.html [ Failure ]
-crbug.com/591099 css1/box_properties/margin.html [ Failure ]
+crbug.com/591099 css1/box_properties/margin.html [ Crash Failure ]
 crbug.com/591099 css1/box_properties/margin_inline.html [ Failure ]
-crbug.com/591099 css1/box_properties/margin_left.html [ Failure ]
+crbug.com/591099 css1/box_properties/margin_left.html [ Crash Failure ]
 crbug.com/591099 css1/box_properties/margin_left_inline.html [ Failure ]
-crbug.com/591099 css1/box_properties/margin_right.html [ Failure ]
+crbug.com/591099 css1/box_properties/margin_right.html [ Crash Failure ]
 crbug.com/591099 css1/box_properties/margin_right_inline.html [ Failure ]
-crbug.com/591099 css1/box_properties/margin_top.html [ Failure ]
+crbug.com/591099 css1/box_properties/margin_top.html [ Crash Failure ]
 crbug.com/591099 css1/box_properties/margin_top_inline.html [ Failure ]
 crbug.com/591099 css1/box_properties/padding_bottom.html [ Failure ]
 crbug.com/591099 css1/box_properties/padding_bottom_inline.html [ Failure ]
 crbug.com/591099 css1/box_properties/padding.html [ Failure ]
 crbug.com/591099 css1/box_properties/padding_inline.html [ Failure ]
-crbug.com/591099 css1/box_properties/padding_left.html [ Failure ]
+crbug.com/591099 css1/box_properties/padding_left.html [ Crash Failure ]
 crbug.com/591099 css1/box_properties/padding_left_inline.html [ Failure ]
-crbug.com/591099 css1/box_properties/padding_right.html [ Failure ]
+crbug.com/591099 css1/box_properties/padding_right.html [ Crash Failure ]
 crbug.com/591099 css1/box_properties/padding_right_inline.html [ Failure ]
 crbug.com/591099 css1/box_properties/padding_top.html [ Failure ]
 crbug.com/591099 css1/box_properties/padding_top_inline.html [ Failure ]
 crbug.com/591099 css1/box_properties/width.html [ Failure ]
-crbug.com/591099 css1/cascade/cascade_order.html [ Failure ]
+crbug.com/591099 css1/cascade/cascade_order.html [ Crash Failure ]
 crbug.com/591099 css1/cascade/important.html [ Failure ]
-crbug.com/591099 css1/classification/display.html [ Failure ]
-crbug.com/591099 css1/classification/list_style.html [ Failure ]
-crbug.com/591099 css1/classification/list_style_image.html [ Failure ]
-crbug.com/591099 css1/classification/list_style_position.html [ Failure ]
-crbug.com/591099 css1/classification/list_style_type.html [ Failure ]
+crbug.com/591099 css1/classification/display.html [ Crash Failure ]
+crbug.com/591099 css1/classification/list_style.html [ Crash Failure ]
+crbug.com/591099 css1/classification/list_style_image.html [ Crash Failure ]
+crbug.com/591099 css1/classification/list_style_position.html [ Crash Failure ]
+crbug.com/591099 css1/classification/list_style_type.html [ Crash Failure ]
 crbug.com/591099 css1/classification/white_space.html [ Failure ]
 crbug.com/591099 css1/color_and_background/background_attachment.html [ Failure ]
 crbug.com/591099 css1/color_and_background/background_color.html [ Failure ]
@@ -1150,7 +2011,7 @@
 crbug.com/591099 css1/color_and_background/background_position.html [ Failure ]
 crbug.com/591099 css1/color_and_background/background_repeat.html [ Failure ]
 crbug.com/591099 css1/color_and_background/color.html [ Failure ]
-crbug.com/591099 css1/conformance/forward_compatible_parsing.html [ Failure ]
+crbug.com/591099 css1/conformance/forward_compatible_parsing.html [ Crash Failure ]
 crbug.com/591099 css1/font_properties/font_family.html [ Failure ]
 crbug.com/591099 css1/font_properties/font.html [ Failure ]
 crbug.com/591099 css1/font_properties/font_size.html [ Failure ]
@@ -1164,7 +2025,7 @@
 crbug.com/591099 css1/formatting_model/inline_elements.html [ Failure ]
 crbug.com/591099 css1/formatting_model/replaced_elements.html [ Failure ]
 crbug.com/591099 css1/formatting_model/vertical_formatting.html [ Failure ]
-crbug.com/591099 css1/pseudo/anchor.html [ Failure ]
+crbug.com/591099 css1/pseudo/anchor.html [ Crash Failure ]
 crbug.com/591099 css1/pseudo/firstletter.html [ Failure ]
 crbug.com/591099 css1/pseudo/firstline.html [ Failure ]
 crbug.com/591099 css1/pseudo/multiple_pseudo_elements.html [ Failure ]
@@ -1175,7 +2036,7 @@
 crbug.com/591099 css1/text_properties/text_decoration.html [ Failure ]
 crbug.com/591099 css1/text_properties/text_indent.html [ Failure ]
 crbug.com/591099 css1/text_properties/text_transform.html [ Failure ]
-crbug.com/591099 css1/text_properties/vertical_align.html [ Failure ]
+crbug.com/591099 css1/text_properties/vertical_align.html [ Crash Failure ]
 crbug.com/591099 css1/text_properties/word_spacing.html [ Failure ]
 crbug.com/591099 css1/units/color_units.html [ Failure ]
 crbug.com/591099 css1/units/length_units.html [ Failure ]
@@ -1184,58 +2045,159 @@
 crbug.com/591099 css1/units/urls.html [ Failure ]
 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/background-intrinsic-001.htm [ Failure Pass ]
+crbug.com/591099 css2.1/20110323/background-intrinsic-002.htm [ Failure Pass ]
+crbug.com/591099 css2.1/20110323/background-intrinsic-003.htm [ Failure Pass ]
+crbug.com/591099 css2.1/20110323/background-intrinsic-004.htm [ Failure Pass ]
+crbug.com/591099 css2.1/20110323/background-intrinsic-005.htm [ Failure Pass ]
+crbug.com/591099 css2.1/20110323/background-intrinsic-006.htm [ Failure Pass ]
+crbug.com/591099 css2.1/20110323/background-intrinsic-007.htm [ Failure Pass ]
+crbug.com/591099 css2.1/20110323/background-intrinsic-008.htm [ Failure Pass ]
+crbug.com/591099 css2.1/20110323/background-intrinsic-009.htm [ Failure Pass ]
 crbug.com/591099 css2.1/20110323/border-collapse-offset-002.htm [ Failure Pass ]
 crbug.com/591099 css2.1/20110323/border-conflict-element-011.htm [ Crash Pass ]
+crbug.com/591099 css2.1/20110323/border-conflict-style-079.htm [ Failure Pass ]
+crbug.com/591099 css2.1/20110323/border-conflict-style-088.htm [ Failure Pass ]
+crbug.com/591099 css2.1/20110323/border-spacing-applies-to-015.htm [ Failure Pass ]
 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 ]
-crbug.com/591099 css2.1/20110323/height-width-inline-table-001.htm [ Failure ]
+crbug.com/591099 css2.1/20110323/height-applies-to-010a.htm [ Crash Failure ]
+crbug.com/591099 css2.1/20110323/height-width-inline-table-001.htm [ Failure Pass ]
+crbug.com/591099 css2.1/20110323/height-width-table-001.htm [ Failure Pass ]
 crbug.com/591099 css2.1/20110323/inline-table-001.htm [ Failure ]
 crbug.com/591099 css2.1/20110323/list-style-position-005.htm [ Failure ]
+crbug.com/591099 css2.1/20110323/margin-applies-to-001.htm [ Failure Pass ]
+crbug.com/591099 css2.1/20110323/margin-applies-to-002.htm [ Failure Pass ]
+crbug.com/591099 css2.1/20110323/margin-applies-to-003.htm [ Failure Pass ]
+crbug.com/591099 css2.1/20110323/margin-applies-to-004.htm [ Failure Pass ]
+crbug.com/591099 css2.1/20110323/margin-applies-to-005.htm [ Failure Pass ]
+crbug.com/591099 css2.1/20110323/margin-applies-to-006.htm [ Failure Pass ]
+crbug.com/591099 css2.1/20110323/margin-applies-to-007.htm [ Failure Pass ]
 crbug.com/591099 css2.1/20110323/margin-applies-to-008.htm [ Failure ]
-crbug.com/591099 css2.1/20110323/margin-applies-to-010.htm [ Failure ]
+crbug.com/591099 css2.1/20110323/margin-applies-to-009.htm [ Failure Pass ]
+crbug.com/591099 css2.1/20110323/margin-applies-to-010.htm [ Crash Failure ]
 crbug.com/591099 css2.1/20110323/margin-applies-to-012.htm [ Failure ]
+crbug.com/591099 css2.1/20110323/margin-applies-to-013.htm [ Failure Pass ]
 crbug.com/591099 css2.1/20110323/margin-applies-to-014.htm [ Failure ]
+crbug.com/591099 css2.1/20110323/margin-applies-to-015.htm [ Failure Pass ]
 crbug.com/591099 css2.1/20110323/margin-collapse-012.htm [ Failure ]
 crbug.com/591099 css2.1/20110323/outline-color-001.htm [ Failure ]
 crbug.com/591099 css2.1/20110323/outline-color-applies-to-004.htm [ Failure Pass ]
 crbug.com/591099 css2.1/20110323/outline-color-applies-to-008.htm [ Failure ]
 crbug.com/591099 css2.1/20110323/outline-color-applies-to-010.htm [ Crash Pass ]
-crbug.com/591099 css2.1/20110323/outline-color-applies-to-014.htm [ Failure ]
+crbug.com/591099 css2.1/20110323/outline-color-applies-to-014.htm [ Failure Pass ]
 crbug.com/591099 css2.1/20110323/overflow-applies-to-008.htm [ Failure ]
 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-010.htm [ Crash Failure ]
 crbug.com/591099 css2.1/20110323/overflow-applies-to-012.htm [ Failure ]
+crbug.com/591099 css2.1/20110323/table-caption-001.htm [ Failure Pass ]
 crbug.com/591099 css2.1/20110323/table-caption-002.htm [ Failure Pass ]
+crbug.com/591099 css2.1/20110323/table-caption-horizontal-alignment-001.htm [ Failure Pass ]
+crbug.com/591099 css2.1/20110323/table-caption-margins-001.htm [ Failure Pass ]
+crbug.com/591099 css2.1/20110323/table-caption-optional-001.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/t010403-shand-font-00-b.html [ Failure Pass ]
+crbug.com/591099 css2.1/t010403-shand-font-01-b.html [ Failure Pass ]
+crbug.com/591099 css2.1/t010403-shand-font-02-b.html [ Failure Pass ]
+crbug.com/591099 css2.1/t010403-shand-font-03-b.html [ Failure Pass ]
+crbug.com/591099 css2.1/t040102-keywords-00-b.html [ Failure Pass ]
 crbug.com/591099 css2.1/t040102-keywords-01-b.html [ Failure ]
-crbug.com/591099 css2.1/t040103-ident-10-c.html [ Crash Pass ]
+crbug.com/591099 css2.1/t040103-case-00-b.html [ Failure Pass ]
+crbug.com/591099 css2.1/t040103-case-01-c.html [ Failure Pass ]
+crbug.com/591099 css2.1/t040103-escapes-00-b.html [ Failure Pass ]
+crbug.com/591099 css2.1/t040103-escapes-01-b.html [ Failure Pass ]
+crbug.com/591099 css2.1/t040103-escapes-02-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t040103-escapes-03-b.html [ Failure Pass ]
+crbug.com/591099 css2.1/t040103-escapes-04-b.html [ Failure Pass ]
+crbug.com/591099 css2.1/t040103-escapes-05-c.html [ Failure Pass ]
+crbug.com/591099 css2.1/t040103-escapes-06-b.html [ Failure Pass ]
+crbug.com/591099 css2.1/t040103-escapes-07-b.html [ Failure Pass ]
+crbug.com/591099 css2.1/t040103-escapes-08-b.html [ Failure Pass ]
+crbug.com/591099 css2.1/t040103-ident-00-c.html [ Failure Pass ]
+crbug.com/591099 css2.1/t040103-ident-01-c.html [ Failure Pass ]
+crbug.com/591099 css2.1/t040103-ident-02-c.html [ Failure Pass ]
+crbug.com/591099 css2.1/t040103-ident-03-c.html [ Failure Pass ]
+crbug.com/591099 css2.1/t040103-ident-04-c.html [ Failure Pass ]
+crbug.com/591099 css2.1/t040103-ident-05-c.html [ Failure Pass ]
+crbug.com/591099 css2.1/t040103-ident-06-c.html [ Failure Pass ]
+crbug.com/591099 css2.1/t040103-ident-07-c.html [ Failure Pass ]
+crbug.com/591099 css2.1/t040103-ident-08-c.html [ Failure Pass ]
+crbug.com/591099 css2.1/t040103-ident-09-c.html [ Failure Pass ]
+crbug.com/591099 css2.1/t040103-ident-10-c.html [ Crash Failure Pass ]
+crbug.com/591099 css2.1/t040103-ident-11-c.html [ Failure Pass ]
+crbug.com/591099 css2.1/t040103-ident-12-c.html [ Failure Pass ]
+crbug.com/591099 css2.1/t040103-ident-13-c.html [ Failure Pass ]
+crbug.com/591099 css2.1/t040105-atkeyw-00-b.html [ Failure Pass ]
+crbug.com/591099 css2.1/t040105-atkeyw-01-b.html [ Failure Pass ]
+crbug.com/591099 css2.1/t040105-atkeyw-02-b.html [ Failure Pass ]
+crbug.com/591099 css2.1/t040105-atrule-00-b.html [ Failure Pass ]
+crbug.com/591099 css2.1/t040105-atrule-01-b.html [ Failure Pass ]
+crbug.com/591099 css2.1/t040105-atrule-02-b.html [ Failure Pass ]
+crbug.com/591099 css2.1/t040105-atrule-03-b.html [ Failure Pass ]
+crbug.com/591099 css2.1/t040105-atrule-04-b.html [ Failure Pass ]
+crbug.com/591099 css2.1/t040105-import-00-b.html [ Failure Pass ]
+crbug.com/591099 css2.1/t040105-import-01-b.html [ Failure Pass ]
+crbug.com/591099 css2.1/t040105-import-10-b.html [ Failure Pass ]
+crbug.com/591099 css2.1/t040109-c17-comments-00-b.html [ Failure Pass ]
 crbug.com/591099 css2.1/t040109-c17-comments-01-b.html [ Failure Pass ]
+crbug.com/591099 css2.1/t0402-c71-fwd-parsing-00-f.html [ Failure 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-02-f.html [ Crash Failure ]
+crbug.com/591099 css2.1/t0402-c71-fwd-parsing-03-f.html [ Failure Pass ]
 crbug.com/591099 css2.1/t0402-c71-fwd-parsing-04-f.html [ Failure ]
+crbug.com/591099 css2.1/t0402-syntax-01-f.html [ Failure Pass ]
+crbug.com/591099 css2.1/t0402-syntax-02-f.html [ Failure Pass ]
+crbug.com/591099 css2.1/t0402-syntax-03-f.html [ Failure Pass ]
+crbug.com/591099 css2.1/t0402-syntax-04-f.html [ Failure Pass ]
+crbug.com/591099 css2.1/t0402-syntax-05-f.html [ Failure Pass ]
+crbug.com/591099 css2.1/t0402-syntax-06-f.html [ Failure Pass ]
 crbug.com/591099 css2.1/t040302-c61-ex-len-00-b-a.html [ Failure ]
 crbug.com/591099 css2.1/t040302-c61-phys-len-00-b.html [ Failure ]
+crbug.com/591099 css2.1/t040302-c61-rel-len-00-b-ag.html [ Failure Pass ]
 crbug.com/591099 css2.1/t040303-c62-percent-00-b-ag.html [ Failure ]
-crbug.com/591099 css2.1/t0505-c16-descendant-01-e.html [ Failure ]
-crbug.com/591099 css2.1/t050803-c14-classes-00-e.html [ Failure ]
-crbug.com/591099 css2.1/t0509-c15-ids-01-e.html [ Failure ]
+crbug.com/591099 css2.1/t040304-c64-uri-00-a-g.html [ Failure Pass ]
+crbug.com/591099 css2.1/t040306-c63-color-00-b-ag.html [ Failure Pass ]
+crbug.com/591099 css2.1/t040306-syntax-01-f.html [ Failure Pass ]
+crbug.com/591099 css2.1/t040307-syntax-01-b.html [ Failure Pass ]
+crbug.com/591099 css2.1/t050201-c12-grouping-00-b.html [ Failure Pass ]
+crbug.com/591099 css2.1/t0505-c16-descendant-00-e.html [ Crash Failure Pass ]
+crbug.com/591099 css2.1/t0505-c16-descendant-01-e.html [ Crash Failure ]
+crbug.com/591099 css2.1/t0505-c16-descendant-02-e.html [ Failure Pass ]
+crbug.com/591099 css2.1/t050803-c14-classes-00-e.html [ Crash Failure ]
+crbug.com/591099 css2.1/t0509-c15-ids-00-a.html [ Failure Pass ]
+crbug.com/591099 css2.1/t0509-c15-ids-01-e.html [ Crash Failure ]
+crbug.com/591099 css2.1/t0509-id-sel-syntax-01-f.html [ Failure Pass ]
+crbug.com/591099 css2.1/t0509-id-sel-syntax-02-b.html [ Failure Pass ]
+crbug.com/591099 css2.1/t0510-c25-pseudo-elmnt-00-c.html [ Failure Pass ]
+crbug.com/591099 css2.1/t051103-c21-activ-ln-00-e-i.html [ Failure Pass ]
+crbug.com/591099 css2.1/t051103-c21-focus-ln-00-e-i.html [ Failure Pass ]
+crbug.com/591099 css2.1/t051103-c21-hover-ln-00-e-i.html [ Failure Pass ]
 crbug.com/591099 css2.1/t051103-dom-hover-01-c-io.html [ Failure ]
 crbug.com/591099 css2.1/t051103-dom-hover-02-c-io.html [ Failure ]
+crbug.com/591099 css2.1/t0511-c21-pseud-anch-00-e-i.html [ Failure Pass ]
 crbug.com/591099 css2.1/t0511-c21-pseud-link-00-e.html [ Failure Pass ]
+crbug.com/591099 css2.1/t0511-c21-pseud-link-01-e.html [ Failure Pass ]
+crbug.com/591099 css2.1/t0511-c21-pseud-link-02-e.html [ Failure Pass ]
+crbug.com/591099 css2.1/t0511-c21-pseud-link-03-e.html [ Failure Pass ]
 crbug.com/591099 css2.1/t051201-c23-first-line-00-b.html [ Failure ]
 crbug.com/591099 css2.1/t051202-c24-first-lttr-00-b.html [ Failure ]
 crbug.com/591099 css2.1/t051202-c26-psudo-nest-00-c.html [ Failure ]
+crbug.com/591099 css2.1/t0602-c13-inheritance-00-e.html [ Failure Pass ]
 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/t0603-c11-import-00-b.html [ Failure Pass ]
+crbug.com/591099 css2.1/t060401-c32-cascading-00-b.html [ Crash Failure Pass ]
+crbug.com/591099 css2.1/t060402-c31-important-00-b.html [ Failure Pass ]
+crbug.com/591099 css2.1/t060403-c21-pseu-cls-00-e-i.html [ Failure Pass ]
+crbug.com/591099 css2.1/t060403-c21-pseu-id-00-e-i.html [ Failure Pass ]
 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 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-c5501-mrgn-t-00-b-a.html [ Crash Failure ]
 crbug.com/591099 css2.1/t0803-c5502-imrgn-r-00-b-ag.html [ Failure ]
 crbug.com/591099 css2.1/t0803-c5502-imrgn-r-01-b-ag.html [ Failure ]
 crbug.com/591099 css2.1/t0803-c5502-imrgn-r-02-b-a.html [ Failure ]
@@ -1244,10 +2206,11 @@
 crbug.com/591099 css2.1/t0803-c5502-imrgn-r-05-b-ag.html [ Failure ]
 crbug.com/591099 css2.1/t0803-c5502-imrgn-r-06-b-ag.html [ Failure ]
 crbug.com/591099 css2.1/t0803-c5502-mrgn-r-00-c-ag.html [ Failure ]
-crbug.com/591099 css2.1/t0803-c5502-mrgn-r-01-c-a.html [ Failure ]
+crbug.com/591099 css2.1/t0803-c5502-mrgn-r-01-c-a.html [ Crash Failure ]
 crbug.com/591099 css2.1/t0803-c5502-mrgn-r-02-c.html [ Failure ]
+crbug.com/591099 css2.1/t0803-c5502-mrgn-r-03-c.html [ Failure Pass ]
 crbug.com/591099 css2.1/t0803-c5503-imrgn-b-00-b-a.html [ Failure ]
-crbug.com/591099 css2.1/t0803-c5503-mrgn-b-00-b-a.html [ Failure ]
+crbug.com/591099 css2.1/t0803-c5503-mrgn-b-00-b-a.html [ Crash Failure ]
 crbug.com/591099 css2.1/t0803-c5504-imrgn-l-00-b-ag.html [ Failure ]
 crbug.com/591099 css2.1/t0803-c5504-imrgn-l-01-b-ag.html [ Failure ]
 crbug.com/591099 css2.1/t0803-c5504-imrgn-l-02-b-ag.html [ Failure ]
@@ -1256,8 +2219,12 @@
 crbug.com/591099 css2.1/t0803-c5504-imrgn-l-05-b-ag.html [ Failure ]
 crbug.com/591099 css2.1/t0803-c5504-imrgn-l-06-b-ag.html [ Failure ]
 crbug.com/591099 css2.1/t0803-c5504-mrgn-l-00-c-ag.html [ Failure ]
+crbug.com/591099 css2.1/t0803-c5504-mrgn-l-01-c-a.html [ Crash Failure Pass ]
+crbug.com/591099 css2.1/t0803-c5504-mrgn-l-02-c.html [ Failure Pass ]
+crbug.com/591099 css2.1/t0803-c5504-mrgn-l-03-c.html [ Failure Pass ]
 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-01-e-a.html [ Crash Failure Pass ]
 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 Failure ]
 crbug.com/591099 css2.1/t0804-c5506-ipadn-t-00-b-a.html [ Failure ]
@@ -1270,59 +2237,67 @@
 crbug.com/591099 css2.1/t0804-c5507-ipadn-r-03-b-a.html [ Failure ]
 crbug.com/591099 css2.1/t0804-c5507-ipadn-r-04-b-ag.html [ Failure ]
 crbug.com/591099 css2.1/t0804-c5507-padn-r-00-c-ag.html [ Failure ]
-crbug.com/591099 css2.1/t0804-c5507-padn-r-01-c-a.html [ Failure ]
+crbug.com/591099 css2.1/t0804-c5507-padn-r-01-c-a.html [ Crash Failure ]
 crbug.com/591099 css2.1/t0804-c5507-padn-r-02-f.html [ Failure ]
+crbug.com/591099 css2.1/t0804-c5507-padn-r-03-f.html [ Failure Pass ]
 crbug.com/591099 css2.1/t0804-c5508-ipadn-b-00-b-a.html [ Failure ]
 crbug.com/591099 css2.1/t0804-c5508-ipadn-b-01-f-a.html [ Failure ]
 crbug.com/591099 css2.1/t0804-c5508-ipadn-b-02-b-a.html [ Failure ]
+crbug.com/591099 css2.1/t0804-c5508-ipadn-b-03-b-a.html [ Failure Pass ]
 crbug.com/591099 css2.1/t0804-c5509-ipadn-l-00-b-ag.html [ Failure ]
 crbug.com/591099 css2.1/t0804-c5509-ipadn-l-01-b-ag.html [ Failure ]
 crbug.com/591099 css2.1/t0804-c5509-ipadn-l-02-b-ag.html [ Failure ]
 crbug.com/591099 css2.1/t0804-c5509-ipadn-l-03-b-a.html [ Failure ]
 crbug.com/591099 css2.1/t0804-c5509-ipadn-l-04-f-ag.html [ Failure ]
 crbug.com/591099 css2.1/t0804-c5509-padn-l-00-b-ag.html [ Failure ]
-crbug.com/591099 css2.1/t0804-c5509-padn-l-01-b-a.html [ Failure ]
+crbug.com/591099 css2.1/t0804-c5509-padn-l-01-b-a.html [ Crash Failure ]
 crbug.com/591099 css2.1/t0804-c5509-padn-l-02-f.html [ Failure ]
 crbug.com/591099 css2.1/t0804-c5509-padn-l-03-f-g.html [ Failure ]
 crbug.com/591099 css2.1/t0804-c5510-ipadn-00-b-ag.html [ Failure ]
 crbug.com/591099 css2.1/t0804-c5510-padn-00-b-ag.html [ Failure ]
-crbug.com/591099 css2.1/t0804-c5510-padn-01-e-a.html [ Failure ]
+crbug.com/591099 css2.1/t0804-c5510-padn-01-e-a.html [ Crash Failure ]
 crbug.com/591099 css2.1/t0804-c5510-padn-02-f.html [ Failure ]
 crbug.com/591099 css2.1/t0805-c5511-brdr-tw-00-b.html [ Failure ]
 crbug.com/591099 css2.1/t0805-c5511-brdr-tw-01-b-g.html [ Failure ]
+crbug.com/591099 css2.1/t0805-c5511-brdr-tw-02-b.html [ Failure Pass ]
 crbug.com/591099 css2.1/t0805-c5511-brdr-tw-03-b.html [ Failure ]
 crbug.com/591099 css2.1/t0805-c5511-ibrdr-tw-00-a.html [ Failure ]
 crbug.com/591099 css2.1/t0805-c5512-brdr-rw-00-b.html [ Failure ]
 crbug.com/591099 css2.1/t0805-c5512-brdr-rw-01-b-g.html [ Failure ]
+crbug.com/591099 css2.1/t0805-c5512-brdr-rw-02-b.html [ Failure Pass ]
 crbug.com/591099 css2.1/t0805-c5512-brdr-rw-03-b.html [ Failure ]
 crbug.com/591099 css2.1/t0805-c5512-ibrdr-rw-00-a.html [ Failure ]
 crbug.com/591099 css2.1/t0805-c5513-brdr-bw-00-b.html [ Failure ]
 crbug.com/591099 css2.1/t0805-c5513-brdr-bw-01-b-g.html [ Failure ]
+crbug.com/591099 css2.1/t0805-c5513-brdr-bw-02-b.html [ Failure Pass ]
 crbug.com/591099 css2.1/t0805-c5513-brdr-bw-03-b.html [ Failure ]
 crbug.com/591099 css2.1/t0805-c5513-ibrdr-bw-00-a.html [ Failure ]
 crbug.com/591099 css2.1/t0805-c5514-brdr-lw-00-b.html [ Failure ]
 crbug.com/591099 css2.1/t0805-c5514-brdr-lw-01-b-g.html [ Failure ]
+crbug.com/591099 css2.1/t0805-c5514-brdr-lw-02-b.html [ Failure Pass ]
 crbug.com/591099 css2.1/t0805-c5514-brdr-lw-03-b.html [ Failure ]
 crbug.com/591099 css2.1/t0805-c5514-ibrdr-lw-00-a.html [ Failure ]
 crbug.com/591099 css2.1/t0805-c5515-brdr-w-00-a.html [ Failure ]
+crbug.com/591099 css2.1/t0805-c5515-brdr-w-01-b-g.html [ Failure Pass ]
+crbug.com/591099 css2.1/t0805-c5515-brdr-w-02-b.html [ Failure Pass ]
 crbug.com/591099 css2.1/t0805-c5515-ibrdr-00-b.html [ Failure ]
 crbug.com/591099 css2.1/t0805-c5516-brdr-c-00-a.html [ Failure ]
 crbug.com/591099 css2.1/t0805-c5516-ibrdr-c-00-a.html [ Failure ]
 crbug.com/591099 css2.1/t0805-c5517-brdr-s-00-c.html [ Failure ]
 crbug.com/591099 css2.1/t0805-c5517-ibrdr-s-00-a.html [ Failure ]
 crbug.com/591099 css2.1/t0805-c5518-brdr-t-00-a.html [ Failure ]
-crbug.com/591099 css2.1/t0805-c5518-brdr-t-01-e.html [ Failure ]
+crbug.com/591099 css2.1/t0805-c5518-brdr-t-01-e.html [ Crash Failure ]
 crbug.com/591099 css2.1/t0805-c5518-ibrdr-t-00-a.html [ Failure ]
 crbug.com/591099 css2.1/t0805-c5519-brdr-r-00-a.html [ Failure ]
 crbug.com/591099 css2.1/t0805-c5519-brdr-r-01-e.html [ Failure ]
-crbug.com/591099 css2.1/t0805-c5519-brdr-r-02-e.html [ Failure ]
+crbug.com/591099 css2.1/t0805-c5519-brdr-r-02-e.html [ Crash Failure ]
 crbug.com/591099 css2.1/t0805-c5519-ibrdr-r-00-a.html [ Failure ]
 crbug.com/591099 css2.1/t0805-c5520-brdr-b-00-a.html [ Failure Pass ]
-crbug.com/591099 css2.1/t0805-c5520-brdr-b-01-e.html [ Failure ]
+crbug.com/591099 css2.1/t0805-c5520-brdr-b-01-e.html [ Crash Failure ]
 crbug.com/591099 css2.1/t0805-c5520-ibrdr-b-00-a.html [ Failure ]
 crbug.com/591099 css2.1/t0805-c5521-brdr-l-00-a.html [ Failure ]
 crbug.com/591099 css2.1/t0805-c5521-brdr-l-01-e.html [ Failure ]
-crbug.com/591099 css2.1/t0805-c5521-brdr-l-02-e.html [ Failure ]
+crbug.com/591099 css2.1/t0805-c5521-brdr-l-02-e.html [ Crash Failure ]
 crbug.com/591099 css2.1/t0805-c5521-ibrdr-l-00-a.html [ Failure ]
 crbug.com/591099 css2.1/t0805-c5522-brdr-00-b.html [ Failure ]
 crbug.com/591099 css2.1/t0805-c5522-brdr-01-b-g.html [ Failure ]
@@ -1367,10 +2342,17 @@
 crbug.com/591099 css2.1/t09-c5526c-display-00-e.html [ Failure ]
 crbug.com/591099 css2.1/t1001-abs-pos-cb-01-b.html [ Failure ]
 crbug.com/591099 css2.1/t1001-abs-pos-cb-02-b.html [ Failure ]
+crbug.com/591099 css2.1/t1001-abs-pos-cb-03-b.html [ Failure Pass ]
+crbug.com/591099 css2.1/t1001-abs-pos-cb-04-b.html [ Failure Pass ]
+crbug.com/591099 css2.1/t1001-abs-pos-cb-05-b.html [ Failure Pass ]
+crbug.com/591099 css2.1/t1001-abs-pos-cb-06-b.html [ Failure Pass ]
 crbug.com/591099 css2.1/t1001-abs-pos-cb-07-b.html [ Failure ]
-crbug.com/591099 css2.1/t1002-c5523-width-00-b-g.html [ Failure ]
-crbug.com/591099 css2.1/t1002-c5523-width-01-b-g.html [ Failure ]
+crbug.com/591099 css2.1/t1001-abs-pos-cb-08-b.html [ Failure Pass ]
+crbug.com/591099 css2.1/t1001-abs-pos-cb-09-b.html [ Failure Pass ]
+crbug.com/591099 css2.1/t1002-c5523-width-00-b-g.html [ Failure Pass ]
+crbug.com/591099 css2.1/t1002-c5523-width-01-b-g.html [ Failure Pass ]
 crbug.com/591099 css2.1/t1002-c5523-width-02-b-g.html [ Failure ]
+crbug.com/591099 css2.1/t100303-c412-blockw-00-d-ag.html [ Failure Pass ]
 crbug.com/591099 css2.1/t100304-c43-rpl-bbx-00-d-g.html [ Failure ]
 crbug.com/591099 css2.1/t100304-c43-rpl-bbx-01-d-g.html [ Failure ]
 crbug.com/591099 css2.1/t1004-c43-rpl-bbx-00-d-ag.html [ Failure Pass ]
@@ -1380,6 +2362,7 @@
 crbug.com/591099 css2.1/t1005-c5524-width-01-b-g.html [ Failure ]
 crbug.com/591099 css2.1/t100801-c42-ibx-ht-00-d-a.html [ Failure ]
 crbug.com/591099 css2.1/t100801-c544-valgn-00-a-ag.html [ Failure ]
+crbug.com/591099 css2.1/t100801-c544-valgn-01-d-ag.html [ Failure Pass ]
 crbug.com/591099 css2.1/t100801-c544-valgn-02-d-agi.html [ Failure ]
 crbug.com/591099 css2.1/t100801-c544-valgn-03-d-agi.html [ Failure ]
 crbug.com/591099 css2.1/t100801-c544-valgn-04-d-agi.html [ Failure ]
@@ -1420,22 +2403,39 @@
 crbug.com/591099 css2.1/t1202-counters-11-b.html [ Failure ]
 crbug.com/591099 css2.1/t1202-counters-12-b.html [ Failure ]
 crbug.com/591099 css2.1/t1202-counters-13-b.html [ Failure ]
-crbug.com/591099 css2.1/t1202-counters-14-b.html [ Failure ]
+crbug.com/591099 css2.1/t1202-counters-14-b.html [ Crash Failure ]
 crbug.com/591099 css2.1/t1202-counters-15-b.html [ Failure ]
 crbug.com/591099 css2.1/t1202-counters-16-c.html [ Failure ]
+crbug.com/591099 css2.1/t1202-counters-17-d.html [ Failure Pass ]
 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-01-c.html [ Failure Pass ]
+crbug.com/591099 css2.1/t120401-scope-02-c.html [ Failure Pass ]
+crbug.com/591099 css2.1/t120401-scope-03-c.html [ Failure Pass ]
 crbug.com/591099 css2.1/t120401-scope-04-d.html [ Failure ]
-crbug.com/591099 css2.1/t1204-implied-00-b.html [ Crash Pass ]
+crbug.com/591099 css2.1/t120403-content-none-00-c.html [ Failure Pass ]
+crbug.com/591099 css2.1/t120403-display-none-00-c.html [ Failure Pass ]
+crbug.com/591099 css2.1/t120403-visibility-00-c.html [ Failure Pass ]
+crbug.com/591099 css2.1/t1204-implied-00-b.html [ Crash Failure Pass ]
+crbug.com/591099 css2.1/t1204-implied-01-c.html [ Failure Pass ]
+crbug.com/591099 css2.1/t1204-implied-02-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t1204-multiple-00-c.html [ Failure Pass ]
+crbug.com/591099 css2.1/t1204-multiple-01-c.html [ Failure Pass ]
 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 ]
-crbug.com/591099 css2.1/t1205-c563-list-type-00-b.html [ Failure ]
-crbug.com/591099 css2.1/t1205-c563-list-type-01-b.html [ Failure ]
-crbug.com/591099 css2.1/t1205-c564-list-img-00-b-g.html [ Failure ]
-crbug.com/591099 css2.1/t1205-c565-list-pos-00-b.html [ Failure ]
-crbug.com/591099 css2.1/t1205-c566-list-stl-00-e-ag.html [ Failure ]
-crbug.com/591099 css2.1/t1205-c566-list-stl-01-c-g.html [ Failure ]
+crbug.com/591099 css2.1/t1204-root-e.html [ Failure Pass ]
+crbug.com/591099 css2.1/t1205-c561-list-displ-00-b.html [ Crash Failure ]
+crbug.com/591099 css2.1/t1205-c563-list-type-00-b.html [ Crash Failure ]
+crbug.com/591099 css2.1/t1205-c563-list-type-01-b.html [ Crash Failure ]
+crbug.com/591099 css2.1/t1205-c564-list-img-00-b-g.html [ Crash Failure ]
+crbug.com/591099 css2.1/t1205-c565-list-pos-00-b.html [ Crash Failure ]
+crbug.com/591099 css2.1/t1205-c566-list-stl-00-e-ag.html [ Crash Failure ]
+crbug.com/591099 css2.1/t1205-c566-list-stl-01-c-g.html [ Crash Failure ]
+crbug.com/591099 css2.1/t1401-c531-color-00-a.html [ Failure Pass ]
+crbug.com/591099 css2.1/t140201-c532-bgcolor-00-a.html [ Failure Pass ]
+crbug.com/591099 css2.1/t140201-c532-bgcolor-01-b.html [ Failure Pass ]
+crbug.com/591099 css2.1/t140201-c533-bgimage-00-a.html [ Failure Pass ]
+crbug.com/591099 css2.1/t140201-c533-bgimage-01-b-g.html [ Failure Pass ]
 crbug.com/591099 css2.1/t140201-c534-bgre-00-b-ag.html [ Failure ]
 crbug.com/591099 css2.1/t140201-c534-bgre-01-b-ag.html [ Failure ]
 crbug.com/591099 css2.1/t140201-c534-bgreps-00-c-ag.html [ Failure ]
@@ -1449,7 +2449,14 @@
 crbug.com/591099 css2.1/t140201-c536-bgpos-01-b-ag.html [ Failure ]
 crbug.com/591099 css2.1/t140201-c537-bgfxps-00-c-ag.html [ Failure ]
 crbug.com/591099 css2.1/t1402-c45-bg-canvas-00-b.html [ Failure ]
+crbug.com/591099 css2.1/t1503-c522-font-family-00-b.html [ Failure Pass ]
+crbug.com/591099 css2.1/t1504-c523-font-style-00-b.html [ Failure Pass ]
 crbug.com/591099 css2.1/t1505-c524-font-var-00-b.html [ Failure ]
+crbug.com/591099 css2.1/t1506-c525-font-wt-00-b.html [ Failure Pass ]
+crbug.com/591099 css2.1/t1507-c526-font-sz-00-b.html [ Failure Pass ]
+crbug.com/591099 css2.1/t1507-c526-font-sz-01-b-a.html [ Failure Pass ]
+crbug.com/591099 css2.1/t1507-c526-font-sz-02-b-a.html [ Failure Pass ]
+crbug.com/591099 css2.1/t1507-c526-font-sz-03-f-a.html [ Failure Pass ]
 crbug.com/591099 css2.1/t1508-c527-font-00-b.html [ Failure ]
 crbug.com/591099 css2.1/t1508-c527-font-01-b.html [ Failure ]
 crbug.com/591099 css2.1/t1508-c527-font-02-b.html [ Failure ]
@@ -1469,11 +2476,114 @@
 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-00-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-01-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-02-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-03-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-04-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-05-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-06-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-07-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-08-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-09-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-10-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-11-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-12-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-13-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-14-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-15-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-16-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-17-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-18-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-19-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-20-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-21-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-22-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-23-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-24-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-25-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-26-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-27-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-28-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-29-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-30-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-31-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-32-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-33-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-34-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-35-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-36-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-37-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-38-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-39-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-40-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-41-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-42-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-43-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-44-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-45-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-46-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-47-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-48-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-49-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-50-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-51-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-52-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-53-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-54-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-55-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-56-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-57-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-58-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-59-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-60-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-61-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-62-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-63-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-64-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-65-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-66-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-67-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-68-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-69-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-70-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-71-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-72-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-73-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-74-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-75-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-76-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-77-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-78-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-79-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-80-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-81-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-82-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-83-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-84-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-85-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-86-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-87-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-88-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-89-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-90-d.html [ Failure Pass ]
 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 Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-93-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-94-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-95-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-96-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-97-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-98-d.html [ Failure Pass ]
+crbug.com/591099 css2.1/t170602-bdr-conflct-w-99-d.html [ Failure Pass ]
+crbug.com/591099 css3/background/background-color-gradient-alignment.html [ Failure Pass ]
 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/bdi-element.html [ Crash Pass ]
 crbug.com/591099 css3/blending/background-blend-mode-crossfade-image-gradient.html [ Failure ]
+crbug.com/591099 css3/blending/background-blend-mode-data-uri-svg-image.html [ Failure Pass ]
+crbug.com/591099 css3/blending/background-blend-mode-default-value.html [ Failure Pass ]
+crbug.com/591099 css3/blending/background-blend-mode-different-image-formats.html [ Failure Pass ]
 crbug.com/591099 css3/blending/background-blend-mode-gif-color-2.html [ Failure ]
 crbug.com/591099 css3/blending/background-blend-mode-gif-color.html [ Failure ]
 crbug.com/591099 css3/blending/background-blend-mode-gradient-color.html [ Failure ]
@@ -1482,9 +2592,13 @@
 crbug.com/591099 css3/blending/background-blend-mode-image-color.html [ Failure ]
 crbug.com/591099 css3/blending/background-blend-mode-image-image.html [ Failure ]
 crbug.com/591099 css3/blending/background-blend-mode-image-svg.html [ Failure ]
+crbug.com/591099 css3/blending/background-blend-mode-multiple-background-layers.html [ Failure Pass ]
+crbug.com/591099 css3/blending/background-blend-mode-opaque-layer.html [ Failure Pass ]
 crbug.com/591099 css3/blending/background-blend-mode-overlapping-accelerated-elements.html [ Failure ]
 crbug.com/591099 css3/blending/background-blend-mode-property.html [ Failure ]
 crbug.com/591099 css3/blending/background-blend-mode-property-parsing.html [ Failure ]
+crbug.com/591099 css3/blending/background-blend-mode-separate-layer-declaration.html [ Failure Pass ]
+crbug.com/591099 css3/blending/background-blend-mode-single-layer-no-blending.html [ Failure Pass ]
 crbug.com/591099 css3/blending/background-blend-mode-svg-color.html [ Failure ]
 crbug.com/591099 css3/blending/background-blend-mode-tiled-gradient.html [ Failure ]
 crbug.com/591099 css3/blending/blend-mode-property.html [ Failure ]
@@ -1493,8 +2607,9 @@
 crbug.com/591099 css3/blending/effect-background-blend-mode.html [ Failure ]
 crbug.com/591099 css3/blending/effect-background-blend-mode-stacking.html [ Failure ]
 crbug.com/591099 css3/blending/effect-background-blend-mode-tiled.html [ Failure ]
-crbug.com/591099 css3/blending/isolation-isolate-simple.html [ Failure ]
+crbug.com/591099 css3/blending/isolation-isolate-simple.html [ Failure Pass ]
 crbug.com/591099 css3/blending/mix-blend-mode-2nd-stacking-context-composited.html [ Crash ]
+crbug.com/591099 css3/blending/mix-blend-mode-composited-layers.html [ Failure Pass ]
 crbug.com/591099 css3/blending/mix-blend-mode-composited-reason-children.html [ Crash ]
 crbug.com/591099 css3/blending/mix-blend-mode-has-ancestor-clipping-layer.html [ Failure ]
 crbug.com/591099 css3/blending/mix-blend-mode-isolated-group-1.html [ Failure ]
@@ -1505,7 +2620,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 Pass ]
+crbug.com/591099 css3/blending/mix-blend-mode-with-masking.html [ Failure Pass ]
+crbug.com/591099 css3/blending/mix-blend-mode-with-squashing-layer.html [ Crash Failure Pass ]
 crbug.com/591099 css3/blending/svg-isolation-remove-isolation.html [ Failure Pass ]
 crbug.com/591099 css3/blending/svg-isolation-simple.html [ Failure Pass ]
 crbug.com/591099 css3/calc/border.html [ Failure ]
@@ -1531,16 +2647,25 @@
 crbug.com/591099 css3/calc/transforms-translate.html [ Failure ]
 crbug.com/591099 css3/calc/zoom-with-em.html [ Failure ]
 crbug.com/591099 css3/css3-modsel-33.html [ Failure ]
+crbug.com/591099 css3/css3-modsel-35.html [ Failure Pass ]
+crbug.com/591099 css3/css3-modsel-36.html [ Failure Pass ]
+crbug.com/591099 css3/css3-modsel-37.html [ Failure Pass ]
 crbug.com/591099 css3/device-adapt/viewport-width-not-affecting-next-page.html [ Failure ]
 crbug.com/591099 css3/escape-dom-api.html [ Failure ]
 crbug.com/591099 css3/filters/add-filter-rendering.html [ Failure ]
 crbug.com/591099 css3/filters/adopt-inline-style.html [ Crash ]
 crbug.com/591099 css3/filters/blur-filter-page-scroll.html [ Failure Pass ]
+crbug.com/591099 css3/filters/blur-filter-page-scroll-parents.html [ Failure Pass ]
+crbug.com/591099 css3/filters/blur-filter-page-scroll-self.html [ Failure Pass ]
+crbug.com/591099 css3/filters/bug419429.html [ Crash Pass ]
 crbug.com/591099 css3/filters/composited-during-animation.html [ Crash ]
 crbug.com/591099 css3/filters/composited-during-transition-layertree.html [ Failure ]
+crbug.com/591099 css3/filters/composited-layer-bounds-after-sw-blur-animation.html [ Failure Pass ]
+crbug.com/591099 css3/filters/composited-layer-bounds-with-composited-blur.html [ Failure Pass ]
 crbug.com/591099 css3/filters/composited-layer-child-bounds-after-composited-to-sw-shadow-change.html [ Failure ]
 crbug.com/591099 css3/filters/composited-layer-promotion-after-outset-overlap-change-using-composited-shadow.html [ Failure Pass ]
-crbug.com/591099 css3/filters/css-opacity-with-drop-shadow.html [ Crash Pass ]
+crbug.com/591099 css3/filters/composited-layer-promotion-after-outset-overlap-change-using-sw-shadow.html [ Failure Pass ]
+crbug.com/591099 css3/filters/css-opacity-with-drop-shadow.html [ Crash Failure Pass ]
 crbug.com/591099 css3/filters/effect-all-on-background.html [ Failure Pass ]
 crbug.com/591099 css3/filters/effect-blur.html [ Failure ]
 crbug.com/591099 css3/filters/effect-blur-hw.html [ Failure ]
@@ -1567,12 +2692,13 @@
 crbug.com/591099 css3/filters/effect-reference-delete.html [ Crash ]
 crbug.com/591099 css3/filters/effect-reference-reset-style-delete-crash.html [ Failure ]
 crbug.com/591099 css3/filters/effect-reference-source-alpha-hw.html [ Failure ]
-crbug.com/591099 css3/filters/effect-reference-source-alpha-not-first.html [ Failure ]
+crbug.com/591099 css3/filters/effect-reference-source-alpha-not-first.html [ Failure Pass ]
 crbug.com/591099 css3/filters/effect-reference-subregion-hidpi.html [ Failure ]
 crbug.com/591099 css3/filters/effect-reference-subregion-hidpi-hw.html [ Failure ]
-crbug.com/591099 css3/filters/effect-reference-subregion-nested.html [ Failure ]
+crbug.com/591099 css3/filters/effect-reference-subregion-nested.html [ Failure Pass ]
 crbug.com/591099 css3/filters/effect-reference-subregion-zoom.html [ Failure ]
 crbug.com/591099 css3/filters/effect-reference-subregion-zoom-hw.html [ Failure ]
+crbug.com/591099 css3/filters/effect-reference-turbulence-invalid.html [ Failure ]
 crbug.com/591099 css3/filters/effect-saturate.html [ Failure ]
 crbug.com/591099 css3/filters/effect-saturate-hw.html [ Failure ]
 crbug.com/591099 css3/filters/effect-sepia.html [ Failure ]
@@ -1615,6 +2741,7 @@
 crbug.com/591099 css3/flexbox/auto-height-column-with-border-and-padding.html [ Failure ]
 crbug.com/591099 css3/flexbox/auto-margins.html [ Failure ]
 crbug.com/591099 css3/flexbox/box-orient-button.html [ Crash ]
+crbug.com/591099 css3/flexbox/bug527039.html [ Crash Pass ]
 crbug.com/591099 css3/flexbox/bug633212.html [ Crash ]
 crbug.com/591099 css3/flexbox/button.html [ Failure ]
 crbug.com/591099 css3/flexbox/change-flexitem-into-abspos.html [ Failure ]
@@ -1641,7 +2768,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-auto-margins-no-available-space.html [ Failure Pass ]
 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 ]
@@ -1699,12 +2826,21 @@
 crbug.com/591099 css3/font-weight-multiple-selectors.html [ Failure ]
 crbug.com/591099 css3/khtml-background-size-0x0-bmp.html [ Failure ]
 crbug.com/591099 css3/masking/clip-path-animation.html [ Crash ]
+crbug.com/591099 css3/masking/clip-path-circle-filter.html [ Failure Pass ]
+crbug.com/591099 css3/masking/clip-path-circle.html [ Failure Pass ]
 crbug.com/591099 css3/masking/clip-path-circle-overflow-hidden.html [ Failure ]
+crbug.com/591099 css3/masking/clip-path-circle-overflow.html [ Failure Pass ]
+crbug.com/591099 css3/masking/clip-path-circle-relative-overflow.html [ Failure Pass ]
+crbug.com/591099 css3/masking/clip-path-ellipse.html [ Failure Pass ]
 crbug.com/591099 css3/masking/clip-path-inset-corners.html [ Failure ]
+crbug.com/591099 css3/masking/clip-path-polygon-evenodd.html [ Failure Pass ]
+crbug.com/591099 css3/masking/clip-path-polygon.html [ Failure Pass ]
+crbug.com/591099 css3/masking/clip-path-polygon-nonzero.html [ Failure Pass ]
 crbug.com/591099 css3/masking/clip-path-reference-box-2.html [ Crash Pass ]
-crbug.com/591099 css3/masking/clip-path-reference-box-3.html [ Failure ]
+crbug.com/591099 css3/masking/clip-path-reference-box-3.html [ Failure Pass ]
 crbug.com/591099 css3/masking/clip-path-reference-box-inline.html [ Failure ]
-crbug.com/591099 css3/masking/clip-path-reference-restore.html [ Failure ]
+crbug.com/591099 css3/masking/clip-path-reference-restore.html [ Failure Pass ]
+crbug.com/591099 css3/masking/clip-path-restore.html [ Failure Pass ]
 crbug.com/591099 css3/masking/mask-luminance-png.html [ Failure ]
 crbug.com/591099 css3/masking/mask-luminance-svg.html [ Failure ]
 crbug.com/591099 css3/masking/mask-repeat-round-content.html [ Failure ]
@@ -1715,46 +2851,106 @@
 crbug.com/591099 css3/motion-path/combine-anchor-transform.html [ Failure ]
 crbug.com/591099 css3/motion-path/path-establishes-stacking-context.html [ Failure ]
 crbug.com/591099 css3/parsing-css3-nthchild.html [ Failure ]
-crbug.com/591099 css3/selectors3/html/css3-modsel-13.html [ Failure ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-10.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-11.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-13.html [ Crash Failure ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-144.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-148.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-149b.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-149.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-14b.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-14c.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-14d.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-14e.html [ Failure Pass ]
 crbug.com/591099 css3/selectors3/html/css3-modsel-14.html [ Failure ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-150.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-151.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-152.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-154.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-155a.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-155b.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-155c.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-155d.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-155.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-156b.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-156c.html [ Failure Pass ]
 crbug.com/591099 css3/selectors3/html/css3-modsel-156.html [ Failure Pass ]
-crbug.com/591099 css3/selectors3/html/css3-modsel-15.html [ Failure ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-157.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-158.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-159.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-15b.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-15.html [ Crash Failure ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-160.html [ Failure Pass ]
 crbug.com/591099 css3/selectors3/html/css3-modsel-161.html [ Failure ]
 crbug.com/591099 css3/selectors3/html/css3-modsel-166a.html [ Failure ]
 crbug.com/591099 css3/selectors3/html/css3-modsel-166.html [ Failure ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-167a.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-167.html [ Failure Pass ]
 crbug.com/591099 css3/selectors3/html/css3-modsel-168a.html [ Failure ]
 crbug.com/591099 css3/selectors3/html/css3-modsel-168.html [ Failure ]
 crbug.com/591099 css3/selectors3/html/css3-modsel-169a.html [ Failure ]
 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-170a.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-170b.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-170c.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-170d.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-170.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-175a.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-175b.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-175c.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-176.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-177a.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-177b.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-178.html [ Failure Pass ]
 crbug.com/591099 css3/selectors3/html/css3-modsel-179a.html [ Failure ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-179.html [ Failure Pass ]
 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-181.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-183.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-184a.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-184b.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-184c.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-184d.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-184e.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-184f.html [ Failure Pass ]
 crbug.com/591099 css3/selectors3/html/css3-modsel-18a.html [ Failure ]
 crbug.com/591099 css3/selectors3/html/css3-modsel-18b.html [ Failure ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-18c.html [ Failure Pass ]
 crbug.com/591099 css3/selectors3/html/css3-modsel-18.html [ Failure ]
-crbug.com/591099 css3/selectors3/html/css3-modsel-19b.html [ Failure ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-19b.html [ Failure Pass ]
 crbug.com/591099 css3/selectors3/html/css3-modsel-19.html [ Failure ]
-crbug.com/591099 css3/selectors3/html/css3-modsel-1.html [ Failure ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-1.html [ Crash Failure ]
 crbug.com/591099 css3/selectors3/html/css3-modsel-20.html [ Failure ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-21b.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-21c.html [ Failure Pass ]
 crbug.com/591099 css3/selectors3/html/css3-modsel-21.html [ Failure ]
-crbug.com/591099 css3/selectors3/html/css3-modsel-22.html [ Failure ]
-crbug.com/591099 css3/selectors3/html/css3-modsel-23.html [ Failure ]
-crbug.com/591099 css3/selectors3/html/css3-modsel-24.html [ Failure ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-22.html [ Crash Failure ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-23.html [ Crash Failure ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-24.html [ Crash Failure ]
 crbug.com/591099 css3/selectors3/html/css3-modsel-25.html [ Failure ]
-crbug.com/591099 css3/selectors3/html/css3-modsel-28b.html [ Failure ]
-crbug.com/591099 css3/selectors3/html/css3-modsel-28.html [ Failure ]
-crbug.com/591099 css3/selectors3/html/css3-modsel-29b.html [ Failure ]
-crbug.com/591099 css3/selectors3/html/css3-modsel-29.html [ Failure ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-27b.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-27.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-28b.html [ Crash Failure ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-28.html [ Crash Failure ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-29b.html [ Crash Failure ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-29.html [ Crash Failure ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-2.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-30.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-31.html [ Failure Pass ]
 crbug.com/591099 css3/selectors3/html/css3-modsel-32.html [ Failure ]
 crbug.com/591099 css3/selectors3/html/css3-modsel-33.html [ Failure ]
 crbug.com/591099 css3/selectors3/html/css3-modsel-34.html [ Failure ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-35.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-36.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-37.html [ Failure Pass ]
 crbug.com/591099 css3/selectors3/html/css3-modsel-38.html [ Failure ]
 crbug.com/591099 css3/selectors3/html/css3-modsel-39a.html [ Failure ]
 crbug.com/591099 css3/selectors3/html/css3-modsel-39b.html [ Failure ]
 crbug.com/591099 css3/selectors3/html/css3-modsel-39c.html [ Failure ]
 crbug.com/591099 css3/selectors3/html/css3-modsel-39.html [ Failure ]
-crbug.com/591099 css3/selectors3/html/css3-modsel-3a.html [ Failure ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-3a.html [ Crash Failure ]
 crbug.com/591099 css3/selectors3/html/css3-modsel-41a.html [ Failure ]
 crbug.com/591099 css3/selectors3/html/css3-modsel-41.html [ Failure ]
 crbug.com/591099 css3/selectors3/html/css3-modsel-42a.html [ Failure ]
@@ -1762,76 +2958,270 @@
 crbug.com/591099 css3/selectors3/html/css3-modsel-43b.html [ Failure ]
 crbug.com/591099 css3/selectors3/html/css3-modsel-43.html [ Failure ]
 crbug.com/591099 css3/selectors3/html/css3-modsel-44b.html [ Failure ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-44c.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-44d.html [ Failure Pass ]
 crbug.com/591099 css3/selectors3/html/css3-modsel-44.html [ Failure ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-45b.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-45c.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-45.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-46b.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-46.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-4.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-54.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-55.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-56.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-59.html [ Failure Pass ]
 crbug.com/591099 css3/selectors3/html/css3-modsel-5.html [ Failure ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-60.html [ Failure Pass ]
 crbug.com/591099 css3/selectors3/html/css3-modsel-61.html [ Failure ]
 crbug.com/591099 css3/selectors3/html/css3-modsel-62.html [ Failure ]
-crbug.com/591099 css3/selectors3/html/css3-modsel-64.html [ Failure ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-63.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-64.html [ Failure Pass ]
 crbug.com/591099 css3/selectors3/html/css3-modsel-65.html [ Failure ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-66b.html [ Failure Pass ]
 crbug.com/591099 css3/selectors3/html/css3-modsel-66.html [ Failure ]
 crbug.com/591099 css3/selectors3/html/css3-modsel-67.html [ Failure ]
-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-68.html [ Crash Failure ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-69.html [ Crash Failure ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-6.html [ Failure Pass ]
 crbug.com/591099 css3/selectors3/html/css3-modsel-70.html [ Failure ]
-crbug.com/591099 css3/selectors3/html/css3-modsel-72b.html [ Crash Pass ]
-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 ]
-crbug.com/591099 css3/selectors3/html/css3-modsel-74.html [ Failure ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-72b.html [ Crash Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-72.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-73b.html [ Crash Failure ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-73.html [ Crash Failure ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-74b.html [ Crash Failure ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-74.html [ Crash Failure ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-75b.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-75.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-76b.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-76.html [ Failure Pass ]
 crbug.com/591099 css3/selectors3/html/css3-modsel-77b.html [ Failure Pass ]
 crbug.com/591099 css3/selectors3/html/css3-modsel-77.html [ Failure Pass ]
 crbug.com/591099 css3/selectors3/html/css3-modsel-78b.html [ Failure Pass ]
 crbug.com/591099 css3/selectors3/html/css3-modsel-78.html [ Failure Pass ]
 crbug.com/591099 css3/selectors3/html/css3-modsel-79.html [ Failure ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-7b.html [ Failure Pass ]
 crbug.com/591099 css3/selectors3/html/css3-modsel-7.html [ Failure ]
 crbug.com/591099 css3/selectors3/html/css3-modsel-80.html [ Failure ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-81b.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-81.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-82b.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-82.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-83.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-86.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-87b.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-87.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-88b.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-88.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-89.html [ Failure Pass ]
 crbug.com/591099 css3/selectors3/html/css3-modsel-8.html [ Failure ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-90b.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-90.html [ Failure Pass ]
 crbug.com/591099 css3/selectors3/html/css3-modsel-9.html [ Failure ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-d1b.html [ Failure Pass ]
 crbug.com/591099 css3/selectors3/html/css3-modsel-d1.html [ Failure ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-d2.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/html/css3-modsel-d4.html [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-100b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-100.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-101b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-101.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-102b.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-102.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-103b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-103.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-104b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-104.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-105b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-105.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-106b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-106.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-107b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-107.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-108b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-108.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-109b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-109.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-10.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-110b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-110.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-111b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-111.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-112b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-112.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-113b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-113.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-114b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-114.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-115b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-115.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-116b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-116.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-117b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-117.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-118.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-119.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-11.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-120.xml [ Failure ]
-crbug.com/591099 css3/selectors3/xhtml/css3-modsel-13.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-121.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-122.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-123b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-123.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-124b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-124.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-125b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-125.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-126b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-126.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-127b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-127.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-128b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-128.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-129b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-129.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-130b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-130.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-131b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-131.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-132b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-132.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-133b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-133.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-134b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-134.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-135b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-135.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-136b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-136.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-137b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-137.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-138b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-138.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-139b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-139.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-13.xml [ Crash Failure ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-140b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-140.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-141b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-141.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-142b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-142.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-143b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-143.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-144.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-145a.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-145b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-146a.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-146b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-147a.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-147b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-148.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-149b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-149.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-14b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-14c.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-14d.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-14e.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-14.xml [ Failure ]
-crbug.com/591099 css3/selectors3/xhtml/css3-modsel-155c.xml [ Crash Pass ]
-crbug.com/591099 css3/selectors3/xhtml/css3-modsel-15.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-150.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-151.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-152.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-153.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-154.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-155a.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-155b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-155c.xml [ Crash Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-155d.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-155.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-156b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-156c.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-156.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-157.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-158.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-159.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-15b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-15c.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-15.xml [ Crash Failure ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-160.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-161.xml [ Failure ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-166a.xml [ Failure ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-166.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-167a.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-167.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-168a.xml [ Failure ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-168.xml [ Failure ]
 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 Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-170a.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-170b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-170c.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-170d.xml [ Crash Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-170.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-171.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-172a.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-172b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-173a.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-173b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-174a.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-174b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-175a.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-175b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-175c.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-176.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-177a.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-177b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-178.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-179a.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-179.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-17.xml [ Failure ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-180a.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-181.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-182.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-183.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-184a.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-184b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-184c.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-184d.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-184e.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-184f.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-18a.xml [ Failure ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-18b.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-18c.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-18.xml [ Failure ]
-crbug.com/591099 css3/selectors3/xhtml/css3-modsel-19b.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-19b.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-19.xml [ Failure ]
-crbug.com/591099 css3/selectors3/xhtml/css3-modsel-1.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-1.xml [ Crash Failure ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-20.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-21b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-21c.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-21.xml [ Failure ]
-crbug.com/591099 css3/selectors3/xhtml/css3-modsel-22.xml [ Failure ]
-crbug.com/591099 css3/selectors3/xhtml/css3-modsel-23.xml [ Failure ]
-crbug.com/591099 css3/selectors3/xhtml/css3-modsel-24.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-22.xml [ Crash Failure ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-23.xml [ Crash Failure ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-24.xml [ Crash Failure ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-25.xml [ Failure ]
-crbug.com/591099 css3/selectors3/xhtml/css3-modsel-28b.xml [ Failure ]
-crbug.com/591099 css3/selectors3/xhtml/css3-modsel-28.xml [ Failure ]
-crbug.com/591099 css3/selectors3/xhtml/css3-modsel-29b.xml [ Failure ]
-crbug.com/591099 css3/selectors3/xhtml/css3-modsel-29.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-27b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-27.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-28b.xml [ Crash Failure ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-28.xml [ Crash Failure ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-29b.xml [ Crash Failure ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-29.xml [ Crash Failure ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-2.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-30.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-31.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-32.xml [ Failure ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-33.xml [ Failure ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-34.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-35.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-36.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-37.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-38.xml [ Failure ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-39a.xml [ Failure ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-39b.xml [ Failure ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-39c.xml [ Failure ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-39.xml [ Failure ]
-crbug.com/591099 css3/selectors3/xhtml/css3-modsel-3a.xml [ Failure ]
-crbug.com/591099 css3/selectors3/xhtml/css3-modsel-3.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-3a.xml [ Crash Failure ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-3.xml [ Crash Failure ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-41a.xml [ Failure ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-41.xml [ Failure ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-42a.xml [ Failure ]
@@ -1839,43 +3229,181 @@
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-43b.xml [ Failure ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-43.xml [ Failure ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-44b.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-44c.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-44d.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-44.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-45b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-45c.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-45.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-46b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-46.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-47.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-48.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-49.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-4.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-50.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-51.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-52.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-53.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-54.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-55.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-56.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-57b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-57.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-59.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-5.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-60.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-61.xml [ Failure ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-62.xml [ Failure ]
-crbug.com/591099 css3/selectors3/xhtml/css3-modsel-64.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-63.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-64.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-65.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-66b.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-66.xml [ Failure ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-67.xml [ Failure ]
-crbug.com/591099 css3/selectors3/xhtml/css3-modsel-68.xml [ Failure ]
-crbug.com/591099 css3/selectors3/xhtml/css3-modsel-69.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-68.xml [ Crash Failure ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-69.xml [ Crash Failure ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-6.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-70.xml [ Failure ]
-crbug.com/591099 css3/selectors3/xhtml/css3-modsel-73b.xml [ Failure ]
-crbug.com/591099 css3/selectors3/xhtml/css3-modsel-73.xml [ Failure ]
-crbug.com/591099 css3/selectors3/xhtml/css3-modsel-74b.xml [ Failure ]
-crbug.com/591099 css3/selectors3/xhtml/css3-modsel-74.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-72b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-72.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-73b.xml [ Crash Failure ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-73.xml [ Crash Failure ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-74b.xml [ Crash Failure ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-74.xml [ Crash Failure ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-75b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-75.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-76b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-76.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-77b.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-77.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-78b.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-78.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-79.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-7b.xml [ Failure Pass ]
 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-81b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-81.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-82b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-82.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-83.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-86.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-87b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-87.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-88b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-88.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-89.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-8.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-90b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-90.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-91.xml [ Failure ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-92.xml [ Failure ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-93.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-94b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-94.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-95.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-96b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-96.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-97b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-97.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-98b.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-98.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-99b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-99.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-9.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-d1b.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-d1.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-d2.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xhtml/css3-modsel-d3.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xhtml/css3-modsel-d4.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-100b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-100.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-101b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-101.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-102b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-102.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-103b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-103.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-104b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-104.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-105b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-105.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-106b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-106.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-107b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-107.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-108b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-108.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-109b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-109.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-10.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-110b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-110.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-111b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-111.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-112b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-112.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-113b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-113.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-114b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-114.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-115b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-115.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-116b.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-116.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-117b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-117.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-118.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-119.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-11.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-120.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-121.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-122.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-123b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-123.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-124b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-124.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-125b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-125.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-126b.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-126.xml [ Failure Pass ]
-crbug.com/591099 css3/selectors3/xml/css3-modsel-13.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-127b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-127.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-128b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-128.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-129b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-129.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-130b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-130.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-131b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-131.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-132b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-132.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-133b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-133.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-134b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-134.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-135b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-135.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-136b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-136.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-137b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-137.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-138b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-138.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-139b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-139.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-13.xml [ Crash Failure ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-140b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-140.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-141b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-141.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-142b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-142.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-143b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-143.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-144.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-145a.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-145b.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-146a.xml [ Failure Pass ]
@@ -1883,46 +3411,112 @@
 crbug.com/591099 css3/selectors3/xml/css3-modsel-147a.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-147b.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-148.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-149b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-149.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-14b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-14c.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-14d.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-14e.xml [ Failure Pass ]
 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-150.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-151.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-152.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-153.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-154.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-155a.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-155b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-155c.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-155d.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-155.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-156b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-156c.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-156.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-157.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-158.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-159.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-15b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-15c.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-15.xml [ Crash Failure ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-160.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-161.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-166a.xml [ Failure ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-166.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-167a.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-167.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-168a.xml [ Failure ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-168.xml [ Failure ]
 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-170a.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-170b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-170c.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-170d.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-170.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-171.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-172a.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-172b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-173a.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-173b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-174a.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-174b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-175a.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-175b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-175c.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-176.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-177a.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-177b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-178.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-179a.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-179.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-17.xml [ Failure ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-180a.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-181.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-182.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-183.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-184a.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-184b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-184c.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-184d.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-184e.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-184f.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-18a.xml [ Failure ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-18b.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-18c.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-18.xml [ Failure ]
-crbug.com/591099 css3/selectors3/xml/css3-modsel-19b.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-19b.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-19.xml [ Failure ]
-crbug.com/591099 css3/selectors3/xml/css3-modsel-1.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-1.xml [ Crash Failure ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-20.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-21b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-21c.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-21.xml [ Failure ]
-crbug.com/591099 css3/selectors3/xml/css3-modsel-22.xml [ Failure ]
-crbug.com/591099 css3/selectors3/xml/css3-modsel-23.xml [ Failure ]
-crbug.com/591099 css3/selectors3/xml/css3-modsel-24.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-22.xml [ Crash Failure ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-23.xml [ Crash Failure ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-24.xml [ Crash Failure ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-25.xml [ Failure ]
-crbug.com/591099 css3/selectors3/xml/css3-modsel-28b.xml [ Failure ]
-crbug.com/591099 css3/selectors3/xml/css3-modsel-28.xml [ Failure ]
-crbug.com/591099 css3/selectors3/xml/css3-modsel-29b.xml [ Failure ]
-crbug.com/591099 css3/selectors3/xml/css3-modsel-29.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-27b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-27.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-28b.xml [ Crash Failure ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-28.xml [ Crash Failure ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-29b.xml [ Crash Failure ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-29.xml [ Crash Failure ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-2.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-30.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-31.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-32.xml [ Failure ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-33.xml [ Failure ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-34.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-35.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-36.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-37.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-38.xml [ Failure ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-39a.xml [ Failure ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-39b.xml [ Failure ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-39c.xml [ Failure ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-39.xml [ Failure ]
-crbug.com/591099 css3/selectors3/xml/css3-modsel-3a.xml [ Failure ]
-crbug.com/591099 css3/selectors3/xml/css3-modsel-3.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-3a.xml [ Crash Failure ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-3.xml [ Crash Failure ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-41a.xml [ Failure ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-41.xml [ Failure ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-42a.xml [ Failure ]
@@ -1930,35 +3524,94 @@
 crbug.com/591099 css3/selectors3/xml/css3-modsel-43b.xml [ Failure ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-43.xml [ Failure ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-44b.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-44c.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-44d.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-44.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-45b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-45c.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-45.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-46b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-46.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-47.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-48.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-49.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-4.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-50.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-51.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-52.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-53.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-54.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-55.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-56.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-57b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-57.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-59.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-5.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-60.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-61.xml [ Failure ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-62.xml [ Failure ]
-crbug.com/591099 css3/selectors3/xml/css3-modsel-64.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-63.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-64.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-65.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-66b.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-66.xml [ Failure ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-67.xml [ Failure ]
-crbug.com/591099 css3/selectors3/xml/css3-modsel-68.xml [ Failure ]
-crbug.com/591099 css3/selectors3/xml/css3-modsel-69.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-68.xml [ Crash Failure ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-69.xml [ Crash Failure ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-6.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-70.xml [ Failure ]
-crbug.com/591099 css3/selectors3/xml/css3-modsel-73b.xml [ Failure ]
-crbug.com/591099 css3/selectors3/xml/css3-modsel-73.xml [ Failure ]
-crbug.com/591099 css3/selectors3/xml/css3-modsel-74b.xml [ Failure ]
-crbug.com/591099 css3/selectors3/xml/css3-modsel-74.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-72b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-72.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-73b.xml [ Crash Failure ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-73.xml [ Crash Failure ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-74b.xml [ Crash Failure ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-74.xml [ Crash Failure ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-75b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-75.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-76b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-76.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-77b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-77.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-78b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-78.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-79.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-7b.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-7.xml [ Failure ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-80.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-81b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-81.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-82b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-82.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-83.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-86.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-87b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-87.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-88b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-88.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-89.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-8.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-90b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-90.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-91.xml [ Failure ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-92.xml [ Failure ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-93.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-94b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-94.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-95.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-96b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-96.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-97b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-97.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-98b.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-98.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-99b.xml [ Failure Pass ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-99.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-9.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-d1b.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-d1.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-d2.xml [ Failure Pass ]
 crbug.com/591099 css3/selectors3/xml/css3-modsel-d3.xml [ Failure ]
+crbug.com/591099 css3/selectors3/xml/css3-modsel-d4.xml [ Failure Pass ]
 crbug.com/591099 css3/style-zoomed-image.html [ Failure ]
 crbug.com/591099 css3/supports-cssom.html [ Failure ]
 crbug.com/591099 css3/supports-dom-api.html [ Failure ]
@@ -1982,6 +3635,7 @@
 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/paint2d-zoom.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 ]
@@ -2059,7 +3713,9 @@
 crbug.com/591099 dom/domparsing/xmlserializer-attribute-ns-prefix.html [ Failure ]
 crbug.com/591099 dom/domparsing/xmlserializer-attribute-special-namespaces.html [ Failure ]
 crbug.com/591099 dom/domparsing/xmlserializer-doctype2.html [ Failure ]
+crbug.com/591099 dom/domparsing/xmlserializer-doctype.html [ Crash Pass ]
 crbug.com/591099 dom/domparsing/xmlserializer-double-xmlns.html [ Failure ]
+crbug.com/591099 dom/legacy_dom_conformance/html/level1/core/li-type-supported-case-insensitive.html [ Crash Pass ]
 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 Pass ]
 crbug.com/591099 dom/legacy_dom_conformance/html/level2/html/HTMLDocument02.html [ Crash Pass ]
@@ -2458,9 +4114,11 @@
 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 Pass ]
 crbug.com/591099 dom/legacy_dom_conformance/xhtml/level2/html/HTMLImageElement02.xhtml [ Crash Pass ]
+crbug.com/591099 dom/legacy_dom_conformance/xhtml/level2/html/HTMLImageElement03.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 Pass ]
+crbug.com/591099 dom/legacy_dom_conformance/xhtml/level2/html/HTMLImageElement08.xhtml [ Crash Pass ]
 crbug.com/591099 dom/legacy_dom_conformance/xhtml/level2/html/HTMLImageElement09.xhtml [ Crash Pass ]
 crbug.com/591099 dom/legacy_dom_conformance/xhtml/level2/html/HTMLImageElement10.xhtml [ Crash Pass ]
 crbug.com/591099 dom/legacy_dom_conformance/xhtml/level2/html/HTMLImageElement11.xhtml [ Crash Pass ]
@@ -2519,17 +4177,17 @@
 crbug.com/591099 editing/caret/caret-color-014.html [ Failure ]
 crbug.com/591099 editing/caret/caret-color-015.html [ Failure ]
 crbug.com/591099 editing/caret/caret-color.html [ Failure ]
-crbug.com/591099 editing/caret/caret-direction-auto.html [ Failure ]
+crbug.com/591099 editing/caret/caret-direction-auto.html [ Crash Failure ]
 crbug.com/591099 editing/caret/caret-height.html [ Failure ]
 crbug.com/591099 editing/caret/caret-in-empty-cell.html [ Failure Pass ]
-crbug.com/591099 editing/caret/caret-is-hidden-when-no-focus.html [ Failure Pass ]
+crbug.com/591099 editing/caret/caret-is-hidden-when-no-focus.html [ Crash Failure Pass ]
 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 ]
 crbug.com/591099 editing/composition-marker-basic.html [ Failure ]
 crbug.com/591099 editing/composition-marker-split.html [ Failure ]
 crbug.com/591099 editing/deleting/4866671.html [ Crash ]
-crbug.com/591099 editing/deleting/4875189.html [ Failure ]
+crbug.com/591099 editing/deleting/4875189.html [ Crash Failure ]
 crbug.com/591099 editing/deleting/4916235-1.html [ Failure ]
 crbug.com/591099 editing/deleting/4922367.html [ Failure ]
 crbug.com/591099 editing/deleting/5099303.html [ Failure ]
@@ -2538,13 +4196,15 @@
 crbug.com/591099 editing/deleting/5168598.html [ Failure ]
 crbug.com/591099 editing/deleting/5206311-1.html [ Failure ]
 crbug.com/591099 editing/deleting/5272440.html [ Failure ]
-crbug.com/591099 editing/deleting/5290534.html [ Failure ]
+crbug.com/591099 editing/deleting/5290534.html [ Crash Failure ]
 crbug.com/591099 editing/deleting/5300379.html [ Failure ]
 crbug.com/591099 editing/deleting/5369009.html [ Failure ]
 crbug.com/591099 editing/deleting/5433862-1.html [ Failure ]
 crbug.com/591099 editing/deleting/5433862-2.html [ Failure ]
 crbug.com/591099 editing/deleting/5483370.html [ Failure ]
 crbug.com/591099 editing/deleting/5729680.html [ Failure ]
+crbug.com/591099 editing/deleting/backspace-merge-into-block.html [ Crash Pass ]
+crbug.com/591099 editing/deleting/backspace-merge-into-list-item.html [ Crash Pass ]
 crbug.com/591099 editing/deleting/delete-3608430-fix.html [ Crash ]
 crbug.com/591099 editing/deleting/delete-3865854-fix.html [ Failure ]
 crbug.com/591099 editing/deleting/delete_after_span_ws.html [ Failure ]
@@ -2556,16 +4216,17 @@
 crbug.com/591099 editing/deleting/delete_block_merge_contents_1.html [ Crash ]
 crbug.com/591099 editing/deleting/delete_block_merge_whitespace.html [ Crash ]
 crbug.com/591099 editing/deleting/delete-blockquote-large-offsets.html [ Failure ]
-crbug.com/591099 editing/deleting/delete-block-table.html [ Failure ]
+crbug.com/591099 editing/deleting/delete-block-table.html [ Crash Failure ]
 crbug.com/591099 editing/deleting/delete-br-013.html [ Failure ]
 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 Failure ]
 crbug.com/591099 editing/deleting/delete-empty-table.html [ Failure ]
+crbug.com/591099 editing/deleting/delete-first-list-item.html [ Crash Pass ]
 crbug.com/591099 editing/deleting/delete_image.html [ Crash ]
 crbug.com/591099 editing/deleting/delete-inline-br.html [ Crash ]
-crbug.com/591099 editing/deleting/delete-last-char-in-table.html [ Failure ]
+crbug.com/591099 editing/deleting/delete-last-char-in-table.html [ Crash Failure ]
 crbug.com/591099 editing/deleting/delete-leading-ws-001.html [ Failure ]
 crbug.com/591099 editing/deleting/delete-ligature-001.html [ Crash ]
 crbug.com/591099 editing/deleting/delete-line-001.html [ Failure ]
@@ -2583,17 +4244,22 @@
 crbug.com/591099 editing/deleting/delete-line-016.html [ Failure ]
 crbug.com/591099 editing/deleting/delete-line-017.html [ Failure ]
 crbug.com/591099 editing/deleting/delete_line_end_ws.html [ Failure ]
+crbug.com/591099 editing/deleting/delete_list_item.html [ Crash Pass ]
 crbug.com/591099 editing/deleting/delete-node-after-DOMNodeRemoved.html [ Failure ]
+crbug.com/591099 editing/deleting/delete_select_all.html [ Crash Pass ]
 crbug.com/591099 editing/deleting/delete-selection-001.html [ Failure ]
 crbug.com/591099 editing/deleting/delete-surrogatepair.html [ Failure ]
 crbug.com/591099 editing/deleting/delete-svg-001.html [ Crash ]
 crbug.com/591099 editing/deleting/delete_trailing_ws.html [ Crash ]
 crbug.com/591099 editing/deleting/delete_ws_fixup.html [ Crash ]
 crbug.com/591099 editing/deleting/forward-delete-key.html [ Failure ]
+crbug.com/591099 editing/deleting/list-item-1.html [ Crash Pass ]
 crbug.com/591099 editing/deleting/merge-at-end-of-document.html [ Failure ]
 crbug.com/591099 editing/deleting/merge-different-styles.html [ Failure ]
 crbug.com/591099 editing/deleting/merge-endOfParagraph.html [ Failure ]
-crbug.com/591099 editing/deleting/merge-list-items-in-same-list.html [ Failure ]
+crbug.com/591099 editing/deleting/merge_into_empty_block.html [ Crash Pass ]
+crbug.com/591099 editing/deleting/merge-list-items-in-same-list.html [ Crash Failure ]
+crbug.com/591099 editing/deleting/merge-lists.html [ Crash Pass ]
 crbug.com/591099 editing/deleting/merge-no-br.html [ Failure ]
 crbug.com/591099 editing/deleting/merge-paragraph-from-address.html [ Failure ]
 crbug.com/591099 editing/deleting/merge-paragraph-from-listing.html [ Failure ]
@@ -2614,47 +4280,54 @@
 crbug.com/591099 editing/deleting/type-delete-after-quote.html [ Failure ]
 crbug.com/591099 editing/execCommand/16049.html [ Failure ]
 crbug.com/591099 editing/execCommand/19087.html [ Failure ]
-crbug.com/591099 editing/execCommand/19653-1.html [ Failure ]
+crbug.com/591099 editing/execCommand/19653-1.html [ Crash Failure ]
 crbug.com/591099 editing/execCommand/25256.html [ Failure ]
 crbug.com/591099 editing/execCommand/4128080-2.html [ Failure ]
-crbug.com/591099 editing/execCommand/4580583-1.html [ Failure ]
-crbug.com/591099 editing/execCommand/4580583-2.html [ Failure ]
+crbug.com/591099 editing/execCommand/4580583-1.html [ Crash Failure ]
+crbug.com/591099 editing/execCommand/4580583-2.html [ Crash Failure ]
 crbug.com/591099 editing/execCommand/4747450.html [ Failure ]
 crbug.com/591099 editing/execCommand/4786404-1.html [ Failure ]
 crbug.com/591099 editing/execCommand/4786404-2.html [ Failure ]
-crbug.com/591099 editing/execCommand/4916235.html [ Failure ]
+crbug.com/591099 editing/execCommand/4916235.html [ Crash Failure ]
 crbug.com/591099 editing/execCommand/4916541.html [ Failure ]
-crbug.com/591099 editing/execCommand/4916583.html [ Failure ]
-crbug.com/591099 editing/execCommand/4917055.html [ Failure ]
-crbug.com/591099 editing/execCommand/4920742-2.html [ Failure ]
-crbug.com/591099 editing/execCommand/4928635.html [ Failure ]
+crbug.com/591099 editing/execCommand/4916583.html [ Crash Failure ]
+crbug.com/591099 editing/execCommand/4917055.html [ Crash Failure ]
+crbug.com/591099 editing/execCommand/4920742-2.html [ Crash Failure ]
+crbug.com/591099 editing/execCommand/4924441.html [ Crash Pass ]
+crbug.com/591099 editing/execCommand/4928635.html [ Crash Failure ]
 crbug.com/591099 editing/execCommand/4976800.html [ Failure ]
 crbug.com/591099 editing/execCommand/5080333-1.html [ Crash ]
 crbug.com/591099 editing/execCommand/5080333-2.html [ Crash ]
 crbug.com/591099 editing/execCommand/5119244.html [ Failure ]
 crbug.com/591099 editing/execCommand/5120591.html [ Failure ]
-crbug.com/591099 editing/execCommand/5136770.html [ Failure ]
+crbug.com/591099 editing/execCommand/5136770.html [ Crash Failure ]
 crbug.com/591099 editing/execCommand/5138441.html [ Failure ]
 crbug.com/591099 editing/execCommand/5142012-1.html [ Failure ]
 crbug.com/591099 editing/execCommand/5142012-3.html [ Failure ]
-crbug.com/591099 editing/execCommand/5144139-1.html [ Failure ]
+crbug.com/591099 editing/execCommand/5144139-1.html [ Crash Failure ]
 crbug.com/591099 editing/execCommand/5164796.html [ Failure ]
-crbug.com/591099 editing/execCommand/5190926.html [ Failure ]
-crbug.com/591099 editing/execCommand/5207369.html [ Failure ]
-crbug.com/591099 editing/execCommand/5210032.html [ Failure ]
+crbug.com/591099 editing/execCommand/5190926.html [ Crash Failure ]
+crbug.com/591099 editing/execCommand/5207369.html [ Crash Failure ]
+crbug.com/591099 editing/execCommand/5210032.html [ Crash Failure ]
 crbug.com/591099 editing/execCommand/5432254-1.html [ Failure ]
-crbug.com/591099 editing/execCommand/5432254-2.html [ Failure ]
-crbug.com/591099 editing/execCommand/5458246.html [ Failure ]
-crbug.com/591099 editing/execCommand/5469868.html [ Failure ]
+crbug.com/591099 editing/execCommand/5432254-2.html [ Crash Failure ]
+crbug.com/591099 editing/execCommand/5458246.html [ Crash Failure ]
+crbug.com/591099 editing/execCommand/5469868.html [ Crash Failure ]
 crbug.com/591099 editing/execCommand/5481523.html [ Failure ]
-crbug.com/591099 editing/execCommand/5483526.html [ Failure ]
-crbug.com/591099 editing/execCommand/5569741.html [ Failure ]
-crbug.com/591099 editing/execCommand/5575101-1.html [ Failure ]
+crbug.com/591099 editing/execCommand/5483526.html [ Crash Failure ]
+crbug.com/591099 editing/execCommand/5543472-1.html [ Crash Pass ]
+crbug.com/591099 editing/execCommand/5543472-2.html [ Crash Pass ]
+crbug.com/591099 editing/execCommand/5543472-3.html [ Crash Pass ]
+crbug.com/591099 editing/execCommand/5569741.html [ Crash Failure ]
+crbug.com/591099 editing/execCommand/5573879.html [ Crash Pass ]
+crbug.com/591099 editing/execCommand/5575101-1.html [ Crash Failure ]
 crbug.com/591099 editing/execCommand/5575101-2.html [ Crash ]
 crbug.com/591099 editing/execCommand/5575101-3.html [ Crash ]
+crbug.com/591099 editing/execCommand/5685604-1.html [ Crash Pass ]
 crbug.com/591099 editing/execCommand/5700414-1.html [ Failure ]
 crbug.com/591099 editing/execCommand/5700414-2.html [ Failure ]
 crbug.com/591099 editing/execCommand/5763082.html [ Crash ]
+crbug.com/591099 editing/execCommand/5939887.html [ Crash Pass ]
 crbug.com/591099 editing/execCommand/align-in-span.html [ Failure ]
 crbug.com/591099 editing/execCommand/applyblockelement-visiblepositionforindex-crash.html [ Crash ]
 crbug.com/591099 editing/execCommand/apply-inline-style-to-element-with-no-renderer-crash.html [ Crash ]
@@ -2664,14 +4337,23 @@
 crbug.com/591099 editing/execCommand/arguments-combinations.html [ Failure ]
 crbug.com/591099 editing/execCommand/backcolor-crash.html [ Failure ]
 crbug.com/591099 editing/execCommand/boldSelection.html [ Failure ]
-crbug.com/591099 editing/execCommand/break-out-of-empty-list-item.html [ Failure ]
+crbug.com/591099 editing/execCommand/break-out-of-empty-list-item.html [ Crash Failure ]
 crbug.com/591099 editing/execCommand/clipboard-access.html [ Failure ]
 crbug.com/591099 editing/execCommand/clipboard-access-with-userGesture.html [ Failure ]
 crbug.com/591099 editing/execCommand/convert-style-elements-to-spans.html [ Failure ]
+crbug.com/591099 editing/execCommand/crash-breaking-blockquote-with-list.html [ Crash Pass ]
+crbug.com/591099 editing/execCommand/crash-indenting-list-item.html [ Crash Pass ]
+crbug.com/591099 editing/execCommand/crash-inserting-list.html [ Crash Pass ]
 crbug.com/591099 editing/execCommand/crash-line-break-after-outdent.html [ Crash ]
 crbug.com/591099 editing/execCommand/crash-object-cloning.html [ Crash ]
+crbug.com/591099 editing/execCommand/crash-on-enter-in-contentEditable-list.html [ Crash Pass ]
+crbug.com/591099 editing/execCommand/crash-replacing-list-by-list.html [ Crash Pass ]
+crbug.com/591099 editing/execCommand/createLink.html [ Crash Pass ]
+crbug.com/591099 editing/execCommand/create-list-from-range-selection.html [ Crash Pass ]
+crbug.com/591099 editing/execCommand/create-list-with-hr.html [ Crash Pass ]
 crbug.com/591099 editing/execCommand/default-paragraph-separator.html [ Failure ]
 crbug.com/591099 editing/execCommand/default-parameters.html [ Failure ]
+crbug.com/591099 editing/execCommand/delete-image-in-anchor.html [ Crash Pass ]
 crbug.com/591099 editing/execCommand/delete-selection-has-style.html [ Failure ]
 crbug.com/591099 editing/execCommand/editing-nontext-node-crash.xhtml [ Crash ]
 crbug.com/591099 editing/execCommand/empty-span-removal.html [ Failure ]
@@ -2687,10 +4369,12 @@
 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-table.html [ Crash Pass ]
 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 ]
+crbug.com/591099 editing/execCommand/indent-block-in-list.html [ Crash Pass ]
 crbug.com/591099 editing/execCommand/indent-crash-by-top-load-event.html [ Crash ]
 crbug.com/591099 editing/execCommand/indent-div-inside-list.html [ Failure ]
 crbug.com/591099 editing/execCommand/indent-empty-root.html [ Failure ]
@@ -2698,6 +4382,12 @@
 crbug.com/591099 editing/execCommand/indent-images-2.html [ Crash ]
 crbug.com/591099 editing/execCommand/indent-images-3.html [ Crash ]
 crbug.com/591099 editing/execCommand/indent-images.html [ Crash ]
+crbug.com/591099 editing/execCommand/indent/indent_nested_lists.html [ Crash Pass ]
+crbug.com/591099 editing/execCommand/indent/indent_with_style.html [ Crash Pass ]
+crbug.com/591099 editing/execCommand/indent-inline-box-crash.html [ Crash Pass ]
+crbug.com/591099 editing/execCommand/indent-list-item.html [ Crash Pass ]
+crbug.com/591099 editing/execCommand/indent-list-item-with-children.html [ Crash Pass ]
+crbug.com/591099 editing/execCommand/indent-nested-blockquotes-crash.html [ Crash Pass ]
 crbug.com/591099 editing/execCommand/indent-nested-blockquotes.html [ Failure ]
 crbug.com/591099 editing/execCommand/indent-nested-div.html [ Failure ]
 crbug.com/591099 editing/execCommand/indent-paragraphs.html [ Crash ]
@@ -2707,8 +4397,10 @@
 crbug.com/591099 editing/execCommand/indent-pre-paragraphs.html [ Crash ]
 crbug.com/591099 editing/execCommand/indent-right-after-table.html [ Failure ]
 crbug.com/591099 editing/execCommand/indent-second-paragraph-in-blockquote.html [ Failure ]
+crbug.com/591099 editing/execCommand/indent-selection.html [ Crash Pass ]
+crbug.com/591099 editing/execCommand/indent-with-first-child-crash.html [ Crash Pass ]
 crbug.com/591099 editing/execCommand/infinite-recursion-computeRectForRepaint.html [ Crash ]
-crbug.com/591099 editing/execCommand/inline-style-after-indentoutdent.html [ Failure ]
+crbug.com/591099 editing/execCommand/inline-style-after-indentoutdent.html [ Crash Failure ]
 crbug.com/591099 editing/execCommand/insertHTML-aborted.html [ Crash ]
 crbug.com/591099 editing/execCommand/insertHTML.html [ Failure ]
 crbug.com/591099 editing/execCommand/insert-image-changing-visibility-crash.html [ Crash ]
@@ -2718,41 +4410,58 @@
 crbug.com/591099 editing/execCommand/insert-image-with-selecting-document.html [ Crash ]
 crbug.com/591099 editing/execCommand/inserting-ordered-list-crash.html [ Crash ]
 crbug.com/591099 editing/execCommand/insert-line-break-no-scroll.html [ Failure ]
-crbug.com/591099 editing/execCommand/insert-list-and-strikethrough.html [ Failure ]
+crbug.com/591099 editing/execCommand/insert-list-and-stitch.html [ Crash Pass ]
+crbug.com/591099 editing/execCommand/insert-list-and-strikethrough.html [ Crash Failure ]
+crbug.com/591099 editing/execCommand/insert_list_at_end_of_paragraph.html [ Crash Pass ]
 crbug.com/591099 editing/execCommand/insert-list-br-with-child-crash.html [ Crash ]
 crbug.com/591099 editing/execCommand/insert-list-empty-div.html [ Failure ]
+crbug.com/591099 editing/execCommand/insert-list-infinite-loop2.html [ Crash Pass ]
+crbug.com/591099 editing/execCommand/insert-list-infinite-loop.html [ Crash Pass ]
 crbug.com/591099 editing/execCommand/insert-list-in-noneditable-list-parent.html [ Failure ]
+crbug.com/591099 editing/execCommand/insert_list/insert_list_in_link.html [ Crash Pass ]
+crbug.com/591099 editing/execCommand/insert_list/insert_list_in_summary_crash.html [ Crash Pass ]
+crbug.com/591099 editing/execCommand/insert_list/insert_list_ul_li_to_ol.html [ Crash Pass ]
 crbug.com/591099 editing/execCommand/insert-list-into-list-crash.html [ Crash ]
-crbug.com/591099 editing/execCommand/insert-lists-inside-another-list.html [ Failure ]
-crbug.com/591099 editing/execCommand/insert-list-with-noneditable-content.html [ Failure ]
+crbug.com/591099 editing/execCommand/insert-list-items-inside-another-list.html [ Crash Pass ]
+crbug.com/591099 editing/execCommand/insert-list-nested-with-orphaned.html [ Crash Pass ]
+crbug.com/591099 editing/execCommand/insert-lists-inside-another-list.html [ Crash Failure ]
+crbug.com/591099 editing/execCommand/insert-list-with-id.html [ Crash Pass ]
+crbug.com/591099 editing/execCommand/insert-list-with-noneditable-content.html [ Crash Failure ]
 crbug.com/591099 editing/execCommand/insert-list-with-progress-crash.html [ Crash ]
+crbug.com/591099 editing/execCommand/insert-list-xml.xhtml [ Crash Pass ]
+crbug.com/591099 editing/execCommand/insert-ordered-list-crash2.html [ Crash Pass ]
 crbug.com/591099 editing/execCommand/insert-ordered-list-crash.html [ Crash ]
 crbug.com/591099 editing/execCommand/insert-ordered-list.html [ Crash ]
 crbug.com/591099 editing/execCommand/insert-paragraph-into-table.html [ Crash ]
-crbug.com/591099 editing/execCommand/insert-remove-block-list-inside-presentational-inline.html [ Failure ]
+crbug.com/591099 editing/execCommand/insert-remove-block-list-inside-presentational-inline.html [ Crash Failure ]
 crbug.com/591099 editing/execCommand/insert-text-not-inheriting-block-properties.html [ Failure ]
 crbug.com/591099 editing/execCommand/italic-crash-by-iframe-load.html [ Crash ]
-crbug.com/591099 editing/execCommand/italicizeByCharacter.html [ Failure ]
+crbug.com/591099 editing/execCommand/italicizeByCharacter.html [ Crash Failure ]
 crbug.com/591099 editing/execCommand/justify.html [ Timeout ]
 crbug.com/591099 editing/execCommand/justify-right-crash.html [ Crash ]
+crbug.com/591099 editing/execCommand/listify-output-crash.html [ Crash Pass ]
+crbug.com/591099 editing/execCommand/list-wrapping-image-crash.html [ Crash Pass ]
 crbug.com/591099 editing/execCommand/merge-text-decoration-with-typing-style.html [ Failure ]
-crbug.com/591099 editing/execCommand/modifyForeColorByCharacter.html [ Failure ]
+crbug.com/591099 editing/execCommand/modifyForeColorByCharacter.html [ Crash Failure ]
 crbug.com/591099 editing/execCommand/move-selection-back-line.html [ Failure ]
 crbug.com/591099 editing/execCommand/move-selection-back-line-rtl.html [ Failure ]
 crbug.com/591099 editing/execCommand/move-selection-back-line-strict.html [ Failure ]
 crbug.com/591099 editing/execCommand/non-html-document.html [ Failure ]
 crbug.com/591099 editing/execCommand/outdent-break-with-style.html [ Crash ]
 crbug.com/591099 editing/execCommand/outdent-collapse-table-crash.html [ Crash ]
-crbug.com/591099 editing/execCommand/outdent-inline-list.html [ Failure ]
-crbug.com/591099 editing/execCommand/outdent-multiparagraph-list.html [ Failure ]
-crbug.com/591099 editing/execCommand/outdent-regular-blockquote.html [ Failure ]
-crbug.com/591099 editing/execCommand/outdent-selection.html [ Failure ]
+crbug.com/591099 editing/execCommand/outdent-inline-list.html [ Crash Failure ]
+crbug.com/591099 editing/execCommand/outdent-multiparagraph-list.html [ Crash Failure ]
+crbug.com/591099 editing/execCommand/outdent/outdent_nested_lists.html [ Crash Pass ]
+crbug.com/591099 editing/execCommand/outdent-regular-blockquote.html [ Crash Failure ]
+crbug.com/591099 editing/execCommand/outdent-selection.html [ Crash Failure ]
 crbug.com/591099 editing/execCommand/overtype-support.html [ Failure ]
 crbug.com/591099 editing/execCommand/paste-1.html [ Crash ]
 crbug.com/591099 editing/execCommand/paste-2.html [ Crash ]
-crbug.com/591099 editing/execCommand/queryCommandState-02.html [ Failure ]
+crbug.com/591099 editing/execCommand/queryCommandState-01.html [ Crash Pass ]
+crbug.com/591099 editing/execCommand/queryCommandState-02.html [ Crash Failure ]
 crbug.com/591099 editing/execCommand/queryCommandState-03.html [ Crash ]
 crbug.com/591099 editing/execCommand/query-command-state.html [ Timeout ]
+crbug.com/591099 editing/execCommand/queryCommandState-list.html [ Crash Pass ]
 crbug.com/591099 editing/execCommand/query-command-value-background-color.html [ Failure ]
 crbug.com/591099 editing/execCommand/queryCommandValue-unsupported-commands.html [ Failure ]
 crbug.com/591099 editing/execCommand/query-font-size-with-typing-style.html [ Failure ]
@@ -2766,19 +4475,30 @@
 crbug.com/591099 editing/execCommand/remove-format-image.html [ Crash ]
 crbug.com/591099 editing/execCommand/remove-format-multiple-elements-mac.html [ Failure ]
 crbug.com/591099 editing/execCommand/remove-format-multiple-elements-win.html [ Failure ]
+crbug.com/591099 editing/execCommand/remove-format-orphaned-list-item.html [ Crash Pass ]
 crbug.com/591099 editing/execCommand/remove-format-textdecoration-in-iframe.html [ Crash ]
-crbug.com/591099 editing/execCommand/remove-list-from-range-selection.html [ Failure ]
+crbug.com/591099 editing/execCommand/remove-list-1.html [ Crash Pass ]
+crbug.com/591099 editing/execCommand/remove-list-from-multi-list-items.html [ Crash Pass ]
+crbug.com/591099 editing/execCommand/remove-list-from-range-selection.html [ Crash Failure ]
+crbug.com/591099 editing/execCommand/remove-list-item-1.html [ Crash Pass ]
+crbug.com/591099 editing/execCommand/remove-list-items.html [ Crash Pass ]
 crbug.com/591099 editing/execCommand/replace-crossing-mailblockquote-crash.html [ Crash ]
 crbug.com/591099 editing/execCommand/replaceSelectorCommand-crash.html [ Crash ]
 crbug.com/591099 editing/execCommand/selectAll-including-marquee-crash.html [ Crash ]
-crbug.com/591099 editing/execCommand/selection-after-insert-list.html [ Failure ]
-crbug.com/591099 editing/execCommand/strikethroughSelection.html [ Failure ]
+crbug.com/591099 editing/execCommand/selection-after-insert-list.html [ Crash Failure ]
+crbug.com/591099 editing/execCommand/selection-after-switch-type-of-listitem.html [ Crash Pass ]
+crbug.com/591099 editing/execCommand/strikethroughSelection.html [ Crash Failure ]
 crbug.com/591099 editing/execCommand/strikethrough-uses-strike-tag.html [ Failure ]
 crbug.com/591099 editing/execCommand/style-with-css.html [ Failure ]
+crbug.com/591099 editing/execCommand/switch-list-type.html [ Crash Pass ]
+crbug.com/591099 editing/execCommand/switch-list-type-with-inner-list.html [ Crash Pass ]
+crbug.com/591099 editing/execCommand/switch-list-type-with-orphaned-li.html [ Crash Pass ]
 crbug.com/591099 editing/execCommand/switch-multiple-list-items-crash.html [ Crash ]
+crbug.com/591099 editing/execCommand/switch-multiple-list-items.html [ Crash Pass ]
 crbug.com/591099 editing/execCommand/toggle-compound-styles.html [ Crash ]
 crbug.com/591099 editing/execCommand/toggle-link-mac.html [ Failure ]
 crbug.com/591099 editing/execCommand/toggle-link-win.html [ Failure ]
+crbug.com/591099 editing/execCommand/toggle-list-uneditable-crash.html [ Crash Pass ]
 crbug.com/591099 editing/execCommand/toggle-style-2.html [ Failure ]
 crbug.com/591099 editing/execCommand/toggle-style-3.html [ Failure ]
 crbug.com/591099 editing/execCommand/toggle-styles.html [ Failure ]
@@ -2786,50 +4506,54 @@
 crbug.com/591099 editing/execCommand/toggle-unlink-mac.html [ Failure ]
 crbug.com/591099 editing/execCommand/toggle-unlink-win.html [ Failure ]
 crbug.com/591099 editing/execCommand/unlink.html [ Crash ]
+crbug.com/591099 editing/execCommand/unlistify-uneditable-parent-crash.html [ Crash Pass ]
 crbug.com/591099 editing/execCommand/use-css.html [ Failure ]
 crbug.com/591099 editing/execCommand/window-open-insert-list-crash.html [ Crash ]
 crbug.com/591099 editing/input/caret-at-the-edge-of-contenteditable.html [ Failure ]
-crbug.com/591099 editing/input/caret-at-the-edge-of-input.html [ Failure ]
+crbug.com/591099 editing/input/caret-at-the-edge-of-input.html [ Crash Failure ]
 crbug.com/591099 editing/input/caret-read-only-after-editable.html [ Failure ]
 crbug.com/591099 editing/input/change-style-with-key-binding.html [ Failure ]
+crbug.com/591099 editing/input/ctrl-up-down.html [ Crash Pass ]
 crbug.com/591099 editing/input/div-first-child-rule-input.html [ Crash ]
 crbug.com/591099 editing/input/div-first-child-rule-textarea.html [ Crash ]
 crbug.com/591099 editing/input/editable-container-with-word-wrap-normal.html [ Failure ]
-crbug.com/591099 editing/input/ime-composition-clearpreedit.html [ Failure ]
+crbug.com/591099 editing/input/ime-composition-clearpreedit.html [ Crash Failure ]
 crbug.com/591099 editing/input/insert-wrapping-space-in-textarea.html [ Crash ]
 crbug.com/591099 editing/input/keyboard-ctrl-enter-no-newline.html [ Crash ]
-crbug.com/591099 editing/input/linux_ltr_composition_underline.html [ Failure ]
-crbug.com/591099 editing/input/linux_rtl_composition_underline.html [ Failure ]
+crbug.com/591099 editing/input/keyboard_event_without_focus.html [ Crash Pass ]
+crbug.com/591099 editing/input/linux_ltr_composition_underline.html [ Crash Failure ]
+crbug.com/591099 editing/input/linux_rtl_composition_underline.html [ Crash Failure ]
 crbug.com/591099 editing/input/option-page-up-down.html [ Failure ]
-crbug.com/591099 editing/input/password-echo-passnode2.html [ Failure ]
-crbug.com/591099 editing/input/password-echo-passnode3.html [ Failure ]
-crbug.com/591099 editing/input/password-echo-passnode.html [ Failure ]
-crbug.com/591099 editing/input/password-echo-textnode.html [ Failure ]
-crbug.com/591099 editing/input/paste-linebreak-into-initially-hidden-textarea.html [ Failure ]
+crbug.com/591099 editing/input/password-echo-passnode2.html [ Crash Failure ]
+crbug.com/591099 editing/input/password-echo-passnode3.html [ Crash Failure ]
+crbug.com/591099 editing/input/password-echo-passnode.html [ Crash Failure ]
+crbug.com/591099 editing/input/password-echo-textnode.html [ Crash Failure ]
+crbug.com/591099 editing/input/paste-linebreak-into-initially-hidden-textarea.html [ Crash Failure ]
 crbug.com/591099 editing/input/paste-text-ending-with-interchange-newline.html [ Crash ]
 crbug.com/591099 editing/input/reveal-caret-of-multiline-contenteditable.html [ Failure ]
-crbug.com/591099 editing/input/reveal-caret-of-multiline-input.html [ Failure ]
+crbug.com/591099 editing/input/reveal-caret-of-multiline-input.html [ Crash Failure ]
 crbug.com/591099 editing/input/reveal-caret-of-transformed-input-scrollable-parent.html [ Crash ]
+crbug.com/591099 editing/input/reveal-caret-of-transformed-multiline-input.html [ Crash Pass ]
 crbug.com/591099 editing/input/reveal-contenteditable-on-input-vertically.html [ Failure ]
 crbug.com/591099 editing/input/reveal-edit-on-input-vertically.html [ Failure ]
 crbug.com/591099 editing/input/reveal-edit-on-paste-vertically.html [ Failure ]
-crbug.com/591099 editing/input/reveal-password.html [ Failure ]
+crbug.com/591099 editing/input/reveal-password.html [ Crash Failure ]
 crbug.com/591099 editing/input/reveal-selection-having-stored-scroll-position.html [ Failure ]
 crbug.com/591099 editing/input/scroll-viewport-page-up-down.html [ Failure ]
 crbug.com/591099 editing/input/search-field-crash-in-designmode.html [ Failure ]
 crbug.com/591099 editing/input/setting-input-value-cancel-ime-composition.html [ Crash ]
-crbug.com/591099 editing/input/set-value-on-input-and-delete.html [ Failure ]
-crbug.com/591099 editing/input/set-value-on-input-and-forward-delete.html [ Failure ]
-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/set-value-on-input-and-delete.html [ Crash Failure ]
+crbug.com/591099 editing/input/set-value-on-input-and-forward-delete.html [ Crash Failure ]
+crbug.com/591099 editing/input/set-value-on-input-and-type-input.html [ Crash Failure ]
+crbug.com/591099 editing/input/set-value-on-input-and-type-textarea.html [ Crash 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 Pass ]
-crbug.com/591099 editing/input/textcontrol-doubleclick-at-end.html [ Failure ]
+crbug.com/591099 editing/input/textarea-white-space-normal-trailing-space.html [ Crash Failure Pass ]
+crbug.com/591099 editing/input/textcontrol-doubleclick-at-end.html [ Crash Failure ]
 crbug.com/591099 editing/inserting/4278698.html [ Failure ]
 crbug.com/591099 editing/inserting/4840662.html [ Failure ]
-crbug.com/591099 editing/inserting/4875189-1.html [ Failure ]
+crbug.com/591099 editing/inserting/4875189-1.html [ Crash Failure ]
 crbug.com/591099 editing/inserting/4875189-2.html [ Failure ]
-crbug.com/591099 editing/inserting/4959067.html [ Failure ]
+crbug.com/591099 editing/inserting/4959067.html [ Crash Failure ]
 crbug.com/591099 editing/inserting/4960120-1.html [ Failure ]
 crbug.com/591099 editing/inserting/4960120-2.html [ Failure ]
 crbug.com/591099 editing/inserting/5002441.html [ Failure ]
@@ -2851,12 +4575,13 @@
 crbug.com/591099 editing/inserting/6609479.html [ Failure ]
 crbug.com/591099 editing/inserting/6703873.html [ Failure ]
 crbug.com/591099 editing/inserting/break-blockquote-after-delete.html [ Failure ]
-crbug.com/591099 editing/inserting/caret-position.html [ Failure ]
+crbug.com/591099 editing/inserting/break-out-of-nested-lists.html [ Crash Pass ]
+crbug.com/591099 editing/inserting/caret-position.html [ Crash Failure ]
 crbug.com/591099 editing/inserting/delete-insignificant-text-crash.html [ Failure ]
 crbug.com/591099 editing/inserting/editable-inline-element.html [ Failure ]
 crbug.com/591099 editing/inserting/edited-whitespace-1.html [ Failure ]
 crbug.com/591099 editing/inserting/editing-empty-divs.html [ Crash ]
-crbug.com/591099 editing/inserting/insert-3659587-fix.html [ Failure ]
+crbug.com/591099 editing/inserting/insert-3659587-fix.html [ Crash Failure ]
 crbug.com/591099 editing/inserting/insert-3786362-fix.html [ Failure ]
 crbug.com/591099 editing/inserting/insert-3800346-fix.html [ Failure ]
 crbug.com/591099 editing/inserting/insert-after-delete-001.html [ Failure ]
@@ -2871,15 +4596,18 @@
 crbug.com/591099 editing/inserting/insert_div_with_style.html [ Failure ]
 crbug.com/591099 editing/inserting/insert-empty-html.html [ Failure ]
 crbug.com/591099 editing/inserting/insert_html_as_plain_text.html [ Crash ]
+crbug.com/591099 editing/inserting/insert-html-into-text-field.html [ Crash Pass ]
 crbug.com/591099 editing/inserting/insert-html-to-textarea-crash.html [ Crash ]
 crbug.com/591099 editing/inserting/insert-images-in-pre-x-crash.html [ Crash ]
 crbug.com/591099 editing/inserting/insert_interchange_newline.html [ Failure ]
+crbug.com/591099 editing/inserting/insert-newline-into-dynamically-created-textarea.html [ Crash Pass ]
 crbug.com/591099 editing/inserting/insert-paragraph-after-non-editable-node-before-text.html [ Crash ]
 crbug.com/591099 editing/inserting/insert-paragraph-empty-textarea.html [ Crash ]
 crbug.com/591099 editing/inserting/insert-paragraph-selection-outside-contenteditable.html [ Crash ]
 crbug.com/591099 editing/inserting/insert-paragraph-separator-crash2.html [ Crash ]
+crbug.com/591099 editing/inserting/insert-paragraph-separator-crash.html [ Crash Pass ]
 crbug.com/591099 editing/inserting/insert-paragraph-separator-tab-span.html [ Failure ]
-crbug.com/591099 editing/inserting/insert-paste-bidi-control.html [ Failure ]
+crbug.com/591099 editing/inserting/insert-paste-bidi-control.html [ Crash Failure ]
 crbug.com/591099 editing/inserting/insert-space-at-start-of-wrapped-line.html [ Crash ]
 crbug.com/591099 editing/inserting/insert-space-in-empty-doc.html [ Failure ]
 crbug.com/591099 editing/inserting/insert-table-in-paragraph-crash.html [ Failure ]
@@ -2890,6 +4618,7 @@
 crbug.com/591099 editing/inserting/insert-thai-characters-001.html [ Failure ]
 crbug.com/591099 editing/inserting/insert-without-inheriting-style.html [ Crash ]
 crbug.com/591099 editing/inserting/line-break.html [ Failure ]
+crbug.com/591099 editing/inserting/nested_blocks_with_text_form_control.html [ Crash Pass ]
 crbug.com/591099 editing/inserting/page-zoom-font-size.html [ Failure ]
 crbug.com/591099 editing/inserting/paragraph-outside-nested-divs.html [ Failure ]
 crbug.com/591099 editing/inserting/paragraph-separator-in-table-1.html [ Failure ]
@@ -2927,23 +4656,24 @@
 crbug.com/591099 editing/pasteboard/5780697-2.html [ Failure ]
 crbug.com/591099 editing/pasteboard/6018653.html [ Failure ]
 crbug.com/591099 editing/pasteboard/7955.html [ Failure ]
+crbug.com/591099 editing/pasteboard/avoid-copying-body-with-background.html [ Crash Pass ]
 crbug.com/591099 editing/pasteboard/bad-placeholder.html [ Failure ]
 crbug.com/591099 editing/pasteboard/block-wrappers-necessary.html [ Failure ]
 crbug.com/591099 editing/pasteboard/can-read-in-copy-and-cut-events.html [ Failure ]
 crbug.com/591099 editing/pasteboard/can-read-in-dragstart-event.html [ Failure ]
 crbug.com/591099 editing/pasteboard/clipboard-customData.html [ Failure ]
-crbug.com/591099 editing/pasteboard/copy-backslash-with-euc.html [ Failure ]
-crbug.com/591099 editing/pasteboard/copy-crash.html [ Timeout ]
+crbug.com/591099 editing/pasteboard/copy-backslash-with-euc.html [ Crash Failure ]
+crbug.com/591099 editing/pasteboard/copy-crash.html [ Crash Timeout ]
 crbug.com/591099 editing/pasteboard/copy-cut-paste-keyevent.html [ Crash ]
 crbug.com/591099 editing/pasteboard/copy-display-none.html [ Failure ]
 crbug.com/591099 editing/pasteboard/copy-element-with-conflicting-background-color-from-rule.html [ Failure ]
 crbug.com/591099 editing/pasteboard/copy_image_and_select.html [ Failure ]
 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-in-password-field.html [ Crash Failure ]
 crbug.com/591099 editing/pasteboard/copy-null-characters.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-first-line-in-textarea.html [ Crash Failure ]
+crbug.com/591099 editing/pasteboard/copy-paste-float.html [ Crash 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 ]
@@ -2952,9 +4682,10 @@
 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 ]
+crbug.com/591099 editing/pasteboard/copy-two-pasteboard-types-both-work.html [ Crash Pass ]
 crbug.com/591099 editing/pasteboard/copy-without-common-block-crash.html [ Failure ]
 crbug.com/591099 editing/pasteboard/crash-accessing-clipboardData-types.html [ Failure ]
-crbug.com/591099 editing/pasteboard/data-transfer-items-drag-drop-string.html [ Failure ]
+crbug.com/591099 editing/pasteboard/data-transfer-items-drag-drop-string.html [ Crash Failure ]
 crbug.com/591099 editing/pasteboard/data-transfer-items.html [ Failure ]
 crbug.com/591099 editing/pasteboard/data-transfer-items-image-png-details.html [ Crash ]
 crbug.com/591099 editing/pasteboard/dataTransfer-setData-getData.html [ Failure ]
@@ -2962,27 +4693,27 @@
 crbug.com/591099 editing/pasteboard/drag-and-drop-image-contenteditable.html [ Timeout ]
 crbug.com/591099 editing/pasteboard/drag-and-drop-inputimage-contenteditable.html [ Timeout ]
 crbug.com/591099 editing/pasteboard/drag-and-drop-objectimage-contenteditable.html [ Timeout ]
-crbug.com/591099 editing/pasteboard/drag-drop-copy-text.html [ Failure ]
+crbug.com/591099 editing/pasteboard/drag-drop-copy-text.html [ Crash Failure ]
 crbug.com/591099 editing/pasteboard/drag-drop-dead-frame.html [ Timeout ]
 crbug.com/591099 editing/pasteboard/drag-drop-iframe-refresh-crash.html [ Crash ]
 crbug.com/591099 editing/pasteboard/drag-drop-input-in-svg.svg [ Crash ]
-crbug.com/591099 editing/pasteboard/drag-drop-input-textarea.html [ Failure ]
+crbug.com/591099 editing/pasteboard/drag-drop-input-textarea.html [ Crash Failure ]
 crbug.com/591099 editing/pasteboard/drag-drop-modifies-page.html [ Failure ]
-crbug.com/591099 editing/pasteboard/drag-drop-url-text.html [ Failure ]
+crbug.com/591099 editing/pasteboard/drag-drop-url-text.html [ Crash Failure ]
 crbug.com/591099 editing/pasteboard/drag-drop-url-with-style.html [ Failure ]
 crbug.com/591099 editing/pasteboard/drag-files-to-editable-element.html [ Failure ]
 crbug.com/591099 editing/pasteboard/drag-image-in-about-blank-frame.html [ Crash ]
-crbug.com/591099 editing/pasteboard/drag-image-to-contenteditable-in-iframe.html [ Failure ]
-crbug.com/591099 editing/pasteboard/drag-list-item.html [ Failure ]
+crbug.com/591099 editing/pasteboard/drag-image-to-contenteditable-in-iframe.html [ Crash Failure ]
+crbug.com/591099 editing/pasteboard/drag-list-item.html [ Crash Failure ]
 crbug.com/591099 editing/pasteboard/drag-prioritizes-draggable-container-over-image.html [ Failure ]
-crbug.com/591099 editing/pasteboard/drag-selected-image-to-contenteditable.html [ Failure ]
+crbug.com/591099 editing/pasteboard/drag-selected-image-to-contenteditable.html [ Crash Failure ]
 crbug.com/591099 editing/pasteboard/dragstart-contains-default-content.html [ Failure ]
 crbug.com/591099 editing/pasteboard/drop-file-svg.html [ Failure ]
-crbug.com/591099 editing/pasteboard/drop-inputtext-acquires-style.html [ Failure ]
+crbug.com/591099 editing/pasteboard/drop-inputtext-acquires-style.html [ Crash Failure ]
 crbug.com/591099 editing/pasteboard/drop-link.html [ Failure ]
-crbug.com/591099 editing/pasteboard/drop-text-events.html [ Failure ]
-crbug.com/591099 editing/pasteboard/drop-text-events-sideeffect-crash.html [ Failure ]
-crbug.com/591099 editing/pasteboard/drop-text-events-sideeffect.html [ Failure ]
+crbug.com/591099 editing/pasteboard/drop-text-events.html [ Crash Failure ]
+crbug.com/591099 editing/pasteboard/drop-text-events-sideeffect-crash.html [ Crash Failure ]
+crbug.com/591099 editing/pasteboard/drop-text-events-sideeffect.html [ Crash Failure ]
 crbug.com/591099 editing/pasteboard/drop-text-without-selection.html [ Failure ]
 crbug.com/591099 editing/pasteboard/file-drag-to-editable.html [ Failure ]
 crbug.com/591099 editing/pasteboard/file-input-files-access.html [ Crash ]
@@ -2990,14 +4721,16 @@
 crbug.com/591099 editing/pasteboard/get-data-text-plain-drop.html [ Failure ]
 crbug.com/591099 editing/pasteboard/get-data-text-plain-paste.html [ Failure ]
 crbug.com/591099 editing/pasteboard/innerText-inline-table.html [ Failure ]
-crbug.com/591099 editing/pasteboard/input-field-1.html [ Failure ]
-crbug.com/591099 editing/pasteboard/input-with-display-none-div.html [ Failure ]
-crbug.com/591099 editing/pasteboard/input-with-visibility-hidden.html [ Failure ]
+crbug.com/591099 editing/pasteboard/input-field-1.html [ Crash Failure ]
+crbug.com/591099 editing/pasteboard/input-with-display-none-div.html [ Crash Failure ]
+crbug.com/591099 editing/pasteboard/input-with-visibility-hidden.html [ Crash Failure ]
+crbug.com/591099 editing/pasteboard/insert-font-weight2.html [ Crash Pass ]
 crbug.com/591099 editing/pasteboard/insert-font-weight.html [ Failure ]
 crbug.com/591099 editing/pasteboard/merge-start-blockquote.html [ Failure ]
 crbug.com/591099 editing/pasteboard/merge-start-list.html [ Failure ]
 crbug.com/591099 editing/pasteboard/mixed_editability.html [ Crash ]
 crbug.com/591099 editing/pasteboard/onpaste-text-html.html [ Failure ]
+crbug.com/591099 editing/pasteboard/paste-4039777-fix.html [ Crash Pass ]
 crbug.com/591099 editing/pasteboard/paste-after-inline-style-element.html [ Failure ]
 crbug.com/591099 editing/pasteboard/paste-and-sanitize.html [ Failure ]
 crbug.com/591099 editing/pasteboard/paste-blockquote-1.html [ Failure ]
@@ -3007,7 +4740,7 @@
 crbug.com/591099 editing/pasteboard/paste-blockquote-into-blockquote-4.html [ Failure ]
 crbug.com/591099 editing/pasteboard/paste-code-in-pre.html [ Failure ]
 crbug.com/591099 editing/pasteboard/paste-double-nested-blockquote-before-blockquote.html [ Failure ]
-crbug.com/591099 editing/pasteboard/paste-event-only-once.html [ Failure ]
+crbug.com/591099 editing/pasteboard/paste-event-only-once.html [ Crash Failure ]
 crbug.com/591099 editing/pasteboard/paste-head-contents.html [ Failure ]
 crbug.com/591099 editing/pasteboard/paste-image-twice.html [ Failure ]
 crbug.com/591099 editing/pasteboard/paste-line-endings-001.html [ Failure ]
@@ -3015,38 +4748,45 @@
 crbug.com/591099 editing/pasteboard/paste-line-endings-003.html [ Failure ]
 crbug.com/591099 editing/pasteboard/paste-line-endings-004.html [ Failure ]
 crbug.com/591099 editing/pasteboard/paste-line-endings-005.html [ Failure ]
-crbug.com/591099 editing/pasteboard/paste-list-002.html [ Failure ]
-crbug.com/591099 editing/pasteboard/paste-list-003.html [ Failure ]
-crbug.com/591099 editing/pasteboard/paste-list-004.html [ Failure ]
+crbug.com/591099 editing/pasteboard/paste-list-001.html [ Crash Pass ]
+crbug.com/591099 editing/pasteboard/paste-list-002.html [ Crash Failure ]
+crbug.com/591099 editing/pasteboard/paste-list-003.html [ Crash Failure ]
+crbug.com/591099 editing/pasteboard/paste-list-004.html [ Crash Failure ]
 crbug.com/591099 editing/pasteboard/paste_match_style.html [ Failure ]
+crbug.com/591099 editing/pasteboard/paste-newline-in-all-selected-textarea.html [ Crash Pass ]
 crbug.com/591099 editing/pasteboard/paste-noplugin.html [ Failure ]
-crbug.com/591099 editing/pasteboard/paste-noscript.html [ Failure ]
-crbug.com/591099 editing/pasteboard/paste-noscript-svg.html [ Failure ]
-crbug.com/591099 editing/pasteboard/paste-placeholder-input.html [ Failure ]
-crbug.com/591099 editing/pasteboard/paste-plaintext-nowrap.html [ Failure ]
-crbug.com/591099 editing/pasteboard/paste-plaintext-user-select-none.html [ Failure ]
+crbug.com/591099 editing/pasteboard/paste-noscript.html [ Crash Failure ]
+crbug.com/591099 editing/pasteboard/paste-noscript-svg.html [ Crash Failure ]
+crbug.com/591099 editing/pasteboard/paste-placeholder-input.html [ Crash Failure ]
+crbug.com/591099 editing/pasteboard/paste-plaintext-nowrap.html [ Crash Failure ]
+crbug.com/591099 editing/pasteboard/paste-plaintext-user-select-none.html [ Crash Failure ]
+crbug.com/591099 editing/pasteboard/paste-pre-001.html [ Crash Pass ]
+crbug.com/591099 editing/pasteboard/paste-pre-002.html [ Crash Pass ]
 crbug.com/591099 editing/pasteboard/paste-removing-iframe.html [ Timeout ]
+crbug.com/591099 editing/pasteboard/paste-text-012.html [ Crash Pass ]
 crbug.com/591099 editing/pasteboard/paste-text-016.html [ Failure ]
 crbug.com/591099 editing/pasteboard/paste-text-at-tabspan-003.html [ Failure ]
-crbug.com/591099 editing/pasteboard/paste-text-events.html [ Failure ]
+crbug.com/591099 editing/pasteboard/paste-text-events.html [ Crash Failure ]
 crbug.com/591099 editing/pasteboard/paste-text-with-style-4.html [ Failure ]
 crbug.com/591099 editing/pasteboard/paste-unrendered-select.html [ Failure ]
-crbug.com/591099 editing/pasteboard/paste-visible-script.html [ Failure ]
+crbug.com/591099 editing/pasteboard/paste-visible-script.html [ Crash Failure ]
 crbug.com/591099 editing/pasteboard/paste-webkit-editable-content-changed-crash.html [ Failure ]
+crbug.com/591099 editing/pasteboard/paste-when-over-link.html [ Crash Pass ]
 crbug.com/591099 editing/pasteboard/paste-without-nesting.html [ Failure ]
 crbug.com/591099 editing/pasteboard/paste_with_spaces.html [ Failure ]
 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/pasting-tabs.html [ Crash 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 ]
 crbug.com/591099 editing/pasteboard/set_data_typeof_return.html [ Failure ]
 crbug.com/591099 editing/pasteboard/smart-drag-drop.html [ Failure ]
-crbug.com/591099 editing/pasteboard/smart-paste-003-trailing-whitespace.html [ Failure ]
+crbug.com/591099 editing/pasteboard/smart-paste-003-trailing-whitespace.html [ Crash Failure ]
 crbug.com/591099 editing/pasteboard/smart-paste-008.html [ Failure ]
 crbug.com/591099 editing/pasteboard/smart_paste.html [ Failure ]
+crbug.com/591099 editing/pasteboard/smart-paste-in-text-control.html [ Crash Pass ]
 crbug.com/591099 editing/pasteboard/styled-element-markup.html [ Failure ]
 crbug.com/591099 editing/pasteboard/subframe-dragndrop-1.html [ Crash ]
 crbug.com/591099 editing/selection/3690719.html [ Failure ]
@@ -3054,7 +4794,7 @@
 crbug.com/591099 editing/selection/4776665.html [ Failure ]
 crbug.com/591099 editing/selection/4960116.html [ Failure ]
 crbug.com/591099 editing/selection/4960137.html [ Failure ]
-crbug.com/591099 editing/selection/4975120.html [ Failure ]
+crbug.com/591099 editing/selection/4975120.html [ Crash Failure ]
 crbug.com/591099 editing/selection/4983858.html [ Failure ]
 crbug.com/591099 editing/selection/5057506-2.html [ Failure Pass ]
 crbug.com/591099 editing/selection/5099303.html [ Failure ]
@@ -3062,10 +4802,11 @@
 crbug.com/591099 editing/selection/5131716-2.html [ Failure ]
 crbug.com/591099 editing/selection/5131716-3.html [ Failure ]
 crbug.com/591099 editing/selection/5131716-4.html [ Failure ]
-crbug.com/591099 editing/selection/5195166-1.html [ Failure ]
+crbug.com/591099 editing/selection/5136696.html [ Crash Pass ]
+crbug.com/591099 editing/selection/5195166-1.html [ Crash Failure ]
 crbug.com/591099 editing/selection/5195166-2.html [ Failure ]
 crbug.com/591099 editing/selection/5209984.html [ Failure ]
-crbug.com/591099 editing/selection/5213963.html [ Failure ]
+crbug.com/591099 editing/selection/5213963.html [ Crash Failure ]
 crbug.com/591099 editing/selection/5232159.html [ Failure ]
 crbug.com/591099 editing/selection/5241148.html [ Failure ]
 crbug.com/591099 editing/selection/5354455-2.html [ Failure ]
@@ -3073,16 +4814,16 @@
 crbug.com/591099 editing/selection/6476.html [ Failure ]
 crbug.com/591099 editing/selection/addRange-failures.html [ Failure ]
 crbug.com/591099 editing/selection/after-line-break.html [ Failure ]
-crbug.com/591099 editing/selection/anchor-focus1.html [ Failure ]
-crbug.com/591099 editing/selection/anchor-focus2.html [ Failure ]
-crbug.com/591099 editing/selection/anchor-focus3.html [ Failure ]
+crbug.com/591099 editing/selection/anchor-focus1.html [ Crash Failure ]
+crbug.com/591099 editing/selection/anchor-focus2.html [ Crash Failure ]
+crbug.com/591099 editing/selection/anchor-focus3.html [ Crash Failure ]
 crbug.com/591099 editing/selection/applystyle-to-inline-in-block.html [ Failure ]
 crbug.com/591099 editing/selection/block-cursor-overtype-mode-end-of-line.html [ Failure ]
 crbug.com/591099 editing/selection/block-cursor-overtype-mode-end-of-line-rtl.html [ Failure ]
 crbug.com/591099 editing/selection/block-cursor-overtype-mode.html [ Failure ]
 crbug.com/591099 editing/selection/block-cursor-overtype-mode-rtl.html [ Failure ]
 crbug.com/591099 editing/selection/caret-after-keypress.html [ Failure ]
-crbug.com/591099 editing/selection/caret-after-removing-node.html [ Failure ]
+crbug.com/591099 editing/selection/caret-after-removing-node.html [ Crash Failure ]
 crbug.com/591099 editing/selection/caret-alignment-for-vertical-text.html [ Failure ]
 crbug.com/591099 editing/selection/caret-and-focus-ring.html [ Failure ]
 crbug.com/591099 editing/selection/caret-at-bidi-boundary.html [ Failure ]
@@ -3110,6 +4851,8 @@
 crbug.com/591099 editing/selection/click-in-focusable-link-should-not-clear-selection.html [ Failure ]
 crbug.com/591099 editing/selection/click-in-margins-inside-editable-div.html [ Failure ]
 crbug.com/591099 editing/selection/click-in-padding-with-multiple-line-boxes.html [ Failure ]
+crbug.com/591099 editing/selection/click-on-anonymous-content-crash.html [ Crash Pass ]
+crbug.com/591099 editing/selection/click-on-block-image.html [ Crash Pass ]
 crbug.com/591099 editing/selection/click-on-body-margin.html [ Timeout ]
 crbug.com/591099 editing/selection/click-on-head-margin.html [ Timeout ]
 crbug.com/591099 editing/selection/click-outside-editable-div.html [ Failure ]
@@ -3120,6 +4863,7 @@
 crbug.com/591099 editing/selection/collapse/table-caret-3.html [ Crash ]
 crbug.com/591099 editing/selection/commit-pending-selection-crash.html [ Crash ]
 crbug.com/591099 editing/selection/contains-boundaries.html [ Failure ]
+crbug.com/591099 editing/selection/containsNode.html [ Crash Pass ]
 crbug.com/591099 editing/selection/contenteditable-click-inside.html [ Failure ]
 crbug.com/591099 editing/selection/context-menu-on-text.html [ Failure ]
 crbug.com/591099 editing/selection/context-menu-text-selection.html [ Failure ]
@@ -3127,12 +4871,12 @@
 crbug.com/591099 editing/selection/continuations-without-move-caret-to-boundary.html [ Failure ]
 crbug.com/591099 editing/selection/css-pseudo-element-hang.html [ Failure ]
 crbug.com/591099 editing/selection/css-pseudo-element.html [ Failure ]
-crbug.com/591099 editing/selection/deleteFromDocument-crash.html [ Failure ]
+crbug.com/591099 editing/selection/deleteFromDocument-crash.html [ Crash Failure ]
 crbug.com/591099 editing/selection/deleteFromDocument-scoped-dispatch-event-crash.html [ Crash ]
 crbug.com/591099 editing/selection/deletefromdocument-shadow-leak.html [ Crash ]
-crbug.com/591099 editing/selection/delete-word-granularity-text-control.html [ Failure ]
+crbug.com/591099 editing/selection/delete-word-granularity-text-control.html [ Crash Failure ]
 crbug.com/591099 editing/selection/designmode-no-caret.html [ Failure ]
-crbug.com/591099 editing/selection/directionality-after-undo-replace.html [ Failure ]
+crbug.com/591099 editing/selection/directionality-after-undo-replace.html [ Crash Failure ]
 crbug.com/591099 editing/selection/display-table-text.html [ Failure ]
 crbug.com/591099 editing/selection/DOMSelection-crossing-document.html [ Failure ]
 crbug.com/591099 editing/selection/DOMSelection-DocumentType.html [ Failure ]
@@ -3144,21 +4888,22 @@
 crbug.com/591099 editing/selection/doubleclick-inline-first-last-contenteditable.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 ]
-crbug.com/591099 editing/selection/drag-drop-restore.html [ Failure ]
+crbug.com/591099 editing/selection/doubleclick-with-split-text.html [ Crash Failure ]
+crbug.com/591099 editing/selection/drag-drop-events.html [ Crash Failure ]
+crbug.com/591099 editing/selection/drag-drop-restore.html [ Crash Failure ]
 crbug.com/591099 editing/selection/drag-in-iframe.html [ Failure ]
-crbug.com/591099 editing/selection/drag-input-text-nested-in-draggable-element.html [ Failure ]
+crbug.com/591099 editing/selection/drag-input-text-nested-in-draggable-element.html [ Crash Failure ]
 crbug.com/591099 editing/selection/drag-select-1.html [ Failure ]
-crbug.com/591099 editing/selection/drag-selection-nodes.html [ Failure ]
+crbug.com/591099 editing/selection/drag-selection-nodes.html [ Crash Failure ]
 crbug.com/591099 editing/selection/drag-select-rapidly.html [ Failure ]
 crbug.com/591099 editing/selection/drag-start-event-client-x-y.html [ Failure ]
-crbug.com/591099 editing/selection/drag-text-delay.html [ Failure ]
-crbug.com/591099 editing/selection/drag-to-contenteditable-iframe.html [ Failure ]
+crbug.com/591099 editing/selection/drag-text-delay.html [ Crash Failure ]
+crbug.com/591099 editing/selection/drag-to-contenteditable-iframe.html [ Crash Failure ]
 crbug.com/591099 editing/selection/dump-as-markup-form-text.html [ Crash ]
 crbug.com/591099 editing/selection/dump-as-markup.html [ Crash ]
 crbug.com/591099 editing/selection/editable-div-clear-on-keydown.html [ Failure ]
 crbug.com/591099 editing/selection/editable-links.html [ Failure ]
+crbug.com/591099 editing/selection/empty-cell-right-click.html [ Crash Pass ]
 crbug.com/591099 editing/selection/expanding-selections2.html [ Failure ]
 crbug.com/591099 editing/selection/expanding-selections.html [ Failure ]
 crbug.com/591099 editing/selection/extend-after-mouse-selection.html [ Failure ]
@@ -3166,6 +4911,8 @@
 crbug.com/591099 editing/selection/extend-byline-withfloat.html [ Failure ]
 crbug.com/591099 editing/selection/extend-by-sentence-001.html [ Failure ]
 crbug.com/591099 editing/selection/extend-forward-after-set-base-and-extent.html [ Failure ]
+crbug.com/591099 editing/selection/extend/go-out-of-readonly-textarea.html [ Crash Pass ]
+crbug.com/591099 editing/selection/extend.html [ Crash Pass ]
 crbug.com/591099 editing/selection/extend-inside-transforms-backward.html [ Failure ]
 crbug.com/591099 editing/selection/extend-inside-transforms-forward.html [ Failure ]
 crbug.com/591099 editing/selection/extend-over-file-input-by-drag-crash.html [ Crash ]
@@ -3176,7 +4923,7 @@
 crbug.com/591099 editing/selection/extend-selection-word.html [ Timeout ]
 crbug.com/591099 editing/selection/extend-to-line-boundary.html [ Failure ]
 crbug.com/591099 editing/selection/extend-to-trailing-spaces.html [ Failure ]
-crbug.com/591099 editing/selection/find-in-text-control.html [ Failure ]
+crbug.com/591099 editing/selection/find-in-text-control.html [ Crash Failure ]
 crbug.com/591099 editing/selection/first-letter-selection-crash.html [ Crash ]
 crbug.com/591099 editing/selection/firstRect-crash.html [ Failure ]
 crbug.com/591099 editing/selection/focus-and-display-none-and-redisplay.html [ Crash ]
@@ -3190,17 +4937,18 @@
 crbug.com/591099 editing/selection/hit-test-on-text-with-line-height.html [ Failure ]
 crbug.com/591099 editing/selection/home-end.html [ Timeout ]
 crbug.com/591099 editing/selection/iframe-select-animation.html [ Crash ]
-crbug.com/591099 editing/selection/inactive-selection.html [ Failure ]
+crbug.com/591099 editing/selection/inactive-selection.html [ Crash Failure ]
 crbug.com/591099 editing/selection/inline-closest-leaf-child.html [ Failure ]
+crbug.com/591099 editing/selection/insert-list-over-uneditable-in-contenteditable.html [ Crash Pass ]
 crbug.com/591099 editing/selection/internal-caret-rect.html [ Failure ]
 crbug.com/591099 editing/selection/keep-selection-after-set-focus.html [ Failure ]
 crbug.com/591099 editing/selection/keydown-without-selection-crash.html [ Crash ]
 crbug.com/591099 editing/selection/leave-requested-block.html [ Failure ]
-crbug.com/591099 editing/selection/legal-positions.html [ Failure ]
+crbug.com/591099 editing/selection/legal-positions.html [ Crash Failure ]
 crbug.com/591099 editing/selection/line-wrap-1.html [ Failure ]
 crbug.com/591099 editing/selection/line-wrap-2.html [ Failure ]
 crbug.com/591099 editing/selection/linux_selection_color.html [ Failure ]
-crbug.com/591099 editing/selection/mixed-editability-10.html [ Failure ]
+crbug.com/591099 editing/selection/mixed-editability-10.html [ Crash Failure ]
 crbug.com/591099 editing/selection/mixed-editability-11.html [ Failure ]
 crbug.com/591099 editing/selection/mixed-editability-12.html [ Failure ]
 crbug.com/591099 editing/selection/mixed-editability-1.html [ Failure ]
@@ -3214,6 +4962,7 @@
 crbug.com/591099 editing/selection/mixed-editability-inline-height.html [ Failure ]
 crbug.com/591099 editing/selection/modify-by-lineboundary-in-inline-editable-contexts.html [ Failure ]
 crbug.com/591099 editing/selection/modify_extend/extend_by_character.html [ Crash ]
+crbug.com/591099 editing/selection/modify_extend/extend_by_word_002.html [ Crash Pass ]
 crbug.com/591099 editing/selection/modify_extend/extend_selection_enclosing_block.html [ Crash ]
 crbug.com/591099 editing/selection/modify_move/move-by-character-001.html [ Failure ]
 crbug.com/591099 editing/selection/modify_move/move-by-character-002.html [ Crash ]
@@ -3224,7 +4973,7 @@
 crbug.com/591099 editing/selection/modify_move/move-by-word-visually-crash-test-3.html [ Crash ]
 crbug.com/591099 editing/selection/modify_move/move-by-word-visually-crash-test-css-generated-content.html [ Crash ]
 crbug.com/591099 editing/selection/modify_move/move-by-word-visually-inline-block-positioned-element.html [ Crash ]
-crbug.com/591099 editing/selection/modify_move/move-by-word-visually-multi-line.html [ Failure ]
+crbug.com/591099 editing/selection/modify_move/move-by-word-visually-multi-line.html [ Crash Failure ]
 crbug.com/591099 editing/selection/modify_move/move-by-word-visually-multi-space.html [ Failure ]
 crbug.com/591099 editing/selection/modify_move/move-by-word-visually-single-space-one-element.html [ Crash ]
 crbug.com/591099 editing/selection/modify_move/move-by-word-visually-textarea.html [ Crash ]
@@ -3242,11 +4991,12 @@
 crbug.com/591099 editing/selection/mouse/double_click_after_last_cell.html [ Failure Pass ]
 crbug.com/591099 editing/selection/mouse/drag-user-select-all-contenteditable.html [ Failure ]
 crbug.com/591099 editing/selection/mouse/drag-user-select-all-textarea.html [ Crash ]
+crbug.com/591099 editing/selection/mouse/mouse_down_to_focus.html [ Crash Pass ]
 crbug.com/591099 editing/selection/move-3875618-fix.html [ Failure ]
 crbug.com/591099 editing/selection/move-3875641-fix.html [ Failure ]
 crbug.com/591099 editing/selection/move-backwords-by-word-001.html [ Failure ]
 crbug.com/591099 editing/selection/move-between-lines-of-different-editabilities.html [ Failure ]
-crbug.com/591099 editing/selection/move-by-line-002.html [ Failure ]
+crbug.com/591099 editing/selection/move-by-line-002.html [ Crash Failure ]
 crbug.com/591099 editing/selection/move-by-line-004.html [ Failure ]
 crbug.com/591099 editing/selection/move-by-line-005.html [ Failure ]
 crbug.com/591099 editing/selection/move-by-line-006.html [ Failure ]
@@ -3262,12 +5012,13 @@
 crbug.com/591099 editing/selection/offset-from-point.html [ Failure ]
 crbug.com/591099 editing/selection/paint-hyphen.html [ Failure ]
 crbug.com/591099 editing/selection/paragraph-granularity.html [ Failure ]
-crbug.com/591099 editing/selection/paragraph-with-ruby.html [ Failure ]
+crbug.com/591099 editing/selection/paragraph-with-ruby.html [ Crash Failure ]
 crbug.com/591099 editing/selection/previous-line-position.html [ Failure ]
-crbug.com/591099 editing/selection/programmatic-selection-on-mac-is-directionless.html [ Timeout ]
+crbug.com/591099 editing/selection/programmatic-selection-on-mac-is-directionless.html [ Crash Timeout ]
 crbug.com/591099 editing/selection/range-between-block-and-inline.html [ Failure ]
 crbug.com/591099 editing/selection/rangeCount.html [ Failure ]
-crbug.com/591099 editing/selection/readonly-disabled-text-selection.html [ Failure ]
+crbug.com/591099 editing/selection/readonly-disabled-hittest.html [ Crash Pass ]
+crbug.com/591099 editing/selection/readonly-disabled-text-selection.html [ Crash Failure ]
 crbug.com/591099 editing/selection/regional-indicators.html [ Failure ]
 crbug.com/591099 editing/selection/removeAllRanges.html [ Failure ]
 crbug.com/591099 editing/selection/replaced-boundaries-1.html [ Failure ]
@@ -3275,12 +5026,13 @@
 crbug.com/591099 editing/selection/replaced-boundaries-3.html [ Failure ]
 crbug.com/591099 editing/selection/replace-selection-crash.html [ Failure ]
 crbug.com/591099 editing/selection/rtl-move-selection-right-left.html [ Failure ]
-crbug.com/591099 editing/selection/select-across-readonly-input-1.html [ Failure ]
-crbug.com/591099 editing/selection/select-across-readonly-input-2.html [ Failure ]
-crbug.com/591099 editing/selection/select-across-readonly-input-3.html [ Failure ]
-crbug.com/591099 editing/selection/select-across-readonly-input-4.html [ Failure ]
-crbug.com/591099 editing/selection/select-across-readonly-input-5.html [ Failure ]
+crbug.com/591099 editing/selection/select-across-readonly-input-1.html [ Crash Failure ]
+crbug.com/591099 editing/selection/select-across-readonly-input-2.html [ Crash Failure ]
+crbug.com/591099 editing/selection/select-across-readonly-input-3.html [ Crash Failure ]
+crbug.com/591099 editing/selection/select-across-readonly-input-4.html [ Crash Failure ]
+crbug.com/591099 editing/selection/select-across-readonly-input-5.html [ Crash Failure ]
 crbug.com/591099 editing/selection/select_all/select_all_contenteditable.html [ Failure ]
+crbug.com/591099 editing/selection/select_all/select_all_details_crash.html [ Crash Pass ]
 crbug.com/591099 editing/selection/select_all/select_all_iframe_crash.html [ Crash ]
 crbug.com/591099 editing/selection/select_all/select_all_iframe.html [ Crash ]
 crbug.com/591099 editing/selection/select_all/select_all_input.html [ Crash ]
@@ -3305,14 +5057,14 @@
 crbug.com/591099 editing/selection/selection-extend-should-not-move-across-caret-on-mac.html [ Failure ]
 crbug.com/591099 editing/selection/selection-forces-unrooted-repaint.html [ Crash ]
 crbug.com/591099 editing/selection/selection-plugin-clear-crash.html [ Crash ]
-crbug.com/591099 editing/selection/select-line-break-with-opposite-directionality.html [ Failure ]
+crbug.com/591099 editing/selection/select-line-break-with-opposite-directionality.html [ Crash Failure ]
 crbug.com/591099 editing/selection/select-line.html [ Failure ]
-crbug.com/591099 editing/selection/select-missing-image.html [ Failure ]
-crbug.com/591099 editing/selection/selectNodeContents.html [ Failure ]
-crbug.com/591099 editing/selection/selectNode.html [ Failure ]
+crbug.com/591099 editing/selection/select-missing-image.html [ Crash Failure ]
+crbug.com/591099 editing/selection/selectNodeContents.html [ Crash Failure ]
+crbug.com/591099 editing/selection/selectNode.html [ Crash Failure ]
 crbug.com/591099 editing/selection/select-out-of-floated-contenteditable.html [ Failure ]
-crbug.com/591099 editing/selection/select-out-of-floated-input.html [ Failure ]
-crbug.com/591099 editing/selection/select-out-of-floated-textarea.html [ Failure ]
+crbug.com/591099 editing/selection/select-out-of-floated-input.html [ Crash Failure ]
+crbug.com/591099 editing/selection/select-out-of-floated-textarea.html [ Crash Failure ]
 crbug.com/591099 editing/selection/selectstart_detaches_frame.html [ Crash ]
 crbug.com/591099 editing/selection/select-text-overflow-ellipsis.html [ Failure ]
 crbug.com/591099 editing/selection/select-text-overflow-ellipsis-mixed-in-ltr-2.html [ Failure ]
@@ -3320,21 +5072,22 @@
 crbug.com/591099 editing/selection/select-text-overflow-ellipsis-mixed-in-rtl-2.html [ Failure ]
 crbug.com/591099 editing/selection/select-text-overflow-ellipsis-mixed-in-rtl.html [ Failure ]
 crbug.com/591099 editing/selection/shift-click.html [ Failure ]
-crbug.com/591099 editing/selection/shrink-selection-after-shift-pagedown.html [ Failure ]
-crbug.com/591099 editing/selection/skip-non-editable-1.html [ Failure ]
-crbug.com/591099 editing/selection/skip-non-editable-2.html [ Failure ]
-crbug.com/591099 editing/selection/skip-non-editable-rtl.html [ Failure ]
+crbug.com/591099 editing/selection/shrink-selection-after-shift-pagedown.html [ Crash Failure ]
+crbug.com/591099 editing/selection/skip-non-editable-1.html [ Crash Failure ]
+crbug.com/591099 editing/selection/skip-non-editable-2.html [ Crash Failure ]
+crbug.com/591099 editing/selection/skip-non-editable-rtl.html [ Crash Failure ]
 crbug.com/591099 editing/selection/skip-not-adjacent-contenteditable.html [ Failure ]
 crbug.com/591099 editing/selection/skip-over-contenteditable.html [ Failure ]
 crbug.com/591099 editing/selection/skip-over-uneditable-in-contenteditable.html [ Failure ]
-crbug.com/591099 editing/selection/stay-in-textarea.html [ Failure ]
+crbug.com/591099 editing/selection/stay-in-textarea.html [ Crash Failure ]
 crbug.com/591099 editing/selection/table-lineboundary.html [ Failure ]
 crbug.com/591099 editing/selection/thai-word-at-document-end.html [ Failure ]
-crbug.com/591099 editing/selection/toString.html [ Failure ]
+crbug.com/591099 editing/selection/toString.html [ Crash Failure ]
 crbug.com/591099 editing/selection/transformed-selection-rects.html [ Failure ]
 crbug.com/591099 editing/selection/triple-click-in-pre.html [ Failure ]
 crbug.com/591099 editing/selection/undo-crash.html [ Crash ]
 crbug.com/591099 editing/selection/user-select-all-parsing.html [ Failure ]
+crbug.com/591099 editing/selection/user-select-none-in-editable.html [ Crash Pass ]
 crbug.com/591099 editing/selection/user-select/user-select-all.html [ Crash ]
 crbug.com/591099 editing/selection/vertical-lr-ltr-extend-line-backward-br.html [ Failure ]
 crbug.com/591099 editing/selection/vertical-lr-ltr-extend-line-forward-br.html [ Failure ]
@@ -3358,26 +5111,30 @@
 crbug.com/591099 editing/shadow/contenteditable-propagation-at-shadow-boundary.html [ Failure ]
 crbug.com/591099 editing/shadow/contenteditable-propagation-to-distributed-node.html [ Failure ]
 crbug.com/591099 editing/shadow/delete-characters-in-distributed-node-crash.html [ Failure ]
-crbug.com/591099 editing/shadow/delete-list-in-shadow.html [ Failure ]
+crbug.com/591099 editing/shadow/delete-list-in-shadow.html [ Crash Failure ]
 crbug.com/591099 editing/shadow/doubleclick-on-meter-in-shadow-crash.html [ Failure ]
 crbug.com/591099 editing/shadow/execcommand-indent-in-shadow.html [ Failure ]
-crbug.com/591099 editing/shadow/insertorderedlist-crash.html [ Failure ]
-crbug.com/591099 editing/shadow/pressing-enter-on-list.html [ Failure ]
+crbug.com/591099 editing/shadow/insertorderedlist-crash.html [ Crash Failure ]
+crbug.com/591099 editing/shadow/pressing-enter-on-list.html [ Crash Failure ]
 crbug.com/591099 editing/shadow/rightclick-on-meter-in-shadow-crash.html [ Failure ]
 crbug.com/591099 editing/shadow/select-contenteditable-shadowhost.html [ Failure ]
 crbug.com/591099 editing/shadow/selection-all-with-shadow.html [ Failure ]
 crbug.com/591099 editing/shadow/selection-of-orphan-shadowroot.html [ Failure ]
 crbug.com/591099 editing/shadow/shadow-selection-not-exported.html [ Failure ]
+crbug.com/591099 editing/spelling/cold_mode_static_page.html [ Crash Pass ]
 crbug.com/591099 editing/spelling/cold_mode_type_idle.html [ Failure ]
 crbug.com/591099 editing/spelling/context_click_on_selected_misspelling.html [ Timeout ]
-crbug.com/591099 editing/spelling/context_click_select_misspelling.html [ Failure ]
+crbug.com/591099 editing/spelling/context_click_select_misspelling.html [ Crash Failure ]
 crbug.com/591099 editing/spelling/copy-paste-crash.html [ Failure ]
 crbug.com/591099 editing/spelling/grammar-paste.html [ Failure ]
+crbug.com/591099 editing/spelling/mark-empty-crash.html [ Crash Pass ]
 crbug.com/591099 editing/spelling/marker_preservation_with_focus_change.html [ Failure ]
 crbug.com/591099 editing/spelling/mixed_paste.html [ Failure ]
 crbug.com/591099 editing/spelling/no_marker_in_blurred_input.html [ Crash ]
 crbug.com/591099 editing/spelling/spellcheck-async-mutation.html [ Failure ]
 crbug.com/591099 editing/spelling/spellcheck-async-remove-frame.html [ Crash ]
+crbug.com/591099 editing/spelling/spellcheck-attribute.html [ Crash Pass ]
+crbug.com/591099 editing/spelling/spellcheck-attribute-settings-default.html [ Crash Pass ]
 crbug.com/591099 editing/spelling/spellcheck-disable-enable.html [ Failure ]
 crbug.com/591099 editing/spelling/spellcheck-editable-on-focus.html [ Crash ]
 crbug.com/591099 editing/spelling/spellcheck-input-search-crash.html [ Failure ]
@@ -3406,13 +5163,16 @@
 crbug.com/591099 editing/style/block-style-001.html [ Failure ]
 crbug.com/591099 editing/style/block-style-002.html [ Failure ]
 crbug.com/591099 editing/style/block-style-003.html [ Failure ]
+crbug.com/591099 editing/style/block-style-004.html [ Crash Pass ]
+crbug.com/591099 editing/style/block-style-005.html [ Crash Pass ]
+crbug.com/591099 editing/style/block-style-006.html [ Crash Pass ]
 crbug.com/591099 editing/style/block-styles-007.html [ Failure ]
 crbug.com/591099 editing/style/designmode.html [ Failure ]
 crbug.com/591099 editing/style/fix-range-from-root-editable-crash.html [ Crash ]
 crbug.com/591099 editing/style/font-face-unquote.html [ Failure ]
 crbug.com/591099 editing/style/font-family-with-space.html [ Failure ]
-crbug.com/591099 editing/style/fontsize-1.html [ Failure ]
-crbug.com/591099 editing/style/heading-text-after-hr.html [ Failure ]
+crbug.com/591099 editing/style/fontsize-1.html [ Crash Failure ]
+crbug.com/591099 editing/style/heading-text-after-hr.html [ Crash Failure ]
 crbug.com/591099 editing/style/highlight.html [ Failure ]
 crbug.com/591099 editing/style/highlight-insert-paragraph.html [ Failure ]
 crbug.com/591099 editing/style/inline-style-container.html [ Failure ]
@@ -3423,33 +5183,40 @@
 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 ]
-crbug.com/591099 editing/style/push-down-implicit-styles-around-list-mac.html [ Failure ]
-crbug.com/591099 editing/style/push-down-implicit-styles-around-list-win.html [ Failure ]
+crbug.com/591099 editing/style/push-down-implicit-styles-around-list-mac.html [ Crash Failure ]
+crbug.com/591099 editing/style/push-down-implicit-styles-around-list-win.html [ Crash Failure ]
 crbug.com/591099 editing/style/push-down-implicit-styles-mac.html [ Failure ]
 crbug.com/591099 editing/style/push-down-inline-styles.html [ Failure ]
 crbug.com/591099 editing/style/query-typing-style.html [ Failure ]
+crbug.com/591099 editing/style/redundant-background-color.html [ Crash Pass ]
 crbug.com/591099 editing/style/remove-nested-inline-styles.html [ Failure ]
-crbug.com/591099 editing/style/remove-underline-across-paragraph.html [ Failure ]
-crbug.com/591099 editing/style/remove-underline-across-paragraph-in-bold.html [ Failure ]
+crbug.com/591099 editing/style/remove-underline-across-paragraph.html [ Crash Failure ]
+crbug.com/591099 editing/style/remove-underline-across-paragraph-in-bold.html [ Crash Failure ]
+crbug.com/591099 editing/style/remove-underline-after-paragraph.html [ Crash Pass ]
+crbug.com/591099 editing/style/remove-underline-after-paragraph-in-bold.html [ Crash Pass ]
+crbug.com/591099 editing/style/remove-underline.html [ Crash Pass ]
+crbug.com/591099 editing/style/remove-underline-in-bold.html [ Crash Pass ]
 crbug.com/591099 editing/style/stylewithcss-without-selection.html [ Failure ]
 crbug.com/591099 editing/style/table-selection.html [ Failure ]
 crbug.com/591099 editing/style/temporary-span-crash.html [ Failure ]
-crbug.com/591099 editing/style/textdecoration-outside-of-rooteditable.html [ Failure ]
-crbug.com/591099 editing/style/textdecoration-outside-of-unsplittable-element.html [ Failure ]
+crbug.com/591099 editing/style/textdecoration-outside-of-rooteditable.html [ Crash Failure ]
+crbug.com/591099 editing/style/textdecoration-outside-of-unsplittable-element.html [ Crash Failure ]
 crbug.com/591099 editing/style/text-decoration-state.html [ Failure ]
 crbug.com/591099 editing/style/text-indent.html [ Failure ]
 crbug.com/591099 editing/style/typing_style.html [ Crash ]
 crbug.com/591099 editing/style/unbold-in-bold.html [ Crash ]
+crbug.com/591099 editing/style/underline.html [ Crash Pass ]
 crbug.com/591099 editing/surrounding-text/surrounding-text-detached-no-crash.html [ Failure ]
 crbug.com/591099 editing/surrounding-text/surrounding-text.html [ Crash ]
-crbug.com/591099 editing/text-iterator/basic-iteration.html [ Failure ]
+crbug.com/591099 editing/text-iterator/basic-iteration.html [ Crash Failure ]
 crbug.com/591099 editing/text-iterator/basic-iteration-shadowdom.html [ Failure ]
 crbug.com/591099 editing/text-iterator/findString.html [ Timeout ]
 crbug.com/591099 editing/text-iterator/findString-shadow-roots.html [ Failure ]
 crbug.com/591099 editing/text-iterator/first-letter-word-boundary.html [ Crash ]
 crbug.com/591099 editing/text-iterator/range-to-from-location-and-length.html [ Failure ]
 crbug.com/591099 editing/text-iterator/selection-to-string-with-auto-fill.html [ Crash ]
-crbug.com/591099 editing/text-iterator/thai-cursor-movement.html [ Failure ]
+crbug.com/591099 editing/text-iterator/thai-cursor-movement.html [ Crash Failure ]
+crbug.com/591099 editing/undo/4059423-1.html [ Crash Pass ]
 crbug.com/591099 editing/undo/5658727.html [ Failure ]
 crbug.com/591099 editing/undo/5738768.html [ Failure ]
 crbug.com/591099 editing/undo/audio-in-undo-stack-crash.html [ Crash ]
@@ -3459,13 +5226,14 @@
 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-after-setting-value.html [ Crash Failure ]
 crbug.com/591099 editing/undo/undo-iframe-location-change.html [ Crash ]
+crbug.com/591099 editing/undo/undo-indent.html [ Crash Pass ]
 crbug.com/591099 editing/undo/undo-set-selection-crash.html [ Failure ]
-crbug.com/591099 editing/unsupported-content/list-delete-001.html [ Failure ]
-crbug.com/591099 editing/unsupported-content/list-delete-003.html [ Failure ]
-crbug.com/591099 editing/unsupported-content/list-type-after.html [ Failure ]
-crbug.com/591099 editing/unsupported-content/list-type-before.html [ Failure ]
+crbug.com/591099 editing/unsupported-content/list-delete-001.html [ Crash Failure ]
+crbug.com/591099 editing/unsupported-content/list-delete-003.html [ Crash Failure ]
+crbug.com/591099 editing/unsupported-content/list-type-after.html [ Crash Failure ]
+crbug.com/591099 editing/unsupported-content/list-type-before.html [ Crash Failure ]
 crbug.com/591099 editing/unsupported-content/table-delete-001.html [ Failure ]
 crbug.com/591099 editing/unsupported-content/table-delete-002.html [ Failure ]
 crbug.com/591099 editing/unsupported-content/table-delete-003.html [ Failure ]
@@ -3494,6 +5262,8 @@
 crbug.com/591099 external/wpt/content-security-policy/embedded-enforcement/subsumption_algorithm-unsafe_hashed_attributes.html [ Crash ]
 crbug.com/591099 external/wpt/content-security-policy/embedded-enforcement/subsumption_algorithm-unsafe_inline.html [ Crash ]
 crbug.com/591099 external/wpt/content-security-policy/frame-ancestors/frame-ancestors-overrides-xfo.html [ Crash ]
+crbug.com/591099 external/wpt/content-security-policy/frame-src/frame-src-redirect.html [ Crash ]
+crbug.com/591099 external/wpt/content-security-policy/generic/generic-0_1-img-src.html [ Crash Pass ]
 crbug.com/591099 external/wpt/content-security-policy/generic/no-default-src.sub.html [ Crash ]
 crbug.com/591099 external/wpt/content-security-policy/img-src/img-src-full-host-wildcard-blocked.sub.html [ Crash ]
 crbug.com/591099 external/wpt/content-security-policy/img-src/img-src-host-partial-wildcard-allowed.sub.html [ Crash ]
@@ -3510,6 +5280,8 @@
 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 ]
+crbug.com/591099 external/wpt/content-security-policy/securitypolicyviolation/securitypolicyviolation-block-cross-origin-image-from-script.sub.html [ Crash Pass ]
+crbug.com/591099 external/wpt/content-security-policy/securitypolicyviolation/securitypolicyviolation-block-image-from-script.sub.html [ Crash Pass ]
 crbug.com/591099 external/wpt/content-security-policy/securitypolicyviolation/upgrade-insecure-requests-reporting.https.html [ Crash ]
 crbug.com/591099 external/wpt/content-security-policy/svg/object-in-svg-foreignobject.sub.html [ Crash ]
 crbug.com/591099 external/wpt/content-security-policy/svg/svg-from-guid.html [ Crash ]
@@ -3522,11 +5294,11 @@
 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-001.xht [ Failure Pass ]
 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 Pass ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/clear-004.xht [ Failure Pass ]
-crbug.com/591099 external/wpt/css/CSS2/floats-clear/clear-005.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/floats-clear/clear-005.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/clearance-006.xht [ Crash Pass ]
 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 ]
@@ -3535,8 +5307,8 @@
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/clear-applies-to-005.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/clear-applies-to-006.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/clear-applies-to-007.xht [ Failure ]
-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-009.xht [ Failure Pass ]
+crbug.com/591099 external/wpt/css/CSS2/floats-clear/clear-applies-to-013.xht [ Failure Pass ]
 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 Pass ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/clear-clearance-calculation-002.xht [ Failure Pass ]
@@ -3575,7 +5347,7 @@
 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 Pass ]
-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-006.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/float-replaced-height-007.xht [ Failure Pass ]
 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 ]
@@ -3587,12 +5359,12 @@
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/float-replaced-width-008.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/float-replaced-width-009.xht [ Failure ]
 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-001.xht [ Failure Pass ]
 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 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-008.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/floats-015.xht [ Crash Pass ]
 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 ]
@@ -3627,6 +5399,7 @@
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/floats-145.xht [ Failure ]
 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 Pass ]
+crbug.com/591099 external/wpt/css/CSS2/floats-clear/floats-154.xht [ Crash Pass ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/floats-bfc-001.xht [ Failure Pass ]
 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 ]
@@ -3650,14 +5423,14 @@
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/margin-collapse-clear-013.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/margin-collapse-clear-014.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats-clear/margin-collapse-clear-015.xht [ Failure ]
-crbug.com/591099 external/wpt/css/CSS2/floats/floats-placement-vertical-003.xht [ Crash Pass ]
+crbug.com/591099 external/wpt/css/CSS2/floats/floats-placement-vertical-003.xht [ Crash Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/floats/floats-wrap-bfc-001-left-overflow.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats/floats-wrap-bfc-001-left-table.xht [ Failure Pass ]
-crbug.com/591099 external/wpt/css/CSS2/floats/floats-wrap-bfc-001-right-overflow.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/floats/floats-wrap-bfc-001-right-overflow.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/floats/floats-wrap-bfc-001-right-table.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/floats/floats-wrap-bfc-002-left-overflow.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats/floats-wrap-bfc-002-left-table.xht [ Failure Pass ]
-crbug.com/591099 external/wpt/css/CSS2/floats/floats-wrap-bfc-002-right-overflow.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/floats/floats-wrap-bfc-002-right-overflow.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/floats/floats-wrap-bfc-002-right-table.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/floats/floats-wrap-bfc-003-left-overflow.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/floats/floats-wrap-bfc-003-left-table.xht [ Failure Pass ]
@@ -3677,7 +5450,7 @@
 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 ]
+crbug.com/591099 external/wpt/css/CSS2/floats/floats-wrap-top-below-inline-003r.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/linebox/border-padding-bleed-001.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/linebox/border-padding-bleed-002.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/linebox/border-padding-bleed-003.xht [ Failure ]
@@ -3695,12 +5468,15 @@
 crbug.com/591099 external/wpt/css/CSS2/linebox/line-height-002.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/linebox/line-height-004.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/linebox/line-height-005.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/linebox/line-height-006.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/linebox/line-height-013.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/linebox/line-height-015.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/linebox/line-height-016.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/linebox/line-height-024.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/linebox/line-height-025.xht [ Crash ]
 crbug.com/591099 external/wpt/css/CSS2/linebox/line-height-026.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/linebox/line-height-027.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/linebox/line-height-029.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/linebox/line-height-035.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/linebox/line-height-037.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/linebox/line-height-038.xht [ Failure ]
@@ -3724,6 +5500,7 @@
 crbug.com/591099 external/wpt/css/CSS2/linebox/line-height-104.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/linebox/line-height-106.xht [ Crash Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/linebox/line-height-125.xht [ Crash Failure ]
+crbug.com/591099 external/wpt/css/CSS2/linebox/line-height-127.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/linebox/line-height-128.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/linebox/line-height-129.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/linebox/line-height-applies-to-001.xht [ Failure Pass ]
@@ -3752,6 +5529,7 @@
 crbug.com/591099 external/wpt/css/CSS2/linebox/vertical-align-baseline-005a.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/block-formatting-context-height-001.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/block-formatting-context-height-002.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/normal-flow/block-formatting-contexts-007.xht [ Crash Pass ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/block-formatting-contexts-008.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/block-formatting-contexts-009.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/block-formatting-contexts-010.xht [ Failure ]
@@ -3760,11 +5538,12 @@
 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-empty-003.xht [ Crash Pass ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/block-in-inline-insert-001b.xht [ Failure Pass ]
+crbug.com/591099 external/wpt/css/CSS2/normal-flow/block-in-inline-insert-001i.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/block-in-inline-insert-002i.xht [ Failure Pass ]
-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 [ 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-margins-001a.xht [ Failure Pass ]
+crbug.com/591099 external/wpt/css/CSS2/normal-flow/block-in-inline-margins-001b.xht [ Crash Failure Pass ]
+crbug.com/591099 external/wpt/css/CSS2/normal-flow/block-in-inline-margins-002a.xht [ Failure Pass ]
+crbug.com/591099 external/wpt/css/CSS2/normal-flow/block-in-inline-margins-002b.xht [ Failure Pass ]
 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 Pass ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/block-non-replaced-height-001.xht [ Failure ]
@@ -3775,12 +5554,13 @@
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/block-replaced-height-002.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/block-replaced-height-004.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/block-replaced-height-005.xht [ Failure Pass ]
-crbug.com/591099 external/wpt/css/CSS2/normal-flow/block-replaced-height-006.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/normal-flow/block-replaced-height-006.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/block-replaced-height-007.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/block-replaced-width-002.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/block-replaced-width-006.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/blocks-012.xht [ Crash Pass ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/blocks-013.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/normal-flow/blocks-014.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/blocks-016.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/blocks-018.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/blocks-019.xht [ Failure ]
@@ -3831,17 +5611,17 @@
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/height-113.xht [ Failure Pass ]
 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-004.xht [ Failure Pass ]
-crbug.com/591099 external/wpt/css/CSS2/normal-flow/height-applies-to-012.xht [ Crash Pass ]
+crbug.com/591099 external/wpt/css/CSS2/normal-flow/height-applies-to-012.xht [ Crash Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/height-applies-to-013.xht [ Crash Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/height-applies-to-014.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/height-applies-to-016.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/height-percentage-003.xht [ Crash Pass ]
-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-004.xht [ Failure Pass ]
 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 [ Crash Failure Pass ]
 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 Pass ]
-crbug.com/591099 external/wpt/css/CSS2/normal-flow/inline-block-replaced-height-006.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/normal-flow/inline-block-replaced-height-006.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/inline-block-replaced-height-009.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/inline-block-replaced-width-001.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/inline-block-replaced-width-002.xht [ Failure ]
@@ -3858,7 +5638,7 @@
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/inline-non-replaced-width-001.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/inline-non-replaced-width-002.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/inline-replaced-height-001.xht [ Failure Pass ]
-crbug.com/591099 external/wpt/css/CSS2/normal-flow/inline-replaced-height-006.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/normal-flow/inline-replaced-height-006.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/inline-replaced-height-007.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/inline-replaced-height-009.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/inline-replaced-width-001.xht [ Failure ]
@@ -3867,10 +5647,10 @@
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/inline-replaced-width-006.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/inline-replaced-width-008.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/inline-replaced-width-009.xht [ Failure Pass ]
-crbug.com/591099 external/wpt/css/CSS2/normal-flow/inline-replaced-width-011.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/normal-flow/inline-replaced-width-011.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/inline-replaced-width-012.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/inline-replaced-width-013.xht [ Failure ]
-crbug.com/591099 external/wpt/css/CSS2/normal-flow/inline-replaced-width-014.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/normal-flow/inline-replaced-width-014.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/inline-replaced-width-015.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/inlines-013.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/inlines-020.xht [ Failure ]
@@ -3890,6 +5670,7 @@
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-height-013.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-height-015.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-height-016.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-height-018.xht [ Crash Pass ]
 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 ]
@@ -3941,6 +5722,7 @@
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-width-050.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-width-051.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-width-057.xht [ Crash Failure Pass ]
+crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-width-060.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-width-061.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-width-062.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/max-width-067.xht [ Failure Pass ]
@@ -3974,6 +5756,7 @@
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/min-height-035.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/min-height-037.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/min-height-038.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/normal-flow/min-height-039.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/min-height-045.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/min-height-046.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/min-height-047.xht [ Failure Pass ]
@@ -3999,7 +5782,7 @@
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/min-height-091.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/min-height-092.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/min-height-093.xht [ Failure ]
-crbug.com/591099 external/wpt/css/CSS2/normal-flow/min-height-100.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/normal-flow/min-height-100.xht [ Crash Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/min-height-101.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/min-height-102.xht [ Crash Failure ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/min-height-103.xht [ Failure Pass ]
@@ -4017,6 +5800,7 @@
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/min-width-040.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/min-width-050.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/min-width-051.xht [ Failure Pass ]
+crbug.com/591099 external/wpt/css/CSS2/normal-flow/min-width-058.xht [ Crash ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/min-width-061.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/min-width-062.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/normal-flow/min-width-069.xht [ Failure Pass ]
@@ -4107,12 +5891,12 @@
 crbug.com/591099 external/wpt/css/CSS2/positioning/absolute-non-replaced-width-025.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/absolute-non-replaced-width-026.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/absolute-replaced-height-001.xht [ Failure ]
-crbug.com/591099 external/wpt/css/CSS2/positioning/absolute-replaced-height-002.xht [ Failure ]
-crbug.com/591099 external/wpt/css/CSS2/positioning/absolute-replaced-height-003.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/positioning/absolute-replaced-height-002.xht [ Failure Pass ]
+crbug.com/591099 external/wpt/css/CSS2/positioning/absolute-replaced-height-003.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/absolute-replaced-height-004.xht [ Failure ]
 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-006.xht [ Failure Pass ]
+crbug.com/591099 external/wpt/css/CSS2/positioning/absolute-replaced-height-007.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/absolute-replaced-height-008.xht [ Failure Pass ]
 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 ]
@@ -4126,9 +5910,9 @@
 crbug.com/591099 external/wpt/css/CSS2/positioning/absolute-replaced-height-033.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/absolute-replaced-height-036.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/absolute-replaced-width-002.xht [ Failure Pass ]
-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-003a.xht [ Failure Pass ]
+crbug.com/591099 external/wpt/css/CSS2/positioning/absolute-replaced-width-003b.xht [ Failure Pass ]
+crbug.com/591099 external/wpt/css/CSS2/positioning/absolute-replaced-width-003c.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/absolute-replaced-width-003.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/absolute-replaced-width-006.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/absolute-replaced-width-009.xht [ Crash Pass ]
@@ -4149,24 +5933,26 @@
 crbug.com/591099 external/wpt/css/CSS2/positioning/abspos-001.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/abspos-007.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/abspos-008.xht [ Failure ]
-crbug.com/591099 external/wpt/css/CSS2/positioning/abspos-017.xht [ Failure ]
-crbug.com/591099 external/wpt/css/CSS2/positioning/abspos-018.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/positioning/abspos-017.xht [ Failure Pass ]
+crbug.com/591099 external/wpt/css/CSS2/positioning/abspos-018.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/abspos-019.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/abspos-020.xht [ Failure ]
-crbug.com/591099 external/wpt/css/CSS2/positioning/abspos-022.xht [ Crash Failure ]
+crbug.com/591099 external/wpt/css/CSS2/positioning/abspos-022.xht [ Crash Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/abspos-024.xht [ Failure ]
-crbug.com/591099 external/wpt/css/CSS2/positioning/abspos-028.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/positioning/abspos-028.xht [ Failure Pass ]
 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 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-containing-block-007.xht [ Crash Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/abspos-overflow-002.xht [ Failure Pass ]
+crbug.com/591099 external/wpt/css/CSS2/positioning/abspos-overflow-010.xht [ Crash Pass ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/abspos-width-003.xht [ Crash Pass ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/abspos-width-005.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/bottom-018.xht [ Crash Pass ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/bottom-029.xht [ Failure Pass ]
 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 Pass ]
+crbug.com/591099 external/wpt/css/CSS2/positioning/bottom-079.xht [ Crash ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/bottom-100.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/bottom-102.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/bottom-112.xht [ Crash Pass ]
@@ -4186,20 +5972,21 @@
 crbug.com/591099 external/wpt/css/CSS2/positioning/left-102.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/left-110.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/left-applies-to-001.xht [ Crash Pass ]
-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-009.xht [ Failure Pass ]
+crbug.com/591099 external/wpt/css/CSS2/positioning/left-applies-to-012.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/left-applies-to-013.xht [ Failure Pass ]
-crbug.com/591099 external/wpt/css/CSS2/positioning/left-offset-001.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/positioning/left-offset-001.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/left-offset-002.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/left-offset-003.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/left-offset-percentage-001.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/position-006.xht [ Failure Pass ]
-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-001.xht [ Failure Pass ]
+crbug.com/591099 external/wpt/css/CSS2/positioning/position-absolute-002.xht [ Failure Pass ]
+crbug.com/591099 external/wpt/css/CSS2/positioning/position-absolute-004.xht [ Failure Pass ]
+crbug.com/591099 external/wpt/css/CSS2/positioning/position-absolute-006.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/position-absolute-007.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/position-absolute-008.xht [ Failure Pass ]
-crbug.com/591099 external/wpt/css/CSS2/positioning/position-fixed-001.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/positioning/position-fixed-001.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/position-fixed-007.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/positioning-float-002.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/position-relative-001.xht [ Failure ]
@@ -4218,6 +6005,7 @@
 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-001.xht [ Failure Pass ]
 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 [ Crash Failure ]
@@ -4286,32 +6074,33 @@
 crbug.com/591099 external/wpt/css/CSS2/positioning/right-applies-to-015.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/right-offset-001.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/right-offset-002.xht [ Failure Pass ]
-crbug.com/591099 external/wpt/css/CSS2/positioning/right-offset-003.xht [ Failure ]
+crbug.com/591099 external/wpt/css/CSS2/positioning/right-offset-003.xht [ Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/right-offset-percentage-001.xht [ Failure ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/top-007.xht [ Crash Pass ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/top-008.xht [ Crash Pass ]
-crbug.com/591099 external/wpt/css/CSS2/positioning/top-019.xht [ Crash Pass ]
-crbug.com/591099 external/wpt/css/CSS2/positioning/top-020.xht [ Crash Pass ]
+crbug.com/591099 external/wpt/css/CSS2/positioning/top-019.xht [ Crash Failure Pass ]
+crbug.com/591099 external/wpt/css/CSS2/positioning/top-020.xht [ Crash Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/top-029.xht [ Failure Pass ]
 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 Pass ]
-crbug.com/591099 external/wpt/css/CSS2/positioning/top-044.xht [ Crash Pass ]
+crbug.com/591099 external/wpt/css/CSS2/positioning/top-041.xht [ Failure Pass ]
+crbug.com/591099 external/wpt/css/CSS2/positioning/top-043.xht [ Crash Failure Pass ]
+crbug.com/591099 external/wpt/css/CSS2/positioning/top-044.xht [ Crash Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/top-052.xht [ Crash Pass ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/top-053.xht [ Crash Pass ]
-crbug.com/591099 external/wpt/css/CSS2/positioning/top-055.xht [ Crash Pass ]
-crbug.com/591099 external/wpt/css/CSS2/positioning/top-056.xht [ Crash Pass ]
-crbug.com/591099 external/wpt/css/CSS2/positioning/top-067.xht [ Crash Pass ]
-crbug.com/591099 external/wpt/css/CSS2/positioning/top-068.xht [ Crash Pass ]
-crbug.com/591099 external/wpt/css/CSS2/positioning/top-079.xht [ Crash Pass ]
-crbug.com/591099 external/wpt/css/CSS2/positioning/top-080.xht [ Crash Pass ]
+crbug.com/591099 external/wpt/css/CSS2/positioning/top-055.xht [ Crash Failure Pass ]
+crbug.com/591099 external/wpt/css/CSS2/positioning/top-056.xht [ Crash Failure Pass ]
+crbug.com/591099 external/wpt/css/CSS2/positioning/top-067.xht [ Crash Failure Pass ]
+crbug.com/591099 external/wpt/css/CSS2/positioning/top-068.xht [ Crash Failure Pass ]
+crbug.com/591099 external/wpt/css/CSS2/positioning/top-079.xht [ Crash Failure Pass ]
+crbug.com/591099 external/wpt/css/CSS2/positioning/top-080.xht [ Crash Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/top-088.xht [ Failure Pass ]
-crbug.com/591099 external/wpt/css/CSS2/positioning/top-091.xht [ Crash Pass ]
-crbug.com/591099 external/wpt/css/CSS2/positioning/top-092.xht [ Crash Pass ]
-crbug.com/591099 external/wpt/css/CSS2/positioning/top-103.xht [ Crash Pass ]
-crbug.com/591099 external/wpt/css/CSS2/positioning/top-104.xht [ Crash Pass ]
+crbug.com/591099 external/wpt/css/CSS2/positioning/top-091.xht [ Crash Failure Pass ]
+crbug.com/591099 external/wpt/css/CSS2/positioning/top-092.xht [ Crash Failure Pass ]
+crbug.com/591099 external/wpt/css/CSS2/positioning/top-103.xht [ Crash Failure Pass ]
+crbug.com/591099 external/wpt/css/CSS2/positioning/top-104.xht [ Crash Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/top-111.xht [ Failure Pass ]
-crbug.com/591099 external/wpt/css/CSS2/positioning/top-113.xht [ Crash Pass ]
+crbug.com/591099 external/wpt/css/CSS2/positioning/top-113.xht [ Crash Failure Pass ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/top-applies-to-009.xht [ Crash Pass ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/top-applies-to-012.xht [ Crash Pass ]
 crbug.com/591099 external/wpt/css/CSS2/positioning/top-applies-to-015.xht [ Failure Pass ]
@@ -4327,6 +6116,7 @@
 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 Pass ]
 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-contents-replaced-001.html [ Crash Pass ]
 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 Pass ]
 crbug.com/591099 external/wpt/css/css-flexbox-1/align-self-004.html [ Failure Pass ]
@@ -4372,6 +6162,7 @@
 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 Failure Pass ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_display.html [ Crash Pass ]
 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 ]
@@ -4437,11 +6228,11 @@
 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-direction-column.htm [ Failure Pass ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox-flex-direction-column-reverse.htm [ Failure Pass ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox-flex-direction-default.htm [ Failure Pass ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox-flex-direction-row.htm [ Failure Pass ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox-flex-direction-row-reverse.htm [ Failure Pass ]
 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 ]
@@ -4475,8 +6266,8 @@
 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 Pass ]
-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-flex-wrap-wrap.htm [ Failure Pass ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox-flex-wrap-wrap-reverse.htm [ Failure Pass ]
 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 [ Crash Failure ]
@@ -4515,7 +6306,7 @@
 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 Pass ]
 crbug.com/591099 external/wpt/css/css-flexbox-1/flexbox_stf-table-singleline.html [ Failure Pass ]
-crbug.com/591099 external/wpt/css/css-flexbox-1/flex-box-wrap.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flex-box-wrap.html [ Crash 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 ]
@@ -4533,9 +6324,10 @@
 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-height-flex-items-001.xht [ Crash Pass ]
 crbug.com/591099 external/wpt/css/css-flexbox-1/flex-minimum-width-flex-items-002.xht [ Failure Pass ]
-crbug.com/591099 external/wpt/css/css-flexbox-1/flex-vertical-align-effect.html [ Failure ]
-crbug.com/591099 external/wpt/css/css-flexbox-1/layout-algorithm_algo-cross-line-001.html [ Failure ]
-crbug.com/591099 external/wpt/css/css-flexbox-1/layout-algorithm_algo-cross-line-002.html [ Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/flex-vertical-align-effect.html [ Crash Failure ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/justify-content-001.htm [ Failure Pass ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/layout-algorithm_algo-cross-line-001.html [ Failure Pass ]
+crbug.com/591099 external/wpt/css/css-flexbox-1/layout-algorithm_algo-cross-line-002.html [ Failure Pass ]
 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 ]
@@ -4552,6 +6344,7 @@
 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/alignment/grid-content-distribution-001.html [ Failure Pass ]
+crbug.com/591099 external/wpt/css/css-grid-1/alignment/grid-content-distribution-011.html [ Failure Pass ]
 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 ]
@@ -4575,7 +6368,7 @@
 crbug.com/591099 external/wpt/css/css-grid-1/grid-items/grid-minimum-size-grid-items-011.html [ Failure Pass ]
 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 Pass ]
-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-001.xht [ Crash 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 ]
@@ -4599,7 +6392,7 @@
 crbug.com/591099 external/wpt/css/css-grid-1/grid-model/grid-margins-no-collapse-001.xht [ Failure Pass ]
 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 Pass ]
+crbug.com/591099 external/wpt/css/css-grid-1/implicit-grids/grid-support-grid-auto-columns-rows-001.html [ Crash Failure Pass ]
 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 ]
@@ -4610,9 +6403,11 @@
 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-ruby-001.html [ Crash 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-rhythm-1/line-height-step-writing-mode-vrl-ruby-001.html [ Crash Pass ]
+crbug.com/591099 external/wpt/css/css-transforms-2/transform3d-preserve3d-005.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 ]
@@ -4627,12 +6422,13 @@
 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-001.html [ Crash Pass ]
 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-002.html [ Failure ]
 crbug.com/591099 external/wpt/css/css-ui-3/text-overflow-003.html [ Failure ]
 crbug.com/591099 external/wpt/css/css-ui-3/text-overflow-004.html [ Failure ]
-crbug.com/591099 external/wpt/cssom-view/elementFromPoint-001.html [ Failure ]
+crbug.com/591099 external/wpt/cssom-view/elementFromPoint-001.html [ Failure Pass ]
 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 ]
@@ -4642,12 +6438,14 @@
 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 ]
+crbug.com/591099 external/wpt/css/selectors4/focus-display-none-001.html [ Crash ]
 crbug.com/591099 external/wpt/css/selectors4/focus-within-002.html [ Failure ]
 crbug.com/591099 external/wpt/css/selectors4/focus-within-003.html [ Failure ]
 crbug.com/591099 external/wpt/css/selectors4/focus-within-004.html [ Failure ]
 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-006.html [ Crash Failure ]
 crbug.com/591099 external/wpt/css/selectors4/focus-within-009.html [ Crash ]
+crbug.com/591099 external/wpt/css/selectors4/focus-within-display-none-001.html [ Crash ]
 crbug.com/591099 external/wpt/css/selectors4/focus-within-shadow-001.html [ Failure Pass ]
 crbug.com/591099 external/wpt/css/selectors4/focus-within-shadow-006.html [ Failure Pass ]
 crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-abspos-child-001a.html [ Failure Pass ]
@@ -4661,10 +6459,10 @@
 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 ]
-crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-baseline-align-self-baseline-horiz-001.html [ Failure ]
-crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-baseline-multi-item-horiz-001a.html [ Failure ]
-crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-baseline-multi-item-horiz-001b.html [ Failure ]
-crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-baseline-multi-line-horiz-001.html [ Failure ]
+crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-baseline-align-self-baseline-horiz-001.html [ Failure Pass ]
+crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-baseline-multi-item-horiz-001a.html [ Failure Pass ]
+crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-baseline-multi-item-horiz-001b.html [ Failure Pass ]
+crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-baseline-multi-line-horiz-001.html [ Failure Pass ]
 crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-baseline-multi-line-horiz-002.html [ Failure ]
 crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-baseline-multi-line-horiz-003.html [ Failure ]
 crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-baseline-multi-line-horiz-004.html [ Failure ]
@@ -4683,13 +6481,14 @@
 crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-items-as-stacking-contexts-003.html [ Failure ]
 crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-margin-auto-horiz-001.xhtml [ Failure ]
 crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-margin-auto-horiz-002.xhtml [ Failure ]
+crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-mbp-horiz-001-rtl-reverse.xhtml [ Crash Pass ]
 crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-mbp-horiz-002a.xhtml [ Failure ]
 crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-mbp-horiz-002b.xhtml [ Failure ]
 crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-mbp-horiz-003-reverse.xhtml [ Failure ]
 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 Pass ]
 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-min-width-auto-004.html [ Failure ]
+crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-min-width-auto-004.html [ Failure Pass ]
 crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-overflow-horiz-003.html [ Failure Pass ]
 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 ]
@@ -4700,6 +6499,7 @@
 crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-sizing-vert-002.xhtml [ Crash Failure Pass ]
 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-whitespace-handling-002.xhtml [ Failure Pass ]
 crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-writing-mode-002.html [ Failure Pass ]
 crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-writing-mode-008.html [ Failure Pass ]
 crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/selectors4/focus-within-1.html [ Failure Pass ]
@@ -4714,15 +6514,19 @@
 crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/variables/variable-declaration-33.html [ Failure Pass ]
 crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/variables/variable-declaration-36.html [ Failure Pass ]
 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-52.html [ Failure Pass ]
 crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/variables/variable-declaration-55.html [ Failure Pass ]
 crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/variables/variable-declaration-58.html [ Failure Pass ]
 crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/variables/variable-external-supports-01.html [ Failure Pass ]
+crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/variables/variable-reference-02.html [ Failure ]
 crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/variables/variable-reference-03.html [ Failure Pass ]
 crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/variables/variable-reference-07.html [ Failure Pass ]
 crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/variables/variable-reference-24.html [ Failure Pass ]
+crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/variables/variable-reference-26.html [ Crash Pass ]
 crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/variables/variable-reference-28.html [ Crash Pass ]
 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-reference-39.html [ Failure Pass ]
 crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/variables/variable-supports-03.html [ Failure Pass ]
 crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/variables/variable-supports-06.html [ Crash Pass ]
 crbug.com/591099 external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/variables/variable-supports-09.html [ Crash Pass ]
@@ -4765,22 +6569,26 @@
 crbug.com/591099 external/wpt/dom/nodes/Element-children.html [ Crash ]
 crbug.com/591099 external/wpt/dom/nodes/Element-getElementsByTagName-change-document-HTMLNess.html [ Crash ]
 crbug.com/591099 external/wpt/dom/nodes/Element-hasAttributes.html [ Crash ]
+crbug.com/591099 external/wpt/dom/nodes/Element-matches.html [ Crash Pass ]
+crbug.com/591099 external/wpt/dom/nodes/Element-webkitMatchesSelector.html [ Crash Failure Pass ]
 crbug.com/591099 external/wpt/dom/nodes/getElementsByClassName-30.htm [ Crash ]
 crbug.com/591099 external/wpt/dom/nodes/Node-contains-xml.xml [ Crash ]
 crbug.com/591099 external/wpt/dom/nodes/Node-parentNode.html [ Crash ]
+crbug.com/591099 external/wpt/dom/nodes/ParentNode-querySelector-All.html [ Crash Pass ]
+crbug.com/591099 external/wpt/dom/nodes/ParentNode-querySelector-All-xht.xht [ Crash Pass ]
 crbug.com/591099 external/wpt/dom/ranges/Range-compareBoundaryPoints.html [ Timeout ]
 crbug.com/591099 external/wpt/dom/ranges/Range-set.html [ Timeout ]
 crbug.com/591099 external/wpt/editing/event.html [ Crash ]
 crbug.com/591099 external/wpt/editing/other/restoration.html [ Crash ]
-crbug.com/591099 external/wpt/editing/run/formatblock.html [ Failure ]
+crbug.com/591099 external/wpt/editing/run/formatblock.html [ Crash Failure ]
 crbug.com/591099 external/wpt/editing/run/forwarddelete.html [ Crash ]
 crbug.com/591099 external/wpt/editing/run/indent.html [ Crash ]
 crbug.com/591099 external/wpt/editing/run/inserthorizontalrule.html [ Crash ]
-crbug.com/591099 external/wpt/editing/run/inserthtml.html [ Failure ]
+crbug.com/591099 external/wpt/editing/run/inserthtml.html [ Crash Failure ]
 crbug.com/591099 external/wpt/editing/run/insertimage.html [ Crash ]
-crbug.com/591099 external/wpt/editing/run/insertlinebreak.html [ Failure ]
+crbug.com/591099 external/wpt/editing/run/insertlinebreak.html [ Crash Failure ]
 crbug.com/591099 external/wpt/editing/run/insertorderedlist.html [ Crash ]
-crbug.com/591099 external/wpt/editing/run/insertparagraph.html [ Failure ]
+crbug.com/591099 external/wpt/editing/run/insertparagraph.html [ Crash Failure ]
 crbug.com/591099 external/wpt/editing/run/inserttext.html [ Failure ]
 crbug.com/591099 external/wpt/editing/run/insertunorderedlist.html [ Crash ]
 crbug.com/591099 external/wpt/editing/run/multitest.html [ Crash ]
@@ -4819,6 +6627,12 @@
 crbug.com/591099 external/wpt/html/browsers/origin/relaxing-the-same-origin-restriction/document_domain_setter.html [ Crash ]
 crbug.com/591099 external/wpt/html/browsers/the-window-object/garbage-collection-and-browsing-contexts/discard_iframe_history_3.html [ Crash ]
 crbug.com/591099 external/wpt/html/browsers/the-window-object/garbage-collection-and-browsing-contexts/discard_iframe_history_4.html [ Crash ]
+crbug.com/591099 external/wpt/html/browsers/the-window-object/the-windowproxy-object/test-window-proxy-locationbar-manual.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/browsers/the-window-object/the-windowproxy-object/test-window-proxy-menubar-manual.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/browsers/the-window-object/the-windowproxy-object/test-window-proxy-personalbar-manual.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/browsers/the-window-object/the-windowproxy-object/test-window-proxy-scrollbars-manual.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/browsers/the-window-object/the-windowproxy-object/test-window-proxy-statusbar-manual.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/browsers/the-window-object/the-windowproxy-object/test-window-proxy-toolbar-manual.html [ Crash Pass ]
 crbug.com/591099 external/wpt/html/browsers/the-windowproxy-exotic-object/windowproxy-prototype-setting-cross-origin-domain.sub.html [ Crash ]
 crbug.com/591099 external/wpt/html/browsers/the-windowproxy-exotic-object/windowproxy-prototype-setting-cross-origin.sub.html [ Crash ]
 crbug.com/591099 external/wpt/html/browsers/the-windowproxy-exotic-object/windowproxy-prototype-setting-goes-cross-origin-domain.sub.html [ Crash ]
@@ -4852,21 +6666,44 @@
 crbug.com/591099 external/wpt/html/dom/dynamic-markup-insertion/document-write/iframe_009.html [ Crash ]
 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/classlist-nonstring.html [ Crash Pass ]
 crbug.com/591099 external/wpt/html/dom/elements/global-attributes/dir_auto-contained-bdi-L.html [ Crash Pass ]
 crbug.com/591099 external/wpt/html/dom/elements/global-attributes/dir_auto-contained-dir_auto-L.html [ Failure Pass ]
-crbug.com/591099 external/wpt/html/dom/elements/global-attributes/dir_auto-input-script-N-R.html [ Failure Pass ]
+crbug.com/591099 external/wpt/html/dom/elements/global-attributes/dir_auto-contained-textarea-L.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/dom/elements/global-attributes/dir_auto-contained-textarea-R.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/dom/elements/global-attributes/dir_auto-input-EN-L.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/dom/elements/global-attributes/dir_auto-input-EN-R.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/dom/elements/global-attributes/dir_auto-input-L.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/dom/elements/global-attributes/dir_auto-input-N-EN.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/dom/elements/global-attributes/dir_auto-input-N-EN-L.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/dom/elements/global-attributes/dir_auto-input-N-EN-R.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/dom/elements/global-attributes/dir_auto-input-N-L.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/dom/elements/global-attributes/dir_auto-input-N-R.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/dom/elements/global-attributes/dir_auto-input-R.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/dom/elements/global-attributes/dir_auto-input-script-EN-L.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/dom/elements/global-attributes/dir_auto-input-script-EN-R.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/dom/elements/global-attributes/dir_auto-input-script-L.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/dom/elements/global-attributes/dir_auto-input-script-N-EN.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/dom/elements/global-attributes/dir_auto-input-script-N-EN-L.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/dom/elements/global-attributes/dir_auto-input-script-N-EN-R.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/dom/elements/global-attributes/dir_auto-input-script-N-L.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/dom/elements/global-attributes/dir_auto-input-script-N-R.html [ Crash Failure Pass ]
+crbug.com/591099 external/wpt/html/dom/elements/global-attributes/dir_auto-input-script-R.html [ Crash Pass ]
 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 Pass ]
-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/dir_auto-textarea-mixed.html [ Crash Failure ]
+crbug.com/591099 external/wpt/html/dom/elements/global-attributes/dir_auto-textarea-N-between-Rs.html [ Crash Failure ]
+crbug.com/591099 external/wpt/html/dom/elements/global-attributes/dir_auto-textarea-N-EN.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/dom/elements/global-attributes/dir_auto-textarea-script-mixed.html [ Crash Failure ]
+crbug.com/591099 external/wpt/html/dom/elements/global-attributes/dir_auto-textarea-script-N-between-Rs.html [ Crash Failure ]
+crbug.com/591099 external/wpt/html/dom/elements/global-attributes/dir_auto-textarea-script-N-EN.html [ Crash Failure ]
 crbug.com/591099 external/wpt/html/dom/elements/global-attributes/style-01.html [ Failure Pass ]
+crbug.com/591099 external/wpt/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-001c.html [ Failure ]
 crbug.com/591099 external/wpt/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters/dir-isolation-006b.html [ Failure Pass ]
 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 Pass ]
+crbug.com/591099 external/wpt/html/editing/editing-0/spelling-and-grammar-checking/user-interaction-editing-spellcheck.html [ Crash Pass ]
 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 ]
@@ -4883,15 +6720,38 @@
 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-media-capture/capture_audio_cancel-manual.html [ Crash Failure ]
+crbug.com/591099 external/wpt/html-media-capture/capture_image_cancel-manual.html [ Crash Failure ]
+crbug.com/591099 external/wpt/html-media-capture/capture_video_cancel-manual.html [ Crash Failure ]
 crbug.com/591099 external/wpt/html/rendering/bindings/the-textarea-element-0/rows-zero.html [ Crash Failure Pass ]
 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 Pass ]
+crbug.com/591099 external/wpt/html/rendering/non-replaced-elements/lists/li-type-supported.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/rendering/non-replaced-elements/lists/li-type-supported-xhtml.xhtml [ Crash Pass ]
+crbug.com/591099 external/wpt/html/rendering/non-replaced-elements/lists/li-type-unsupported-lower-alpha.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/rendering/non-replaced-elements/lists/li-type-unsupported-lower-roman.html [ Crash Failure Pass ]
+crbug.com/591099 external/wpt/html/rendering/non-replaced-elements/lists/li-type-unsupported-upper-alpha.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/rendering/non-replaced-elements/lists/li-type-unsupported-upper-roman.html [ Crash Pass ]
 crbug.com/591099 external/wpt/html/rendering/non-replaced-elements/lists/ol-type-supported.html [ Crash Pass ]
-crbug.com/591099 external/wpt/html/rendering/non-replaced-elements/lists/ol-type-supported-xhtml.xhtml [ Failure Pass ]
-crbug.com/591099 external/wpt/html/rendering/non-replaced-elements/lists/ol-type-unsupported-lower-alpha.html [ Failure Pass ]
+crbug.com/591099 external/wpt/html/rendering/non-replaced-elements/lists/ol-type-supported-xhtml.xhtml [ Crash Failure Pass ]
+crbug.com/591099 external/wpt/html/rendering/non-replaced-elements/lists/ol-type-unsupported-circle.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/rendering/non-replaced-elements/lists/ol-type-unsupported-disc.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/rendering/non-replaced-elements/lists/ol-type-unsupported-invalid.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/rendering/non-replaced-elements/lists/ol-type-unsupported-lower-alpha.html [ Crash Failure Pass ]
+crbug.com/591099 external/wpt/html/rendering/non-replaced-elements/lists/ol-type-unsupported-lower-roman.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/rendering/non-replaced-elements/lists/ol-type-unsupported-none.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/rendering/non-replaced-elements/lists/ol-type-unsupported-round.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/rendering/non-replaced-elements/lists/ol-type-unsupported-square.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/rendering/non-replaced-elements/lists/ol-type-unsupported-upper-alpha.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/rendering/non-replaced-elements/lists/ol-type-unsupported-upper-roman.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/rendering/non-replaced-elements/lists/ul-type-supported.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/rendering/non-replaced-elements/lists/ul-type-supported-xhtml.xhtml [ Crash Pass ]
+crbug.com/591099 external/wpt/html/rendering/non-replaced-elements/lists/ul-type-unsupported-decimal.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/rendering/non-replaced-elements/lists/ul-type-unsupported-invalid.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/rendering/non-replaced-elements/lists/ul-type-unsupported-lower-alpha.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/rendering/non-replaced-elements/lists/ul-type-unsupported-lower-roman.html [ Crash Pass ]
 crbug.com/591099 external/wpt/html/rendering/non-replaced-elements/lists/ul-type-unsupported-upper-alpha.html [ Crash Pass ]
-crbug.com/591099 external/wpt/html/rendering/non-replaced-elements/lists/ul-type-unsupported-upper-roman.html [ Failure Pass ]
+crbug.com/591099 external/wpt/html/rendering/non-replaced-elements/lists/ul-type-unsupported-upper-roman.html [ Crash Failure Pass ]
 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 [ Crash Failure Pass ]
@@ -4922,8 +6782,10 @@
 crbug.com/591099 external/wpt/html/semantics/embedded-content/the-embed-element/embed-ignored-in-media-element.html [ Crash ]
 crbug.com/591099 external/wpt/html/semantics/embedded-content/the-embed-element/embed-in-object-fallback.html [ Crash ]
 crbug.com/591099 external/wpt/html/semantics/embedded-content/the-iframe-element/change_parentage.html [ Crash ]
+crbug.com/591099 external/wpt/html/semantics/embedded-content/the-iframe-element/iframe_javascript_url_01.htm [ Crash Pass ]
 crbug.com/591099 external/wpt/html/semantics/embedded-content/the-iframe-element/iframe-load-event.html [ Crash ]
 crbug.com/591099 external/wpt/html/semantics/embedded-content/the-iframe-element/iframe-synchronously-discard.html [ Crash ]
+crbug.com/591099 external/wpt/html/semantics/embedded-content/the-iframe-element/iframe-with-base.html [ Failure Pass ]
 crbug.com/591099 external/wpt/html/semantics/embedded-content/the-iframe-element/move_iframe_in_dom_01.html [ Crash Pass ]
 crbug.com/591099 external/wpt/html/semantics/embedded-content/the-iframe-element/move_iframe_in_dom_02.html [ Crash Pass ]
 crbug.com/591099 external/wpt/html/semantics/embedded-content/the-iframe-element/same_origin_parentage.html [ Crash ]
@@ -4932,6 +6794,7 @@
 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/srcset/select-an-image-source.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 ]
@@ -4939,6 +6802,18 @@
 crbug.com/591099 external/wpt/html/semantics/embedded-content/the-object-element/usemap-casing.html [ Failure ]
 crbug.com/591099 external/wpt/html/semantics/embedded-content/the-video-element/video-tabindex.html [ Crash ]
 crbug.com/591099 external/wpt/html/semantics/forms/attributes-common-to-form-controls/dirname-ltr.html [ Crash ]
+crbug.com/591099 external/wpt/html/semantics/forms/constraints/form-validation-checkValidity.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/semantics/forms/constraints/form-validation-reportValidity.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/semantics/forms/constraints/form-validation-validity-badInput.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/semantics/forms/constraints/form-validation-validity-patternMismatch.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/semantics/forms/constraints/form-validation-validity-rangeOverflow.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/semantics/forms/constraints/form-validation-validity-rangeUnderflow.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/semantics/forms/constraints/form-validation-validity-stepMismatch.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/semantics/forms/constraints/form-validation-validity-tooLong.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/semantics/forms/constraints/form-validation-validity-tooShort.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/semantics/forms/constraints/form-validation-validity-typeMismatch.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/semantics/forms/constraints/form-validation-validity-valid.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/semantics/forms/constraints/form-validation-validity-valueMissing.html [ Crash Pass ]
 crbug.com/591099 external/wpt/html/semantics/forms/constraints/form-validation-willValidate.html [ Crash ]
 crbug.com/591099 external/wpt/html/semantics/forms/form-control-infrastructure/form_attribute.html [ Crash ]
 crbug.com/591099 external/wpt/html/semantics/forms/form-control-infrastructure/form.html [ Crash ]
@@ -4946,8 +6821,11 @@
 crbug.com/591099 external/wpt/html/semantics/forms/form-submission-0/getactionurl.html [ Crash ]
 crbug.com/591099 external/wpt/html/semantics/forms/form-submission-0/submit-entity-body.html [ Crash ]
 crbug.com/591099 external/wpt/html/semantics/forms/resetting-a-form/reset-form-event-realm.html [ Crash ]
+crbug.com/591099 external/wpt/html/semantics/forms/textfieldselection/select-event.html [ Crash Pass ]
 crbug.com/591099 external/wpt/html/semantics/forms/textfieldselection/selection-after-content-change.html [ Crash ]
+crbug.com/591099 external/wpt/html/semantics/forms/textfieldselection/selection.html [ Crash Pass ]
 crbug.com/591099 external/wpt/html/semantics/forms/textfieldselection/selection-start-end.html [ Crash ]
+crbug.com/591099 external/wpt/html/semantics/forms/textfieldselection/textfieldselection-setRangeText.html [ Crash Pass ]
 crbug.com/591099 external/wpt/html/semantics/forms/textfieldselection/textfieldselection-setSelectionRange.html [ Crash ]
 crbug.com/591099 external/wpt/html/semantics/forms/the-button-element/button-activate.html [ Crash ]
 crbug.com/591099 external/wpt/html/semantics/forms/the-button-element/button-menu-historical.html [ Crash ]
@@ -4966,17 +6844,37 @@
 crbug.com/591099 external/wpt/html/semantics/forms/the-input-element/telephone.html [ Crash ]
 crbug.com/591099 external/wpt/html/semantics/forms/the-option-element/option-form.html [ Crash ]
 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-newline-bidi.html [ Crash Pass ]
 crbug.com/591099 external/wpt/html/semantics/forms/the-textarea-element/textarea-type.html [ Crash ]
+crbug.com/591099 external/wpt/html/semantics/forms/the-textarea-element/wrap-reflect-1a.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/semantics/forms/the-textarea-element/wrap-reflect-1b.html [ Crash Pass ]
 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 Pass ]
-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-li-element/grouping-li-reftest-001.html [ Crash Failure Pass ]
+crbug.com/591099 external/wpt/html/semantics/grouping-content/the-li-element/grouping-li-reftest-002.html [ Crash Failure ]
+crbug.com/591099 external/wpt/html/semantics/grouping-content/the-li-element/grouping-li-reftest-display-list-item.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/semantics/grouping-content/the-li-element/grouping-li-reftest-list-owner-menu.html [ Crash Failure ]
+crbug.com/591099 external/wpt/html/semantics/grouping-content/the-li-element/grouping-li-reftest-list-owner-mixed.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/semantics/grouping-content/the-li-element/grouping-li-reftest-list-owner-not-dir.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/semantics/grouping-content/the-li-element/grouping-li-reftest-list-owner-ol.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/semantics/grouping-content/the-li-element/grouping-li-reftest-list-owner-parent.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/semantics/grouping-content/the-li-element/grouping-li-reftest-list-owner-skip-no-boxes.html [ Crash Failure ]
+crbug.com/591099 external/wpt/html/semantics/grouping-content/the-li-element/grouping-li-reftest-list-owner-ul.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/semantics/grouping-content/the-li-element/grouping-li-reftest-not-being-rendered.html [ Crash Pass ]
 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 ]
-crbug.com/591099 external/wpt/html/semantics/grouping-content/the-ol-element/grouping-ol-start-reftest-001.html [ Failure ]
-crbug.com/591099 external/wpt/html/semantics/grouping-content/the-ol-element/grouping-ol-start-reftest-002.html [ Failure ]
-crbug.com/591099 external/wpt/html/semantics/grouping-content/the-ol-element/grouping-ol-type-reftest-001.html [ Failure ]
-crbug.com/591099 external/wpt/html/semantics/grouping-content/the-ol-element/grouping-ol-type-reftest-002.html [ Failure ]
-crbug.com/591099 external/wpt/html/semantics/grouping-content/the-ol-element/grouping-ol-type-reftest-003.html [ Failure ]
+crbug.com/591099 external/wpt/html/semantics/grouping-content/the-ol-element/grouping-ol-rev-reftest-001.html [ Crash Failure ]
+crbug.com/591099 external/wpt/html/semantics/grouping-content/the-ol-element/grouping-ol-start-reftest-001.html [ Crash Failure ]
+crbug.com/591099 external/wpt/html/semantics/grouping-content/the-ol-element/grouping-ol-start-reftest-002.html [ Crash Failure ]
+crbug.com/591099 external/wpt/html/semantics/grouping-content/the-ol-element/grouping-ol-type-reftest-001.html [ Crash Failure ]
+crbug.com/591099 external/wpt/html/semantics/grouping-content/the-ol-element/grouping-ol-type-reftest-002.html [ Crash Failure ]
+crbug.com/591099 external/wpt/html/semantics/grouping-content/the-ol-element/grouping-ol-type-reftest-003.html [ Crash Failure ]
+crbug.com/591099 external/wpt/html/semantics/grouping-content/the-ol-element/ol.start-reflection-1.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/semantics/grouping-content/the-ol-element/ol.start-reflection-2.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/semantics/grouping-content/the-ol-element/reversed-1a.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/semantics/grouping-content/the-ol-element/reversed-1b.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/semantics/grouping-content/the-ol-element/reversed-1c.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/semantics/grouping-content/the-ol-element/reversed-1d.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/semantics/grouping-content/the-ol-element/reversed-1e.html [ Crash Pass ]
+crbug.com/591099 external/wpt/html/semantics/grouping-content/the-ol-element/reversed-2.html [ Crash Pass ]
 crbug.com/591099 external/wpt/html/semantics/grouping-content/the-pre-element/grouping-pre-reftest-001.html [ Failure ]
 crbug.com/591099 external/wpt/html/semantics/interactive-elements/the-details-element/details.html [ Crash ]
 crbug.com/591099 external/wpt/html/semantics/interactive-elements/the-details-element/toggleEvent.html [ Crash ]
@@ -5009,7 +6907,9 @@
 crbug.com/591099 external/wpt/html/semantics/selectors/pseudo-classes/focus-autofocus.html [ Crash ]
 crbug.com/591099 external/wpt/html/semantics/selectors/pseudo-classes/focus.html [ Crash ]
 crbug.com/591099 external/wpt/html/semantics/selectors/pseudo-classes/indeterminate-radio.html [ Crash ]
+crbug.com/591099 external/wpt/html/semantics/selectors/pseudo-classes/inrange-outofrange.html [ Crash Pass ]
 crbug.com/591099 external/wpt/html/semantics/selectors/pseudo-classes/readwrite-readonly.html [ Crash ]
+crbug.com/591099 external/wpt/html/semantics/selectors/pseudo-classes/required-optional.html [ Crash Pass ]
 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-separate.html [ Failure Pass ]
 crbug.com/591099 external/wpt/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-to-letter-preceding-2.html [ Failure Pass ]
@@ -5054,7 +6954,7 @@
 crbug.com/591099 external/wpt/IndexedDB/idbobjectstore_put3.htm [ Failure Pass ]
 crbug.com/591099 external/wpt/IndexedDB/idbobjectstore_put.htm [ Failure Pass ]
 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/IndexedDB/interleaved-cursors.html [ Failure Pass ]
 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 ]
@@ -5105,42 +7005,77 @@
 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/picture-tag/top-level/keep-scheme-redirect/opt-in-blocks.https.html [ Crash Pass ]
+crbug.com/591099 external/wpt/mixed-content/blockable/http-csp/cross-origin-http/picture-tag/top-level/no-redirect/opt-in-blocks.https.html [ Crash Pass ]
+crbug.com/591099 external/wpt/mixed-content/blockable/http-csp/cross-origin-http/picture-tag/top-level/swap-scheme-redirect/opt-in-blocks.https.html [ Crash Pass ]
 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/mixed-content/blockable/http-csp/same-host-http/picture-tag/top-level/keep-scheme-redirect/opt-in-blocks.https.html [ Crash Pass ]
+crbug.com/591099 external/wpt/mixed-content/blockable/http-csp/same-host-http/picture-tag/top-level/no-redirect/opt-in-blocks.https.html [ Crash Pass ]
+crbug.com/591099 external/wpt/mixed-content/blockable/http-csp/same-host-http/picture-tag/top-level/swap-scheme-redirect/opt-in-blocks.https.html [ Crash Pass ]
+crbug.com/591099 external/wpt/mixed-content/blockable/meta-csp/cross-origin-http/picture-tag/top-level/no-redirect/opt-in-blocks.https.html [ Crash Pass ]
+crbug.com/591099 external/wpt/mixed-content/blockable/meta-csp/same-host-http/picture-tag/top-level/no-redirect/opt-in-blocks.https.html [ Crash Pass ]
+crbug.com/591099 external/wpt/mixed-content/blockable/no-opt-in/cross-origin-http/picture-tag/top-level/keep-scheme-redirect/no-opt-in-blocks.https.html [ Crash Pass ]
+crbug.com/591099 external/wpt/mixed-content/blockable/no-opt-in/cross-origin-http/picture-tag/top-level/no-redirect/no-opt-in-blocks.https.html [ Crash Pass ]
+crbug.com/591099 external/wpt/mixed-content/blockable/no-opt-in/cross-origin-http/picture-tag/top-level/swap-scheme-redirect/no-opt-in-blocks.https.html [ Crash Pass ]
+crbug.com/591099 external/wpt/mixed-content/blockable/no-opt-in/same-host-http/picture-tag/top-level/keep-scheme-redirect/no-opt-in-blocks.https.html [ Crash Pass ]
+crbug.com/591099 external/wpt/mixed-content/blockable/no-opt-in/same-host-http/picture-tag/top-level/no-redirect/no-opt-in-blocks.https.html [ Crash Pass ]
+crbug.com/591099 external/wpt/mixed-content/blockable/no-opt-in/same-host-http/picture-tag/top-level/swap-scheme-redirect/no-opt-in-blocks.https.html [ Crash Pass ]
+crbug.com/591099 external/wpt/mixed-content/imageset.https.sub.html [ Crash ]
+crbug.com/591099 external/wpt/mixed-content/optionally-blockable/http-csp/cross-origin-http/img-tag/top-level/keep-scheme-redirect/opt-in-blocks.https.html [ Crash Pass ]
+crbug.com/591099 external/wpt/mixed-content/optionally-blockable/http-csp/cross-origin-http/img-tag/top-level/no-redirect/opt-in-blocks.https.html [ Crash Pass ]
+crbug.com/591099 external/wpt/mixed-content/optionally-blockable/http-csp/cross-origin-http/img-tag/top-level/swap-scheme-redirect/opt-in-blocks.https.html [ Crash Pass ]
+crbug.com/591099 external/wpt/mixed-content/optionally-blockable/http-csp/same-host-http/img-tag/top-level/keep-scheme-redirect/opt-in-blocks.https.html [ Crash Pass ]
+crbug.com/591099 external/wpt/mixed-content/optionally-blockable/http-csp/same-host-http/img-tag/top-level/no-redirect/opt-in-blocks.https.html [ Crash Pass ]
+crbug.com/591099 external/wpt/mixed-content/optionally-blockable/http-csp/same-host-http/img-tag/top-level/swap-scheme-redirect/opt-in-blocks.https.html [ Crash Pass ]
+crbug.com/591099 external/wpt/mixed-content/optionally-blockable/meta-csp/cross-origin-http/img-tag/top-level/no-redirect/opt-in-blocks.https.html [ Crash Pass ]
+crbug.com/591099 external/wpt/mixed-content/optionally-blockable/meta-csp/same-host-http/img-tag/top-level/no-redirect/opt-in-blocks.https.html [ Crash Pass ]
 crbug.com/591099 external/wpt/navigation-timing/nav2_test_frame_removed.html [ Crash ]
+crbug.com/591099 external/wpt/navigation-timing/nav2_test_navigation_type_reload.html [ Crash Pass ]
+crbug.com/591099 external/wpt/navigation-timing/nav2_test_unloadEvents_previous_document_cross_origin.sub.html [ Crash Pass ]
+crbug.com/591099 external/wpt/navigation-timing/nav2_test_unloadEvents_with_cross_origin_redirects.html [ Crash Pass ]
+crbug.com/591099 external/wpt/navigation-timing/nav2_test_unloadEvents_with_previous_document.html [ Crash Pass ]
+crbug.com/591099 external/wpt/navigation-timing/test_navigation_type_reload.html [ Crash Pass ]
 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-id.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 [ Pass Timeout ]
-crbug.com/591099 external/wpt/pointerevents/pointerevent_attributes_hoverable_pointers-manual.html [ Pass Timeout ]
-crbug.com/591099 external/wpt/pointerevents/pointerevent_attributes_nohover_pointers-manual.html [ Pass Timeout ]
+crbug.com/591099 external/wpt/pointerevents/compat/pointerevent_touch-action_two-finger_interaction-manual.html [ Crash Pass ]
+crbug.com/591099 external/wpt/pointerevents/extension/pointerevent_coalesced_events_attributes-manual.html [ Crash Pass Timeout ]
+crbug.com/591099 external/wpt/pointerevents/pointerevent_attributes_hoverable_pointers-manual.html [ Crash Pass Timeout ]
+crbug.com/591099 external/wpt/pointerevents/pointerevent_attributes_nohover_pointers-manual.html [ Crash Pass Timeout ]
+crbug.com/591099 external/wpt/pointerevents/pointerevent_boundary_events_in_capturing-manual.html [ Crash Pass ]
 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_click_during_capture-manual.html [ Crash 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 [ Pass Timeout ]
-crbug.com/591099 external/wpt/pointerevents/pointerevent_lostpointercapture_for_disconnected_node-manual.html [ Timeout ]
+crbug.com/591099 external/wpt/pointerevents/pointerevent_element_haspointercapture-manual.html [ Crash Pass Timeout ]
+crbug.com/591099 external/wpt/pointerevents/pointerevent_lostpointercapture_for_disconnected_node-manual.html [ Crash 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 [ Pass Timeout ]
 crbug.com/591099 external/wpt/pointerevents/pointerevent_pointerleave_after_pointercancel_touch-manual.html [ Pass Timeout ]
+crbug.com/591099 external/wpt/pointerevents/pointerevent_pointerleave_descendant_over-manual.html [ Crash Pass ]
 crbug.com/591099 external/wpt/pointerevents/pointerevent_pointerleave_descendants-manual.html [ Pass Timeout ]
 crbug.com/591099 external/wpt/pointerevents/pointerevent_pointerleave_pen-manual.html [ Failure 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_pointermove_on_chorded_mouse_button-manual.html [ Crash 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_pointerout_received_once-manual.html [ Crash Pass Timeout ]
 crbug.com/591099 external/wpt/pointerevents/pointerevent_releasepointercapture_events_to_original_target-manual.html [ Pass Timeout ]
 crbug.com/591099 external/wpt/pointerevents/pointerevent_releasepointercapture_invalid_pointerid-manual.html [ Pass Timeout ]
-crbug.com/591099 external/wpt/pointerevents/pointerevent_releasepointercapture_onpointercancel_touch-manual.html [ Pass Timeout ]
+crbug.com/591099 external/wpt/pointerevents/pointerevent_releasepointercapture_onpointercancel_touch-manual.html [ Crash Pass Timeout ]
 crbug.com/591099 external/wpt/pointerevents/pointerevent_releasepointercapture_onpointerup_mouse-manual.html [ Crash ]
-crbug.com/591099 external/wpt/pointerevents/pointerevent_sequence_at_implicit_release_on_click-manual.html [ Pass Timeout ]
+crbug.com/591099 external/wpt/pointerevents/pointerevent_sequence_at_implicit_release_on_click-manual.html [ Crash Pass Timeout ]
+crbug.com/591099 external/wpt/pointerevents/pointerevent_sequence_at_implicit_release_on_drag-manual.html [ Crash Pass ]
 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 [ Pass Timeout ]
+crbug.com/591099 external/wpt/pointerevents/pointerevent_setpointercapture_inactive_button_mouse-manual.html [ Crash Pass Timeout ]
+crbug.com/591099 external/wpt/pointerevents/pointerevent_setpointercapture_invalid_pointerid-manual.html [ Pass 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_suppress_compat_events_on_click-manual.html [ Crash Pass Timeout ]
+crbug.com/591099 external/wpt/pointerevents/pointerevent_suppress_compat_events_on_drag_mouse-manual.html [ Crash Pass ]
 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 ]
@@ -5163,7 +7098,9 @@
 crbug.com/591099 external/wpt/pointerevents/pointerevent_touch-action-span-test_touch-manual.html [ Crash Timeout ]
 crbug.com/591099 external/wpt/pointerevents/pointerevent_touch-action-svg-test_touch-manual.html [ Crash Timeout ]
 crbug.com/591099 external/wpt/pointerevents/pointerevent_touch-action-table-test_touch-manual.html [ Crash Timeout ]
+crbug.com/591099 external/wpt/pointerevents/pointerlock/pointerevent_movementxy-manual.html [ Crash Pass ]
 crbug.com/591099 external/wpt/quirks-mode/blocks-ignore-line-height.html [ Failure ]
+crbug.com/591099 external/wpt/quirks-mode/historical/list-item-bullet-size.html [ Crash Pass ]
 crbug.com/591099 external/wpt/quirks-mode/line-height-calculation.html [ Crash ]
 crbug.com/591099 external/wpt/quirks-mode/table-cell-width-calculation.html [ Crash ]
 crbug.com/591099 external/wpt/referrer-policy/css-integration/external-import-stylesheet.html [ Crash ]
@@ -5635,6 +7572,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/server-timing/test_server_timing.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 ]
@@ -5646,6 +7584,7 @@
 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-canvas-tainting.https.html [ Crash ]
 crbug.com/591099 external/wpt/service-workers/service-worker/fetch-cors-xhr.https.html [ Crash ]
+crbug.com/591099 external/wpt/service-workers/service-worker/fetch-csp.https.html [ Crash 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 ]
@@ -5668,6 +7607,8 @@
 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/postmessage.https.html [ Pass Timeout ]
+crbug.com/591099 external/wpt/service-workers/service-worker/ServiceWorkerGlobalScope/registration-attribute.https.html [ Failure Pass ]
 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 Pass ]
@@ -5677,16 +7618,22 @@
 crbug.com/591099 external/wpt/shadow-dom/leaktests/html-collection.html [ Crash ]
 crbug.com/591099 external/wpt/shadow-dom/leaktests/window-frames.html [ Crash ]
 crbug.com/591099 external/wpt/shadow-dom/MouseEvent-prototype-offsetX-offsetY.html [ Failure ]
+crbug.com/591099 external/wpt/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-007.html [ Crash Pass ]
 crbug.com/591099 external/wpt/shadow-dom/untriaged/events/event-retargeting/test-001.html [ Crash ]
 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/shadow-dom/untriaged/shadow-trees/shadow-root-001.html [ Failure Pass ]
+crbug.com/591099 external/wpt/shadow-dom/untriaged/user-interaction/active-element/test-001.html [ Crash Pass ]
+crbug.com/591099 external/wpt/shadow-dom/untriaged/user-interaction/active-element/test-002.html [ Crash Pass ]
 crbug.com/591099 external/wpt/streams/writable-streams/constructor.serviceworker.https.html [ Pass Timeout ]
 crbug.com/591099 external/wpt/svg/linking/reftests/href-filter-element.html [ Crash Failure ]
-crbug.com/591099 external/wpt/uievents/mouse/mouseevent_move_button-manual.html [ Timeout ]
+crbug.com/591099 external/wpt/uievents/mouse/mouseevent_move_button-manual.html [ Crash 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 [ Failure Timeout ]
-crbug.com/591099 external/wpt/uievents/order-of-events/mouse-events/mouseover-out-manual.html [ Pass Timeout ]
+crbug.com/591099 external/wpt/uievents/order-of-events/focus-events/focus-manual.html [ Crash Failure Timeout ]
+crbug.com/591099 external/wpt/uievents/order-of-events/mouse-events/mouseover-out-manual.html [ Crash Pass Timeout ]
+crbug.com/591099 external/wpt/user-timing/measure.html [ Crash Pass ]
+crbug.com/591099 external/wpt/user-timing/measure_navigation_timing.html [ Crash Pass ]
 crbug.com/591099 external/wpt/web-animations/interfaces/Animation/playbackRate.html [ Failure Pass ]
 crbug.com/591099 external/wpt/webmessaging/broadcastchannel/sandbox.html [ Crash ]
 crbug.com/591099 external/wpt/webmessaging/message-channels/004.html [ Crash ]
@@ -5707,11 +7654,14 @@
 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 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/bidi/bidi_ruby.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 ]
+crbug.com/591099 external/wpt/XMLHttpRequest/send-authentication-prompt-2-manual.htm [ Crash Failure ]
+crbug.com/591099 external/wpt/XMLHttpRequest/send-authentication-prompt-manual.htm [ Crash Pass ]
 crbug.com/591099 external/wpt/XMLHttpRequest/xmlhttprequest-sync-block-defer-scripts.html [ Crash ]
 crbug.com/591099 external/wpt/XMLHttpRequest/xmlhttprequest-sync-not-hang-scriptloader.html [ Crash ]
 crbug.com/591099 fast/alignment/ensure-flexbox-compatibility-with-initial-values.html [ Failure ]
@@ -5734,20 +7684,22 @@
 crbug.com/591099 fast/backgrounds/001.html [ Failure ]
 crbug.com/591099 fast/backgrounds/animated-gif-as-background.html [ Failure ]
 crbug.com/591099 fast/backgrounds/animated-gif-as-background-rounded.html [ Failure ]
+crbug.com/591099 fast/backgrounds/animated-svg-as-mask.html [ Failure Pass ]
 crbug.com/591099 fast/backgrounds/background-clip-per-layer.html [ Failure ]
 crbug.com/591099 fast/backgrounds/background-clip-text.html [ Failure ]
 crbug.com/591099 fast/backgrounds/background-clip-text-on-body.html [ Failure Pass ]
-crbug.com/591099 fast/backgrounds/background-color-image-border-radius-bleed.html [ Failure ]
+crbug.com/591099 fast/backgrounds/background-color-image-border-radius-bleed.html [ Failure Pass ]
 crbug.com/591099 fast/backgrounds/background-fill-zero-area-crash.html [ Failure ]
-crbug.com/591099 fast/backgrounds/background-inherit-color-bug.html [ Failure ]
+crbug.com/591099 fast/backgrounds/background-inherit-color-bug.html [ Crash Failure ]
 crbug.com/591099 fast/backgrounds/background-leakage.html [ Failure ]
 crbug.com/591099 fast/backgrounds/background-leakage-transforms.html [ Failure ]
-crbug.com/591099 fast/backgrounds/background-multi-image-border-radius-bleed.html [ Failure ]
+crbug.com/591099 fast/backgrounds/background-multi-image-border-radius-bleed.html [ Failure Pass ]
 crbug.com/591099 fast/backgrounds/background-origin-root-element.html [ Failure ]
 crbug.com/591099 fast/backgrounds/background-position-1.html [ Failure ]
 crbug.com/591099 fast/backgrounds/background-position-parsing-2.html [ Failure Timeout ]
 crbug.com/591099 fast/backgrounds/background-position-parsing.html [ Failure ]
 crbug.com/591099 fast/backgrounds/background-position-repeat-rendering-2.html [ Failure Pass ]
+crbug.com/591099 fast/backgrounds/background-position-rounding.html [ Failure Pass ]
 crbug.com/591099 fast/backgrounds/background-repeat-with-background-color.html [ Failure ]
 crbug.com/591099 fast/backgrounds/background-shorthand-after-set-backgroundSize.html [ Failure ]
 crbug.com/591099 fast/backgrounds/background-shorthand-multiple-layers.html [ Failure ]
@@ -5759,6 +7711,7 @@
 crbug.com/591099 fast/backgrounds/border-radius-split-background.html [ Failure ]
 crbug.com/591099 fast/backgrounds/border-radius-split-background-image.html [ Failure ]
 crbug.com/591099 fast/backgrounds/gradient-background-leakage-2.html [ Failure ]
+crbug.com/591099 fast/backgrounds/gradient-background-leakage-hidpi.html [ Failure Pass ]
 crbug.com/591099 fast/backgrounds/gradient-background-leakage.html [ Failure ]
 crbug.com/591099 fast/backgrounds/mask-box-image.html [ Failure ]
 crbug.com/591099 fast/backgrounds/mask-box-image-width.html [ Failure ]
@@ -5771,11 +7724,11 @@
 crbug.com/591099 fast/backgrounds/repeat/mask-negative-offset-repeat.html [ Failure ]
 crbug.com/591099 fast/backgrounds/repeat/negative-offset-repeat.html [ Failure ]
 crbug.com/591099 fast/backgrounds/repeat/negative-offset-repeat-transformed.html [ Failure ]
-crbug.com/591099 fast/backgrounds/repeat/noRepeatCorrectClip.html [ Failure ]
+crbug.com/591099 fast/backgrounds/repeat/noRepeatCorrectClip.html [ Crash Failure ]
 crbug.com/591099 fast/backgrounds/repeat/parsing-background-repeat.html [ Failure ]
 crbug.com/591099 fast/backgrounds/root-background-fixed-attachment-positioning.html [ Failure ]
-crbug.com/591099 fast/backgrounds/selection-background-color-of-image-list-style.html [ Failure ]
-crbug.com/591099 fast/backgrounds/selection-background-color-of-list-style.html [ Failure ]
+crbug.com/591099 fast/backgrounds/selection-background-color-of-image-list-style.html [ Crash Failure ]
+crbug.com/591099 fast/backgrounds/selection-background-color-of-list-style.html [ Crash Failure ]
 crbug.com/591099 fast/backgrounds/size/backgroundSize01.html [ Failure ]
 crbug.com/591099 fast/backgrounds/size/backgroundSize02.html [ Failure ]
 crbug.com/591099 fast/backgrounds/size/backgroundSize03.html [ Failure ]
@@ -5802,10 +7755,12 @@
 crbug.com/591099 fast/backgrounds/size/contain-and-cover-zoomed.html [ Failure ]
 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/scaled-sprited-background.html [ Failure Pass ]
 crbug.com/591099 fast/backgrounds/size/zero.html [ Failure ]
+crbug.com/591099 fast/backgrounds/svg-as-mask.html [ Failure Pass ]
 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/backgrounds/transformed-html-body-background.html [ Crash 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 ]
@@ -5844,22 +7799,22 @@
 crbug.com/591099 fast/block/borderbox-percent-padding.html [ Failure ]
 crbug.com/591099 fast/block/child-not-removed-from-parent-lineboxes-crash.html [ Crash ]
 crbug.com/591099 fast/block/crash-when-element-becomes-positioned-and-doesnt-clear-floating-objects.html [ Failure ]
-crbug.com/591099 fast/block/do-not-strip-anonymous-blocks-when-block-child-becomes-float-and-continuation-on-line.html [ Failure ]
+crbug.com/591099 fast/block/do-not-strip-anonymous-blocks-when-block-child-becomes-float-and-continuation-on-line.html [ Failure Pass ]
 crbug.com/591099 fast/block/do-not-strip-anonymous-blocks-when-block-child-becomes-float-and-other-block-on-line.html [ Failure ]
 crbug.com/591099 fast/block/dynamic-padding-border.html [ Failure ]
-crbug.com/591099 fast/block/float/002.html [ Failure ]
+crbug.com/591099 fast/block/float/002.html [ Crash Failure ]
 crbug.com/591099 fast/block/float/003.html [ Failure ]
 crbug.com/591099 fast/block/float/007.html [ Failure ]
 crbug.com/591099 fast/block/float/008.html [ Failure ]
-crbug.com/591099 fast/block/float/009.html [ Failure ]
+crbug.com/591099 fast/block/float/009.html [ Failure Pass ]
 crbug.com/591099 fast/block/float/010.html [ Failure ]
 crbug.com/591099 fast/block/float/011.html [ Failure Pass ]
 crbug.com/591099 fast/block/float/012.html [ Failure ]
 crbug.com/591099 fast/block/float/013.html [ Failure ]
-crbug.com/591099 fast/block/float/014.html [ Failure ]
+crbug.com/591099 fast/block/float/014.html [ Crash Failure ]
 crbug.com/591099 fast/block/float/015.html [ Failure ]
 crbug.com/591099 fast/block/float/016.html [ Failure ]
-crbug.com/591099 fast/block/float/017.html [ Failure ]
+crbug.com/591099 fast/block/float/017.html [ Crash Failure ]
 crbug.com/591099 fast/block/float/018.html [ Failure ]
 crbug.com/591099 fast/block/float/019.html [ Failure ]
 crbug.com/591099 fast/block/float/020.html [ Failure ]
@@ -5880,8 +7835,8 @@
 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 Pass ]
 crbug.com/591099 fast/block/float/add-float-back-to-anonymous-block.html [ Failure ]
-crbug.com/591099 fast/block/float/add-inline-between-floats-with-preceding-anonymous-box.html [ Failure ]
-crbug.com/591099 fast/block/float/add-inlines-in-block-children-block.html [ Failure ]
+crbug.com/591099 fast/block/float/add-inline-between-floats-with-preceding-anonymous-box.html [ Failure Pass ]
+crbug.com/591099 fast/block/float/add-inlines-in-block-children-block.html [ Failure Pass ]
 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 ]
@@ -5899,11 +7854,12 @@
 crbug.com/591099 fast/block/float/block-with-negative-margin-clears-float.html [ Failure ]
 crbug.com/591099 fast/block/float/br-with-clear-2.html [ Failure ]
 crbug.com/591099 fast/block/float/br-with-clear.html [ Failure ]
+crbug.com/591099 fast/block/float/canvas-with-floats-marked-for-layout.html [ Crash ]
 crbug.com/591099 fast/block/float/centered-float-avoidance-complexity.html [ Failure ]
 crbug.com/591099 fast/block/float/checkbox-and-radio-avoid-floats.html [ Failure ]
 crbug.com/591099 fast/block/float/clamped-right-float.html [ Failure ]
 crbug.com/591099 fast/block/float/clear-element-too-wide-for-containing-block.html [ Failure ]
-crbug.com/591099 fast/block/float/clear-intruding-floats-when-moving-to-inline-parent-3.html [ Failure ]
+crbug.com/591099 fast/block/float/clear-intruding-floats-when-moving-to-inline-parent-3.html [ Crash Failure ]
 crbug.com/591099 fast/block/float/clear-negative-margin-top.html [ Failure ]
 crbug.com/591099 fast/block/float/clear-to-fit.html [ Failure ]
 crbug.com/591099 fast/block/float/containing-block-change-compositing.html [ Failure ]
@@ -5921,9 +7877,10 @@
 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 ]
 crbug.com/591099 fast/block/float/float-list-changed-before-layout-crash.html [ Crash ]
+crbug.com/591099 fast/block/float/float-not-removed-from-first-letter.html [ Crash Pass ]
 crbug.com/591099 fast/block/float/float-not-removed-from-next-sibling2.html [ Failure ]
 crbug.com/591099 fast/block/float/float-not-removed-from-next-sibling3.html [ Failure ]
-crbug.com/591099 fast/block/float/float-not-removed-from-next-sibling5.html [ Failure ]
+crbug.com/591099 fast/block/float/float-not-removed-from-next-sibling5.html [ Crash Failure ]
 crbug.com/591099 fast/block/float/float-not-removed-from-next-sibling-crash.html [ Failure ]
 crbug.com/591099 fast/block/float/float-not-removed-from-next-sibling.html [ Failure ]
 crbug.com/591099 fast/block/float/float-not-removed-from-pre-block.html [ Failure ]
@@ -5954,16 +7911,16 @@
 crbug.com/591099 fast/block/float/floats-wrap-inside-inline-002.htm [ Failure ]
 crbug.com/591099 fast/block/float/floats-wrap-inside-inline-003.htm [ Failure ]
 crbug.com/591099 fast/block/float/floats-wrap-inside-inline-004.htm [ Failure ]
-crbug.com/591099 fast/block/float/floats-wrap-inside-inline-006.html [ Failure ]
+crbug.com/591099 fast/block/float/floats-wrap-inside-inline-006.html [ Failure Pass ]
 crbug.com/591099 fast/block/float/floats-wrap-inside-inline-007.html [ Failure ]
-crbug.com/591099 fast/block/float/formatting-context-changes.html [ Failure ]
+crbug.com/591099 fast/block/float/formatting-context-changes.html [ Crash Failure ]
 crbug.com/591099 fast/block/float/independent-align-positioning.html [ Failure ]
 crbug.com/591099 fast/block/float/intruding-float-add-in-sibling-block-on-static-position2.html [ Failure ]
 crbug.com/591099 fast/block/float/intruding-float-add-in-sibling-block-on-static-position.html [ Failure ]
-crbug.com/591099 fast/block/float/intruding-float-remove-from-sibling-block-on-absolute-position2.html [ Failure ]
-crbug.com/591099 fast/block/float/intruding-float-remove-from-sibling-block-on-absolute-position.html [ Failure ]
-crbug.com/591099 fast/block/float/intruding-float-remove-from-sibling-block-on-fixed-position2.html [ Failure ]
-crbug.com/591099 fast/block/float/intruding-float-remove-from-sibling-block-on-fixed-position.html [ Failure ]
+crbug.com/591099 fast/block/float/intruding-float-remove-from-sibling-block-on-absolute-position2.html [ Failure Pass ]
+crbug.com/591099 fast/block/float/intruding-float-remove-from-sibling-block-on-absolute-position.html [ Failure Pass ]
+crbug.com/591099 fast/block/float/intruding-float-remove-from-sibling-block-on-fixed-position2.html [ Failure Pass ]
+crbug.com/591099 fast/block/float/intruding-float-remove-from-sibling-block-on-fixed-position.html [ Failure Pass ]
 crbug.com/591099 fast/block/float/intruding-float-sibling-with-margin.html [ Failure ]
 crbug.com/591099 fast/block/float/intruding-painted-twice.html [ Failure ]
 crbug.com/591099 fast/block/float/logical-bottom-exceeds-layoutunit-max.html [ Failure ]
@@ -5998,9 +7955,9 @@
 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 ]
-crbug.com/591099 fast/block/float/rubybase-children-moved-crash-2.html [ Failure ]
-crbug.com/591099 fast/block/float/rubybase-children-moved-crash.html [ Failure ]
+crbug.com/591099 fast/block/float/rubybase-children-made-inline-crash.html [ Crash Failure ]
+crbug.com/591099 fast/block/float/rubybase-children-moved-crash-2.html [ Crash Failure ]
+crbug.com/591099 fast/block/float/rubybase-children-moved-crash.html [ Crash Failure ]
 crbug.com/591099 fast/block/float/shrink-to-avoid-float-complexity.html [ Failure ]
 crbug.com/591099 fast/block/float/shrink-to-fit-width.html [ Failure ]
 crbug.com/591099 fast/block/float/split-inline-sibling-of-float-crash.html [ Crash ]
@@ -6013,8 +7970,10 @@
 crbug.com/591099 fast/block/hr-border-box-sizing.html [ Failure ]
 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/double-line-break-obj-removal-crash.html [ Crash Pass ]
+crbug.com/591099 fast/block/line-layout/floats-do-not-fit-on-line.html [ Crash Failure ]
 crbug.com/591099 fast/block/line-layout/negative-max-height.html [ Failure ]
+crbug.com/591099 fast/block/line-layout/selection-highlight-crash.html [ Crash Pass ]
 crbug.com/591099 fast/block/marginbox-width-exceeds-container-width.html [ Failure ]
 crbug.com/591099 fast/block/margin-collapse/004.html [ Crash Pass ]
 crbug.com/591099 fast/block/margin-collapse/006.html [ Failure ]
@@ -6038,13 +7997,18 @@
 crbug.com/591099 fast/block/margin-collapse/103.html [ Failure ]
 crbug.com/591099 fast/block/margin-collapse/104.html [ Failure ]
 crbug.com/591099 fast/block/margin-collapse/bfc-beside-float-complex-margin-collapsing.html [ Failure ]
-crbug.com/591099 fast/block/margin-collapse/block-inside-inline/001.html [ Failure ]
-crbug.com/591099 fast/block/margin-collapse/block-inside-inline/002.html [ Failure ]
-crbug.com/591099 fast/block/margin-collapse/block-inside-inline/003.html [ Failure ]
-crbug.com/591099 fast/block/margin-collapse/block-inside-inline/004.html [ Failure ]
-crbug.com/591099 fast/block/margin-collapse/block-inside-inline/005.html [ Failure ]
+crbug.com/591099 fast/block/margin-collapse/block-inside-inline/001.html [ Failure Pass ]
+crbug.com/591099 fast/block/margin-collapse/block-inside-inline/002.html [ Failure Pass ]
+crbug.com/591099 fast/block/margin-collapse/block-inside-inline/003.html [ Failure Pass ]
+crbug.com/591099 fast/block/margin-collapse/block-inside-inline/004.html [ Failure Pass ]
+crbug.com/591099 fast/block/margin-collapse/block-inside-inline/005.html [ Failure Pass ]
+crbug.com/591099 fast/block/margin-collapse/block-inside-inline/006.html [ Failure Pass ]
+crbug.com/591099 fast/block/margin-collapse/block-inside-inline/010.html [ Failure Pass ]
+crbug.com/591099 fast/block/margin-collapse/block-inside-inline/011.html [ Failure Pass ]
+crbug.com/591099 fast/block/margin-collapse/block-inside-inline/012.html [ Failure Pass ]
+crbug.com/591099 fast/block/margin-collapse/block-inside-inline/015.html [ Failure Pass ]
 crbug.com/591099 fast/block/margin-collapse/block-inside-inline/016.html [ Failure ]
-crbug.com/591099 fast/block/margin-collapse/block-inside-inline/018.html [ Failure ]
+crbug.com/591099 fast/block/margin-collapse/block-inside-inline/018.html [ Failure Pass ]
 crbug.com/591099 fast/block/margin-collapse/block-inside-inline/021.html [ Failure ]
 crbug.com/591099 fast/block/margin-collapse/block-inside-inline/022.html [ Failure ]
 crbug.com/591099 fast/block/margin-collapse/block-inside-inline/025.html [ Failure ]
@@ -6053,6 +8017,7 @@
 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-getting-layout-set.html [ Crash Pass ]
 crbug.com/591099 fast/block/margin-collapse/self-collapsing-block-with-float-child-collapsed-margins.html [ Failure Pass ]
 crbug.com/591099 fast/block/margin-collapse/self-collapsing-block-with-float-child.html [ Failure ]
 crbug.com/591099 fast/block/margin-collapse/self-collapsing-block-with-float-children.html [ Crash Pass ]
@@ -6067,6 +8032,8 @@
 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/merge-anonymous-block-remove-child-crash2.html [ Crash Pass ]
+crbug.com/591099 fast/block/merge-anonymous-block-remove-child-crash.html [ Crash Pass ]
 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 ]
 crbug.com/591099 fast/block/multicol-moves-children-with-nested-floats.html [ Failure ]
@@ -6080,17 +8047,17 @@
 crbug.com/591099 fast/block/positioning/040.html [ Crash Pass ]
 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 ]
+crbug.com/591099 fast/block/positioning/048.html [ Failure Pass ]
+crbug.com/591099 fast/block/positioning/050.html [ Failure Pass ]
 crbug.com/591099 fast/block/positioning/051.html [ Failure ]
 crbug.com/591099 fast/block/positioning/052.html [ Failure ]
 crbug.com/591099 fast/block/positioning/053.html [ Failure Pass ]
-crbug.com/591099 fast/block/positioning/054.html [ Failure ]
+crbug.com/591099 fast/block/positioning/054.html [ Failure Pass ]
 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 [ Crash Failure ]
-crbug.com/591099 fast/block/positioning/061.html [ Failure Pass ]
+crbug.com/591099 fast/block/positioning/061.html [ Crash Failure Pass ]
 crbug.com/591099 fast/block/positioning/062.html [ Failure Pass ]
 crbug.com/591099 fast/block/positioning/abs-inside-inline-rel.html [ Failure ]
 crbug.com/591099 fast/block/positioning/absolute-appended-to-inline.html [ Failure ]
@@ -6110,14 +8077,14 @@
 crbug.com/591099 fast/block/positioning/absolute-positioning-no-scrollbar.html [ Failure ]
 crbug.com/591099 fast/block/positioning/absolute-with-html-border-quirks.html [ Failure ]
 crbug.com/591099 fast/block/positioning/abspos-auto-left-and-width-change-parent-margin-left.html [ Failure ]
-crbug.com/591099 fast/block/positioning/abspos-auto-left-auto-top-inside-auto-margins.html [ Failure ]
+crbug.com/591099 fast/block/positioning/abspos-auto-left-auto-top-inside-auto-margins.html [ Failure Pass ]
 crbug.com/591099 fast/block/positioning/auto/001.html [ Failure ]
 crbug.com/591099 fast/block/positioning/auto/002.html [ Failure ]
 crbug.com/591099 fast/block/positioning/auto/003.html [ Failure ]
 crbug.com/591099 fast/block/positioning/auto/004.html [ Failure ]
 crbug.com/591099 fast/block/positioning/auto/005.html [ Failure ]
 crbug.com/591099 fast/block/positioning/auto/006.html [ Failure ]
-crbug.com/591099 fast/block/positioning/auto/007.html [ Failure ]
+crbug.com/591099 fast/block/positioning/auto/007.html [ Failure Pass ]
 crbug.com/591099 fast/block/positioning/auto-height-with-top-and-bottom.html [ Failure ]
 crbug.com/591099 fast/block/positioning/auto/vertical-lr/001.html [ Failure ]
 crbug.com/591099 fast/block/positioning/auto/vertical-lr/002.html [ Failure ]
@@ -6137,7 +8104,7 @@
 crbug.com/591099 fast/block/positioning/bug369123.html [ Failure Pass ]
 crbug.com/591099 fast/block/positioning/child-of-absolute-with-auto-height.html [ Failure ]
 crbug.com/591099 fast/block/positioning/child-of-fixed-pos-after-movement.html [ Failure ]
-crbug.com/591099 fast/block/positioning/complex-percentage-height.html [ Failure ]
+crbug.com/591099 fast/block/positioning/complex-percentage-height.html [ Crash Failure ]
 crbug.com/591099 fast/block/positioning/differing-writing-modes-replaced.html [ Crash Pass ]
 crbug.com/591099 fast/block/positioning/fixed-positioning-scrollbar-bug.html [ Failure ]
 crbug.com/591099 fast/block/positioning/fixed-position-transformed-container.html [ Crash Pass ]
@@ -6145,14 +8112,15 @@
 crbug.com/591099 fast/block/positioning/height-change.html [ Failure ]
 crbug.com/591099 fast/block/positioning/hiding-inside-relpositioned-inline.html [ Failure ]
 crbug.com/591099 fast/block/positioning/hittest-on-relative-positioned-children.html [ Failure ]
+crbug.com/591099 fast/block/positioning/inline-block-relposition.html [ Failure Pass ]
 crbug.com/591099 fast/block/positioning/leftmargin-topmargin.html [ Failure ]
-crbug.com/591099 fast/block/positioning/mark-layout-on-chain-of-pos-objects.html [ Failure ]
+crbug.com/591099 fast/block/positioning/mark-layout-on-chain-of-pos-objects.html [ Failure Pass ]
 crbug.com/591099 fast/block/positioning/move-with-auto-width.html [ Failure ]
-crbug.com/591099 fast/block/positioning/offsetLeft-offsetTop-borders.html [ Failure ]
+crbug.com/591099 fast/block/positioning/offsetLeft-offsetTop-borders.html [ Failure Pass ]
 crbug.com/591099 fast/block/positioning/offsetLeft-offsetTop-multicolumn.html [ Failure ]
-crbug.com/591099 fast/block/positioning/offsetLeft-relative-iframe.html [ Failure ]
-crbug.com/591099 fast/block/positioning/offsetLeft-relative-td.html [ Failure ]
-crbug.com/591099 fast/block/positioning/padding-percent.html [ Failure ]
+crbug.com/591099 fast/block/positioning/offsetLeft-relative-iframe.html [ Crash Failure ]
+crbug.com/591099 fast/block/positioning/offsetLeft-relative-td.html [ Crash Failure ]
+crbug.com/591099 fast/block/positioning/padding-percent.html [ Crash Failure ]
 crbug.com/591099 fast/block/positioning/percent-top-left-on-relative-position.html [ Failure ]
 crbug.com/591099 fast/block/positioning/positioned-child-inside-relative-positioned-anonymous-block.html [ Failure ]
 crbug.com/591099 fast/block/positioning/positioned-container-changes-block-direction-border-with-positioned-descendant.html [ Failure ]
@@ -6163,10 +8131,11 @@
 crbug.com/591099 fast/block/positioning/positioned-movement-layout-when-height-changes-and-positioned-descendant-dependent-on-height.html [ Failure ]
 crbug.com/591099 fast/block/positioning/positioned-movement-layout-when-width-changes.html [ Crash Pass ]
 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-float.html [ Crash Failure ]
 crbug.com/591099 fast/block/positioning/relative-overflow-replaced.html [ Failure ]
 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-2.html [ Crash Pass ]
 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 ]
@@ -6181,7 +8150,7 @@
 crbug.com/591099 fast/block/positioning/vertical-lr/001.html [ Failure ]
 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/002.html [ Crash Failure ]
 crbug.com/591099 fast/block/positioning/vertical-rl/003.html [ Crash Pass ]
 crbug.com/591099 fast/block/positioning/vertical-rl/fixed-positioning.html [ Failure ]
 crbug.com/591099 fast/block/positioning/window-height-change.html [ Failure ]
@@ -6190,17 +8159,48 @@
 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 ]
+crbug.com/591099 fast/body-propagation/background-color/001.html [ Failure Pass ]
+crbug.com/591099 fast/body-propagation/background-color/001-xhtml.xhtml [ Failure Pass ]
 crbug.com/591099 fast/body-propagation/background-color/002.html [ Failure ]
 crbug.com/591099 fast/body-propagation/background-color/002-xhtml.xhtml [ Failure ]
+crbug.com/591099 fast/body-propagation/background-color/003-declarative.xhtml [ Failure Pass ]
+crbug.com/591099 fast/body-propagation/background-color/003.html [ Failure Pass ]
+crbug.com/591099 fast/body-propagation/background-color/003-xhtml.xhtml [ Failure Pass ]
+crbug.com/591099 fast/body-propagation/background-color/004-declarative.xhtml [ Failure Pass ]
+crbug.com/591099 fast/body-propagation/background-color/004.html [ Failure Pass ]
+crbug.com/591099 fast/body-propagation/background-color/004-xhtml.xhtml [ Failure Pass ]
+crbug.com/591099 fast/body-propagation/background-color/005-declarative.xhtml [ Failure Pass ]
+crbug.com/591099 fast/body-propagation/background-color/005.html [ Failure Pass ]
+crbug.com/591099 fast/body-propagation/background-color/005-xhtml.xhtml [ Failure Pass ]
+crbug.com/591099 fast/body-propagation/background-color/006-declarative.xhtml [ Failure Pass ]
 crbug.com/591099 fast/body-propagation/background-color/006.html [ Failure Pass ]
+crbug.com/591099 fast/body-propagation/background-color/006-xhtml.xhtml [ Failure Pass ]
 crbug.com/591099 fast/body-propagation/background-color/007-declarative.xhtml [ Failure ]
 crbug.com/591099 fast/body-propagation/background-color/007.html [ Failure ]
 crbug.com/591099 fast/body-propagation/background-color/007-xhtml.xhtml [ Failure ]
+crbug.com/591099 fast/body-propagation/background-color/008.html [ Failure Pass ]
+crbug.com/591099 fast/body-propagation/background-color/008-xhtml.xhtml [ Failure Pass ]
+crbug.com/591099 fast/body-propagation/background-image/001.html [ Failure Pass ]
+crbug.com/591099 fast/body-propagation/background-image/001-xhtml.xhtml [ Failure Pass ]
 crbug.com/591099 fast/body-propagation/background-image/002.html [ Failure ]
 crbug.com/591099 fast/body-propagation/background-image/002-xhtml.xhtml [ Failure ]
+crbug.com/591099 fast/body-propagation/background-image/003-declarative.xhtml [ Failure Pass ]
+crbug.com/591099 fast/body-propagation/background-image/003.html [ Failure Pass ]
+crbug.com/591099 fast/body-propagation/background-image/003-xhtml.xhtml [ Failure Pass ]
+crbug.com/591099 fast/body-propagation/background-image/004-declarative.xhtml [ Failure Pass ]
+crbug.com/591099 fast/body-propagation/background-image/004.html [ Failure Pass ]
+crbug.com/591099 fast/body-propagation/background-image/004-xhtml.xhtml [ Failure Pass ]
+crbug.com/591099 fast/body-propagation/background-image/005-declarative.xhtml [ Failure Pass ]
+crbug.com/591099 fast/body-propagation/background-image/005.html [ Failure Pass ]
+crbug.com/591099 fast/body-propagation/background-image/005-xhtml.xhtml [ Failure Pass ]
+crbug.com/591099 fast/body-propagation/background-image/006-declarative.xhtml [ Failure Pass ]
+crbug.com/591099 fast/body-propagation/background-image/006.html [ Failure Pass ]
+crbug.com/591099 fast/body-propagation/background-image/006-xhtml.xhtml [ Failure Pass ]
 crbug.com/591099 fast/body-propagation/background-image/007-declarative.xhtml [ Failure ]
 crbug.com/591099 fast/body-propagation/background-image/007.html [ Failure ]
 crbug.com/591099 fast/body-propagation/background-image/007-xhtml.xhtml [ Failure ]
+crbug.com/591099 fast/body-propagation/background-image/008.html [ Failure Pass ]
+crbug.com/591099 fast/body-propagation/background-image/008-xhtml.xhtml [ Failure Pass ]
 crbug.com/591099 fast/body-propagation/background-image/009.html [ Failure ]
 crbug.com/591099 fast/body-propagation/background-image/009-xhtml.xhtml [ Failure ]
 crbug.com/591099 fast/body-propagation/background-image/010.html [ Failure ]
@@ -6229,7 +8229,7 @@
 crbug.com/591099 fast/borders/block-mask-overlay-image.html [ Failure ]
 crbug.com/591099 fast/borders/block-mask-overlay-image-outset.html [ Failure ]
 crbug.com/591099 fast/borders/border-antialiasing.html [ Failure ]
-crbug.com/591099 fast/borders/border-color-visited.html [ Failure ]
+crbug.com/591099 fast/borders/border-color-visited.html [ Crash Failure ]
 crbug.com/591099 fast/borders/border-image-01.html [ Failure ]
 crbug.com/591099 fast/borders/border-image-border-radius.html [ Failure ]
 crbug.com/591099 fast/borders/border-image-fill-inline-no-border.html [ Failure Pass ]
@@ -6251,7 +8251,7 @@
 crbug.com/591099 fast/borders/border-image-slices.html [ Failure ]
 crbug.com/591099 fast/borders/border-image-source.html [ Failure ]
 crbug.com/591099 fast/borders/border-image-width-negative.html [ Failure ]
-crbug.com/591099 fast/borders/border-image-width-numbers.html [ Failure ]
+crbug.com/591099 fast/borders/border-image-width-numbers.html [ Failure Pass ]
 crbug.com/591099 fast/borders/border-inner-bleed.html [ Failure ]
 crbug.com/591099 fast/borders/borderRadiusAllStylesAllCorners.html [ Failure ]
 crbug.com/591099 fast/borders/border-radius-child.html [ Failure ]
@@ -6261,21 +8261,22 @@
 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/borderRadiusDotted05.html [ Crash ]
 crbug.com/591099 fast/borders/borderRadiusDouble05.html [ Crash Pass ]
 crbug.com/591099 fast/borders/borderRadiusDouble07.html [ Crash Pass ]
 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 ]
 crbug.com/591099 fast/borders/borderRadiusInvalidColor.html [ Failure ]
-crbug.com/591099 fast/borders/border-radius-mask-canvas-all.html [ Failure ]
-crbug.com/591099 fast/borders/border-radius-mask-canvas-border.html [ Failure ]
-crbug.com/591099 fast/borders/border-radius-mask-canvas.html [ Failure ]
-crbug.com/591099 fast/borders/border-radius-mask-canvas-padding.html [ Failure ]
-crbug.com/591099 fast/borders/border-radius-mask-canvas-with-mask.html [ Failure ]
-crbug.com/591099 fast/borders/border-radius-mask-canvas-with-shadow.html [ Failure ]
-crbug.com/591099 fast/borders/border-radius-mask-video.html [ Failure ]
-crbug.com/591099 fast/borders/border-radius-mask-video-ratio.html [ Failure ]
-crbug.com/591099 fast/borders/border-radius-mask-video-shadow.html [ Failure ]
+crbug.com/591099 fast/borders/border-radius-mask-canvas-all.html [ Crash Failure ]
+crbug.com/591099 fast/borders/border-radius-mask-canvas-border.html [ Crash Failure ]
+crbug.com/591099 fast/borders/border-radius-mask-canvas.html [ Crash Failure ]
+crbug.com/591099 fast/borders/border-radius-mask-canvas-padding.html [ Crash Failure ]
+crbug.com/591099 fast/borders/border-radius-mask-canvas-with-mask.html [ Crash Failure ]
+crbug.com/591099 fast/borders/border-radius-mask-canvas-with-shadow.html [ Crash Failure ]
+crbug.com/591099 fast/borders/border-radius-mask-video.html [ Crash Failure ]
+crbug.com/591099 fast/borders/border-radius-mask-video-ratio.html [ Crash Failure ]
+crbug.com/591099 fast/borders/border-radius-mask-video-shadow.html [ Crash Failure ]
 crbug.com/591099 fast/borders/border-radius-percent.html [ Failure ]
 crbug.com/591099 fast/borders/border-radius-position.html [ Failure ]
 crbug.com/591099 fast/borders/border-radius-split-inline.html [ Failure ]
@@ -6315,12 +8316,14 @@
 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-shadow-large-offset.html [ Failure Pass ]
 crbug.com/591099 fast/box-shadow/inset-subpixel.html [ Failure ]
 crbug.com/591099 fast/box-shadow/inset-with-extraordinary-radii-and-border.html [ Failure ]
 crbug.com/591099 fast/box-shadow/no-blur-multiple-offsets.html [ Failure ]
 crbug.com/591099 fast/box-shadow/scaled-box-shadow.html [ Failure ]
 crbug.com/591099 fast/box-shadow/shadow-buffer-partial.html [ Crash Failure ]
 crbug.com/591099 fast/box-shadow/shadow-tiling-artifact.html [ Failure ]
+crbug.com/591099 fast/box-shadow/single-pixel-shadow.html [ Failure Pass ]
 crbug.com/591099 fast/box-shadow/spread.html [ Failure ]
 crbug.com/591099 fast/box-shadow/spread-multiple-inset.html [ Failure ]
 crbug.com/591099 fast/box-shadow/spread-multiple-normal.html [ Failure ]
@@ -6350,13 +8353,13 @@
 crbug.com/591099 fast/canvas/canvas-blending-image-over-image.html [ Failure ]
 crbug.com/591099 fast/canvas/canvas-blending-text.html [ Failure ]
 crbug.com/591099 fast/canvas/canvas-closePath-single-point.html [ Crash ]
-crbug.com/591099 fast/canvas/canvas-composite-alpha.html [ Failure ]
+crbug.com/591099 fast/canvas/canvas-composite-alpha.html [ Crash Failure ]
 crbug.com/591099 fast/canvas/canvas-composite-canvas.html [ Failure ]
 crbug.com/591099 fast/canvas/canvas-composite.html [ Failure Pass ]
 crbug.com/591099 fast/canvas/canvas-composite-image.html [ Failure ]
 crbug.com/591099 fast/canvas/canvas-composite-shadow.html [ Failure Pass ]
-crbug.com/591099 fast/canvas/canvas-composite-stroke-alpha.html [ Failure ]
-crbug.com/591099 fast/canvas/canvas-composite-text-alpha.html [ Failure ]
+crbug.com/591099 fast/canvas/canvas-composite-stroke-alpha.html [ Crash Failure ]
+crbug.com/591099 fast/canvas/canvas-composite-text-alpha.html [ Crash Failure ]
 crbug.com/591099 fast/canvas/canvas-composite-transformclip.html [ Failure Pass ]
 crbug.com/591099 fast/canvas/canvas-composite-video.html [ Failure Pass ]
 crbug.com/591099 fast/canvas/canvas-composite-video-shadow.html [ Failure Pass ]
@@ -6382,7 +8385,7 @@
 crbug.com/591099 fast/canvas/canvas-drawImage-live-video.html [ Crash ]
 crbug.com/591099 fast/canvas/canvas-drawImage-shadow.html [ Crash ]
 crbug.com/591099 fast/canvas/canvas-ellipse-360-winding.html [ Crash ]
-crbug.com/591099 fast/canvas/canvas-ellipse-connecting-line.html [ Failure ]
+crbug.com/591099 fast/canvas/canvas-ellipse-connecting-line.html [ Failure Pass ]
 crbug.com/591099 fast/canvas/canvas-ellipse.html [ Crash ]
 crbug.com/591099 fast/canvas/canvas-ellipse-zero-lineto.html [ Crash ]
 crbug.com/591099 fast/canvas/canvas-empty-image-pattern.html [ Crash ]
@@ -6439,6 +8442,7 @@
 crbug.com/591099 fast/canvas/canvas-pattern-set-transform.html [ Crash ]
 crbug.com/591099 fast/canvas/canvas-putImageData.html [ Crash ]
 crbug.com/591099 fast/canvas/canvas-quadratic-same-endpoint.html [ Crash ]
+crbug.com/591099 fast/canvas/canvas-render-layer.html [ Failure Pass ]
 crbug.com/591099 fast/canvas/canvas-resetTransform.html [ Crash ]
 crbug.com/591099 fast/canvas/canvas-resize-after-paint.html [ Crash ]
 crbug.com/591099 fast/canvas/canvas-scale-drawImage-shadow.html [ Crash ]
@@ -6448,7 +8452,7 @@
 crbug.com/591099 fast/canvas/canvas-scale-strokePath-shadow.html [ Crash ]
 crbug.com/591099 fast/canvas/canvas-scroll-path-into-view.html [ Failure Timeout ]
 crbug.com/591099 fast/canvas/canvas-set-properties-with-non-invertible-ctm.html [ Crash ]
-crbug.com/591099 fast/canvas/canvas-shadow-source-in.html [ Failure ]
+crbug.com/591099 fast/canvas/canvas-shadow-source-in.html [ Failure Pass ]
 crbug.com/591099 fast/canvas/canvas-skia-excessive-size.html [ Crash ]
 crbug.com/591099 fast/canvas/canvas-strokePath-alpha-shadow.html [ Crash ]
 crbug.com/591099 fast/canvas/canvas-strokePath-cap-join.html [ Crash ]
@@ -6461,6 +8465,7 @@
 crbug.com/591099 fast/canvas/canvas-text-space-characters.html [ Crash ]
 crbug.com/591099 fast/canvas/canvas-transforms-during-path.html [ Failure ]
 crbug.com/591099 fast/canvas/canvas-transforms-fillRect-shadow.html [ Crash ]
+crbug.com/591099 fast/canvas/check-stale-putImageData.html [ Crash Pass ]
 crbug.com/591099 fast/canvas/draw-focus-if-needed.html [ Crash ]
 crbug.com/591099 fast/canvas/draw-focus-if-needed-invisible-crash.html [ Crash ]
 crbug.com/591099 fast/canvas/draw-focus-if-needed-on-event.html [ Crash ]
@@ -6506,6 +8511,7 @@
 crbug.com/591099 fast/canvas/webgl/tex-sub-image-cube-maps.html [ Failure ]
 crbug.com/591099 fast/canvas/webgl/texture-color-profile.html [ Failure ]
 crbug.com/591099 fast/canvas/webgl/webgl-composite-modes.html [ Failure Pass ]
+crbug.com/591099 fast/canvas/webgl/webgl-composite-modes-repaint.html [ Failure Pass ]
 crbug.com/591099 fast/canvas/webgl/webgl-composite-modes-tabswitching.html [ Failure Pass ]
 crbug.com/591099 fast/canvas/webgl/webgl-texture-binding-preserved.html [ Failure ]
 crbug.com/591099 fast/canvas/webgl/webgl-viewport-parameters-preserved.html [ Failure ]
@@ -6534,7 +8540,7 @@
 crbug.com/591099 fast/compact/003.html [ Failure ]
 crbug.com/591099 fast/constructors/constructor-as-function-crash.html [ Failure ]
 crbug.com/591099 fast/cookies/cookies-disabled-in-data-url.html [ Failure ]
-crbug.com/591099 fast/css/001.html [ Failure ]
+crbug.com/591099 fast/css/001.html [ Crash Failure ]
 crbug.com/591099 fast/css/002.html [ Failure ]
 crbug.com/591099 fast/css/003.html [ Failure ]
 crbug.com/591099 fast/css/004.html [ Failure ]
@@ -6586,7 +8592,7 @@
 crbug.com/591099 fast/css3-text/css3-word-break/word-break-break-all-in-span.html [ Failure ]
 crbug.com/591099 fast/css3-text/css3-word-break/word-break-break-word-fit-content.html [ Failure ]
 crbug.com/591099 fast/css/absolute-child-with-percent-height-inside-relative-parent.html [ Failure ]
-crbug.com/591099 fast/css/absolute-child-with-percent-padding-inside-relative-parent.html [ Failure ]
+crbug.com/591099 fast/css/absolute-child-with-percent-padding-inside-relative-parent.html [ Failure Pass ]
 crbug.com/591099 fast/css/absolute-inline-alignment.html [ Failure ]
 crbug.com/591099 fast/css/absolute-poition-in-rtl-parent.html [ Failure ]
 crbug.com/591099 fast/css/abs-pos-child-inside-rel-pos-inline-001.html [ Failure ]
@@ -6604,6 +8610,8 @@
 crbug.com/591099 fast/css/atrule_longest_match.html [ Failure ]
 crbug.com/591099 fast/css/attribute-selector-begin-dynamic-no-elementstyle.html [ Failure ]
 crbug.com/591099 fast/css/attribute-selector-contain-dynamic-no-elementstyle.html [ Failure ]
+crbug.com/591099 fast/css/attribute-selector-dynamic.xml [ Failure Pass ]
+crbug.com/591099 fast/css/attribute-selector-empty-value.html [ Failure Pass ]
 crbug.com/591099 fast/css/attribute-selector-end-dynamic-no-elementstyle.html [ Failure ]
 crbug.com/591099 fast/css/attribute-selector-exact-dynamic-no-elementstyle.html [ Failure ]
 crbug.com/591099 fast/css/attribute-selector-hyphen-dynamic-no-elementstyle.html [ Failure ]
@@ -6619,8 +8627,9 @@
 crbug.com/591099 fast/css/background-position-inherit.html [ Failure ]
 crbug.com/591099 fast/css/background-shorthand-invalid-url.html [ Failure ]
 crbug.com/591099 fast/css/beforeSelectorOnCodeElement.html [ Failure ]
+crbug.com/591099 fast/css/begin-end-contain-selector-empty-value.html [ Failure Pass ]
 crbug.com/591099 fast/css/bfc-percentage-margin.html [ Failure ]
-crbug.com/591099 fast/css/bidi-override-in-anonymous-block.html [ Failure ]
+crbug.com/591099 fast/css/bidi-override-in-anonymous-block.html [ Crash Failure ]
 crbug.com/591099 fast/css/bogus-color-span.html [ Failure ]
 crbug.com/591099 fast/css/border-height.html [ Failure ]
 crbug.com/591099 fast/css/border-image-crash.html [ Failure ]
@@ -6639,8 +8648,9 @@
 crbug.com/591099 fast/css/box-sizing-backwards-compat-prefix.html [ Failure ]
 crbug.com/591099 fast/css/box-sizing-border-box-dynamic-padding-border-update.html [ Failure ]
 crbug.com/591099 fast/css/bug4860-absolute-block-child-does-not-inherit-alignment.html [ Failure ]
-crbug.com/591099 fast/css/button-first-line-change-color.html [ Failure ]
+crbug.com/591099 fast/css/button-first-line-change-color.html [ Failure Pass ]
 crbug.com/591099 fast/css/button-height.html [ Crash ]
+crbug.com/591099 fast/css/button-inner-child-crash.html [ Crash Pass ]
 crbug.com/591099 fast/css/cache/matched-properties-cache-partial-match.html [ Failure Pass ]
 crbug.com/591099 fast/css/calc-rounding.html [ Failure ]
 crbug.com/591099 fast/css/caption-width-absolute-position.htm [ Failure ]
@@ -6660,6 +8670,7 @@
 crbug.com/591099 fast/css/clear-activechain-list.html [ Failure ]
 crbug.com/591099 fast/css/clear-activechain-list-shadow-dom.html [ Failure ]
 crbug.com/591099 fast/css/clip-text-in-scaled-div.html [ Failure ]
+crbug.com/591099 fast/css/clip-zooming.html [ Failure Pass ]
 crbug.com/591099 fast/css/cloneNode-after-deleteRule-crash.html [ Failure ]
 crbug.com/591099 fast/css/collapsed-whitespace-reattach-in-style-recalc.html [ Failure ]
 crbug.com/591099 fast/css/color-correction-backgrounds-and-text.html [ Failure ]
@@ -6672,7 +8683,8 @@
 crbug.com/591099 fast/css/color-correction-untagged-images.html [ Failure ]
 crbug.com/591099 fast/css/color-leakage.html [ Failure ]
 crbug.com/591099 fast/css/color-quirk.html [ Failure ]
-crbug.com/591099 fast/css/compare-content-style.html [ Failure ]
+crbug.com/591099 fast/css/color-strict.html [ Failure Pass ]
+crbug.com/591099 fast/css/compare-content-style.html [ Crash Failure ]
 crbug.com/591099 fast/css/computed-image-width-with-percent-height.html [ Failure ]
 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 ]
@@ -6686,7 +8698,7 @@
 crbug.com/591099 fast/css/content/content-quotes-04.html [ Failure ]
 crbug.com/591099 fast/css/content/content-quotes-05.html [ Failure ]
 crbug.com/591099 fast/css/content/content-quotes-06.html [ Failure ]
-crbug.com/591099 fast/css/content/content-quotes-crash.html [ Failure ]
+crbug.com/591099 fast/css/content/content-quotes-crash.html [ Crash Failure ]
 crbug.com/591099 fast/css/content-disallowed-url-crash.html [ Crash ]
 crbug.com/591099 fast/css/content-distributed-nodes.html [ Failure ]
 crbug.com/591099 fast/css/contentDiv.html [ Failure Pass ]
@@ -6705,7 +8717,7 @@
 crbug.com/591099 fast/css/content-language-no-content.html [ Failure ]
 crbug.com/591099 fast/css/content-language-only-whitespace.html [ Failure ]
 crbug.com/591099 fast/css/content-language-with-whitespace.html [ Failure ]
-crbug.com/591099 fast/css/continuationCrash.html [ Failure ]
+crbug.com/591099 fast/css/continuationCrash.html [ Crash Failure ]
 crbug.com/591099 fast/css/counters/2displays.html [ Failure ]
 crbug.com/591099 fast/css/counters/adding-nodes.html [ Failure ]
 crbug.com/591099 fast/css/counters/after-continuation.html [ Failure ]
@@ -6727,13 +8739,15 @@
 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 Failure ]
+crbug.com/591099 fast/css/counters/reparent-table-children-with-counters-crash.html [ Crash Pass ]
 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-inherit-value-font-family.html [ Crash Pass ]
 crbug.com/591099 fast/css/crash-layout-detached-document.html [ Crash ]
 crbug.com/591099 fast/css/create_element_align.xhtml [ Failure ]
 crbug.com/591099 fast/css/css1_forward_compatible_parsing.html [ Failure ]
 crbug.com/591099 fast/css/css3-ch-unit.html [ Failure ]
-crbug.com/591099 fast/css/css3-modsel-22.html [ Failure ]
+crbug.com/591099 fast/css/css3-modsel-22.html [ Crash Failure ]
 crbug.com/591099 fast/css/css3-nth-child.html [ Failure ]
 crbug.com/591099 fast/css/css3-nth-space.html [ Failure ]
 crbug.com/591099 fast/css/css3-nth-tokens-script.html [ Failure ]
@@ -6743,7 +8757,7 @@
 crbug.com/591099 fast/css/css-keyframe-style-parentRule.html [ Failure ]
 crbug.com/591099 fast/css/css-namespace-rule.html [ Failure ]
 crbug.com/591099 fast/css/cssom-remove-shorthand-property.html [ Failure ]
-crbug.com/591099 fast/css/css-properties-case-insensitive.html [ Failure ]
+crbug.com/591099 fast/css/css-properties-case-insensitive.html [ Crash Failure ]
 crbug.com/591099 fast/css/css-properties-position-relative-as-parent-fixed.html [ Failure ]
 crbug.com/591099 fast/css/css-selector-deeply-nested.html [ Failure ]
 crbug.com/591099 fast/css/css-selector-text.html [ Failure ]
@@ -6751,6 +8765,7 @@
 crbug.com/591099 fast/css/csstext-of-content-string.html [ Failure ]
 crbug.com/591099 fast/css/cubic-bezier-with-multiple-calcs-crash.html [ Failure ]
 crbug.com/591099 fast/css/cue-serialize.html [ Failure ]
+crbug.com/591099 fast/css/cursor-image-list-item-crash.html [ Crash Pass ]
 crbug.com/591099 fast/css/cursor-parsing.html [ Failure ]
 crbug.com/591099 fast/css/cursor-parsing-image-set.html [ Failure ]
 crbug.com/591099 fast/css/cursor-parsing-quirks.html [ Failure ]
@@ -6766,8 +8781,9 @@
 crbug.com/591099 fast/css/draggable-region-parser.html [ Failure ]
 crbug.com/591099 fast/css/dynamic-class-backdrop-pseudo.html [ Failure ]
 crbug.com/591099 fast/css/dynamic-class-pseudo-elements.html [ Failure ]
-crbug.com/591099 fast/css/dynamic-pseudo-class.html [ Failure ]
+crbug.com/591099 fast/css/dynamic-pseudo-class.html [ Crash Failure ]
 crbug.com/591099 fast/css/dynamic-sibling-selector.html [ Failure ]
+crbug.com/591099 fast/css/empty-body-test.html [ Failure Pass ]
 crbug.com/591099 fast/css/empty-display-none.html [ Failure ]
 crbug.com/591099 fast/css/empty-generated-content.html [ Failure ]
 crbug.com/591099 fast/css/empty-inline-003-quirksmode.htm [ Failure ]
@@ -6779,10 +8795,11 @@
 crbug.com/591099 fast/css/error-in-last-decl.html [ Failure ]
 crbug.com/591099 fast/css/ex-after-font-variant.html [ Failure ]
 crbug.com/591099 fast/css/ex-unit-with-no-x-height.html [ Failure ]
-crbug.com/591099 fast/css/fieldset-display-row.html [ Failure ]
+crbug.com/591099 fast/css/fieldset-display-row.html [ Crash Failure ]
 crbug.com/591099 fast/css/find-next-layer.html [ Failure ]
 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-block-form-controls-crash.html [ Crash Failure ]
+crbug.com/591099 fast/css/first-letter-capitalized-edit-select-crash.html [ Crash Pass ]
 crbug.com/591099 fast/css/first-letter-capitalized.html [ Failure ]
 crbug.com/591099 fast/css/first-letter-crash-document-disposal.html [ Crash Failure ]
 crbug.com/591099 fast/css/first-letter-detach.html [ Failure ]
@@ -6792,9 +8809,10 @@
 crbug.com/591099 fast/css/first-letter-hover.html [ Failure ]
 crbug.com/591099 fast/css/first-letter-inline-flow-split-table-crash.html [ Crash ]
 crbug.com/591099 fast/css/first-letter-nested.html [ Failure ]
+crbug.com/591099 fast/css/first-letter-recalculation.html [ Failure Pass ]
 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-to-non-block-container.html [ Crash 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 ]
@@ -6815,6 +8833,7 @@
 crbug.com/591099 fast/css/focus-ring-recursive-inlines.html [ Failure ]
 crbug.com/591099 fast/css/font-face-add-same-family-later.html [ Failure ]
 crbug.com/591099 fast/css/fontface-arraybuffer.html [ Failure Timeout ]
+crbug.com/591099 fast/css/font-face-attribute-remove.html [ Crash ]
 crbug.com/591099 fast/css/font-face-cache-bug.html [ Failure ]
 crbug.com/591099 fast/css/font-face-cache-version.html [ Crash ]
 crbug.com/591099 fast/css/fontface-constructor-error.html [ Failure ]
@@ -6867,24 +8886,29 @@
 crbug.com/591099 fast/css/font-smoothing.html [ Failure ]
 crbug.com/591099 fast/css/font-variant-shorthand-from-longhands.html [ Failure ]
 crbug.com/591099 fast/css/font-variant-with-all.html [ Failure ]
+crbug.com/591099 fast/css/font-weight-1.html [ Failure Pass ]
 crbug.com/591099 fast/css/foreignObject-bloom-filter.html [ Failure ]
 crbug.com/591099 fast/css-generated-content/001.html [ Failure ]
 crbug.com/591099 fast/css-generated-content/002.html [ Failure ]
 crbug.com/591099 fast/css-generated-content/003.html [ Failure ]
+crbug.com/591099 fast/css-generated-content/004.html [ Failure Pass ]
 crbug.com/591099 fast/css-generated-content/005.html [ Failure ]
 crbug.com/591099 fast/css-generated-content/007.html [ Failure ]
 crbug.com/591099 fast/css-generated-content/008.html [ Failure ]
-crbug.com/591099 fast/css-generated-content/009.html [ Failure ]
+crbug.com/591099 fast/css-generated-content/009.html [ Crash Failure ]
 crbug.com/591099 fast/css-generated-content/010.html [ Failure ]
 crbug.com/591099 fast/css-generated-content/011.html [ Failure ]
 crbug.com/591099 fast/css-generated-content/012.html [ Failure ]
 crbug.com/591099 fast/css-generated-content/013.html [ Failure ]
 crbug.com/591099 fast/css-generated-content/014.html [ Failure ]
 crbug.com/591099 fast/css-generated-content/015.html [ Failure ]
+crbug.com/591099 fast/css-generated-content/016.html [ Failure Pass ]
 crbug.com/591099 fast/css-generated-content/after-duplicated-after-split.html [ Failure ]
 crbug.com/591099 fast/css-generated-content/after-order.html [ Failure ]
 crbug.com/591099 fast/css-generated-content/attr-missing.html [ Failure ]
 crbug.com/591099 fast/css-generated-content/beforeAfter-interdocument.html [ Failure ]
+crbug.com/591099 fast/css-generated-content/before-content-continuation-chain.html [ Failure Pass ]
+crbug.com/591099 fast/css-generated-content/before-content-with-list-marker-in-anon-block-crash.html [ Crash Pass ]
 crbug.com/591099 fast/css-generated-content/before-with-first-letter.html [ Failure ]
 crbug.com/591099 fast/css-generated-content/block-after.html [ Failure ]
 crbug.com/591099 fast/css-generated-content/bug-106384.html [ Failure ]
@@ -6892,10 +8916,12 @@
 crbug.com/591099 fast/css-generated-content/crash-selection-editing-removes-pseudo.html [ Crash ]
 crbug.com/591099 fast/css-generated-content/details-before-after-content.html [ Crash ]
 crbug.com/591099 fast/css-generated-content/drag-state.html [ Failure ]
+crbug.com/591099 fast/css-generated-content/dynamic-apply-after-for-inline.html [ Crash Pass ]
 crbug.com/591099 fast/css-generated-content/empty-content-with-float-crash.html [ Failure ]
 crbug.com/591099 fast/css-generated-content/empty-first-letter-with-columns-crash.html [ Crash Pass ]
 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 Pass ]
+crbug.com/591099 fast/css-generated-content/floating-before-content-with-list-marker-crash.html [ Crash Pass ]
 crbug.com/591099 fast/css-generated-content/hit-test-generated-content.html [ Failure ]
 crbug.com/591099 fast/css-generated-content/hover-inline.html [ Failure Pass ]
 crbug.com/591099 fast/css-generated-content/hover-style-change.html [ Failure ]
@@ -6913,13 +8939,15 @@
 crbug.com/591099 fast/css-generated-content/quote-layout-focus-crash.html [ Failure ]
 crbug.com/591099 fast/css-generated-content/reset-content-to-initial.html [ Failure ]
 crbug.com/591099 fast/css-generated-content/spellingToolTip-assert.html [ Failure ]
+crbug.com/591099 fast/css-generated-content/summary-before-after-content.html [ Crash Pass ]
 crbug.com/591099 fast/css-generated-content/table-before-after-child-add.html [ Failure ]
 crbug.com/591099 fast/css-generated-content/table-cell-before-after-child-add.html [ Failure ]
 crbug.com/591099 fast/css-generated-content/table-cell-before-content.html [ Failure Pass ]
 crbug.com/591099 fast/css-generated-content/table-parts-before-and-after.html [ Failure Pass ]
 crbug.com/591099 fast/css-generated-content/table-row-after-no-crash.html [ Failure ]
 crbug.com/591099 fast/css-generated-content/table-row-before-after-child-add.html [ Failure ]
-crbug.com/591099 fast/css-generated-content/table-row-group-to-inline.html [ Failure ]
+crbug.com/591099 fast/css-generated-content/table-row-before-after.html [ Failure Pass ]
+crbug.com/591099 fast/css-generated-content/table-row-group-to-inline.html [ Crash Failure ]
 crbug.com/591099 fast/css-generated-content/table-row-group-with-before.html [ Failure ]
 crbug.com/591099 fast/css-generated-content/table-row-with-before.html [ Failure ]
 crbug.com/591099 fast/css-generated-content/table-table-before-after-child-add.html [ Failure ]
@@ -7126,7 +9154,7 @@
 crbug.com/591099 fast/css-grid-layout/grid-margins-not-collapse.html [ Failure ]
 crbug.com/591099 fast/css-grid-layout/grid-only-abspos-item-computed-style-crash.html [ Failure ]
 crbug.com/591099 fast/css-grid-layout/grid-painting-respect-dom-order.html [ Failure ]
-crbug.com/591099 fast/css-grid-layout/grid-painting-rtl.html [ Failure ]
+crbug.com/591099 fast/css-grid-layout/grid-painting-rtl.html [ Failure Pass ]
 crbug.com/591099 fast/css-grid-layout/grid-percent-track-margin-border-padding.html [ Failure ]
 crbug.com/591099 fast/css-grid-layout/grid-percent-track-scrollbar.html [ Failure ]
 crbug.com/591099 fast/css-grid-layout/grid-positioned-children-writing-modes.html [ Failure ]
@@ -7254,11 +9282,12 @@
 crbug.com/591099 fast/css-grid-layout/vertical-align-do-not-effect-grid-items.html [ Failure Pass ]
 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 ]
+crbug.com/591099 fast/css/heightless-list-item.html [ Crash Failure ]
 crbug.com/591099 fast/css/hexColor-isDigit-assert.html [ Failure ]
 crbug.com/591099 fast/css/hover-active-drag.html [ Failure ]
 crbug.com/591099 fast/css/hover-active-quirks.html [ Failure ]
-crbug.com/591099 fast/css/hover-affects-ancestor.html [ Failure ]
+crbug.com/591099 fast/css/hover-affects-ancestor.html [ Crash Failure ]
+crbug.com/591099 fast/css/hover-affects-child.html [ Crash Pass ]
 crbug.com/591099 fast/css/hover-after-clicking-embed.html [ Failure ]
 crbug.com/591099 fast/css/hover-after-drag.html [ Failure ]
 crbug.com/591099 fast/css/hover-display-block.html [ Failure ]
@@ -7274,10 +9303,10 @@
 crbug.com/591099 fast/css/id-or-class-before-stylesheet.html [ Failure ]
 crbug.com/591099 fast/css/id-or-class-before-stylesheet-strict.html [ Failure ]
 crbug.com/591099 fast/css/ignore-empty-focus-ring-rects.html [ Failure ]
-crbug.com/591099 fast/css/image-orientation/image-orientation-default.html [ Failure ]
-crbug.com/591099 fast/css/image-orientation/image-orientation-from-image-composited-dynamic.html [ Failure ]
-crbug.com/591099 fast/css/image-orientation/image-orientation-from-image-composited.html [ Failure ]
-crbug.com/591099 fast/css/image-orientation/image-orientation-from-image.html [ Failure ]
+crbug.com/591099 fast/css/image-orientation/image-orientation-default.html [ Crash Failure ]
+crbug.com/591099 fast/css/image-orientation/image-orientation-from-image-composited-dynamic.html [ Crash Failure ]
+crbug.com/591099 fast/css/image-orientation/image-orientation-from-image-composited.html [ Crash Failure ]
+crbug.com/591099 fast/css/image-orientation/image-orientation-from-image.html [ Crash Failure ]
 crbug.com/591099 fast/css/image-orientation/image-orientation.html [ Failure ]
 crbug.com/591099 fast/css/image-set-parsing.html [ Failure ]
 crbug.com/591099 fast/css/image-set-parsing-invalid.html [ Failure ]
@@ -7298,7 +9327,7 @@
 crbug.com/591099 fast/css/inline-table-first-row-empty.html [ Failure ]
 crbug.com/591099 fast/css/inline-table-first-row-empty-non-auto.html [ Failure ]
 crbug.com/591099 fast/css/inline-table-first-row-non-empty-cell-non-auto-content.html [ Failure ]
-crbug.com/591099 fast/css/input-search-padding.html [ Failure ]
+crbug.com/591099 fast/css/input-search-padding.html [ Crash Failure ]
 crbug.com/591099 fast/css/insertRule-font-face.html [ Failure ]
 crbug.com/591099 fast/css/insertRule-media.html [ Failure ]
 crbug.com/591099 fast/css-intrinsic-dimensions/fillavailable-minmax-content-inlinesize-contribution-nonreplaced-blocks.html [ Failure ]
@@ -7356,14 +9385,14 @@
 crbug.com/591099 fast/css/invalidation/lazy-reattach-object.html [ Failure ]
 crbug.com/591099 fast/css/invalidation/link-pseudo.html [ Failure ]
 crbug.com/591099 fast/css/invalidation/no-invalidation-set-local-style.html [ Failure ]
-crbug.com/591099 fast/css/invalidation/range-pseudo.html [ Failure ]
+crbug.com/591099 fast/css/invalidation/range-pseudo.html [ Crash Failure ]
 crbug.com/591099 fast/css/invalidation/read-only-write-pseudo.html [ Failure ]
 crbug.com/591099 fast/css/invalidation/reattach-with-sibling-invalidation.html [ Crash ]
 crbug.com/591099 fast/css/invalidation/recalc-direct-adjacent-001.html [ Failure ]
 crbug.com/591099 fast/css/invalidation/recalc-direct-adjacent-002.html [ Failure ]
 crbug.com/591099 fast/css/invalidation/removed-hover-shadow-rule.html [ Failure ]
 crbug.com/591099 fast/css/invalidation/required-optional-pseudo.html [ Failure ]
-crbug.com/591099 fast/css/invalidation/scrollbar-pseudo-classes.html [ Failure ]
+crbug.com/591099 fast/css/invalidation/scrollbar-pseudo-classes.html [ Failure Pass ]
 crbug.com/591099 fast/css/invalidation/scrollbar-pseudo.html [ Failure ]
 crbug.com/591099 fast/css/invalidation/selection-pseudo.html [ Failure ]
 crbug.com/591099 fast/css/invalidation/shadow-add-sheet-content.html [ Failure ]
@@ -7378,7 +9407,7 @@
 crbug.com/591099 fast/css/invalidation/targeted-attribute-style-invalidation.html [ Failure ]
 crbug.com/591099 fast/css/invalidation/targeted-class-any-pseudo.html [ Failure ]
 crbug.com/591099 fast/css/invalidation/targeted-class-content-pseudo.html [ Failure ]
-crbug.com/591099 fast/css/invalidation/targeted-class-custom-pseudo.html [ Failure ]
+crbug.com/591099 fast/css/invalidation/targeted-class-custom-pseudo.html [ Crash Failure ]
 crbug.com/591099 fast/css/invalidation/targeted-class-host-pseudo.html [ Failure ]
 crbug.com/591099 fast/css/invalidation/targeted-class-id.html [ Failure ]
 crbug.com/591099 fast/css/invalidation/targeted-class-style-invalidation.html [ Failure ]
@@ -7408,24 +9437,28 @@
 crbug.com/591099 fast/css/last-of-type-pseudo-class.html [ Failure ]
 crbug.com/591099 fast/css/layerZOrderCrash.html [ Failure ]
 crbug.com/591099 fast/css/legacy-opacity-styles.html [ Failure ]
+crbug.com/591099 fast/css/line-after-floating-div.html [ Failure Pass ]
 crbug.com/591099 fast/css/line-height-determined-by-primary-font.html [ Failure ]
-crbug.com/591099 fast/css/line-height.html [ Failure ]
+crbug.com/591099 fast/css/line-height-font-order.html [ Failure Pass ]
+crbug.com/591099 fast/css/line-height.html [ Crash Failure ]
 crbug.com/591099 fast/css/line-height-negative.html [ Failure ]
 crbug.com/591099 fast/css/line-height-overflow.html [ Failure ]
 crbug.com/591099 fast/css/line-height-rounding.html [ Failure ]
 crbug.com/591099 fast/css/line-thickness-underline-strikethrough-overline.html [ Failure ]
-crbug.com/591099 fast/css/link-alternate-stylesheet-1.html [ Failure ]
-crbug.com/591099 fast/css/link-alternate-stylesheet-2.html [ Failure ]
-crbug.com/591099 fast/css/link-alternate-stylesheet-3.html [ Failure ]
-crbug.com/591099 fast/css/link-alternate-stylesheet-4.html [ Failure ]
-crbug.com/591099 fast/css/link-alternate-stylesheet-5.html [ Failure ]
+crbug.com/591099 fast/css/link-alternate-stylesheet-1.html [ Crash Failure ]
+crbug.com/591099 fast/css/link-alternate-stylesheet-2.html [ Crash Failure ]
+crbug.com/591099 fast/css/link-alternate-stylesheet-3.html [ Crash Failure ]
+crbug.com/591099 fast/css/link-alternate-stylesheet-4.html [ Crash Failure ]
+crbug.com/591099 fast/css/link-alternate-stylesheet-5.html [ Crash Failure ]
 crbug.com/591099 fast/css/link-disabled-attr.html [ Failure ]
 crbug.com/591099 fast/css/link-disabled-attr-parser.html [ Failure ]
 crbug.com/591099 fast/css/link-outside-head.html [ Failure ]
 crbug.com/591099 fast/css/list-item-pseudo-nocrash.html [ Failure ]
-crbug.com/591099 fast/css/list-item-text-align.html [ Failure ]
-crbug.com/591099 fast/css/list-outline.html [ Failure ]
+crbug.com/591099 fast/css/list-item-text-align.html [ Crash Failure ]
+crbug.com/591099 fast/css/list-outline.html [ Crash Failure ]
+crbug.com/591099 fast/css/live-cssrules.html [ Failure Pass ]
 crbug.com/591099 fast/css/margin-bottom-form-element-quirk.html [ Failure ]
+crbug.com/591099 fast/css/margin-bottom-form-element-strict.html [ Failure Pass ]
 crbug.com/591099 fast/css/margin-collapse-013-reduction.html [ Failure ]
 crbug.com/591099 fast/css/margin-collapse-top-margin-clearance.html [ Failure ]
 crbug.com/591099 fast/css/margin-collapse-top-margin-clearance-with-sibling.html [ Failure ]
@@ -7448,7 +9481,16 @@
 crbug.com/591099 fast/css/min-width-with-spanned-cell-fixed.html [ Failure Pass ]
 crbug.com/591099 fast/css/min-width-with-spanned-cell.html [ Failure Pass ]
 crbug.com/591099 fast/css/misplaced-charset.html [ Failure ]
+crbug.com/591099 fast/css/namespaces/001.xml [ Failure Pass ]
+crbug.com/591099 fast/css/namespaces/002.xml [ Failure Pass ]
+crbug.com/591099 fast/css/namespaces/003.xml [ Failure Pass ]
+crbug.com/591099 fast/css/namespaces/004.xml [ Failure Pass ]
+crbug.com/591099 fast/css/namespaces/005.xml [ Failure Pass ]
+crbug.com/591099 fast/css/namespaces/006.xml [ Failure Pass ]
+crbug.com/591099 fast/css/namespaces/007.xml [ Failure Pass ]
 crbug.com/591099 fast/css/namespaces/namespaces-comments.xml [ Failure ]
+crbug.com/591099 fast/css/namespaces/namespaces-empty.xml [ Failure Pass ]
+crbug.com/591099 fast/css/namespaces/namespaces-escapes.xml [ Failure Pass ]
 crbug.com/591099 fast/css/namespaces/namespaces-invalid-at.xml [ Failure ]
 crbug.com/591099 fast/css/negative-leading.html [ Failure ]
 crbug.com/591099 fast/css/negative-nth-child.html [ Failure ]
@@ -7464,6 +9506,7 @@
 crbug.com/591099 fast/css/nth-child-dynamic-002.html [ Failure ]
 crbug.com/591099 fast/css/nth-child-dynamic.html [ Failure ]
 crbug.com/591099 fast/css/nth-child-implied-step.html [ Failure ]
+crbug.com/591099 fast/css/nth-child-negative-a-param.html [ Crash Pass ]
 crbug.com/591099 fast/css/nth-child-n.html [ Failure ]
 crbug.com/591099 fast/css/nth-child-no-mutations.html [ Failure ]
 crbug.com/591099 fast/css/nth-child-odd-case-insensitive.html [ Failure ]
@@ -7512,6 +9555,7 @@
 crbug.com/591099 fast/css/parsing-object-position.html [ Failure ]
 crbug.com/591099 fast/css/parsing-text-rendering.html [ Failure ]
 crbug.com/591099 fast/css/parsing-webkit-font-smoothing.html [ Failure ]
+crbug.com/591099 fast/css/pending-images-crash.html [ Crash Pass ]
 crbug.com/591099 fast/css/pendingStylesheetFontSize.html [ Failure ]
 crbug.com/591099 fast/css/pending-stylesheet-repaint.html [ Failure ]
 crbug.com/591099 fast/css/percentage-height-auto-sized-body-quirks.html [ Failure ]
@@ -7521,13 +9565,14 @@
 crbug.com/591099 fast/css/percent-top-value-with-relative-position.html [ Failure ]
 crbug.com/591099 fast/css/percent-width-img-inside-zero-percent-and-fixed-container.html [ Failure Pass ]
 crbug.com/591099 fast/css/percent-width-img-src-change.html [ Failure ]
+crbug.com/591099 fast/css/placeholder-shown-basics.html [ Crash Pass ]
 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 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 ]
-crbug.com/591099 fast/css/pseudo-any.html [ Failure ]
+crbug.com/591099 fast/css/pseudo-any.html [ Crash Failure ]
 crbug.com/591099 fast/css/pseudo-cache-stale.html [ Failure ]
 crbug.com/591099 fast/css/pseudo-default-001.html [ Failure ]
 crbug.com/591099 fast/css/pseudo-default-002.html [ Failure ]
@@ -7543,36 +9588,38 @@
 crbug.com/591099 fast/css/pseudo-empty-display-none.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 ]
-crbug.com/591099 fast/css/pseudo-invalid-001.html [ Failure ]
+crbug.com/591099 fast/css/pseudo-in-range.html [ Crash Failure ]
+crbug.com/591099 fast/css/pseudo-in-range-invalid-value.html [ Crash Failure ]
+crbug.com/591099 fast/css/pseudo-invalid-001.html [ Crash Failure ]
 crbug.com/591099 fast/css/pseudo-invalid-002.html [ Failure ]
-crbug.com/591099 fast/css/pseudo-invalid-novalidate-001.html [ Failure ]
+crbug.com/591099 fast/css/pseudo-invalid-novalidate-001.html [ Crash Failure ]
 crbug.com/591099 fast/css/pseudo-not-empty-adjacent-dynamic.html [ Failure ]
 crbug.com/591099 fast/css/pseudo-not.html [ Failure ]
-crbug.com/591099 fast/css/pseudo-out-of-range.html [ Failure ]
-crbug.com/591099 fast/css/pseudo-required-optional-001.html [ Failure ]
-crbug.com/591099 fast/css/pseudo-required-optional-002.html [ Failure ]
-crbug.com/591099 fast/css/pseudo-required-optional-003.html [ Failure ]
-crbug.com/591099 fast/css/pseudo-required-optional-004.html [ Failure ]
-crbug.com/591099 fast/css/pseudo-required-optional-005.html [ Failure ]
-crbug.com/591099 fast/css/pseudo-required-optional-006.html [ Failure ]
+crbug.com/591099 fast/css/pseudo-out-of-range.html [ Crash Failure ]
+crbug.com/591099 fast/css/pseudo-required-optional-001.html [ Crash Failure ]
+crbug.com/591099 fast/css/pseudo-required-optional-002.html [ Crash Failure ]
+crbug.com/591099 fast/css/pseudo-required-optional-003.html [ Crash Failure ]
+crbug.com/591099 fast/css/pseudo-required-optional-004.html [ Crash Failure ]
+crbug.com/591099 fast/css/pseudo-required-optional-005.html [ Crash Failure ]
+crbug.com/591099 fast/css/pseudo-required-optional-006.html [ Crash Failure ]
 crbug.com/591099 fast/css/pseudo-required-optional-unapplied.html [ Failure ]
+crbug.com/591099 fast/css/pseudo-required-shared.html [ Crash Pass ]
 crbug.com/591099 fast/css/pseudostyle-anonymous-text.html [ Failure ]
 crbug.com/591099 fast/css/pseudo-target-indirect-sibling-001.html [ Failure ]
 crbug.com/591099 fast/css/pseudo-target-indirect-sibling-002.html [ Failure ]
-crbug.com/591099 fast/css/pseudo-valid-001.html [ Failure ]
-crbug.com/591099 fast/css/pseudo-valid-002.html [ Failure ]
-crbug.com/591099 fast/css/pseudo-valid-004.html [ Failure ]
+crbug.com/591099 fast/css/pseudo-valid-001.html [ Crash Failure ]
+crbug.com/591099 fast/css/pseudo-valid-002.html [ Crash Failure ]
+crbug.com/591099 fast/css/pseudo-valid-004.html [ Crash Failure ]
 crbug.com/591099 fast/css/pseudo-valid-007.html [ Failure ]
-crbug.com/591099 fast/css/pseudo-valid-dynamic.html [ Failure ]
+crbug.com/591099 fast/css/pseudo-valid-dynamic.html [ Crash Failure ]
 crbug.com/591099 fast/css/pseudo-valid-unapplied.html [ Failure ]
+crbug.com/591099 fast/css/quirks-mode-ignore-list-item.html [ Crash Pass ]
 crbug.com/591099 fast/css/quotes-computedstyle.html [ Failure ]
-crbug.com/591099 fast/css/readonly-pseudoclass-opera-001.html [ Failure ]
-crbug.com/591099 fast/css/readonly-pseudoclass-opera-002.html [ Failure ]
-crbug.com/591099 fast/css/readonly-pseudoclass-opera-003.html [ Failure ]
-crbug.com/591099 fast/css/readonly-pseudoclass-opera-004.html [ Failure ]
-crbug.com/591099 fast/css/readonly-pseudoclass-opera-005.html [ Failure ]
+crbug.com/591099 fast/css/readonly-pseudoclass-opera-001.html [ Crash Failure ]
+crbug.com/591099 fast/css/readonly-pseudoclass-opera-002.html [ Crash Failure ]
+crbug.com/591099 fast/css/readonly-pseudoclass-opera-003.html [ Crash Failure ]
+crbug.com/591099 fast/css/readonly-pseudoclass-opera-004.html [ Crash Failure ]
+crbug.com/591099 fast/css/readonly-pseudoclass-opera-005.html [ Crash Failure ]
 crbug.com/591099 fast/css/readwrite-contenteditable.html [ Failure ]
 crbug.com/591099 fast/css/recalc-inherit-001.html [ Failure ]
 crbug.com/591099 fast/css/recursive-delay-update-scroll.html [ Failure ]
@@ -7595,7 +9642,7 @@
 crbug.com/591099 fast/css/remove-class-name.html [ Failure ]
 crbug.com/591099 fast/css/remove-fixed-resizer-crash.html [ Failure ]
 crbug.com/591099 fast/css/remove-sheet-no-layout.html [ Failure ]
-crbug.com/591099 fast/css/remove-shorthand.html [ Failure ]
+crbug.com/591099 fast/css/remove-shorthand.html [ Crash Failure ]
 crbug.com/591099 fast/css/remove-style-after-insert-import-rule-crash.html [ Failure ]
 crbug.com/591099 fast/css/remove-stylesheet-from-shadow-form-crash.html [ Failure ]
 crbug.com/591099 fast/css/rem-units-on-root.html [ Failure ]
@@ -7603,12 +9650,13 @@
 crbug.com/591099 fast/css/replaced-element-ignore-top-bottom.html [ Crash ]
 crbug.com/591099 fast/css/replaced-element-implicit-size.html [ Failure ]
 crbug.com/591099 fast/css/resize-corner-tracking.html [ Failure ]
-crbug.com/591099 fast/css/resize-corner-tracking-touch.html [ Failure ]
+crbug.com/591099 fast/css/resize-corner-tracking-touch.html [ Crash Failure ]
 crbug.com/591099 fast/css/resize-corner-tracking-transformed.html [ Failure ]
 crbug.com/591099 fast/css/resize-corner-tracking-transformed-iframe.html [ Failure ]
 crbug.com/591099 fast/css/resize-value-compared.html [ Failure ]
 crbug.com/591099 fast/css/resource-timing-for-unloaded-font.html [ Failure ]
 crbug.com/591099 fast/css/rgba-custom-text.html [ Failure ]
+crbug.com/591099 fast/css/rgb-float.html [ Failure Pass ]
 crbug.com/591099 fast/css/round-trip-values.html [ Failure ]
 crbug.com/591099 fast/css/rtl-nth-child-first-letter-crash.html [ Failure ]
 crbug.com/591099 fast/css/rtl-ordering.html [ Failure ]
@@ -7617,7 +9665,7 @@
 crbug.com/591099 fast/css/scrollbar-crash.html [ Failure ]
 crbug.com/591099 fast/css/scroll-snap-parsing.html [ Failure ]
 crbug.com/591099 fast/css/selector-set-attribute.html [ Failure ]
-crbug.com/591099 fast/css/selector-text-escape.html [ Failure ]
+crbug.com/591099 fast/css/selector-text-escape.html [ Crash Failure ]
 crbug.com/591099 fast/css/serialize-style-with-all-crash.html [ Failure ]
 crbug.com/591099 fast/css/shadow-dom-scope.html [ Crash ]
 crbug.com/591099 fast/css/shadow-multiple.html [ Failure ]
@@ -7629,6 +9677,8 @@
 crbug.com/591099 fast/css/shorthand-setProperty-important.html [ Failure ]
 crbug.com/591099 fast/css/shorthands-four-values.html [ Failure ]
 crbug.com/591099 fast/css/sibling-selectors.html [ Failure ]
+crbug.com/591099 fast/css/simple-selector-chain-parsing.html [ Failure Pass ]
+crbug.com/591099 fast/css/square-button-appearance.html [ Failure Pass ]
 crbug.com/591099 fast/css/stale-style-selector-crash-1.html [ Failure ]
 crbug.com/591099 fast/css/stale-style-selector-crash-2.html [ Failure ]
 crbug.com/591099 fast/css/sticky/inline-sticky-abspos-child.html [ Failure ]
@@ -7665,6 +9715,7 @@
 crbug.com/591099 fast/css/stylesheet-enable-second-alternate-link.html [ Failure ]
 crbug.com/591099 fast/css/stylesheet-enable-second-alternate-on-load-link.html [ Failure ]
 crbug.com/591099 fast/css/stylesheet-enable-second-alternate-on-load-sheet.html [ Failure ]
+crbug.com/591099 fast/css/style-tag-display-none.html [ Failure Pass ]
 crbug.com/591099 fast/css/table-border-radius-with-box-shadow.html [ Failure Pass ]
 crbug.com/591099 fast/css/table-border-spacing.html [ Failure ]
 crbug.com/591099 fast/css/table-rules-attribute-groups.html [ Failure Pass ]
@@ -7673,11 +9724,13 @@
 crbug.com/591099 fast/css/table-rules-attribute-with-frame1.html [ Failure ]
 crbug.com/591099 fast/css/table-rules-attribute-with-frame2.html [ Failure ]
 crbug.com/591099 fast/css/table-text-align-quirk.html [ Failure ]
+crbug.com/591099 fast/css/table-text-align-strict.html [ Failure Pass ]
 crbug.com/591099 fast/css/tab-size.html [ Failure Pass ]
 crbug.com/591099 fast/css/target-fragment-match.html [ Failure ]
 crbug.com/591099 fast/css/test-setting-canvas-color.html [ Failure ]
 crbug.com/591099 fast/css/text-align.html [ Failure ]
-crbug.com/591099 fast/css/text-align-img.html [ Failure ]
+crbug.com/591099 fast/css/text-align-img.html [ Failure Pass ]
+crbug.com/591099 fast/css/text-align-inherit-webkit-match-parent.html [ Crash Pass ]
 crbug.com/591099 fast/css/text-align-webkit-match-parent.html [ Failure ]
 crbug.com/591099 fast/css/textCapitalizeEdgeCases.html [ Failure ]
 crbug.com/591099 fast/css/text-decorations-on-first-line-and-containing-block.html [ Failure ]
@@ -7689,6 +9742,7 @@
 crbug.com/591099 fast/css/text-overflow-ellipsis-anonymous-blocks.html [ Failure Pass ]
 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-button.html [ Failure Pass ]
 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 ]
@@ -7700,11 +9754,12 @@
 crbug.com/591099 fast/css/text-overflow-ellipsis-vertical.html [ Failure ]
 crbug.com/591099 fast/css/text-overflow-ellipsis-vertical-select.html [ Failure ]
 crbug.com/591099 fast/css/text-overflow-input-focus-placeholder.html [ Failure ]
-crbug.com/591099 fast/css/text-overflow-input-focus-value.html [ Failure ]
-crbug.com/591099 fast/css/text-overflow-input.html [ Failure ]
+crbug.com/591099 fast/css/text-overflow-input-focus-value.html [ Crash Failure ]
+crbug.com/591099 fast/css/text-overflow-input.html [ Crash Failure ]
 crbug.com/591099 fast/css/text-rendering.html [ Failure ]
 crbug.com/591099 fast/css/text-rendering-priority.html [ Failure ]
 crbug.com/591099 fast/css/text-security.html [ Failure ]
+crbug.com/591099 fast/css/transform-default-parameter.html [ Failure Pass ]
 crbug.com/591099 fast/css/transformed-mask.html [ Failure ]
 crbug.com/591099 fast/css/transform-function-lowercase-assert.html [ Failure ]
 crbug.com/591099 fast/css/transform-inline-style.html [ Failure ]
@@ -7737,7 +9792,7 @@
 crbug.com/591099 fast/css/visibility-collapse-form-buttons.html [ Failure ]
 crbug.com/591099 fast/css/visibility-hit-test.html [ Failure ]
 crbug.com/591099 fast/css/visited-link-hang.html [ Failure ]
-crbug.com/591099 fast/css/webkit-marquee-speed-unit-in-quirksmode.html [ Failure ]
+crbug.com/591099 fast/css/webkit-marquee-speed-unit-in-quirksmode.html [ Crash Failure ]
 crbug.com/591099 fast/css/word-break-user-modify-allowed-values.html [ Failure ]
 crbug.com/591099 fast/css/word-space-extra.html [ Failure ]
 crbug.com/591099 fast/css/word-spacing-between-blocks.html [ Failure ]
@@ -7781,8 +9836,8 @@
 crbug.com/591099 fast/deprecated-flexbox/box-ordinal-group.html [ Failure ]
 crbug.com/591099 fast/deprecated-flexbox/child-flexing.html [ Failure ]
 crbug.com/591099 fast/deprecated-flexbox/crash-anonymous-box.html [ Failure ]
-crbug.com/591099 fast/deprecated-flexbox/crash-button-input-autofocus.html [ Failure ]
-crbug.com/591099 fast/deprecated-flexbox/crash-button-relayout.html [ Failure ]
+crbug.com/591099 fast/deprecated-flexbox/crash-button-input-autofocus.html [ Crash Failure ]
+crbug.com/591099 fast/deprecated-flexbox/crash-button-relayout.html [ Crash Failure ]
 crbug.com/591099 fast/deprecated-flexbox/flex-hang.html [ Failure ]
 crbug.com/591099 fast/deprecated-flexbox/flexing-overflow-scroll-item.html [ Failure ]
 crbug.com/591099 fast/deprecated-flexbox/inline-children-crash.html [ Failure ]
@@ -7800,23 +9855,24 @@
 crbug.com/591099 fast/dnd/link-dragging-draggable-div-with-link.html [ Timeout ]
 crbug.com/591099 fast/dnd/link-dragging-draggable-link.html [ Timeout ]
 crbug.com/591099 fast/dnd/link-dragging-non-draggable-link.html [ Timeout ]
-crbug.com/591099 fast/doctypes/001.html [ Failure ]
-crbug.com/591099 fast/doctypes/002.html [ Failure ]
-crbug.com/591099 fast/doctypes/003.html [ Failure ]
-crbug.com/591099 fast/doctypes/004.html [ Failure ]
+crbug.com/591099 fast/doctypes/001.html [ Crash Failure ]
+crbug.com/591099 fast/doctypes/002.html [ Crash Failure ]
+crbug.com/591099 fast/doctypes/003.html [ Crash Failure ]
+crbug.com/591099 fast/doctypes/004.html [ Crash Failure ]
 crbug.com/591099 fast/doctypes/doctype-parsing.html [ Crash ]
 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 Failure ]
-crbug.com/591099 fast/dom/52776.html [ Failure ]
+crbug.com/591099 fast/dom/52776.html [ Crash Failure ]
 crbug.com/591099 fast/dom/access-key-iframe.html [ Failure ]
 crbug.com/591099 fast/dom/adopt-attribute-crash.svg [ Failure ]
 crbug.com/591099 fast/dom/adopt-node-prevented.html [ Failure ]
 crbug.com/591099 fast/dom/allowed-children.html [ Failure ]
-crbug.com/591099 fast/dom/anchor-backslash.html [ Failure ]
+crbug.com/591099 fast/dom/anchor-backslash.html [ Crash Failure ]
 crbug.com/591099 fast/dom/anchor-text.html [ Failure ]
 crbug.com/591099 fast/dom/anchor-without-content.html [ Failure ]
+crbug.com/591099 fast/dom/assign-to-window-status.html [ Crash Pass ]
 crbug.com/591099 fast/dom/attr_dead_doc.html [ Failure ]
 crbug.com/591099 fast/dom/attribute-empty-value-no-children.html [ Failure ]
 crbug.com/591099 fast/dom/attribute-legacy-colors.html [ Failure ]
@@ -7836,6 +9892,8 @@
 crbug.com/591099 fast/dom/clone-contents-0-end-offset.html [ Failure ]
 crbug.com/591099 fast/dom/cloneNode-below-body-attribute-merging.html [ Failure ]
 crbug.com/591099 fast/dom/clone-node-dynamic-style.html [ Failure ]
+crbug.com/591099 fast/dom/clone-node-form-elements.html [ Crash Pass ]
+crbug.com/591099 fast/dom/clone-node-form-elements-with-attr.html [ Crash Pass ]
 crbug.com/591099 fast/dom/cloneNode.html [ Failure ]
 crbug.com/591099 fast/dom/clone-node-style.html [ Failure ]
 crbug.com/591099 fast/dom/clone-node-z-index.html [ Failure ]
@@ -7850,7 +9908,7 @@
 crbug.com/591099 fast/dom/Comment/remove.html [ Failure ]
 crbug.com/591099 fast/dom/computed-style-set-property.html [ Failure ]
 crbug.com/591099 fast/dom/console-log-stack-overflow.html [ Failure ]
-crbug.com/591099 fast/dom/constants.html [ Failure ]
+crbug.com/591099 fast/dom/constants.html [ Crash Failure ]
 crbug.com/591099 fast/dom/constructed-objects-prototypes.html [ Failure ]
 crbug.com/591099 fast/dom/constructor-in-removed-frame.html [ Crash ]
 crbug.com/591099 fast/dom/constructor-proto.html [ Failure ]
@@ -7871,10 +9929,12 @@
 crbug.com/591099 fast/dom/css-innerHTML.html [ Failure ]
 crbug.com/591099 fast/dom/css-insert-import-rule.html [ Failure ]
 crbug.com/591099 fast/dom/css-insert-import-rule-twice.html [ Failure ]
-crbug.com/591099 fast/dom/css-mediarule-functions.html [ Failure ]
+crbug.com/591099 fast/dom/css-mediarule-deleteRule-update.html [ Failure Pass ]
+crbug.com/591099 fast/dom/css-mediarule-functions.html [ Crash Failure ]
+crbug.com/591099 fast/dom/css-mediarule-insertRule-update.html [ Failure Pass ]
 crbug.com/591099 fast/dom/css-mediarule-parentRule.html [ Failure ]
 crbug.com/591099 fast/dom/css-rule-functions.html [ Failure ]
-crbug.com/591099 fast/dom/css-set-property-exception.html [ Failure ]
+crbug.com/591099 fast/dom/css-set-property-exception.html [ Crash Failure ]
 crbug.com/591099 fast/dom/css-shorthand-common-value.html [ Failure ]
 crbug.com/591099 fast/dom/CSSStyleDeclaration/access-longest-css-property.html [ Failure ]
 crbug.com/591099 fast/dom/CSSStyleDeclaration/css-computed-style-item.html [ Failure ]
@@ -7906,6 +9966,7 @@
 crbug.com/591099 fast/dom/custom/lifecycle-created-createElement-reentrancy.html [ Failure ]
 crbug.com/591099 fast/dom/custom/lifecycle-created-creation-api.html [ Failure ]
 crbug.com/591099 fast/dom/custom/lifecycle-created-innerHTML.html [ Failure ]
+crbug.com/591099 fast/dom/custom/lifecycle-created-parser-only.html [ Crash Pass ]
 crbug.com/591099 fast/dom/custom/lifecycle-created-parser-script.html [ Failure ]
 crbug.com/591099 fast/dom/custom/lifecycle-created-paste.html [ Failure ]
 crbug.com/591099 fast/dom/custom/prerender-insert-after-stop.html [ Failure ]
@@ -8003,11 +10064,12 @@
 crbug.com/591099 fast/dom/DOMImplementation/createHTMLDocument-optional-title.html [ Failure ]
 crbug.com/591099 fast/dom/DOMImplementation/createHTMLDocument-title.html [ Failure ]
 crbug.com/591099 fast/dom/DOMImplementation/detached-doctype.html [ Failure ]
-crbug.com/591099 fast/dom/DOMImplementation/implementation-identity.html [ Failure ]
+crbug.com/591099 fast/dom/DOMImplementation/implementation-identity.html [ Crash Failure ]
 crbug.com/591099 fast/dom/dom-instanceof.html [ Failure ]
 crbug.com/591099 fast/dom/domListEnumeration.html [ Crash ]
 crbug.com/591099 fast/dom/domstring-attribute-reflection.html [ Timeout ]
 crbug.com/591099 fast/dom/domtimestamp-is-number.html [ Failure ]
+crbug.com/591099 fast/dom/duplicate-ids.html [ Crash Pass ]
 crbug.com/591099 fast/dom/element-attribute-js-null.html [ Timeout ]
 crbug.com/591099 fast/dom/Element/attr-param-typechecking.html [ Failure ]
 crbug.com/591099 fast/dom/element-bounding-client-rect-relative-to-viewport.html [ Failure ]
@@ -8052,7 +10114,7 @@
 crbug.com/591099 fast/dom/elementsFromPoint/elementsFromPoint-iframes.html [ Failure ]
 crbug.com/591099 fast/dom/elementsFromPoint/elementsFromPoint-simple.html [ Pass 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/elementsFromPoint/elementsFromPoint-table.html [ Failure Pass ]
 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 Timeout ]
@@ -8067,7 +10129,7 @@
 crbug.com/591099 fast/dom/focus-navigation-in-plugin.html [ Crash ]
 crbug.com/591099 fast/dom/focus-on-hidden-object.html [ Crash ]
 crbug.com/591099 fast/dom/forced-layout-only-in-document.html [ Failure ]
-crbug.com/591099 fast/dom/fragment-activation-focuses-target.html [ Failure ]
+crbug.com/591099 fast/dom/fragment-activation-focuses-target.html [ Crash Failure ]
 crbug.com/591099 fast/dom/frameElement-accessor-context.html [ Failure ]
 crbug.com/591099 fast/dom/gc-11.html [ Failure ]
 crbug.com/591099 fast/dom/gc-12.html [ Failure ]
@@ -8090,14 +10152,14 @@
 crbug.com/591099 fast/dom/getElementById-consistency4.html [ Failure ]
 crbug.com/591099 fast/dom/getElementById-consistency5.html [ Failure ]
 crbug.com/591099 fast/dom/getElementById-consistency.html [ Failure ]
-crbug.com/591099 fast/dom/getElementsByClassName/dumpNodeList.html [ Failure ]
+crbug.com/591099 fast/dom/getElementsByClassName/dumpNodeList.html [ Crash Failure ]
 crbug.com/591099 fast/dom/getElementsByClassName/non-styled-elements.html [ Failure ]
 crbug.com/591099 fast/dom/getelementsbyname-invalidation-cache.html [ Crash ]
 crbug.com/591099 fast/dom/getter-on-window-object2.html [ Failure ]
 crbug.com/591099 fast/dom/global-constructors.html [ Failure ]
 crbug.com/591099 fast/dom/hidden-iframe-no-focus.html [ Failure ]
 crbug.com/591099 fast/dom/horizontal-scrollbar-in-rtl-doesnt-fire-onscroll.html [ Failure ]
-crbug.com/591099 fast/dom/horizontal-scrollbar-in-rtl.html [ Failure ]
+crbug.com/591099 fast/dom/horizontal-scrollbar-in-rtl.html [ Crash Failure ]
 crbug.com/591099 fast/dom/horizontal-scrollbar-when-dir-change.html [ Failure ]
 crbug.com/591099 fast/dom/hover-after-dom-delete-child-invisible-cursor.html [ Failure ]
 crbug.com/591099 fast/dom/hover-after-dom-delete.html [ Failure ]
@@ -8122,7 +10184,7 @@
 crbug.com/591099 fast/dom/HTMLAnchorElement/set-href-attribute-search.html [ Failure ]
 crbug.com/591099 fast/dom/HTMLAnchorElement/set-href-attribute-whitespace.html [ Failure ]
 crbug.com/591099 fast/dom/HTMLAnchorElement/set-text.html [ Failure ]
-crbug.com/591099 fast/dom/HTMLAreaElement/area-cursor.html [ Failure ]
+crbug.com/591099 fast/dom/HTMLAreaElement/area-cursor.html [ Crash Failure ]
 crbug.com/591099 fast/dom/HTMLAreaElement/area-download.html [ Failure ]
 crbug.com/591099 fast/dom/HTMLButtonElement/change-type.html [ Failure ]
 crbug.com/591099 fast/dom/HTMLButtonElement/value/getset.html [ Failure ]
@@ -8184,7 +10246,7 @@
 crbug.com/591099 fast/dom/HTMLElement/class-list.html [ Failure ]
 crbug.com/591099 fast/dom/HTMLElement/class-list-quirks.html [ Failure ]
 crbug.com/591099 fast/dom/HTMLElement/contextmenu.html [ Failure ]
-crbug.com/591099 fast/dom/HTMLElement/innerHTML-selection-crash.html [ Failure ]
+crbug.com/591099 fast/dom/HTMLElement/innerHTML-selection-crash.html [ Crash Failure ]
 crbug.com/591099 fast/dom/HTMLElement/insertAdjacentHTML-errors.html [ Failure ]
 crbug.com/591099 fast/dom/HTMLElement/iscontenteditable-designmodeon-allinherit.html [ Failure ]
 crbug.com/591099 fast/dom/HTMLElement/iscontenteditable-designmodeon-ancestor.html [ Failure ]
@@ -8212,7 +10274,7 @@
 crbug.com/591099 fast/dom/HTMLHtmlElement/set-version.html [ Failure ]
 crbug.com/591099 fast/dom/HTMLImageElement/constructor-mutation-event-dispatch.html [ Failure ]
 crbug.com/591099 fast/dom/HTMLImageElement/fallback-image-moved-across-documents.html [ Crash ]
-crbug.com/591099 fast/dom/HTMLImageElement/image-alt-text.html [ Failure ]
+crbug.com/591099 fast/dom/HTMLImageElement/image-alt-text.html [ Crash Failure ]
 crbug.com/591099 fast/dom/HTMLImageElement/image-crossOrigin.html [ Failure ]
 crbug.com/591099 fast/dom/HTMLImageElement/image-dynamic-width.html [ Failure ]
 crbug.com/591099 fast/dom/HTMLImageElement/image-innerHTML.html [ Failure ]
@@ -8229,30 +10291,32 @@
 crbug.com/591099 fast/dom/HTMLImageElement/image-src-onerror.html [ Crash Pass ]
 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 ]
+crbug.com/591099 fast/dom/HTMLImageElement/image-srcset-invalid-url-no-crash.html [ Crash Failure ]
 crbug.com/591099 fast/dom/HTMLImageElement/image-srcset-react-to-media-changes-when-image-not-changed.html [ Crash ]
 crbug.com/591099 fast/dom/HTMLImageElement/image-srcset-react-to-media-changes-when-viewport-downsized.html [ Crash ]
 crbug.com/591099 fast/dom/HTMLImageElement/image-srcset-w-onerror.html [ Crash Failure ]
 crbug.com/591099 fast/dom/HTMLImageElement/image-without-renderer-width.html [ Failure ]
 crbug.com/591099 fast/dom/HTMLImageElement/parse-src.html [ Failure ]
 crbug.com/591099 fast/dom/HTMLImageElement/sizes-changed-intrinsic-size-update.html [ Crash ]
-crbug.com/591099 fast/dom/HTMLInputElement/border-attribute-crash.html [ Failure ]
+crbug.com/591099 fast/dom/HTMLInputElement/border-attribute-crash.html [ Crash Failure ]
 crbug.com/591099 fast/dom/HTMLInputElement/cloned-input-checked-state.html [ Failure ]
 crbug.com/591099 fast/dom/HTMLInputElement/clone-input-checked.html [ Failure ]
-crbug.com/591099 fast/dom/HTMLInputElement/duplicate-element-names.html [ Failure ]
+crbug.com/591099 fast/dom/HTMLInputElement/duplicate-element-names.html [ Crash Failure ]
 crbug.com/591099 fast/dom/HTMLInputElement/input-checked-reset.html [ Failure ]
-crbug.com/591099 fast/dom/HTMLInputElement/input-image-alt-text.html [ Failure ]
+crbug.com/591099 fast/dom/HTMLInputElement/input-hidden-value.html [ Crash Pass ]
+crbug.com/591099 fast/dom/HTMLInputElement/input-image-alt-text.html [ Crash Failure ]
 crbug.com/591099 fast/dom/HTMLInputElement/input-size-attribute.html [ Failure ]
 crbug.com/591099 fast/dom/HTMLInputElement/input-slider-update.html [ Failure ]
 crbug.com/591099 fast/dom/HTMLInputElement/input-slider-update-styled.html [ Failure ]
-crbug.com/591099 fast/dom/HTMLInputElement/input-text-reset.html [ Failure ]
+crbug.com/591099 fast/dom/HTMLInputElement/input-text-reset.html [ Crash Failure ]
+crbug.com/591099 fast/dom/HTMLInputElement/input-with-invalid-border.html [ Crash Pass ]
 crbug.com/591099 fast/dom/HTMLInputElement/size-as-number.html [ Failure ]
 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/HTMLLabelElement/label-control.html [ Crash 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.html [ Crash 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 ]
@@ -8266,24 +10330,24 @@
 crbug.com/591099 fast/dom/HTMLLinkElement/onload-completion-test.html [ Failure ]
 crbug.com/591099 fast/dom/HTMLLinkElement/pending-stylesheet-count.html [ Failure ]
 crbug.com/591099 fast/dom/HTMLLinkElement/prefetch-detached.html [ Failure ]
-crbug.com/591099 fast/dom/HTMLLinkElement/prefetch.html [ Failure ]
+crbug.com/591099 fast/dom/HTMLLinkElement/prefetch.html [ Crash Failure ]
 crbug.com/591099 fast/dom/HTMLLinkElement/prefetch-onerror.html [ Failure ]
-crbug.com/591099 fast/dom/HTMLLinkElement/prefetch-onload.html [ Failure ]
+crbug.com/591099 fast/dom/HTMLLinkElement/prefetch-onload.html [ Crash Failure ]
 crbug.com/591099 fast/dom/HTMLLinkElement/prerender-insert-after-stop.html [ Failure ]
 crbug.com/591099 fast/dom/HTMLLinkElement/prerender-remove-after-stop.html [ Failure ]
 crbug.com/591099 fast/dom/HTMLLinkElement/programmatically-add-link-with-onerror-handler.html [ Failure ]
 crbug.com/591099 fast/dom/HTMLLinkElement/programmatically-add-link-with-onload-handler.html [ Failure ]
 crbug.com/591099 fast/dom/HTMLLinkElement/resolve-url-on-insertion.html [ Failure ]
-crbug.com/591099 fast/dom/HTMLMeterElement/meter-boundary-values.html [ Failure ]
+crbug.com/591099 fast/dom/HTMLMeterElement/meter-boundary-values.html [ Crash Failure ]
 crbug.com/591099 fast/dom/HTMLMeterElement/meter-element-crash.html [ Crash ]
 crbug.com/591099 fast/dom/HTMLMeterElement/meter-element.html [ Failure ]
 crbug.com/591099 fast/dom/HTMLMeterElement/meter-element-markup.html [ Crash ]
 crbug.com/591099 fast/dom/HTMLMeterElement/meter-element-repaint-on-update-value.html [ Failure ]
 crbug.com/591099 fast/dom/HTMLMeterElement/meter-element-with-child-crash.html [ Failure ]
-crbug.com/591099 fast/dom/HTMLMeterElement/meter-optimums.html [ Failure ]
+crbug.com/591099 fast/dom/HTMLMeterElement/meter-optimums.html [ Crash Failure ]
 crbug.com/591099 fast/dom/HTMLMeterElement/meter-percent-size.html [ Failure ]
 crbug.com/591099 fast/dom/HTMLMeterElement/meter-styles-changing-pseudo.html [ Failure ]
-crbug.com/591099 fast/dom/HTMLMeterElement/meter-styles.html [ Failure ]
+crbug.com/591099 fast/dom/HTMLMeterElement/meter-styles.html [ Crash Failure ]
 crbug.com/591099 fast/dom/HTMLMeterElement/set-meter-properties.html [ Failure ]
 crbug.com/591099 fast/dom/HTMLObjectElement/children-changed.html [ Crash ]
 crbug.com/591099 fast/dom/HTMLObjectElement/fallback-content-behaviour.html [ Crash ]
@@ -8302,7 +10366,7 @@
 crbug.com/591099 fast/dom/HTMLOutputElement/htmloutputelement-value.html [ Failure ]
 crbug.com/591099 fast/dom/HTMLProgressElement/indeterminate-progress-001.html [ Failure ]
 crbug.com/591099 fast/dom/HTMLProgressElement/indeterminate-progress-002.html [ Failure ]
-crbug.com/591099 fast/dom/HTMLProgressElement/progress-bar-value-pseudo-element.html [ Failure ]
+crbug.com/591099 fast/dom/HTMLProgressElement/progress-bar-value-pseudo-element.html [ Crash Failure ]
 crbug.com/591099 fast/dom/HTMLProgressElement/progress-element.html [ Failure ]
 crbug.com/591099 fast/dom/HTMLProgressElement/progress-element-indeterminate-crash.html [ Failure ]
 crbug.com/591099 fast/dom/HTMLProgressElement/progress-element-with-child-crash.html [ Failure ]
@@ -8355,6 +10419,7 @@
 crbug.com/591099 fast/dom/importNodeHTML.html [ Failure ]
 crbug.com/591099 fast/dom/importNode-null.html [ Failure ]
 crbug.com/591099 fast/dom/importNode-unsupported-node-type.html [ Failure ]
+crbug.com/591099 fast/dom/importNodeXML.xhtml [ Failure Pass ]
 crbug.com/591099 fast/dom/incompatible-operations.html [ Failure ]
 crbug.com/591099 fast/dom/inline-event-attributes-crash.html [ Failure ]
 crbug.com/591099 fast/dom/inline-event-attributes-event-param-name.html [ Failure ]
@@ -8363,7 +10428,7 @@
 crbug.com/591099 fast/dom/inline-event-attributes-lookup-removed.html [ Failure ]
 crbug.com/591099 fast/dom/inline-event-attributes-moved.html [ Failure ]
 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-001.html [ Crash Failure ]
 crbug.com/591099 fast/dom/inner-text-first-letter.html [ Crash ]
 crbug.com/591099 fast/dom/inner-text.html [ Crash Failure ]
 crbug.com/591099 fast/dom/inner-text-rtl.html [ Failure ]
@@ -8372,10 +10437,10 @@
 crbug.com/591099 fast/dom/insertedIntoDocument-sibling.html [ Crash ]
 crbug.com/591099 fast/dom/interface-object-proto.html [ Failure ]
 crbug.com/591099 fast/dom/isEqualNode-after-removeAttribute.html [ Failure ]
-crbug.com/591099 fast/dom/javascript-backslash.html [ Failure ]
+crbug.com/591099 fast/dom/javascript-backslash.html [ Crash Failure ]
 crbug.com/591099 fast/dom/javascript-url-crash-function.html [ Failure ]
 crbug.com/591099 fast/dom/javascript-url-exception-isolation.html [ Failure ]
-crbug.com/591099 fast/dom/left-overflow-in-ltr.html [ Failure ]
+crbug.com/591099 fast/dom/left-overflow-in-ltr.html [ Crash Failure ]
 crbug.com/591099 fast/dom/legend-control-character.html [ Failure ]
 crbug.com/591099 fast/dom/legend-display-inline.html [ Failure ]
 crbug.com/591099 fast/dom/length-attribute-mapping.html [ Failure ]
@@ -8391,7 +10456,9 @@
 crbug.com/591099 fast/dom/MutationObserver/delivery-order.html [ Failure ]
 crbug.com/591099 fast/dom/MutationObserver/disconnect-cancel-pending.html [ Failure ]
 crbug.com/591099 fast/dom/MutationObserver/document-fragment-insertion.html [ Failure ]
+crbug.com/591099 fast/dom/MutationObserver/end-of-task-delivery.html [ Crash Pass ]
 crbug.com/591099 fast/dom/MutationObserver/filesystem-callback-delivery.html [ Failure ]
+crbug.com/591099 fast/dom/MutationObserver/inline-event-listener.html [ Crash Pass ]
 crbug.com/591099 fast/dom/MutationObserver/mutate-during-delivery.html [ Failure ]
 crbug.com/591099 fast/dom/MutationObserver/mutation-and-deletion-race.html [ Failure ]
 crbug.com/591099 fast/dom/MutationObserver/mutation-observer-constructor.html [ Failure ]
@@ -8426,7 +10493,7 @@
 crbug.com/591099 fast/dom/Node/default-namespace-empty-argument.html [ Failure ]
 crbug.com/591099 fast/dom/Node/DOMNodeRemovedEvent.html [ Failure ]
 crbug.com/591099 fast/dom/node-filter-detached-iframe-crash.html [ Failure ]
-crbug.com/591099 fast/dom/Node/fragment-mutation.html [ Failure ]
+crbug.com/591099 fast/dom/Node/fragment-mutation.html [ Crash Failure ]
 crbug.com/591099 fast/dom/Node/initial-values.html [ Failure ]
 crbug.com/591099 fast/dom/Node/isEqualNode.html [ Failure ]
 crbug.com/591099 fast/dom/Node/isSupported.html [ Failure ]
@@ -8439,7 +10506,7 @@
 crbug.com/591099 fast/dom/NodeList/5725058-crash-scenario-3.html [ Failure ]
 crbug.com/591099 fast/dom/NodeList/childNodes-reset-cache.html [ Failure ]
 crbug.com/591099 fast/dom/NodeList/childNodes-reverse-iteration.html [ Failure ]
-crbug.com/591099 fast/dom/NodeList/invalidate-node-lists-when-parsing.html [ Failure ]
+crbug.com/591099 fast/dom/NodeList/invalidate-node-lists-when-parsing.html [ Crash Failure ]
 crbug.com/591099 fast/dom/nodelist-item-parameter.html [ Failure ]
 crbug.com/591099 fast/dom/NodeList/nodelist-item-assignment.html [ Failure ]
 crbug.com/591099 fast/dom/NodeList/nodelist-item-call-as-function.html [ Failure ]
@@ -8452,6 +10519,7 @@
 crbug.com/591099 fast/dom/nodesFromRect/nodesFromRect-basic.html [ Failure ]
 crbug.com/591099 fast/dom/nodesFromRect/nodesFromRect-child-frame-content.html [ Failure ]
 crbug.com/591099 fast/dom/nodesFromRect/nodesFromRect-child-frame-scrolled-content.html [ Failure ]
+crbug.com/591099 fast/dom/nodesFromRect/nodesFromRect-continuation-crash.html [ Crash Pass ]
 crbug.com/591099 fast/dom/nodesFromRect/nodesFromRect-culled-inlines-between-silblings-bidi.html [ Failure ]
 crbug.com/591099 fast/dom/nodesFromRect/nodesFromRect-culled-inlines-between-silblings.html [ Failure ]
 crbug.com/591099 fast/dom/nodesFromRect/nodesFromRect-culled-inlines.html [ Failure ]
@@ -8464,7 +10532,7 @@
 crbug.com/591099 fast/dom/nodesFromRect/nodesFromRect-scale.html [ Failure ]
 crbug.com/591099 fast/dom/nodesFromRect/nodesFromRect-svg.html [ Failure ]
 crbug.com/591099 fast/dom/nodesFromRect/nodesFromRect-table.html [ Failure ]
-crbug.com/591099 fast/dom/no-elements.html [ Failure ]
+crbug.com/591099 fast/dom/no-elements.html [ Crash Failure ]
 crbug.com/591099 fast/dom/non-numeric-values-numeric-parameters.html [ Failure ]
 crbug.com/591099 fast/dom/objc-big-method-name.html [ Failure ]
 crbug.com/591099 fast/dom/object-plugin-hides-properties.html [ Crash ]
@@ -8485,7 +10553,7 @@
 crbug.com/591099 fast/dom/Range/acid3-surround-contents.html [ Failure ]
 crbug.com/591099 fast/dom/Range/bug-19527.html [ Failure ]
 crbug.com/591099 fast/dom/Range/compareBoundaryPoints-1.html [ Failure ]
-crbug.com/591099 fast/dom/Range/compareBoundaryPoints-2.html [ Failure ]
+crbug.com/591099 fast/dom/Range/compareBoundaryPoints-2.html [ Crash Failure ]
 crbug.com/591099 fast/dom/Range/create-contextual-fragment-from-attached-text-node-range.html [ Failure ]
 crbug.com/591099 fast/dom/Range/create-contextual-fragment-from-bodyless-document-range.html [ Failure ]
 crbug.com/591099 fast/dom/Range/create-contextual-fragment-from-bodyless-xml-document-range.html [ Failure ]
@@ -8518,7 +10586,7 @@
 crbug.com/591099 fast/dom/Range/range-constructor.html [ Failure ]
 crbug.com/591099 fast/dom/Range/range-created-during-remove-children.html [ Failure Pass ]
 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-expand.html [ Crash Failure ]
 crbug.com/591099 fast/dom/Range/range-insertNode-assertion.html [ Failure ]
 crbug.com/591099 fast/dom/Range/range-insertNode-separate-endContainer.html [ Failure ]
 crbug.com/591099 fast/dom/Range/range-insertNode-splittext.html [ Failure ]
@@ -8536,12 +10604,13 @@
 crbug.com/591099 fast/dom/replace-child-siblings.html [ Failure ]
 crbug.com/591099 fast/dom/replaced-image-map.html [ Failure ]
 crbug.com/591099 fast/dom/replace-first-child.html [ Failure ]
-crbug.com/591099 fast/dom/right-overflow-in-rtl.html [ Failure ]
+crbug.com/591099 fast/dom/right-overflow-in-rtl.html [ Crash Failure ]
 crbug.com/591099 fast/dom/root-client-size.html [ Failure ]
 crbug.com/591099 fast/dom/root-client-size-iframe.html [ Failure ]
 crbug.com/591099 fast/dom/row-inner-text.html [ Failure ]
 crbug.com/591099 fast/dom/rtl-scroll-to-leftmost-and-resize.html [ Failure ]
-crbug.com/591099 fast/dom/script-add.html [ Failure ]
+crbug.com/591099 fast/dom/ruby-numeric-overflow.html [ Crash Pass ]
+crbug.com/591099 fast/dom/script-add.html [ Crash Failure ]
 crbug.com/591099 fast/dom/script-clone-rerun.html [ Failure ]
 crbug.com/591099 fast/dom/script-clone-rerun-self.html [ Failure ]
 crbug.com/591099 fast/dom/script-clone-rerun-src.xhtml [ Failure ]
@@ -8569,7 +10638,7 @@
 crbug.com/591099 fast/dom/SelectorAPI/namespaced-elements-and-selectors.html [ Failure ]
 crbug.com/591099 fast/dom/SelectorAPI/not-supported-namespace-in-selector.html [ Failure ]
 crbug.com/591099 fast/dom/SelectorAPI/only-shadow-host-in-shadow-tree.html [ Failure ]
-crbug.com/591099 fast/dom/SelectorAPI/resig-SelectorsAPI-test.xhtml [ Failure ]
+crbug.com/591099 fast/dom/SelectorAPI/resig-SelectorsAPI-test.xhtml [ Crash Failure ]
 crbug.com/591099 fast/dom/SelectorAPI/undefined-null-stringify.html [ Failure ]
 crbug.com/591099 fast/dom/SelectorAPI/viewless-document.html [ Failure ]
 crbug.com/591099 fast/dom/serialize-attribute.xhtml [ Failure ]
@@ -8577,9 +10646,9 @@
 crbug.com/591099 fast/dom/setAttributeNS.html [ Failure ]
 crbug.com/591099 fast/dom/setAttributeNS-namespace-errors.html [ Failure ]
 crbug.com/591099 fast/dom/setAttribute-using-initial-input-value.html [ Failure ]
-crbug.com/591099 fast/dom/set-innerHTML.xhtml [ Failure ]
-crbug.com/591099 fast/dom/set-outer-html.html [ Failure ]
-crbug.com/591099 fast/dom/set-outer-text.html [ Failure ]
+crbug.com/591099 fast/dom/set-innerHTML.xhtml [ Crash Failure ]
+crbug.com/591099 fast/dom/set-outer-html.html [ Crash Failure ]
+crbug.com/591099 fast/dom/set-outer-text.html [ Crash Failure ]
 crbug.com/591099 fast/dom/setter-type-enforcement.html [ Failure ]
 crbug.com/591099 fast/dom/shadow/access-document-of-detached-stylesheetlist-crash.html [ Failure ]
 crbug.com/591099 fast/dom/shadow/access-key.html [ Failure ]
@@ -8606,8 +10675,9 @@
 crbug.com/591099 fast/dom/shadow/content-reprojection-fallback-crash.html [ Failure ]
 crbug.com/591099 fast/dom/shadow/content-reprojection-recalc.html [ Failure ]
 crbug.com/591099 fast/dom/shadow/content-selector-query.html [ Failure ]
-crbug.com/591099 fast/dom/shadow/cppevent-input-in-shadow.html [ Failure ]
+crbug.com/591099 fast/dom/shadow/cppevent-input-in-shadow.html [ Crash Failure ]
 crbug.com/591099 fast/dom/shadow/custom-pseudo-in-selector-api.html [ Failure ]
+crbug.com/591099 fast/dom/shadow/details-summary-distributed.html [ Crash Pass ]
 crbug.com/591099 fast/dom/shadow/disconnected-distribution-cycle.html [ Failure ]
 crbug.com/591099 fast/dom/shadow/distribution-crash.html [ Failure ]
 crbug.com/591099 fast/dom/shadow/distribution-for-detached-subtree.html [ Failure ]
@@ -8631,6 +10701,7 @@
 crbug.com/591099 fast/dom/shadow/focus-navigation-skips-non-focusable-shadow-in-iframe.html [ Failure ]
 crbug.com/591099 fast/dom/shadow/focus-navigation-with-distributed-nodes.html [ Crash ]
 crbug.com/591099 fast/dom/shadow/focus-navigation-with-multiple-shadow-roots.html [ Failure ]
+crbug.com/591099 fast/dom/shadow/form-in-shadow.html [ Crash Pass ]
 crbug.com/591099 fast/dom/shadow/frameless-media-element-crash.html [ Failure ]
 crbug.com/591099 fast/dom/shadow/gc-after-body-removed.html [ Crash Pass ]
 crbug.com/591099 fast/dom/shadow/getComputedStyle-flat-tree-parent-dirty.html [ Failure ]
@@ -8666,11 +10737,12 @@
 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 ]
+crbug.com/591099 fast/dom/shadow/ol-with-distribution-recalc-crash.html [ Crash Pass ]
 crbug.com/591099 fast/dom/shadow/outer-scope-lower-specificity-wins.html [ Failure ]
 crbug.com/591099 fast/dom/shadow/pseudo-host-parameter-matches-shadow-host.html [ Failure ]
 crbug.com/591099 fast/dom/shadow/pseudo-not.html [ Failure ]
 crbug.com/591099 fast/dom/shadow/querySelector-for-multiple-shadowroots.html [ Failure ]
-crbug.com/591099 fast/dom/shadow/querySelector-for-useragent-shadowroot.html [ Failure ]
+crbug.com/591099 fast/dom/shadow/querySelector-for-useragent-shadowroot.html [ Crash Failure ]
 crbug.com/591099 fast/dom/shadow/querySelector-with-detached-node-distribution.html [ Failure ]
 crbug.com/591099 fast/dom/shadow/querySelector-with-distribution.html [ Failure ]
 crbug.com/591099 fast/dom/shadow/querySelector-with-shadow-all-and-shadow-deep.html [ Failure ]
@@ -8686,10 +10758,15 @@
 crbug.com/591099 fast/dom/shadow/shadow-aware-shadow-root.html [ Failure ]
 crbug.com/591099 fast/dom/shadow/shadow-boundary-crossing.html [ Crash ]
 crbug.com/591099 fast/dom/shadow/shadow-boundary-events.html [ Failure ]
-crbug.com/591099 fast/dom/shadow/shadow-contents-event.html [ Failure ]
+crbug.com/591099 fast/dom/shadow/shadow-contents-event.html [ Crash Failure ]
+crbug.com/591099 fast/dom/shadow/shadow-contents-select.html [ Crash Pass ]
 crbug.com/591099 fast/dom/shadow/shadow-disable.html [ Failure ]
 crbug.com/591099 fast/dom/shadow/shadowdom-dynamic-styling.html [ Failure ]
+crbug.com/591099 fast/dom/shadow/shadow-dom-event-dispatching-details-summary.html [ Crash Pass ]
 crbug.com/591099 fast/dom/shadow/shadow-dom-event-dispatching-svg-in-shadow-subtree.html [ Failure ]
+crbug.com/591099 fast/dom/shadow/shadowdom-for-textarea-only-shadow.html [ Crash Pass ]
+crbug.com/591099 fast/dom/shadow/shadowdom-for-textarea-with-attribute.html [ Crash Pass ]
+crbug.com/591099 fast/dom/shadow/shadowdom-for-textarea-with-style.html [ Crash Pass ]
 crbug.com/591099 fast/dom/shadow/shadow-dom-mouse-event-adjust-offset.html [ Failure ]
 crbug.com/591099 fast/dom/shadow/shadow-element-distributed-nodes.html [ Failure ]
 crbug.com/591099 fast/dom/shadow/shadow-element.html [ Failure ]
@@ -8709,6 +10786,7 @@
 crbug.com/591099 fast/dom/shadow/shadowroot-type.html [ Failure ]
 crbug.com/591099 fast/dom/shadow/shadow-selection-detach-crash.html [ Failure ]
 crbug.com/591099 fast/dom/shadow/shadow-tree-styles-select-host.html [ Failure ]
+crbug.com/591099 fast/dom/shadow/shadow-ul-li.html [ Crash Pass ]
 crbug.com/591099 fast/dom/shadow/sibling-rules-dynamic-changes.html [ Failure ]
 crbug.com/591099 fast/dom/shadow/sibling-rules-under-shadow-root.html [ Failure ]
 crbug.com/591099 fast/dom/shadow/stale-distribution-after-shadow-removal.html [ Failure ]
@@ -8718,13 +10796,13 @@
 crbug.com/591099 fast/dom/shadow/style-sharing-sibling-shadow.html [ Failure ]
 crbug.com/591099 fast/dom/shadow/style-sharing-styles-in-older-shadow-roots.html [ Failure ]
 crbug.com/591099 fast/dom/shadow/suppress-mutation-events-in-shadow-characterdata.html [ Failure ]
-crbug.com/591099 fast/dom/shadow/suppress-mutation-events-in-shadow.html [ Failure ]
+crbug.com/591099 fast/dom/shadow/suppress-mutation-events-in-shadow.html [ Crash Failure ]
 crbug.com/591099 fast/dom/shadow/svg-style-in-shadow-tree-crash.html [ Crash ]
 crbug.com/591099 fast/dom/shadow/tab-order-iframe-and-shadow.html [ Failure ]
 crbug.com/591099 fast/dom/shadow/title-element-in-shadow.html [ Failure ]
 crbug.com/591099 fast/dom/shadow/touch-event.html [ Crash ]
 crbug.com/591099 fast/dom/shadow/touch-event-retargeting.html [ Failure ]
-crbug.com/591099 fast/dom/shadow/tree-scope-crash.html [ Failure ]
+crbug.com/591099 fast/dom/shadow/tree-scope-crash.html [ Crash Failure ]
 crbug.com/591099 fast/dom/shadow/update-text-of-style-in-shadow-dom.html [ Failure ]
 crbug.com/591099 fast/dom/shadow/user-modify-inheritance.html [ Failure ]
 crbug.com/591099 fast/dom/shadow/wheel-event-on-input-in-shadow-dom.html [ Failure ]
@@ -8752,7 +10830,7 @@
 crbug.com/591099 fast/dom/tabindex-behavior.html [ Crash ]
 crbug.com/591099 fast/dom/tabindex-clamp.html [ Failure ]
 crbug.com/591099 fast/dom/tabindex-defaults.html [ Failure ]
-crbug.com/591099 fast/dom/tab-in-right-alignment.html [ Failure ]
+crbug.com/591099 fast/dom/tab-in-right-alignment.html [ Crash Failure ]
 crbug.com/591099 fast/dom/text-api-arguments.html [ Failure ]
 crbug.com/591099 fast/dom/text-control-crash-on-select.html [ Crash ]
 crbug.com/591099 fast/dom/Text/next-element-sibling.html [ Failure ]
@@ -8775,7 +10853,7 @@
 crbug.com/591099 fast/dom/URL-attribute-reflection.html [ Failure ]
 crbug.com/591099 fast/domurl/check-instanceof-domurl-functions.html [ Failure ]
 crbug.com/591099 fast/dom/vertical-scrollbar-in-rtl-doesnt-fire-onscroll.html [ Failure ]
-crbug.com/591099 fast/dom/vertical-scrollbar-in-rtl.html [ Failure ]
+crbug.com/591099 fast/dom/vertical-scrollbar-in-rtl.html [ Crash Failure ]
 crbug.com/591099 fast/dom/vertical-scrollbar-when-dir-change.html [ Failure ]
 crbug.com/591099 fast/dom/viewport/verify-viewport-dimensions.html [ Failure ]
 crbug.com/591099 fast/dom/viewport/viewport-dimensions-exclude-custom-scrollbars.html [ Failure ]
@@ -8784,10 +10862,11 @@
 crbug.com/591099 fast/dom/webtiming-document-open.html [ Failure ]
 crbug.com/591099 fast/dom/webtiming.html [ Failure ]
 crbug.com/591099 fast/dom/webtiming-navigate-within-document.html [ Failure ]
+crbug.com/591099 fast/dom/Window/anonymous-slot-with-changes.html [ Crash Pass ]
 crbug.com/591099 fast/dom/Window/attr-constructor.html [ Failure ]
 crbug.com/591099 fast/dom/Window/btoa-pnglet.html [ Failure ]
 crbug.com/591099 fast/dom/Window/clear-timeout.html [ Failure ]
-crbug.com/591099 fast/dom/Window/console-functions.html [ Failure ]
+crbug.com/591099 fast/dom/Window/console-functions.html [ Crash Failure ]
 crbug.com/591099 fast/dom/Window/console-trace.html [ Failure ]
 crbug.com/591099 fast/dom/Window/custom-constructors.html [ Failure ]
 crbug.com/591099 fast/dom/Window/customized-property-survives-gc.html [ Failure ]
@@ -8800,7 +10879,7 @@
 crbug.com/591099 fast/dom/Window/getMatchedCSSRules-with-pseudo-elements-complex.html [ Failure ]
 crbug.com/591099 fast/dom/Window/getMatchedCSSRules-with-pseudo-elements.html [ Failure ]
 crbug.com/591099 fast/dom/Window/get-set-properties.html [ Failure Timeout ]
-crbug.com/591099 fast/dom/Window/global-opener-function.html [ Failure ]
+crbug.com/591099 fast/dom/Window/global-opener-function.html [ Crash Failure ]
 crbug.com/591099 fast/dom/Window/HTMLBodyElement-window-eventListener-attributes.html [ Failure ]
 crbug.com/591099 fast/dom/Window/HTMLFrameSetElement-window-eventListener-attributes.html [ Failure ]
 crbug.com/591099 fast/dom/window-inner-size-scaling.html [ Failure ]
@@ -8844,32 +10923,36 @@
 crbug.com/591099 fast/dom/Window/window-constructor-settable.html [ Failure ]
 crbug.com/591099 fast/dom/Window/window-custom-prototype.html [ Failure ]
 crbug.com/591099 fast/dom/Window/window-early-properties-xhr.html [ Failure ]
-crbug.com/591099 fast/dom/Window/window-focus-self.html [ Failure Pass ]
+crbug.com/591099 fast/dom/Window/window-focus-self.html [ Crash Failure Pass ]
 crbug.com/591099 fast/dom/Window/window-frames-self-referential.html [ Failure ]
 crbug.com/591099 fast/dom/Window/window-function-frame-getter-precedence.html [ Failure ]
 crbug.com/591099 fast/dom/Window/window-function-name-getter-precedence.html [ Failure ]
 crbug.com/591099 fast/dom/Window/window-legacy-event-listener.html [ Failure ]
-crbug.com/591099 fast/dom/Window/window-lookup-precedence.html [ Timeout ]
+crbug.com/591099 fast/dom/Window/window-lookup-precedence.html [ Crash Timeout ]
 crbug.com/591099 fast/dom/Window/window-object-cross-frame-calls.html [ Failure ]
-crbug.com/591099 fast/dom/Window/window-onFocus.html [ Failure ]
+crbug.com/591099 fast/dom/Window/window-onFocus.html [ Crash Failure ]
 crbug.com/591099 fast/dom/Window/window-open-no-multiple-windows-from-iframe.html [ Crash ]
 crbug.com/591099 fast/dom/Window/window-open-pending-url.html [ Failure ]
 crbug.com/591099 fast/dom/Window/window-open-with-different-active-and-opener-windows.html [ Failure ]
 crbug.com/591099 fast/dom/Window/window-postmessage-args.html [ Failure ]
+crbug.com/591099 fast/dom/Window/window-postmessage-clone-deep-array.html [ Crash Failure ]
+crbug.com/591099 fast/dom/Window/window-postmessage-clone-frames.html [ Crash Pass ]
+crbug.com/591099 fast/dom/Window/window-postmessage-clone.html [ Crash Pass ]
+crbug.com/591099 fast/dom/Window/window-postmessage-clone-really-deep-array.html [ Crash Pass ]
 crbug.com/591099 fast/dom/Window/window-properties-device-orientation.html [ Failure ]
 crbug.com/591099 fast/dom/Window/window-properties-geolocation.html [ Failure ]
 crbug.com/591099 fast/dom/Window/window-properties-performance.html [ Failure ]
 crbug.com/591099 fast/dom/Window/window-property-clearing.html [ Failure ]
 crbug.com/591099 fast/dom/Window/window-property-invalid-characters-ignored.html [ Failure ]
 crbug.com/591099 fast/dom/Window/window-property-shadowing-name.html [ Failure ]
-crbug.com/591099 fast/dom/Window/window-remove-event-listener.html [ Failure ]
+crbug.com/591099 fast/dom/Window/window-remove-event-listener.html [ Crash Failure ]
 crbug.com/591099 fast/dom/Window/window-resize-and-move-arguments.html [ Failure ]
 crbug.com/591099 fast/dom/Window/window-resize-and-move-sub-frame.html [ Failure ]
 crbug.com/591099 fast/dom/Window/window-resize-contents.html [ Failure ]
 crbug.com/591099 fast/dom/Window/window-resize.html [ Failure ]
 crbug.com/591099 fast/dom/Window/window-scaled-viewport-properties.html [ Failure ]
 crbug.com/591099 fast/dom/Window/window-scroll-arguments.html [ Failure ]
-crbug.com/591099 fast/dom/Window/window-special-properties.html [ Failure ]
+crbug.com/591099 fast/dom/Window/window-special-properties.html [ Crash Failure ]
 crbug.com/591099 fast/dom/Window/window-xy-properties.html [ Failure ]
 crbug.com/591099 fast/dom/wrapper-classes.html [ Timeout ]
 crbug.com/591099 fast/dom/wrapper-context.html [ Failure ]
@@ -8888,7 +10971,7 @@
 crbug.com/591099 fast/dynamic/005.html [ Failure ]
 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/008.html [ Crash 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 ]
@@ -8906,7 +10989,7 @@
 crbug.com/591099 fast/dynamic/create-renderer-for-whitespace-only-text.html [ Failure ]
 crbug.com/591099 fast/dynamic/dirty-float-in-clean-line.html [ Failure ]
 crbug.com/591099 fast/dynamic/first-child-descendant.html [ Failure ]
-crbug.com/591099 fast/dynamic/first-letter-after-list-marker.html [ Failure ]
+crbug.com/591099 fast/dynamic/first-letter-after-list-marker.html [ Crash Failure ]
 crbug.com/591099 fast/dynamic/first-letter-display-change.html [ Failure ]
 crbug.com/591099 fast/dynamic/float-at-line-break.html [ Failure ]
 crbug.com/591099 fast/dynamic/float-from-empty-line.html [ Failure ]
@@ -8941,6 +11024,7 @@
 crbug.com/591099 fast/dynamic/recursive-layout.html [ Failure ]
 crbug.com/591099 fast/dynamic/selection-highlight-adjust.html [ Failure ]
 crbug.com/591099 fast/dynamic/static-to-relative-with-absolute-child.html [ Crash Pass ]
+crbug.com/591099 fast/dynamic/staticY.html [ Failure Pass ]
 crbug.com/591099 fast/dynamic/staticY-marking-parents-regression.html [ Failure ]
 crbug.com/591099 fast/dynamic/subtree-boundary-percent-height.html [ Failure ]
 crbug.com/591099 fast/dynamic/subtree-no-common-root-static-y.html [ Failure ]
@@ -8993,28 +11077,28 @@
 crbug.com/591099 fast/encoding/invalid-UTF-8.html [ Failure ]
 crbug.com/591099 fast/encoding/invalid-xml.html [ Crash ]
 crbug.com/591099 fast/encoding/japanese-encoding-mix.html [ Failure ]
-crbug.com/591099 fast/encoding/latin1-unencodables.html [ Failure ]
+crbug.com/591099 fast/encoding/latin1-unencodables.html [ Crash Failure ]
 crbug.com/591099 fast/encoding/latin1-winlatin.html [ Failure ]
 crbug.com/591099 fast/encoding/mailto-always-utf-8.html [ Failure Timeout ]
 crbug.com/591099 fast/encoding/meta-charset.html [ Failure ]
 crbug.com/591099 fast/encoding/meta-in-xhtml.xhtml [ Failure ]
 crbug.com/591099 fast/encoding/mispositioned-meta.html [ Failure ]
 crbug.com/591099 fast/encoding/noscript-in-head.html [ Failure ]
-crbug.com/591099 fast/encoding/parser-tests-100.html [ Failure ]
-crbug.com/591099 fast/encoding/parser-tests-10.html [ Failure ]
-crbug.com/591099 fast/encoding/parser-tests-110.html [ Failure ]
-crbug.com/591099 fast/encoding/parser-tests-120.html [ Failure ]
-crbug.com/591099 fast/encoding/parser-tests-20.html [ Failure ]
-crbug.com/591099 fast/encoding/parser-tests-30.html [ Failure ]
-crbug.com/591099 fast/encoding/parser-tests-40.html [ Failure ]
-crbug.com/591099 fast/encoding/parser-tests-50.html [ Failure ]
-crbug.com/591099 fast/encoding/parser-tests-60.html [ Failure ]
-crbug.com/591099 fast/encoding/parser-tests-70.html [ Failure ]
-crbug.com/591099 fast/encoding/parser-tests-80.html [ Failure ]
-crbug.com/591099 fast/encoding/parser-tests-90.html [ Failure ]
-crbug.com/591099 fast/encoding/parser-tests.html [ Failure ]
+crbug.com/591099 fast/encoding/parser-tests-100.html [ Crash Failure ]
+crbug.com/591099 fast/encoding/parser-tests-10.html [ Crash Failure ]
+crbug.com/591099 fast/encoding/parser-tests-110.html [ Crash Failure ]
+crbug.com/591099 fast/encoding/parser-tests-120.html [ Crash Failure ]
+crbug.com/591099 fast/encoding/parser-tests-20.html [ Crash Failure ]
+crbug.com/591099 fast/encoding/parser-tests-30.html [ Crash Failure ]
+crbug.com/591099 fast/encoding/parser-tests-40.html [ Crash Failure ]
+crbug.com/591099 fast/encoding/parser-tests-50.html [ Crash Failure ]
+crbug.com/591099 fast/encoding/parser-tests-60.html [ Crash Failure ]
+crbug.com/591099 fast/encoding/parser-tests-70.html [ Crash Failure ]
+crbug.com/591099 fast/encoding/parser-tests-80.html [ Crash Failure ]
+crbug.com/591099 fast/encoding/parser-tests-90.html [ Crash Failure ]
+crbug.com/591099 fast/encoding/parser-tests.html [ Crash Failure ]
 crbug.com/591099 fast/encoding/percent-escaping.html [ Failure ]
-crbug.com/591099 fast/encoding/preload-encoding.html [ Failure ]
+crbug.com/591099 fast/encoding/preload-encoding.html [ Crash Failure ]
 crbug.com/591099 fast/encoding/pseudo-tags-in-attributes.html [ Failure ]
 crbug.com/591099 fast/encoding/pseudo-xml-2.html [ Failure ]
 crbug.com/591099 fast/encoding/pseudo-xml-3.html [ Failure ]
@@ -9024,14 +11108,14 @@
 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 [ Crash Failure ]
-crbug.com/591099 fast/encoding/utf-16-little-endian.html [ Failure ]
+crbug.com/591099 fast/encoding/utf-16-little-endian.html [ Crash 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 ]
 crbug.com/591099 fast/encoding/utf-32-little-endian-bom.html [ Failure ]
 crbug.com/591099 fast/encoding/utf-32-little-endian-nobom.xml [ Failure ]
 crbug.com/591099 fast/encoding/xmacroman-encoding-test.html [ Failure ]
 crbug.com/591099 fast/encoding/xml-utf-8-default.xml [ Failure ]
-crbug.com/591099 fast/encoding/x-user-defined-unencodables.html [ Failure ]
+crbug.com/591099 fast/encoding/x-user-defined-unencodables.html [ Crash Failure ]
 crbug.com/591099 fast/encoding/yahoo-mail.html [ Failure ]
 crbug.com/591099 fast/encoding/yentest2.html [ Failure ]
 crbug.com/591099 fast/events/access-key-self-destruct.html [ Failure ]
@@ -9039,20 +11123,21 @@
 crbug.com/591099 fast/events/anchor-empty-focus.html [ Failure ]
 crbug.com/591099 fast/events/anchor-image-scrolled-x-y.html [ Timeout ]
 crbug.com/591099 fast/events/arrow-keys-on-body.html [ Failure ]
+crbug.com/591099 fast/events/arrow-navigation.html [ Crash Pass ]
 crbug.com/591099 fast/events/attempt-select-all-with-wrong-modifier.html [ Failure ]
 crbug.com/591099 fast/events/attribute-listener-cloned-from-frameless-doc-context-2.html [ Crash ]
 crbug.com/591099 fast/events/attribute-listener-cloned-from-frameless-doc-context.html [ Crash ]
 crbug.com/591099 fast/events/attribute-listener-cloned-from-frameless-doc.xhtml [ Failure ]
 crbug.com/591099 fast/events/attribute-listener-extracted-from-frameless-doc-context-2.html [ Crash ]
 crbug.com/591099 fast/events/attribute-listener-extracted-from-frameless-doc-context.html [ Crash ]
-crbug.com/591099 fast/events/autoscroll.html [ Failure ]
+crbug.com/591099 fast/events/autoscroll.html [ Crash Failure ]
 crbug.com/591099 fast/events/autoscroll-in-overflow-hidden-html.html [ Failure ]
-crbug.com/591099 fast/events/autoscroll-in-textarea.html [ Failure ]
-crbug.com/591099 fast/events/autoscroll-in-textfield.html [ Failure ]
+crbug.com/591099 fast/events/autoscroll-in-textarea.html [ Crash Failure ]
+crbug.com/591099 fast/events/autoscroll-in-textfield.html [ Crash Failure ]
 crbug.com/591099 fast/events/autoscroll-nonscrollable-iframe-in-scrollable-div.html [ Failure ]
 crbug.com/591099 fast/events/autoscroll-select-crash.html [ Crash ]
 crbug.com/591099 fast/events/autoscroll-should-not-stop-on-keypress.html [ Failure ]
-crbug.com/591099 fast/events/autoscroll-upwards-propagation.html [ Failure ]
+crbug.com/591099 fast/events/autoscroll-upwards-propagation.html [ Crash Failure ]
 crbug.com/591099 fast/events/autoscroll-upwards-propagation-no-scroll-iframe.html [ Crash ]
 crbug.com/591099 fast/events/autoscroll-upwards-propagation-overflow-hidden-body.html [ Failure ]
 crbug.com/591099 fast/events/autoscroll-upwards-propagation-overflow-hidden-iframe-body.html [ Crash ]
@@ -9137,7 +11222,7 @@
 crbug.com/591099 fast/events/context-menu-key-shift-f10-modifiers.html [ Failure ]
 crbug.com/591099 fast/events/context-menu-key-shift-f10-prevent-default.html [ Failure ]
 crbug.com/591099 fast/events/contextmenu-scrolled-page-with-frame.html [ Failure ]
-crbug.com/591099 fast/events/context-no-deselect.html [ Failure ]
+crbug.com/591099 fast/events/context-no-deselect.html [ Crash Failure ]
 crbug.com/591099 fast/events/context-nodrag.html [ Failure ]
 crbug.com/591099 fast/events/continuous-platform-wheelevent-in-scrolling-div.html [ Failure ]
 crbug.com/591099 fast/events/crash-on-querying-event-path.html [ Failure ]
@@ -9148,16 +11233,19 @@
 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/display-none-on-focus-crash.html [ Crash Pass ]
 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/dom-character-data-modified-textarea-crash.html [ Crash Pass ]
 crbug.com/591099 fast/events/domnodeinsertedintodocument-dispatched-post-rendering.html [ Failure ]
 crbug.com/591099 fast/events/dont-loose-last-event.html [ Failure ]
-crbug.com/591099 fast/events/drag-and-drop-autoscroll-frameset.html [ Timeout ]
+crbug.com/591099 fast/events/drag-and-drop-autoscroll-frameset.html [ Crash Timeout ]
 crbug.com/591099 fast/events/drag-and-drop-autoscroll.html [ Failure ]
 crbug.com/591099 fast/events/drag-and-drop-autoscroll-inner-frame.html [ Timeout ]
-crbug.com/591099 fast/events/drag-and-drop-autoscroll-mainframe.html [ Timeout ]
+crbug.com/591099 fast/events/drag-and-drop-autoscroll-mainframe.html [ Crash Timeout ]
 crbug.com/591099 fast/events/drag-and-drop-dataTransfer-types-nocrash.html [ Failure ]
+crbug.com/591099 fast/events/drag-and-drop-event-properties.html [ Crash Pass ]
 crbug.com/591099 fast/events/drag-and-drop-fire-drag-dragover.html [ Failure ]
 crbug.com/591099 fast/events/drag-and-drop.html [ Crash Timeout ]
 crbug.com/591099 fast/events/drag_and_drop_into_removed_on_focus.html [ Failure ]
@@ -9165,11 +11253,12 @@
 crbug.com/591099 fast/events/drag-and-drop-subframe-dataTransfer.html [ Crash ]
 crbug.com/591099 fast/events/drag-and-drop-thresholds.html [ Failure ]
 crbug.com/591099 fast/events/drag-customData.html [ Failure ]
-crbug.com/591099 fast/events/drag-dataTransferItemList-file-handling.html [ Failure ]
+crbug.com/591099 fast/events/drag-dataTransferItemList-file-handling.html [ Crash Failure ]
 crbug.com/591099 fast/events/drag-dataTransferItemList.html [ Failure ]
 crbug.com/591099 fast/events/drag-downloadURL.html [ Failure ]
 crbug.com/591099 fast/events/drag-dragend-detaches.html [ Failure ]
 crbug.com/591099 fast/events/dragevent-constructor.html [ Failure ]
+crbug.com/591099 fast/events/drag-file-crash.html [ Crash Pass ]
 crbug.com/591099 fast/events/drag-image-filename.html [ Timeout ]
 crbug.com/591099 fast/events/drag-in-frames.html [ Failure ]
 crbug.com/591099 fast/events/drag-link.html [ Failure ]
@@ -9179,7 +11268,7 @@
 crbug.com/591099 fast/events/drag-selects-culled-inlines.html [ Failure ]
 crbug.com/591099 fast/events/drag-selects-image.html [ Failure ]
 crbug.com/591099 fast/events/drag-svg-image-crash.html [ Timeout ]
-crbug.com/591099 fast/events/drag-text-with-clear.html [ Failure ]
+crbug.com/591099 fast/events/drag-text-with-clear.html [ Crash 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 Timeout ]
@@ -9244,9 +11333,9 @@
 crbug.com/591099 fast/events/iframe-mousewheel.html [ Failure ]
 crbug.com/591099 fast/events/iframe-onmousemove.html [ Timeout ]
 crbug.com/591099 fast/events/imagemap-norender-crash.html [ Failure ]
-crbug.com/591099 fast/events/ime-composition-events-001.html [ Failure ]
+crbug.com/591099 fast/events/ime-composition-events-001.html [ Crash Failure ]
 crbug.com/591099 fast/events/init-custom-event-isolated-world.html [ Failure ]
-crbug.com/591099 fast/events/init-event-after-dispatch.html [ Failure ]
+crbug.com/591099 fast/events/init-event-after-dispatch.html [ Crash Failure ]
 crbug.com/591099 fast/events/init-event-exceptions.html [ Failure ]
 crbug.com/591099 fast/events/init-event-null-view.html [ Failure ]
 crbug.com/591099 fast/events/init-events.html [ Failure ]
@@ -9263,16 +11352,17 @@
 crbug.com/591099 fast/events/inputevents/input-event-event-listener.html [ Timeout ]
 crbug.com/591099 fast/events/inputevents/inputevent-execcommand.html [ Failure ]
 crbug.com/591099 fast/events/inputevents/inputevent-keyboard.html [ Crash ]
+crbug.com/591099 fast/events/inputevents/inputevent-spellcheck.html [ Crash Pass ]
 crbug.com/591099 fast/events/inputevents/inputevent-transpose.html [ Crash Failure ]
 crbug.com/591099 fast/events/input-focus-no-duplicate-events.html [ Failure ]
 crbug.com/591099 fast/events/input-image-scrolled-x-y.html [ Timeout ]
 crbug.com/591099 fast/events/input-tab-focus-no-duplicate-events.html [ Failure ]
 crbug.com/591099 fast/events/inputText-never-fired-on-keydown-cancel.html [ Crash ]
-crbug.com/591099 fast/events/invalid-001.html [ Failure ]
-crbug.com/591099 fast/events/invalid-002.html [ Failure ]
-crbug.com/591099 fast/events/invalid-003.html [ Failure ]
-crbug.com/591099 fast/events/invalid-004.html [ Failure ]
-crbug.com/591099 fast/events/invalid-005.html [ Failure ]
+crbug.com/591099 fast/events/invalid-001.html [ Crash Failure ]
+crbug.com/591099 fast/events/invalid-002.html [ Crash Failure ]
+crbug.com/591099 fast/events/invalid-003.html [ Crash Failure ]
+crbug.com/591099 fast/events/invalid-004.html [ Crash Failure ]
+crbug.com/591099 fast/events/invalid-005.html [ Crash Failure ]
 crbug.com/591099 fast/events/isolated-worlds-override-keystate.html [ Failure ]
 crbug.com/591099 fast/events/js-keyboard-event-creation.html [ Failure ]
 crbug.com/591099 fast/events/keyboardevent-code.html [ Failure ]
@@ -9281,8 +11371,8 @@
 crbug.com/591099 fast/events/keyboardevent-repeat.html [ Failure ]
 crbug.com/591099 fast/events/keyboard-event-source-device-event-sender.html [ Failure ]
 crbug.com/591099 fast/events/keyboard-scroll-by-page.html [ Failure ]
-crbug.com/591099 fast/events/keydown-1.html [ Failure ]
-crbug.com/591099 fast/events/keydown-function-keys.html [ Failure ]
+crbug.com/591099 fast/events/keydown-1.html [ Crash Failure ]
+crbug.com/591099 fast/events/keydown-function-keys.html [ Crash Failure ]
 crbug.com/591099 fast/events/keydown-keypress-focus-change.html [ Failure ]
 crbug.com/591099 fast/events/keydown-keypress-preventDefault.html [ Failure ]
 crbug.com/591099 fast/events/keydown-leftright-keys.html [ Failure ]
@@ -9348,8 +11438,9 @@
 crbug.com/591099 fast/events/mouse-double-triple-click-should-not-select-next-node-for-user-select-none.html [ Failure ]
 crbug.com/591099 fast/events/mousedown-inside-dragstart-should-not-cause-crash.html [ Failure ]
 crbug.com/591099 fast/events/mousedown-in-subframe-scrollbar.html [ Failure ]
-crbug.com/591099 fast/events/mouse-drag-from-frame.html [ Failure ]
-crbug.com/591099 fast/events/mouse-drag-from-frame-to-other-frame.html [ Failure ]
+crbug.com/591099 fast/events/mouse-down-on-pseudo-element-remove-crash.html [ Crash Pass ]
+crbug.com/591099 fast/events/mouse-drag-from-frame.html [ Crash Failure ]
+crbug.com/591099 fast/events/mouse-drag-from-frame-to-other-frame.html [ Crash Failure ]
 crbug.com/591099 fast/events/mouseenter-mouseleave-on-drag.html [ Failure ]
 crbug.com/591099 fast/events/mouse-event-buttons-attribute.html [ Timeout ]
 crbug.com/591099 fast/events/mouse-event-from-touch-source-device-event-sender.html [ Failure ]
@@ -9367,10 +11458,10 @@
 crbug.com/591099 fast/events/mouseover-button.html [ Failure ]
 crbug.com/591099 fast/events/mouseover-mouseout2.html [ Failure ]
 crbug.com/591099 fast/events/mouseover-mouseout.html [ Failure ]
-crbug.com/591099 fast/events/mouse-relative-position.html [ Failure ]
-crbug.com/591099 fast/events/mouseup-from-button2.html [ Failure ]
-crbug.com/591099 fast/events/mouseup-outside-button.html [ Failure ]
-crbug.com/591099 fast/events/mouseup-outside-document.html [ Failure ]
+crbug.com/591099 fast/events/mouse-relative-position.html [ Crash Failure ]
+crbug.com/591099 fast/events/mouseup-from-button2.html [ Crash Failure ]
+crbug.com/591099 fast/events/mouseup-outside-button.html [ Crash Failure ]
+crbug.com/591099 fast/events/mouseup-outside-document.html [ Crash Failure ]
 crbug.com/591099 fast/events/mouse-wheel-main-frame-scroll.html [ Timeout ]
 crbug.com/591099 fast/events/move-event-handler-between-framehosts.html [ Failure ]
 crbug.com/591099 fast/events/moving-text-should-fire-drop-and-dragend-events-2.html [ Failure ]
@@ -9393,7 +11484,7 @@
 crbug.com/591099 fast/events/onchange-setvalue.html [ Crash ]
 crbug.com/591099 fast/events/onchange-textfield.html [ Failure ]
 crbug.com/591099 fast/events/onchange-text-form-field.html [ Crash ]
-crbug.com/591099 fast/events/onclick-list-marker.html [ Failure ]
+crbug.com/591099 fast/events/onclick-list-marker.html [ Crash Failure ]
 crbug.com/591099 fast/events/onload-after-document-close-no-subresource.html [ Failure ]
 crbug.com/591099 fast/events/onload-after-document-close-with-subresource.html [ Failure ]
 crbug.com/591099 fast/events/onload-fires-twice.html [ Failure ]
@@ -9433,24 +11524,24 @@
 crbug.com/591099 fast/events/pointerevents/mouse-node-remove.html [ Failure ]
 crbug.com/591099 fast/events/pointerevents/mouse-on-object.html [ Crash ]
 crbug.com/591099 fast/events/pointerevents/mouse-pointer-boundary-events-for-shadowdom.html [ Failure ]
-crbug.com/591099 fast/events/pointerevents/mouse-pointer-capture.html [ Timeout ]
+crbug.com/591099 fast/events/pointerevents/mouse-pointer-capture.html [ Failure Timeout ]
 crbug.com/591099 fast/events/pointerevents/mouse-pointer-capture-transition-events.html [ Timeout ]
 crbug.com/591099 fast/events/pointerevents/mouse-pointer-chorded-buttons.html [ Failure ]
-crbug.com/591099 fast/events/pointerevents/mouse-pointer-event-properties.html [ Timeout ]
+crbug.com/591099 fast/events/pointerevents/mouse-pointer-event-properties.html [ Failure Timeout ]
 crbug.com/591099 fast/events/pointerevents/mouse-pointer-on-scrollbar.html [ Failure ]
-crbug.com/591099 fast/events/pointerevents/mouse-pointer-preventdefault.html [ Timeout ]
+crbug.com/591099 fast/events/pointerevents/mouse-pointer-preventdefault.html [ Failure 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/multi-pointer-preventdefault.html [ Failure Timeout ]
 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 ]
-crbug.com/591099 fast/events/pointerevents/touch-capture.html [ Timeout ]
+crbug.com/591099 fast/events/pointerevents/touch-capture.html [ Failure Timeout ]
 crbug.com/591099 fast/events/pointerevents/touch-capture-in-iframe.html [ Timeout ]
-crbug.com/591099 fast/events/pointerevents/touch-pointercancel.html [ Failure ]
+crbug.com/591099 fast/events/pointerevents/touch-pointercancel.html [ Failure Timeout ]
 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 ]
@@ -9474,7 +11565,7 @@
 crbug.com/591099 fast/events/remove-first-event-listener-while-firing.html [ Failure ]
 crbug.com/591099 fast/events/remove-shadow-host-crash.html [ Crash ]
 crbug.com/591099 fast/events/remove-target-in-mouseup-deep.html [ Failure ]
-crbug.com/591099 fast/events/remove-target-in-mouseup.html [ Failure ]
+crbug.com/591099 fast/events/remove-target-in-mouseup.html [ Crash Failure ]
 crbug.com/591099 fast/events/remove-target-in-mouseup-insertback.html [ Failure ]
 crbug.com/591099 fast/events/remove-target-in-mouseup-twice.html [ Failure ]
 crbug.com/591099 fast/events/remove-target-with-shadow-in-drag.html [ Crash ]
@@ -9496,7 +11587,7 @@
 crbug.com/591099 fast/events/select-element.html [ Timeout ]
 crbug.com/591099 fast/events/selection-autoscroll-borderbelt.html [ Timeout ]
 crbug.com/591099 fast/events/selectionchange-iframe.html [ Crash ]
-crbug.com/591099 fast/events/selectionchange-user-initiated.html [ Failure ]
+crbug.com/591099 fast/events/selectionchange-user-initiated.html [ Crash Failure ]
 crbug.com/591099 fast/events/select-onchange-crash.html [ Crash ]
 crbug.com/591099 fast/events/select-onchange-mouse-released-outside.html [ Crash ]
 crbug.com/591099 fast/events/selectstart-by-arrow-keys.html [ Failure ]
@@ -9506,7 +11597,7 @@
 crbug.com/591099 fast/events/selectstart-by-single-click-with-shift.html [ Failure ]
 crbug.com/591099 fast/events/selectstart-during-autoscroll.html [ Failure ]
 crbug.com/591099 fast/events/selectstart-on-selectall.html [ Failure ]
-crbug.com/591099 fast/events/selectstart-prevent-selectall.html [ Failure ]
+crbug.com/591099 fast/events/selectstart-prevent-selectall.html [ Crash Failure ]
 crbug.com/591099 fast/events/selectstart-prevent-selection-on-right-click.html [ Failure ]
 crbug.com/591099 fast/events/sequential-focus-navigation-starting-point.html [ Crash ]
 crbug.com/591099 fast/events/setDragImage-with-detached-node.html [ Failure ]
@@ -9520,6 +11611,7 @@
 crbug.com/591099 fast/events/space-scroll-textinput-canceled.html [ Failure ]
 crbug.com/591099 fast/events/special-key-events-in-input-text.html [ Failure ]
 crbug.com/591099 fast/events/stopPropagation-checkbox.html [ Failure ]
+crbug.com/591099 fast/events/stopPropagation-submit.html [ Crash Pass ]
 crbug.com/591099 fast/events/submit-reset-nested-bubble.html [ Failure ]
 crbug.com/591099 fast/events/synthetic-events/tap-on-scaled-screen.html [ Pass Timeout ]
 crbug.com/591099 fast/events/tab-crash-with-image-map.html [ Crash Failure ]
@@ -9529,6 +11621,7 @@
 crbug.com/591099 fast/events/tab-focus-link-in-canvas.html [ Failure ]
 crbug.com/591099 fast/events/tab-focus-link-with-scroll.html [ Failure ]
 crbug.com/591099 fast/events/tab-imagemap.html [ Failure ]
+crbug.com/591099 fast/events/tabindex-focus-blur-all.html [ Crash Pass ]
 crbug.com/591099 fast/events/tabindex-focus-chain.html [ Crash ]
 crbug.com/591099 fast/events/tab-is-focusable-assert.html [ Failure ]
 crbug.com/591099 fast/events/tab-test-not-visible-imagemap.html [ Failure ]
@@ -9554,10 +11647,10 @@
 crbug.com/591099 fast/events/touch/gesture/context-menu-on-two-finger-tap-iframe.html [ Failure ]
 crbug.com/591099 fast/events/touch/gesture/focus-selectionchange-on-tap.html [ Failure ]
 crbug.com/591099 fast/events/touch/gesture/gesture-click.html [ Failure ]
-crbug.com/591099 fast/events/touch/gesture/gesture-click-on-inline-continations.html [ Failure ]
+crbug.com/591099 fast/events/touch/gesture/gesture-click-on-inline-continations.html [ Crash Failure ]
 crbug.com/591099 fast/events/touch/gesture/gesture-dblclick.html [ Failure ]
 crbug.com/591099 fast/events/touch/gesture/gesture-scrollbar.html [ Failure ]
-crbug.com/591099 fast/events/touch/gesture/gesture-scrollbar-textarea.html [ Failure ]
+crbug.com/591099 fast/events/touch/gesture/gesture-scrollbar-textarea.html [ Crash Failure ]
 crbug.com/591099 fast/events/touch/gesture/gesture-scroll-by-page.html [ Failure ]
 crbug.com/591099 fast/events/touch/gesture/gesture-scroll-by-pixel.html [ Failure ]
 crbug.com/591099 fast/events/touch/gesture/gesture-scroll.html [ Failure ]
@@ -9580,7 +11673,7 @@
 crbug.com/591099 fast/events/touch/gesture/gesture-tap-near-iframe.html [ Failure ]
 crbug.com/591099 fast/events/touch/gesture/gesture-tap-on-hover-element.html [ Failure ]
 crbug.com/591099 fast/events/touch/gesture/gesture-tap-paragraph-end.html [ Failure ]
-crbug.com/591099 fast/events/touch/gesture/gesture-tap-result.html [ Failure ]
+crbug.com/591099 fast/events/touch/gesture/gesture-tap-result.html [ Crash Failure ]
 crbug.com/591099 fast/events/touch/gesture/gesture-tap-scrolled.html [ Failure ]
 crbug.com/591099 fast/events/touch/gesture/gesture-tap-setrangetext-with-events.html [ Crash ]
 crbug.com/591099 fast/events/touch/gesture/long-press-drag-drop-touch-editing-combined.html [ Failure ]
@@ -9593,7 +11686,7 @@
 crbug.com/591099 fast/events/touch/gesture/no-context-menu-on-long-tap-alone.html [ Failure ]
 crbug.com/591099 fast/events/touch/gesture/pad-gesture-cancel.html [ Failure ]
 crbug.com/591099 fast/events/touch/gesture/pad-gesture-fling.html [ Failure ]
-crbug.com/591099 fast/events/touch/gesture/right-click-gestures-set-cursor-at-correct-position.html [ Failure ]
+crbug.com/591099 fast/events/touch/gesture/right-click-gestures-set-cursor-at-correct-position.html [ Crash Failure ]
 crbug.com/591099 fast/events/touch/gesture/tap-target-matches-active.html [ Failure ]
 crbug.com/591099 fast/events/touch/gesture/touch-gesture-fling-with-page-scale.html [ Timeout ]
 crbug.com/591099 fast/events/touch/gesture/touch-gesture-fully-scrolled-iframe-propagates.html [ Failure ]
@@ -9615,7 +11708,7 @@
 crbug.com/591099 fast/events/touch/gesture/touch-gesture-scroll-iframe.html [ Failure ]
 crbug.com/591099 fast/events/touch/gesture/touch-gesture-scroll-iframe-not-propagated.html [ Failure ]
 crbug.com/591099 fast/events/touch/gesture/touch-gesture-scroll-iframe-past-extent.html [ Timeout ]
-crbug.com/591099 fast/events/touch/gesture/touch-gesture-scroll-input-field.html [ Failure ]
+crbug.com/591099 fast/events/touch/gesture/touch-gesture-scroll-input-field.html [ Crash Failure ]
 crbug.com/591099 fast/events/touch/gesture/touch-gesture-scroll-listbox.html [ Failure ]
 crbug.com/591099 fast/events/touch/gesture/touch-gesture-scroll-page.html [ Failure Timeout ]
 crbug.com/591099 fast/events/touch/gesture/touch-gesture-scroll-page-not-propagated.html [ Timeout ]
@@ -9635,7 +11728,7 @@
 crbug.com/591099 fast/events/touch/touch-action-range-input-csp.html [ Timeout ]
 crbug.com/591099 fast/events/touch/touch-action-range-input.html [ Timeout ]
 crbug.com/591099 fast/events/touch/touch-action-touch-handlers.html [ Failure ]
-crbug.com/591099 fast/events/touch/touch-before-pressing-spin-button.html [ Failure ]
+crbug.com/591099 fast/events/touch/touch-before-pressing-spin-button.html [ Crash Failure ]
 crbug.com/591099 fast/events/touch/touch-browser-zoom-scales-radius.html [ Failure ]
 crbug.com/591099 fast/events/touch/touch-coords-in-zoom-and-scroll.html [ Failure ]
 crbug.com/591099 fast/events/touch/touch-event-dispatch-no-crash.html [ Failure ]
@@ -9689,6 +11782,7 @@
 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/apply-blob-url-to-xhr.html [ Crash Pass ]
 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 ]
@@ -9697,18 +11791,28 @@
 crbug.com/591099 fast/files/blob-reading-from-form-file.html [ Crash ]
 crbug.com/591099 fast/files/blob-slice-test.html [ Failure ]
 crbug.com/591099 fast/files/file-constructor.html [ Failure ]
-crbug.com/591099 fast/files/file-in-input-display.html [ Failure ]
-crbug.com/591099 fast/files/file-list-test.html [ Failure ]
+crbug.com/591099 fast/files/file-in-input-display.html [ Crash Failure ]
+crbug.com/591099 fast/files/file-list-test.html [ Crash Failure ]
 crbug.com/591099 fast/files/file-reader-abort-gc-iframe.html [ Crash ]
+crbug.com/591099 fast/files/file-reader-abort.html [ Crash Pass ]
 crbug.com/591099 fast/files/file-reader-detached-no-crash.html [ Failure ]
+crbug.com/591099 fast/files/file-reader-directory-crash.html [ Crash Pass ]
+crbug.com/591099 fast/files/file-reader-event-listener.html [ Crash Pass ]
 crbug.com/591099 fast/files/file-reader-fffd.html [ Failure ]
 crbug.com/591099 fast/files/file-reader-methods-illegal-arguments.html [ Failure ]
-crbug.com/591099 fast/files/not-enough-arguments.html [ Failure ]
-crbug.com/591099 fast/files/null-origin-string.html [ Timeout ]
+crbug.com/591099 fast/files/not-enough-arguments.html [ Crash Failure ]
+crbug.com/591099 fast/files/null-origin-string.html [ Crash Timeout ]
+crbug.com/591099 fast/files/read-blob-async.html [ Crash Pass ]
+crbug.com/591099 fast/files/read-file-async.html [ Crash Pass ]
 crbug.com/591099 fast/files/url-null.html [ Failure ]
 crbug.com/591099 fast/files/url-required-arguments.html [ Failure ]
+crbug.com/591099 fast/files/workers/worker-apply-blob-url-to-xhr.html [ Crash Pass ]
 crbug.com/591099 fast/files/workers/worker-file-last-modified.html [ Failure ]
 crbug.com/591099 fast/files/workers/worker-read-blob-async-crash.html [ Failure ]
+crbug.com/591099 fast/files/workers/worker-read-blob-async.html [ Crash Pass ]
+crbug.com/591099 fast/files/workers/worker-read-blob-sync.html [ Crash Pass ]
+crbug.com/591099 fast/files/workers/worker-read-file-async.html [ Crash Pass ]
+crbug.com/591099 fast/files/workers/worker-read-file-sync.html [ Crash Pass ]
 crbug.com/591099 fast/files/xhr-response-blob.html [ Failure ]
 crbug.com/591099 fast/filesystem/async-operations.html [ Failure ]
 crbug.com/591099 fast/filesystem/directory-entry-to-uri.html [ Failure ]
@@ -9763,7 +11867,7 @@
 crbug.com/591099 fast/forms/001.html [ Failure ]
 crbug.com/591099 fast/forms/006.html [ Failure ]
 crbug.com/591099 fast/forms/007.html [ Failure ]
-crbug.com/591099 fast/forms/11423.html [ Failure ]
+crbug.com/591099 fast/forms/11423.html [ Crash Failure ]
 crbug.com/591099 fast/forms/25153.html [ Crash ]
 crbug.com/591099 fast/forms/4628409.html [ Failure ]
 crbug.com/591099 fast/forms/8250.html [ Failure ]
@@ -9773,42 +11877,46 @@
 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 ]
-crbug.com/591099 fast/forms/autofilled.html [ Failure ]
-crbug.com/591099 fast/forms/autofocus-attribute.html [ Failure ]
+crbug.com/591099 fast/forms/autofilled.html [ Crash Failure ]
+crbug.com/591099 fast/forms/autofocus-attribute.html [ Crash Failure ]
 crbug.com/591099 fast/forms/autofocus-focus-only-once.html [ Failure ]
 crbug.com/591099 fast/forms/autofocus-input-css-style-change.html [ Failure ]
-crbug.com/591099 fast/forms/autofocus-opera-001.html [ Failure ]
-crbug.com/591099 fast/forms/autofocus-opera-002.html [ Failure ]
-crbug.com/591099 fast/forms/autofocus-opera-004.html [ Failure ]
-crbug.com/591099 fast/forms/autofocus-opera-005.html [ Failure ]
-crbug.com/591099 fast/forms/autofocus-opera-006.html [ Failure ]
-crbug.com/591099 fast/forms/autofocus-opera-007.html [ Failure ]
-crbug.com/591099 fast/forms/autofocus-opera-008.html [ Failure ]
+crbug.com/591099 fast/forms/autofocus-opera-001.html [ Crash Failure ]
+crbug.com/591099 fast/forms/autofocus-opera-002.html [ Crash Failure ]
+crbug.com/591099 fast/forms/autofocus-opera-003.html [ Crash Pass ]
+crbug.com/591099 fast/forms/autofocus-opera-004.html [ Crash Failure ]
+crbug.com/591099 fast/forms/autofocus-opera-005.html [ Crash Failure ]
+crbug.com/591099 fast/forms/autofocus-opera-006.html [ Crash Failure ]
+crbug.com/591099 fast/forms/autofocus-opera-007.html [ Crash Failure ]
+crbug.com/591099 fast/forms/autofocus-opera-008.html [ Crash Failure ]
 crbug.com/591099 fast/forms/autofocus-readonly-attribute.html [ Failure ]
 crbug.com/591099 fast/forms/basic-buttons.html [ Failure ]
-crbug.com/591099 fast/forms/basic-inputs.html [ Failure ]
+crbug.com/591099 fast/forms/basic-inputs.html [ Crash Failure ]
 crbug.com/591099 fast/forms/blankbuttons.html [ Failure ]
 crbug.com/591099 fast/forms/button/button-align.html [ Failure ]
 crbug.com/591099 fast/forms/button/button-baseline-and-collapsing.html [ Failure ]
-crbug.com/591099 fast/forms/button/button-cannot-be-nested.html [ Failure ]
+crbug.com/591099 fast/forms/button/button-cannot-be-nested.html [ Failure Pass ]
 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-first-line-first-letter.html [ Failure Pass ]
 crbug.com/591099 fast/forms/button/button-focus-by-label-click.html [ Failure Pass ]
 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-reset-focus-by-mouse.html [ Failure Pass ]
+crbug.com/591099 fast/forms/button/button-submit.html [ Failure Pass ]
 crbug.com/591099 fast/forms/button/button-white-space.html [ Failure ]
 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 ]
-crbug.com/591099 fast/forms/button-state-restore.html [ Failure ]
+crbug.com/591099 fast/forms/button-state-restore.html [ Crash Failure ]
 crbug.com/591099 fast/forms/button-style-color.html [ Failure ]
 crbug.com/591099 fast/forms/button-table-styles.html [ Failure ]
 crbug.com/591099 fast/forms/button-text-transform.html [ Failure ]
-crbug.com/591099 fast/forms/button-with-ellipsis.html [ Failure ]
+crbug.com/591099 fast/forms/button-with-ellipsis.html [ Failure Pass ]
 crbug.com/591099 fast/forms/calendar-picker/calendar-picker-appearance-ar.html [ Failure ]
 crbug.com/591099 fast/forms/calendar-picker/calendar-picker-appearance-coarse.html [ Failure ]
-crbug.com/591099 fast/forms/calendar-picker/calendar-picker-appearance.html [ Failure ]
+crbug.com/591099 fast/forms/calendar-picker/calendar-picker-appearance.html [ Failure Timeout ]
 crbug.com/591099 fast/forms/calendar-picker/calendar-picker-appearance-minimum-date.html [ Failure ]
 crbug.com/591099 fast/forms/calendar-picker/calendar-picker-appearance-required-ar.html [ Failure ]
 crbug.com/591099 fast/forms/calendar-picker/calendar-picker-appearance-required.html [ Failure ]
@@ -9863,9 +11971,10 @@
 crbug.com/591099 fast/forms/checkbox/checkbox-onchange.html [ Failure ]
 crbug.com/591099 fast/forms/checkValidity-cancel.html [ Failure ]
 crbug.com/591099 fast/forms/checkValidity-handler-updates-dom.html [ Failure ]
+crbug.com/591099 fast/forms/checkValidity.html [ Crash Pass ]
 crbug.com/591099 fast/forms/checkValidity-on-cloned-node.html [ Failure ]
 crbug.com/591099 fast/forms/checkValidity-select-form.html [ Failure ]
-crbug.com/591099 fast/forms/clone-input-with-dirty-value.html [ Failure ]
+crbug.com/591099 fast/forms/clone-input-with-dirty-value.html [ Crash Failure ]
 crbug.com/591099 fast/forms/color/color-no-event-during-detach.html [ Crash ]
 crbug.com/591099 fast/forms/color/color-setrangetext.html [ Failure ]
 crbug.com/591099 fast/forms/color/color-suggestion-picker-appearance.html [ Failure ]
@@ -9880,12 +11989,13 @@
 crbug.com/591099 fast/forms/color/input-value-sanitization-color.html [ Failure ]
 crbug.com/591099 fast/forms/control-clip.html [ Failure ]
 crbug.com/591099 fast/forms/control-clip-overflow.html [ Failure ]
-crbug.com/591099 fast/forms/control-restrict-line-height.html [ Failure ]
-crbug.com/591099 fast/forms/cursor-at-editable-content-boundary.html [ Failure ]
-crbug.com/591099 fast/forms/cursor-position.html [ Failure ]
+crbug.com/591099 fast/forms/control-restrict-line-height.html [ Crash Failure ]
+crbug.com/591099 fast/forms/cursor-at-editable-content-boundary.html [ Crash Failure ]
+crbug.com/591099 fast/forms/cursor-position.html [ Crash Failure ]
 crbug.com/591099 fast/forms/dangling-form-element-crash.html [ Failure ]
 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-inside-shadow-dom.html [ Crash Pass ]
 crbug.com/591099 fast/forms/datalist/datalist-nonoption-child.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 ]
@@ -9895,9 +12005,9 @@
 crbug.com/591099 fast/forms/datalist/range-snap-to-datalist.html [ Failure ]
 crbug.com/591099 fast/forms/datalist/slider-appearance-with-ticks-crash.html [ Failure ]
 crbug.com/591099 fast/forms/datalist/update-range-with-datalist.html [ Failure ]
-crbug.com/591099 fast/forms/date/date-appearance-basic.html [ Failure ]
+crbug.com/591099 fast/forms/date/date-appearance-basic.html [ Crash Failure ]
 crbug.com/591099 fast/forms/date/date-appearance-l10n.html [ Failure ]
-crbug.com/591099 fast/forms/date/date-appearance-pseudo-elements.html [ Failure ]
+crbug.com/591099 fast/forms/date/date-appearance-pseudo-elements.html [ Crash Failure ]
 crbug.com/591099 fast/forms/date/date-format-warning.html [ Crash ]
 crbug.com/591099 fast/forms/date/date-input-type.html [ Failure ]
 crbug.com/591099 fast/forms/date/date-interactive-validation-required.html [ Failure ]
@@ -9915,12 +12025,13 @@
 crbug.com/591099 fast/forms/date-multiple-fields/date-multiple-fields-change-layout-by-value.html [ Failure ]
 crbug.com/591099 fast/forms/date-multiple-fields/date-multiple-fields-choose-default-value-after-set-value.html [ Failure ]
 crbug.com/591099 fast/forms/date-multiple-fields/date-multiple-fields-clearbutton-change-and-input-events.html [ Failure ]
+crbug.com/591099 fast/forms/date-multiple-fields/date-multiple-fields-clearbutton-visibility-after-restore.html [ Crash Pass ]
 crbug.com/591099 fast/forms/date-multiple-fields/date-multiple-fields-disabled-crash.html [ Failure ]
 crbug.com/591099 fast/forms/date-multiple-fields/date-multiple-fields-fallback-format.html [ Failure ]
 crbug.com/591099 fast/forms/date-multiple-fields/date-multiple-fields-focus.html [ Failure ]
 crbug.com/591099 fast/forms/date-multiple-fields/date-multiple-fields-focusin-event.html [ Failure ]
-crbug.com/591099 fast/forms/date-multiple-fields/date-multiple-fields-keyboard-events.html [ Timeout ]
-crbug.com/591099 fast/forms/date-multiple-fields/date-multiple-fields-mouse-events.html [ Failure ]
+crbug.com/591099 fast/forms/date-multiple-fields/date-multiple-fields-keyboard-events.html [ Crash Timeout ]
+crbug.com/591099 fast/forms/date-multiple-fields/date-multiple-fields-mouse-events.html [ Crash Failure ]
 crbug.com/591099 fast/forms/date-multiple-fields/date-multiple-fields-onblur-setvalue-onfocusremoved.html [ Failure ]
 crbug.com/591099 fast/forms/date-multiple-fields/date-multiple-fields-preserve-value-after-history-back.html [ Failure ]
 crbug.com/591099 fast/forms/date-multiple-fields/date-multiple-fields-readonly-subfield.html [ Failure ]
@@ -9931,7 +12042,7 @@
 crbug.com/591099 fast/forms/date-multiple-fields/date-multiple-fields-value-set-empty.html [ Failure ]
 crbug.com/591099 fast/forms/date-multiple-fields/date-multiple-fields-wheel-event.html [ Crash ]
 crbug.com/591099 fast/forms/date/no-page-popup-controller.html [ Failure ]
-crbug.com/591099 fast/forms/datetimelocal/datetimelocal-appearance-basic.html [ Failure ]
+crbug.com/591099 fast/forms/datetimelocal/datetimelocal-appearance-basic.html [ Crash Failure ]
 crbug.com/591099 fast/forms/datetimelocal/datetimelocal-appearance-l10n.html [ Failure ]
 crbug.com/591099 fast/forms/datetimelocal/datetimelocal-input-type.html [ Failure ]
 crbug.com/591099 fast/forms/datetimelocal/datetimelocal-interactive-validation-required.html [ Failure ]
@@ -9946,9 +12057,10 @@
 crbug.com/591099 fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-change-layout-by-value.html [ Failure ]
 crbug.com/591099 fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-choose-default-value-after-set-value.html [ Failure ]
 crbug.com/591099 fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-clearbutton-change-and-input-events.html [ Failure ]
+crbug.com/591099 fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-clearbutton-visibility-after-restore.html [ Crash Pass ]
 crbug.com/591099 fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-fallback-format.html [ Failure ]
-crbug.com/591099 fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-keyboard-events.html [ Failure Timeout ]
-crbug.com/591099 fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-mouse-events.html [ Failure ]
+crbug.com/591099 fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-keyboard-events.html [ Crash Failure Timeout ]
+crbug.com/591099 fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-mouse-events.html [ Crash Failure ]
 crbug.com/591099 fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-preserve-value-after-history-back.html [ Failure ]
 crbug.com/591099 fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-readonly-subfield.html [ Failure ]
 crbug.com/591099 fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-reset-value-after-reloads.html [ Crash ]
@@ -9965,7 +12077,7 @@
 crbug.com/591099 fast/forms/date/ValidityState-rangeUnderflow-date.html [ Failure ]
 crbug.com/591099 fast/forms/date/ValidityState-stepMismatch-date.html [ Failure ]
 crbug.com/591099 fast/forms/date/ValidityState-typeMismatch-date.html [ Failure ]
-crbug.com/591099 fast/forms/defer-updateFromElement.html [ Failure ]
+crbug.com/591099 fast/forms/defer-updateFromElement.html [ Crash Failure ]
 crbug.com/591099 fast/forms/delete-text-with-invisible-br.html [ Crash ]
 crbug.com/591099 fast/forms/disabled-attr-checkvalidity.html [ Failure ]
 crbug.com/591099 fast/forms/disabled-mousedown-event.html [ Failure ]
@@ -9973,71 +12085,80 @@
 crbug.com/591099 fast/forms/document-write-empty.html [ Failure ]
 crbug.com/591099 fast/forms/document-write.html [ Failure ]
 crbug.com/591099 fast/forms/domstring-replace-crash.html [ Failure ]
-crbug.com/591099 fast/forms/double-focus.html [ Failure ]
-crbug.com/591099 fast/forms/editing-value.html [ Failure ]
-crbug.com/591099 fast/forms/element-by-name.html [ Failure ]
-crbug.com/591099 fast/forms/element-order.html [ Failure ]
+crbug.com/591099 fast/forms/double-focus.html [ Crash Failure ]
+crbug.com/591099 fast/forms/editing-value.html [ Crash Failure ]
+crbug.com/591099 fast/forms/element-by-name.html [ Crash Failure ]
+crbug.com/591099 fast/forms/element-order.html [ Crash Failure ]
 crbug.com/591099 fast/forms/elements-invalidate-on-form-attribute-invalidation.html [ Failure ]
-crbug.com/591099 fast/forms/email-idn-conversion.html [ Failure ]
+crbug.com/591099 fast/forms/email-idn-conversion.html [ Crash Failure ]
 crbug.com/591099 fast/forms/empty-get.html [ Failure ]
 crbug.com/591099 fast/forms/encoding-test.html [ Failure ]
 crbug.com/591099 fast/forms/enctype-attribute.html [ Failure ]
 crbug.com/591099 fast/forms/enter-clicks-buttons.html [ Crash ]
 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-disable.html [ Crash Pass ]
 crbug.com/591099 fast/forms/fieldset/fieldset-elements.html [ Crash ]
 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 ]
 crbug.com/591099 fast/forms/fieldset/fieldset-type.html [ Failure ]
+crbug.com/591099 fast/forms/fieldset/fieldset-width-nostretch-ifspecified.html [ Crash Pass ]
 crbug.com/591099 fast/forms/fieldset/fieldset-with-float.html [ Failure ]
 crbug.com/591099 fast/forms/fieldset/float-before-fieldset.html [ Failure ]
+crbug.com/591099 fast/forms/fieldset/focus-in-fieldset-disabled.html [ Crash Pass ]
 crbug.com/591099 fast/forms/fieldset/inline-ignored-on-legend.html [ Failure ]
 crbug.com/591099 fast/forms/fieldset/legend-absolute-position-auto-width.html [ Failure ]
-crbug.com/591099 fast/forms/fieldset/legend-access-key.html [ Failure ]
+crbug.com/591099 fast/forms/fieldset/legend-access-key.html [ Crash Failure ]
 crbug.com/591099 fast/forms/fieldset/legend-after-margin-with-before-border-horizontal-mode.html [ Failure ]
 crbug.com/591099 fast/forms/fieldset/legend-display-none.html [ Failure ]
 crbug.com/591099 fast/forms/fieldset/legend-form.html [ Failure ]
 crbug.com/591099 fast/forms/fieldset/legend-margin-with-float.html [ Failure ]
 crbug.com/591099 fast/forms/fieldset/legend-small-after-margin-before-border-horizontal-mode.html [ Failure ]
+crbug.com/591099 fast/forms/fieldset/validation-in-fieldset.html [ Crash Pass ]
+crbug.com/591099 fast/forms/file/disabling-file-busy-loop.html [ Crash Pass ]
+crbug.com/591099 fast/forms/file/file-appearance-transform-no-effects.html [ Crash Pass ]
 crbug.com/591099 fast/forms/file/file-cloneNode.html [ Crash ]
 crbug.com/591099 fast/forms/file/file-input-capture.html [ Failure ]
-crbug.com/591099 fast/forms/file/file-input-change-event.html [ Failure ]
+crbug.com/591099 fast/forms/file/file-input-change-event.html [ Crash Failure ]
 crbug.com/591099 fast/forms/file/file-input-direction.html [ Failure ]
-crbug.com/591099 fast/forms/file/file-input-disabled.html [ Failure ]
-crbug.com/591099 fast/forms/file/file-input-empty-validation.html [ Failure ]
-crbug.com/591099 fast/forms/file/file-input-hit-test.html [ Failure ]
-crbug.com/591099 fast/forms/file/file-input-pressed-state.html [ Failure ]
-crbug.com/591099 fast/forms/file/file-input-reset-validation.html [ Failure ]
-crbug.com/591099 fast/forms/file/file-reset-in-change.html [ Failure ]
-crbug.com/591099 fast/forms/file/file-setrangetext.html [ Failure ]
-crbug.com/591099 fast/forms/file/file-style-inheritance.html [ Failure ]
-crbug.com/591099 fast/forms/file/file-vertical-padding-border.html [ Failure ]
-crbug.com/591099 fast/forms/file/get-file-upload.html [ Failure ]
-crbug.com/591099 fast/forms/file/input-file-entries.html [ Failure ]
-crbug.com/591099 fast/forms/file/input-file-label.html [ Failure ]
+crbug.com/591099 fast/forms/file/file-input-disabled.html [ Crash Failure ]
+crbug.com/591099 fast/forms/file/file-input-empty-validation.html [ Crash Failure ]
+crbug.com/591099 fast/forms/file/file-input-hit-test.html [ Crash Failure ]
+crbug.com/591099 fast/forms/file/file-input-pressed-state.html [ Crash Failure ]
+crbug.com/591099 fast/forms/file/file-input-reset.html [ Crash Pass ]
+crbug.com/591099 fast/forms/file/file-input-reset-validation.html [ Crash Failure ]
+crbug.com/591099 fast/forms/file/file-reset-in-change.html [ Crash Failure ]
+crbug.com/591099 fast/forms/file/file-setrangetext.html [ Crash Failure ]
+crbug.com/591099 fast/forms/file/file-style-inheritance.html [ Crash Failure ]
+crbug.com/591099 fast/forms/file/file-vertical-padding-border.html [ Crash Failure ]
+crbug.com/591099 fast/forms/file/get-file-upload.html [ Crash Failure ]
+crbug.com/591099 fast/forms/file/hidden-input-file.html [ Crash Pass ]
+crbug.com/591099 fast/forms/file/input-file-entries.html [ Crash Failure ]
+crbug.com/591099 fast/forms/file/input-file-label.html [ Crash Failure ]
+crbug.com/591099 fast/forms/file/input-file-not-open-without-gesture.html [ Crash Pass ]
 crbug.com/591099 fast/forms/file/input-file-re-render.html [ Crash ]
-crbug.com/591099 fast/forms/file/input-file-value.html [ Failure ]
-crbug.com/591099 fast/forms/file/input-file-value-with-zoom.html [ Failure ]
-crbug.com/591099 fast/forms/file/input-file-write-files.html [ Failure ]
-crbug.com/591099 fast/forms/file/intrinsic-min-width-overrides-width.html [ Failure ]
-crbug.com/591099 fast/forms/file/recover-file-input-in-unposted-form.html [ Failure ]
-crbug.com/591099 fast/forms/file/selected-files-from-history-state.html [ Failure ]
-crbug.com/591099 fast/forms/file/sibling-of-disabled-file-input.html [ Failure ]
+crbug.com/591099 fast/forms/file/input-file-value.html [ Crash Failure ]
+crbug.com/591099 fast/forms/file/input-file-value-with-zoom.html [ Crash Failure ]
+crbug.com/591099 fast/forms/file/input-file-write-files.html [ Crash Failure ]
+crbug.com/591099 fast/forms/file/intrinsic-min-width-overrides-width.html [ Crash Failure ]
+crbug.com/591099 fast/forms/file/recover-file-input-in-unposted-form.html [ Crash Failure ]
+crbug.com/591099 fast/forms/file/selected-files-from-history-state.html [ Crash Failure ]
+crbug.com/591099 fast/forms/file/sibling-of-disabled-file-input.html [ Crash Failure ]
 crbug.com/591099 fast/forms/floating-textfield-relayout.html [ Failure ]
 crbug.com/591099 fast/forms/focus2.html [ Crash ]
 crbug.com/591099 fast/forms/focus-change-on-keypress.html [ Failure ]
-crbug.com/591099 fast/forms/focus-control-to-page.html [ Failure ]
-crbug.com/591099 fast/forms/focus.html [ Failure ]
+crbug.com/591099 fast/forms/focus-control-to-page.html [ Crash Failure ]
+crbug.com/591099 fast/forms/focus.html [ Crash Failure ]
 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-selection-input.html [ Crash Failure ]
+crbug.com/591099 fast/forms/focus-selection-textarea.html [ Crash Failure ]
 crbug.com/591099 fast/forms/focus-style-pending.html [ Failure Pass ]
 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 ]
-crbug.com/591099 fast/forms/form-and-frame-interaction-retains-values.html [ Failure ]
+crbug.com/591099 fast/forms/form-and-frame-interaction-retains-values.html [ Crash Failure ]
 crbug.com/591099 fast/forms/form-associated-element-crash2.html [ Failure ]
 crbug.com/591099 fast/forms/form-associated-element-crash.html [ Crash ]
 crbug.com/591099 fast/forms/form-associated-element.html [ Failure ]
@@ -10045,16 +12166,17 @@
 crbug.com/591099 fast/forms/form-attribute-elements.html [ Failure ]
 crbug.com/591099 fast/forms/form-attribute-elements-order2.html [ Failure ]
 crbug.com/591099 fast/forms/form-attribute-elements-order.html [ Failure ]
-crbug.com/591099 fast/forms/form-attribute.html [ Failure ]
+crbug.com/591099 fast/forms/form-attribute.html [ Crash Failure ]
 crbug.com/591099 fast/forms/form-attribute-nonexistence-form-id.html [ Failure ]
 crbug.com/591099 fast/forms/form-attribute-not-in-document.html [ Failure ]
 crbug.com/591099 fast/forms/form-collection-elements.html [ Crash ]
-crbug.com/591099 fast/forms/form-collection-elements-order.html [ Failure ]
+crbug.com/591099 fast/forms/form-collection-elements-order.html [ Crash Failure ]
 crbug.com/591099 fast/forms/form-collection-lookup.html [ Failure ]
 crbug.com/591099 fast/forms/form-collection-radio-node-list.html [ Crash ]
+crbug.com/591099 fast/forms/form-control-element-crash.html [ Crash Pass ]
 crbug.com/591099 fast/forms/form-data-encoding-normalization-overrun.html [ Failure ]
 crbug.com/591099 fast/forms/form-dirname-attribute.html [ Failure ]
-crbug.com/591099 fast/forms/form-element-geometry.html [ Failure ]
+crbug.com/591099 fast/forms/form-element-geometry.html [ Crash Failure ]
 crbug.com/591099 fast/forms/form-get-textplain.html [ Failure ]
 crbug.com/591099 fast/forms/form-hides-table.html [ Failure ]
 crbug.com/591099 fast/forms/form-in-malformed-markup.html [ Failure ]
@@ -10068,8 +12190,8 @@
 crbug.com/591099 fast/forms/formnovalidate-attribute.html [ Failure ]
 crbug.com/591099 fast/forms/form-pseudo-valid-style.html [ Failure ]
 crbug.com/591099 fast/forms/form-radio-img-node-list.html [ Failure ]
-crbug.com/591099 fast/forms/form-radio-node-list.html [ Failure ]
-crbug.com/591099 fast/forms/form-submission-cancelable.html [ Failure ]
+crbug.com/591099 fast/forms/form-radio-node-list.html [ Crash Failure ]
+crbug.com/591099 fast/forms/form-submission-cancelable.html [ Crash Failure ]
 crbug.com/591099 fast/forms/form-submit-in-image-document.html [ Failure ]
 crbug.com/591099 fast/forms/form-submit-in-submit-event.html [ Crash ]
 crbug.com/591099 fast/forms/formtarget-attribute-button-html.html [ Failure ]
@@ -10078,12 +12200,12 @@
 crbug.com/591099 fast/forms/hidden/hidden-setrangetext.html [ Failure ]
 crbug.com/591099 fast/forms/huge-mac-input-clamped-height.html [ Failure ]
 crbug.com/591099 fast/forms/huge-mac-input-clamped-width.html [ Failure ]
-crbug.com/591099 fast/forms/image/002.html [ Failure ]
+crbug.com/591099 fast/forms/image/002.html [ Crash Failure ]
 crbug.com/591099 fast/forms/image/005.html [ Failure ]
 crbug.com/591099 fast/forms/image-border.html [ Failure ]
 crbug.com/591099 fast/forms/image-disconnected-during-parse.html [ Failure ]
 crbug.com/591099 fast/forms/image/image-error-event-modifies-type-crash.html [ Crash Failure ]
-crbug.com/591099 fast/forms/image/image-setrangetext.html [ Failure ]
+crbug.com/591099 fast/forms/image/image-setrangetext.html [ Crash 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 ]
@@ -10091,36 +12213,37 @@
 crbug.com/591099 fast/forms/implicit-submission.html [ Crash ]
 crbug.com/591099 fast/forms/incremental-dom-property.html [ Failure ]
 crbug.com/591099 fast/forms/indeterminate.html [ Failure ]
-crbug.com/591099 fast/forms/indeterminate-input-types.html [ Failure ]
-crbug.com/591099 fast/forms/input-align.html [ Failure ]
-crbug.com/591099 fast/forms/input-appearance-height.html [ Failure ]
-crbug.com/591099 fast/forms/input-baseline-empty-text.html [ Failure ]
+crbug.com/591099 fast/forms/indeterminate-input-types.html [ Crash Failure ]
+crbug.com/591099 fast/forms/input-align.html [ Crash Failure ]
+crbug.com/591099 fast/forms/input-appearance-height.html [ Crash Failure ]
+crbug.com/591099 fast/forms/input-baseline-empty-text.html [ Crash Failure ]
 crbug.com/591099 fast/forms/input-button-sizes.html [ Failure ]
 crbug.com/591099 fast/forms/input-disconnected-during-parse.html [ Failure ]
-crbug.com/591099 fast/forms/input-file-set-value.html [ Failure ]
+crbug.com/591099 fast/forms/input-file-set-value.html [ Crash Failure ]
 crbug.com/591099 fast/forms/input-first-letter.html [ Failure ]
 crbug.com/591099 fast/forms/input-inputmode.html [ Failure ]
+crbug.com/591099 fast/forms/input-in-table-cell-no-value.html [ Crash Pass ]
 crbug.com/591099 fast/forms/input-maxlength-unsupported.html [ Failure ]
 crbug.com/591099 fast/forms/input-minmax.html [ Failure ]
-crbug.com/591099 fast/forms/input-multiple.html [ Failure ]
+crbug.com/591099 fast/forms/input-multiple.html [ Crash Failure ]
 crbug.com/591099 fast/forms/input-named-action-overrides-action-attribute.html [ Failure ]
 crbug.com/591099 fast/forms/input-pattern.html [ Failure ]
 crbug.com/591099 fast/forms/input-readonly-select.html [ Crash ]
-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-select-api-support.html [ Crash Failure ]
+crbug.com/591099 fast/forms/input-step-as-double.html [ Crash Failure ]
 crbug.com/591099 fast/forms/input-stepup-stepdown.html [ Failure ]
-crbug.com/591099 fast/forms/input-textarea-padding-match.html [ Failure Pass ]
+crbug.com/591099 fast/forms/input-textarea-padding-match.html [ Crash Failure Pass ]
 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 ]
 crbug.com/591099 fast/forms/input-type-change-in-onfocus-keyboard.html [ Failure ]
 crbug.com/591099 fast/forms/input-type-change-in-onfocus-mouse.html [ Failure ]
-crbug.com/591099 fast/forms/input-type-text-min-width.html [ Failure ]
+crbug.com/591099 fast/forms/input-type-text-min-width.html [ Crash Failure ]
 crbug.com/591099 fast/forms/input-user-modify.html [ Failure ]
-crbug.com/591099 fast/forms/input-user-select-none.html [ Failure ]
-crbug.com/591099 fast/forms/input-valueasnumber-unsupported.html [ Failure ]
+crbug.com/591099 fast/forms/input-user-select-none.html [ Crash Failure ]
+crbug.com/591099 fast/forms/input-valueasnumber-unsupported.html [ Crash Failure ]
 crbug.com/591099 fast/forms/input-value.html [ Failure ]
-crbug.com/591099 fast/forms/input-value-sanitization.html [ Failure ]
+crbug.com/591099 fast/forms/input-value-sanitization.html [ Crash Failure ]
 crbug.com/591099 fast/forms/input-width-height-attributes.html [ Failure ]
 crbug.com/591099 fast/forms/input-widths.html [ Crash ]
 crbug.com/591099 fast/forms/input-zero-height-focus.html [ Failure ]
@@ -10130,7 +12253,7 @@
 crbug.com/591099 fast/forms/interactive-validation-formnovalidate-child.html [ Failure ]
 crbug.com/591099 fast/forms/interactive-validation-formnovalidate.html [ Failure ]
 crbug.com/591099 fast/forms/interactive-validation-novalidate.html [ Failure ]
-crbug.com/591099 fast/forms/interactive-validation-prevented.html [ Failure ]
+crbug.com/591099 fast/forms/interactive-validation-prevented.html [ Crash Failure ]
 crbug.com/591099 fast/forms/interactive-validation-remove-node-in-handler.html [ Crash Failure ]
 crbug.com/591099 fast/forms/interactive-validation-required-checkbox.html [ Failure ]
 crbug.com/591099 fast/forms/interactive-validation-select-crash.html [ Failure ]
@@ -10156,20 +12279,39 @@
 crbug.com/591099 fast/forms/label/labels-set-htmlFor-attribute.html [ Crash ]
 crbug.com/591099 fast/forms/label/selection-disabled-label.html [ Failure ]
 crbug.com/591099 fast/forms/large-parts.html [ Failure ]
-crbug.com/591099 fast/forms/lazy-event-listener-scope-chain.html [ Failure ]
-crbug.com/591099 fast/forms/mailto/advanced-get.html [ Failure ]
-crbug.com/591099 fast/forms/mailto/advanced-put.html [ Failure ]
+crbug.com/591099 fast/forms/lazy-event-listener-scope-chain.html [ Crash Failure ]
+crbug.com/591099 fast/forms/long-text-in-input.html [ Crash Failure ]
+crbug.com/591099 fast/forms/mailto/advanced-get.html [ Crash Failure ]
+crbug.com/591099 fast/forms/mailto/advanced-put.html [ Crash Failure ]
+crbug.com/591099 fast/forms/mailto/formenctype-attribute-button-html.html [ Crash Pass ]
+crbug.com/591099 fast/forms/mailto/formenctype-attribute-input-2.html [ Crash Pass ]
+crbug.com/591099 fast/forms/mailto/formenctype-attribute-input-html.html [ Crash Pass ]
+crbug.com/591099 fast/forms/mailto/get-multiple-items.html [ Crash Pass ]
+crbug.com/591099 fast/forms/mailto/get-multiple-items-text-plain.html [ Crash Pass ]
+crbug.com/591099 fast/forms/mailto/get-multiple-items-x-www-form-urlencoded.html [ Crash Pass ]
+crbug.com/591099 fast/forms/mailto/get-non-ascii-always-utf-8.html [ Crash Pass ]
+crbug.com/591099 fast/forms/mailto/get-non-ascii.html [ Crash Pass ]
+crbug.com/591099 fast/forms/mailto/get-non-ascii-text-plain.html [ Crash Pass ]
+crbug.com/591099 fast/forms/mailto/get-non-ascii-text-plain-latin-1.html [ Crash Pass ]
+crbug.com/591099 fast/forms/mailto/get-overwrite-query.html [ Crash Pass ]
+crbug.com/591099 fast/forms/mailto/post-append-query.html [ Crash Pass ]
+crbug.com/591099 fast/forms/mailto/post-multiple-items.html [ Crash Pass ]
+crbug.com/591099 fast/forms/mailto/post-multiple-items-multipart-form-data.html [ Crash Pass ]
+crbug.com/591099 fast/forms/mailto/post-multiple-items-text-plain.html [ Crash Pass ]
+crbug.com/591099 fast/forms/mailto/post-multiple-items-x-www-form-urlencoded.html [ Crash Pass ]
+crbug.com/591099 fast/forms/mailto/post-text-plain.html [ Crash Pass ]
+crbug.com/591099 fast/forms/mailto/post-text-plain-with-accept-charset.html [ Crash Pass ]
 crbug.com/591099 fast/forms/method-attribute.html [ Failure ]
-crbug.com/591099 fast/forms/min-content-form-controls.html [ Failure ]
+crbug.com/591099 fast/forms/min-content-form-controls.html [ Crash Failure ]
 crbug.com/591099 fast/forms/minWidthPercent.html [ Failure ]
 crbug.com/591099 fast/forms/misplaced-img-form-registration.html [ Failure ]
 crbug.com/591099 fast/forms/missing-action.html [ Failure ]
 crbug.com/591099 fast/forms/month/input-valueasdate.html [ Failure ]
 crbug.com/591099 fast/forms/month/input-valueasdate-month.html [ Failure ]
 crbug.com/591099 fast/forms/month/input-valueasnumber-month.html [ Failure ]
-crbug.com/591099 fast/forms/month/month-appearance-basic.html [ Failure ]
+crbug.com/591099 fast/forms/month/month-appearance-basic.html [ Crash Failure ]
 crbug.com/591099 fast/forms/month/month-appearance-l10n.html [ Failure ]
-crbug.com/591099 fast/forms/month/month-appearance-pseudo-elements.html [ Failure ]
+crbug.com/591099 fast/forms/month/month-appearance-pseudo-elements.html [ Crash Failure ]
 crbug.com/591099 fast/forms/month/month-input-type.html [ Failure ]
 crbug.com/591099 fast/forms/month/month-interactive-validation-required.html [ Failure ]
 crbug.com/591099 fast/forms/month/month-pseudo-classes.html [ Failure ]
@@ -10181,9 +12323,10 @@
 crbug.com/591099 fast/forms/month-multiple-fields/month-multiple-fields-change-layout-by-value.html [ Failure ]
 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-clearbutton-visibility-after-restore.html [ Crash Pass ]
 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 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-keyboard-events.html [ Crash Failure Timeout ]
+crbug.com/591099 fast/forms/month-multiple-fields/month-multiple-fields-mouse-events.html [ Crash 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 ]
 crbug.com/591099 fast/forms/month-multiple-fields/month-multiple-fields-reset-value-after-reloads.html [ Crash ]
@@ -10197,22 +12340,24 @@
 crbug.com/591099 fast/forms/month/ValidityState-stepMismatch-month.html [ Failure ]
 crbug.com/591099 fast/forms/month/ValidityState-typeMismatch-month.html [ Failure ]
 crbug.com/591099 fast/forms/mouseevent_disabled_form_control.html [ Crash ]
+crbug.com/591099 fast/forms/multiple-form-submission-protection-mouse.html [ Crash Pass ]
 crbug.com/591099 fast/forms/multiple-selected-options-innerHTML.html [ Failure ]
 crbug.com/591099 fast/forms/mutation-event-recalc.html [ Failure ]
-crbug.com/591099 fast/forms/negativeLineHeight.html [ Failure ]
+crbug.com/591099 fast/forms/negativeLineHeight.html [ Crash Failure ]
 crbug.com/591099 fast/forms/novalidate-attribute.html [ Failure ]
 crbug.com/591099 fast/forms/number/number-appearance-datalist-dynamic.html [ Failure ]
 crbug.com/591099 fast/forms/number/number-appearance-datalist.html [ Failure ]
-crbug.com/591099 fast/forms/number/number-appearance-rtl.html [ Failure ]
-crbug.com/591099 fast/forms/number/number-appearance-spinbutton-disabled-readonly.html [ Failure ]
-crbug.com/591099 fast/forms/number/number-appearance-spinbutton-layer.html [ Failure ]
+crbug.com/591099 fast/forms/number/number-appearance-rtl.html [ Crash Failure ]
+crbug.com/591099 fast/forms/number/number-appearance-spinbutton-disabled-readonly.html [ Crash Failure ]
+crbug.com/591099 fast/forms/number/number-appearance-spinbutton-layer.html [ Crash Failure ]
 crbug.com/591099 fast/forms/number/number-blur-twice.html [ Failure ]
+crbug.com/591099 fast/forms/number/number-change-event-by-defaultvalue.html [ Crash Pass ]
 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-change-type-on-focus.html [ Crash Failure ]
 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 ]
+crbug.com/591099 fast/forms/number/number-interactive-validation-required.html [ Crash Failure ]
+crbug.com/591099 fast/forms/number/number-keyoperation.html [ Crash Failure ]
 crbug.com/591099 fast/forms/number/number-l10n-input.html [ Failure ]
 crbug.com/591099 fast/forms/number/number-lossless-localization.html [ Failure ]
 crbug.com/591099 fast/forms/number/number-outofrange.html [ Crash ]
@@ -10223,18 +12368,20 @@
 crbug.com/591099 fast/forms/number/number-skip-spaces-in-user-input.html [ Failure ]
 crbug.com/591099 fast/forms/number/number-spinbutton-capturing.html [ Crash ]
 crbug.com/591099 fast/forms/number/number-spinbutton-change-and-input-events.html [ Crash ]
+crbug.com/591099 fast/forms/number/number-spinbutton-changeevent-trigger.html [ Crash Pass ]
 crbug.com/591099 fast/forms/number/number-spinbutton-click-in-iframe.html [ Crash ]
 crbug.com/591099 fast/forms/number/number-spinbutton-crash-on-detach.html [ Crash ]
-crbug.com/591099 fast/forms/number/number-spinbutton-gets-disabled-or-readonly.html [ Failure ]
+crbug.com/591099 fast/forms/number/number-spinbutton-gets-disabled-or-readonly.html [ Crash Failure ]
 crbug.com/591099 fast/forms/number/number-spinbutton-in-multi-column.html [ Failure ]
 crbug.com/591099 fast/forms/number/number-spinbutton-state.html [ Crash ]
-crbug.com/591099 fast/forms/number/number-stepup-stepdown-from-renderer.html [ Timeout ]
+crbug.com/591099 fast/forms/number/number-stepup-stepdown-from-renderer.html [ Crash Timeout ]
 crbug.com/591099 fast/forms/number/number-stepup-stepdown.html [ Failure ]
-crbug.com/591099 fast/forms/number/number-validation-message.html [ Failure ]
+crbug.com/591099 fast/forms/number/number-type-update-by-change-event.html [ Crash Pass ]
+crbug.com/591099 fast/forms/number/number-validation-message.html [ Crash Failure ]
 crbug.com/591099 fast/forms/number/number-validity-badinput.html [ Crash ]
 crbug.com/591099 fast/forms/number/number-validity-rangeoverflow.html [ Failure ]
 crbug.com/591099 fast/forms/number/number-validity-rangeunderflow.html [ Failure ]
-crbug.com/591099 fast/forms/number/number-validity-stepmismatch.html [ Failure ]
+crbug.com/591099 fast/forms/number/number-validity-stepmismatch.html [ Crash Failure ]
 crbug.com/591099 fast/forms/number/number-validity-typemismatch.html [ Failure ]
 crbug.com/591099 fast/forms/number/number-valueasnumber.html [ Failure ]
 crbug.com/591099 fast/forms/number/number-wheel-event.html [ Crash ]
@@ -10242,28 +12389,32 @@
 crbug.com/591099 fast/forms/old-names.html [ Failure ]
 crbug.com/591099 fast/forms/onchange-change-type.html [ Failure ]
 crbug.com/591099 fast/forms/onchange-enter-submit.html [ Failure ]
+crbug.com/591099 fast/forms/onchange-setvalueforuser.html [ Crash Pass ]
+crbug.com/591099 fast/forms/onselect-selectall.html [ Crash Pass ]
 crbug.com/591099 fast/forms/onselect-textfield.html [ Failure ]
 crbug.com/591099 fast/forms/output-reset-assertion-failed.html [ Failure ]
 crbug.com/591099 fast/forms/page-popup/page-popup-adjust-rect.html [ Failure ]
 crbug.com/591099 fast/forms/page-popup/page-popup-hide-window.html [ Failure ]
 crbug.com/591099 fast/forms/parser-associated-form-removal.html [ Failure ]
-crbug.com/591099 fast/forms/password-placeholder-text-security.html [ Failure ]
+crbug.com/591099 fast/forms/password-doubleclick-selection.html [ Crash Pass ]
+crbug.com/591099 fast/forms/password-placeholder-text-security.html [ Crash Failure ]
 crbug.com/591099 fast/forms/paste-multiline-text-input.html [ Failure ]
-crbug.com/591099 fast/forms/pattern-attribute-001.html [ Failure ]
-crbug.com/591099 fast/forms/pattern-attribute-002.html [ Failure ]
-crbug.com/591099 fast/forms/pattern-attribute-003.html [ Failure ]
+crbug.com/591099 fast/forms/pattern-attribute-001.html [ Crash Failure ]
+crbug.com/591099 fast/forms/pattern-attribute-002.html [ Crash Failure ]
+crbug.com/591099 fast/forms/pattern-attribute-003.html [ Crash Failure ]
 crbug.com/591099 fast/forms/percent-height-auto-width-form-controls.html [ Failure ]
 crbug.com/591099 fast/forms/placeholder-non-textfield.html [ Failure ]
-crbug.com/591099 fast/forms/placeholder-position.html [ Failure ]
+crbug.com/591099 fast/forms/placeholder-position.html [ Crash Failure ]
 crbug.com/591099 fast/forms/placeholder-stripped.html [ Crash Failure ]
-crbug.com/591099 fast/forms/plaintext-mode-2.html [ Failure ]
+crbug.com/591099 fast/forms/plaintext-mode-1.html [ Crash Pass ]
+crbug.com/591099 fast/forms/plaintext-mode-2.html [ Crash Failure ]
 crbug.com/591099 fast/forms/preserveFormDuringResidualStyle.html [ Failure ]
 crbug.com/591099 fast/forms/radio-checkbox-events-order.html [ Failure ]
 crbug.com/591099 fast/forms/radio-checkbox-restore-indeterminate.html [ Failure ]
 crbug.com/591099 fast/forms/radio/indeterminate-radio.html [ Failure ]
 crbug.com/591099 fast/forms/radio/input-radio-checked-tab.html [ Failure ]
 crbug.com/591099 fast/forms/radio/interactive-validation-required-radio.html [ Failure ]
-crbug.com/591099 fast/forms/radionodelist-image-type.html [ Failure ]
+crbug.com/591099 fast/forms/radionodelist-image-type.html [ Crash Failure ]
 crbug.com/591099 fast/forms/radionodelist-whose-form-element-detached-from-domtree.html [ Failure ]
 crbug.com/591099 fast/forms/radio/radio-appearance-basic.html [ Failure ]
 crbug.com/591099 fast/forms/radio/radio-arrow-with-modifier-keys.html [ Failure ]
@@ -10287,10 +12438,10 @@
 crbug.com/591099 fast/forms/radio/radio-remove-form-attr.html [ Failure ]
 crbug.com/591099 fast/forms/radio/radio-restore-preventDefault.html [ Failure ]
 crbug.com/591099 fast/forms/radio/remove-radio-button-assert.html [ Failure ]
-crbug.com/591099 fast/forms/radio/state-restore-radio-group.html [ Failure ]
+crbug.com/591099 fast/forms/radio/state-restore-radio-group.html [ Crash Failure ]
 crbug.com/591099 fast/forms/radio/ValidityState-valueMissing-radio.html [ Failure ]
 crbug.com/591099 fast/forms/range/input-appearance-range.html [ Failure ]
-crbug.com/591099 fast/forms/range/input-appearance-range-rtl.html [ Failure ]
+crbug.com/591099 fast/forms/range/input-appearance-range-rtl.html [ Failure Pass ]
 crbug.com/591099 fast/forms/range/input-range-validation-message.html [ Failure ]
 crbug.com/591099 fast/forms/range/input-valueasnumber-range.html [ Failure ]
 crbug.com/591099 fast/forms/range/range-appearance-basic.html [ Failure ]
@@ -10330,40 +12481,43 @@
 crbug.com/591099 fast/forms/range/thumbslider-crash.html [ Failure ]
 crbug.com/591099 fast/forms/range/thumbslider-no-parent-slider.html [ Failure ]
 crbug.com/591099 fast/forms/range/ValidityState-stepMismatch-range.html [ Failure ]
-crbug.com/591099 fast/forms/removed-image-as-property.html [ Failure ]
+crbug.com/591099 fast/forms/removed-image-as-property.html [ Crash Failure ]
 crbug.com/591099 fast/forms/render-text-crash.html [ Crash ]
 crbug.com/591099 fast/forms/reparented-image-as-property.html [ Failure ]
 crbug.com/591099 fast/forms/reportValidity-cancel.html [ Failure ]
 crbug.com/591099 fast/forms/reportValidity-handler-updates-dom.html [ Crash ]
-crbug.com/591099 fast/forms/reportValidity-invalid.html [ Failure ]
-crbug.com/591099 fast/forms/reportValidity-valid.html [ Failure ]
+crbug.com/591099 fast/forms/reportValidity-invalid.html [ Crash Failure ]
+crbug.com/591099 fast/forms/reportValidity-valid.html [ Crash Failure ]
 crbug.com/591099 fast/forms/required-attribute-001.html [ Failure ]
 crbug.com/591099 fast/forms/required-attribute-002.html [ Failure ]
 crbug.com/591099 fast/forms/reset-autofilled.html [ Failure ]
 crbug.com/591099 fast/forms/restore-selection-after-layout.html [ Crash ]
 crbug.com/591099 fast/forms/search/abspos-cancel-button-crash.html [ Crash ]
 crbug.com/591099 fast/forms/search/disabled-search-input.html [ Failure ]
-crbug.com/591099 fast/forms/search/input-search-press-escape-key.html [ Failure ]
+crbug.com/591099 fast/forms/search/input-search-press-escape-key.html [ Crash Failure ]
 crbug.com/591099 fast/forms/search/intrinsic-search-width-with-decoration-border-padding.html [ Failure ]
-crbug.com/591099 fast/forms/search/search-abs-pos-cancel-button.html [ Failure ]
-crbug.com/591099 fast/forms/search/search-appearance-basic.html [ Failure ]
+crbug.com/591099 fast/forms/search/search-abs-pos-cancel-button.html [ Crash Failure ]
+crbug.com/591099 fast/forms/search/search-appearance-basic.html [ Crash Failure ]
 crbug.com/591099 fast/forms/search/search-cancel-button-events.html [ Crash ]
-crbug.com/591099 fast/forms/search/search-cancel-button-mouseup.html [ Failure ]
-crbug.com/591099 fast/forms/search/search-cancel-button-style-sharing.html [ Failure ]
+crbug.com/591099 fast/forms/search/search-cancel-button-mouseup.html [ Crash Failure ]
+crbug.com/591099 fast/forms/search/search-cancel-button-style-sharing.html [ Crash Failure ]
+crbug.com/591099 fast/forms/search/search-cancel-in-invisible-elements.html [ Crash Pass ]
 crbug.com/591099 fast/forms/search/search-change-type-onsearch.html [ Timeout ]
 crbug.com/591099 fast/forms/search/search-click-in-placeholder.html [ Failure ]
 crbug.com/591099 fast/forms/search/search-delete-while-cancel-button-clicked.html [ Crash ]
-crbug.com/591099 fast/forms/search/search-disabled-readonly.html [ Failure ]
-crbug.com/591099 fast/forms/search/search-display-none-cancel-button.html [ Failure ]
-crbug.com/591099 fast/forms/search/searchfield-heights.html [ Failure ]
-crbug.com/591099 fast/forms/search/search-hide-cancel-on-cancel.html [ Failure ]
+crbug.com/591099 fast/forms/search/search-disabled-readonly.html [ Crash Failure ]
+crbug.com/591099 fast/forms/search/search-display-none-cancel-button.html [ Crash Failure ]
+crbug.com/591099 fast/forms/search/searchfield-heights.html [ Crash Failure ]
+crbug.com/591099 fast/forms/search/search-hide-cancel-on-cancel.html [ Crash Failure ]
 crbug.com/591099 fast/forms/search/search-placeholder-value-changed.html [ Failure ]
-crbug.com/591099 fast/forms/search/search-rtl.html [ Failure ]
-crbug.com/591099 fast/forms/search/search-setrangetext.html [ Failure ]
-crbug.com/591099 fast/forms/search/search-transformed.html [ Failure ]
+crbug.com/591099 fast/forms/search/search-rtl.html [ Crash Failure ]
+crbug.com/591099 fast/forms/search/search-setrangetext.html [ Crash Failure ]
+crbug.com/591099 fast/forms/search/search-setrangetext-noevents.html [ Crash Pass ]
+crbug.com/591099 fast/forms/search/search-shaking-text.html [ Crash Pass ]
+crbug.com/591099 fast/forms/search/search-transformed.html [ Crash Failure ]
 crbug.com/591099 fast/forms/search/search-type-change-crash.html [ Crash ]
-crbug.com/591099 fast/forms/search/search-vertical-alignment.html [ Failure ]
-crbug.com/591099 fast/forms/search/search-zoomed.html [ Failure ]
+crbug.com/591099 fast/forms/search/search-vertical-alignment.html [ Crash Failure ]
+crbug.com/591099 fast/forms/search/search-zoomed.html [ Crash Failure ]
 crbug.com/591099 fast/forms/select/003.html [ Failure ]
 crbug.com/591099 fast/forms/select/004.html [ Failure ]
 crbug.com/591099 fast/forms/select/add-and-remove-option.html [ Failure ]
@@ -10386,12 +12540,12 @@
 crbug.com/591099 fast/forms/select/HTMLOptionElement_selected3.html [ Failure ]
 crbug.com/591099 fast/forms/select/HTMLOptionElement_selected.html [ Failure ]
 crbug.com/591099 fast/forms/select/input-select-after-resize.html [ Crash Failure Timeout ]
-crbug.com/591099 fast/forms/selection-direction.html [ Timeout ]
-crbug.com/591099 fast/forms/selection-functions.html [ Failure ]
-crbug.com/591099 fast/forms/selection-setSelectionRange-focusing.html [ Failure ]
+crbug.com/591099 fast/forms/selection-direction.html [ Crash Timeout ]
+crbug.com/591099 fast/forms/selection-functions.html [ Crash Failure ]
+crbug.com/591099 fast/forms/selection-setSelectionRange-focusing.html [ Crash Failure ]
 crbug.com/591099 fast/forms/selection-setSelectionRange-frameselection.html [ Crash ]
-crbug.com/591099 fast/forms/selection-start-end-readonly.html [ Failure ]
-crbug.com/591099 fast/forms/selection-wrongtype.html [ Timeout ]
+crbug.com/591099 fast/forms/selection-start-end-readonly.html [ Crash Failure ]
+crbug.com/591099 fast/forms/selection-wrongtype.html [ Crash Timeout ]
 crbug.com/591099 fast/forms/select/listbox-appearance-basic.html [ Failure ]
 crbug.com/591099 fast/forms/select/listbox-appearance-separator.html [ Failure ]
 crbug.com/591099 fast/forms/select/listbox-bidi-align.html [ Failure ]
@@ -10417,9 +12571,9 @@
 crbug.com/591099 fast/forms/select/listbox-select-reset.html [ Failure ]
 crbug.com/591099 fast/forms/select/listbox-tap.html [ Failure ]
 crbug.com/591099 fast/forms/select/listbox-tap-input-change-event.html [ Failure ]
-crbug.com/591099 fast/forms/select/listbox-typeahead-cyrillic.html [ Failure ]
+crbug.com/591099 fast/forms/select/listbox-typeahead-cyrillic.html [ Crash Failure ]
 crbug.com/591099 fast/forms/select/listbox-typeahead-empty.html [ Failure ]
-crbug.com/591099 fast/forms/select/listbox-typeahead-greek.html [ Failure ]
+crbug.com/591099 fast/forms/select/listbox-typeahead-greek.html [ Crash Failure ]
 crbug.com/591099 fast/forms/select/listbox-typeahead-scroll.html [ Failure ]
 crbug.com/591099 fast/forms/select/listbox-width-change.html [ Failure ]
 crbug.com/591099 fast/forms/select/listbox-with-display-none-option.html [ Failure ]
@@ -10447,9 +12601,9 @@
 crbug.com/591099 fast/forms/select/menulist-separator-painting.html [ Failure ]
 crbug.com/591099 fast/forms/select/menulist-style-color.html [ Failure ]
 crbug.com/591099 fast/forms/select/menulist-submit-without-selection.html [ Failure ]
-crbug.com/591099 fast/forms/select/menulist-type-ahead-find.html [ Failure ]
-crbug.com/591099 fast/forms/select/menulist-type-ahead-find-original-item.html [ Failure ]
-crbug.com/591099 fast/forms/select/menulist-update-text-popup.html [ Failure ]
+crbug.com/591099 fast/forms/select/menulist-type-ahead-find.html [ Crash Failure ]
+crbug.com/591099 fast/forms/select/menulist-type-ahead-find-original-item.html [ Crash Failure ]
+crbug.com/591099 fast/forms/select/menulist-update-text-popup.html [ Failure Pass ]
 crbug.com/591099 fast/forms/select/menulist-width-change.html [ Failure ]
 crbug.com/591099 fast/forms/select/multiselect-in-listbox-mouse-release-outside.html [ Failure ]
 crbug.com/591099 fast/forms/select/named-options.html [ Failure ]
@@ -10475,6 +12629,7 @@
 crbug.com/591099 fast/forms/select/option-value-trim-html-spaces.html [ Failure ]
 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-empty.html [ Failure Pass ]
 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 Timeout ]
 crbug.com/591099 fast/forms/select-popup/popup-menu-appearance-long.html [ Failure ]
@@ -10505,8 +12660,8 @@
 crbug.com/591099 fast/forms/select/select-add.html [ Failure ]
 crbug.com/591099 fast/forms/select/select-align.html [ Failure ]
 crbug.com/591099 fast/forms/select/select-assign-null.html [ Failure ]
-crbug.com/591099 fast/forms/select/select-autofilled.html [ Failure ]
-crbug.com/591099 fast/forms/select/select-background-none.html [ Failure ]
+crbug.com/591099 fast/forms/select/select-autofilled.html [ Failure Pass ]
+crbug.com/591099 fast/forms/select/select-background-none.html [ Failure Pass ]
 crbug.com/591099 fast/forms/select/select-baseline.html [ Failure ]
 crbug.com/591099 fast/forms/select/select-block-background.html [ Failure ]
 crbug.com/591099 fast/forms/select/select-change-listbox-size.html [ Failure ]
@@ -10537,8 +12692,8 @@
 crbug.com/591099 fast/forms/select/select-list-box-mouse-focus.html [ Failure ]
 crbug.com/591099 fast/forms/select/select-listbox-multiple-no-focusring.html [ Failure ]
 crbug.com/591099 fast/forms/select/select-list-box-with-height.html [ Failure ]
-crbug.com/591099 fast/forms/select/selectlist-minsize.html [ Failure ]
-crbug.com/591099 fast/forms/select/select-live-pseudo-selectors.html [ Failure ]
+crbug.com/591099 fast/forms/select/selectlist-minsize.html [ Failure Pass ]
+crbug.com/591099 fast/forms/select/select-live-pseudo-selectors.html [ Crash Failure ]
 crbug.com/591099 fast/forms/select/select-max-length.html [ Failure ]
 crbug.com/591099 fast/forms/select/select-multiple-elements-with-mouse-drag.html [ Failure ]
 crbug.com/591099 fast/forms/select/select-multiple-elements-with-mouse-drag-with-options-less-than-size.html [ Failure ]
@@ -10553,7 +12708,7 @@
 crbug.com/591099 fast/forms/select/select-popup-pagekeys.html [ Failure ]
 crbug.com/591099 fast/forms/select/select-replace-option.html [ Failure ]
 crbug.com/591099 fast/forms/select/select-reset.html [ Failure ]
-crbug.com/591099 fast/forms/select/select-reset-multiple-selections-4-single-selection.html [ Failure ]
+crbug.com/591099 fast/forms/select/select-reset-multiple-selections-4-single-selection.html [ Crash Failure ]
 crbug.com/591099 fast/forms/select/select-script-onchange.html [ Failure ]
 crbug.com/591099 fast/forms/select/select-selected.html [ Failure ]
 crbug.com/591099 fast/forms/select/select-selectedIndex-bug-12942.html [ Failure ]
@@ -10566,7 +12721,7 @@
 crbug.com/591099 fast/forms/select/select-set-length-with-mutation-reparent.html [ Failure ]
 crbug.com/591099 fast/forms/select/select-size.html [ Failure ]
 crbug.com/591099 fast/forms/select/select-size-invalid.html [ Failure ]
-crbug.com/591099 fast/forms/select/select-state-restore.html [ Failure ]
+crbug.com/591099 fast/forms/select/select-state-restore.html [ Crash Failure ]
 crbug.com/591099 fast/forms/select/select-style.html [ Failure ]
 crbug.com/591099 fast/forms/select/select-typeahead-crash.html [ Failure ]
 crbug.com/591099 fast/forms/select/select-type-ahead-list-box-no-selection.html [ Failure ]
@@ -10580,210 +12735,229 @@
 crbug.com/591099 fast/forms/select/set-option-index-text.html [ Failure ]
 crbug.com/591099 fast/forms/select/setting-to-invalid-value.html [ Failure ]
 crbug.com/591099 fast/forms/setCustomValidity-arguments.html [ Failure ]
-crbug.com/591099 fast/forms/setCustomValidity-existence.html [ Failure ]
+crbug.com/591099 fast/forms/setCustomValidity-existence.html [ Crash Failure ]
 crbug.com/591099 fast/forms/setCustomValidity.html [ Failure ]
-crbug.com/591099 fast/forms/setrangetext.html [ Failure ]
-crbug.com/591099 fast/forms/setrangetext-within-events.html [ Failure ]
+crbug.com/591099 fast/forms/setrangetext.html [ Crash Failure ]
+crbug.com/591099 fast/forms/setrangetext-out-of-range.html [ Crash Pass ]
+crbug.com/591099 fast/forms/setrangetext-within-events.html [ Crash Failure ]
 crbug.com/591099 fast/forms/shadow-tree-exposure.html [ Crash ]
-crbug.com/591099 fast/forms/state-restore-broken-state.html [ Failure ]
+crbug.com/591099 fast/forms/state-restore-broken-state.html [ Crash Failure ]
 crbug.com/591099 fast/forms/state-restore-empty-state.html [ Failure ]
-crbug.com/591099 fast/forms/state-restore-hidden.html [ Failure ]
-crbug.com/591099 fast/forms/state-restore-to-non-autocomplete-form.html [ Failure ]
-crbug.com/591099 fast/forms/state-restore-to-non-edited-controls.html [ Failure ]
-crbug.com/591099 fast/forms/state-save-of-detached-control.html [ Failure ]
+crbug.com/591099 fast/forms/state-restore-hidden.html [ Crash Failure ]
+crbug.com/591099 fast/forms/state-restore-to-non-autocomplete-form.html [ Crash Failure ]
+crbug.com/591099 fast/forms/state-restore-to-non-edited-controls.html [ Crash Failure ]
+crbug.com/591099 fast/forms/state-save-of-detached-control.html [ Crash Failure ]
 crbug.com/591099 fast/forms/stuff-on-my-optgroup.html [ Failure ]
 crbug.com/591099 fast/forms/style-display-none.html [ Failure ]
-crbug.com/591099 fast/forms/submit-add-remove-element.html [ Failure ]
-crbug.com/591099 fast/forms/submit-change-fragment.html [ Failure ]
+crbug.com/591099 fast/forms/submit-add-remove-element.html [ Crash Failure ]
+crbug.com/591099 fast/forms/submit-change-fragment.html [ Crash Failure ]
 crbug.com/591099 fast/forms/submit-form-attributes.html [ Failure ]
-crbug.com/591099 fast/forms/submit-form-with-dirname-attribute.html [ Failure ]
-crbug.com/591099 fast/forms/submit-form-with-dirname-attribute-with-ancestor-dir-attribute.html [ Failure ]
+crbug.com/591099 fast/forms/submit-form-with-dirname-attribute.html [ Crash Failure ]
+crbug.com/591099 fast/forms/submit-form-with-dirname-attribute-with-ancestor-dir-attribute.html [ Crash Failure ]
 crbug.com/591099 fast/forms/submit-form-with-dirname-attribute-with-nonhtml-ancestor.html [ Failure ]
 crbug.com/591099 fast/forms/submit-nil-value-field-assert.html [ Failure ]
-crbug.com/591099 fast/forms/submit-onFocus-invalidForm.html [ Failure ]
+crbug.com/591099 fast/forms/submit-onFocus-invalidForm.html [ Crash Failure ]
 crbug.com/591099 fast/forms/submit/submit-appearance-basic.html [ Failure ]
 crbug.com/591099 fast/forms/submit/submit-focus-by-mouse.html [ Failure Pass ]
 crbug.com/591099 fast/forms/submit-to-blank-multiple-times.html [ Failure ]
 crbug.com/591099 fast/forms/submit-to-url-fragment.html [ Failure ]
-crbug.com/591099 fast/forms/submit-with-base.html [ Failure ]
+crbug.com/591099 fast/forms/submit-with-base.html [ Crash Failure ]
 crbug.com/591099 fast/forms/suggested-value-after-setvalue.html [ Crash ]
+crbug.com/591099 fast/forms/suggested-value-hides-placeholder.html [ Crash Pass ]
 crbug.com/591099 fast/forms/suggested-value.html [ Crash ]
-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-appearance.html [ Crash Failure ]
+crbug.com/591099 fast/forms/suggestion-picker/date-suggestion-picker-appearance-rtl.html [ Crash Failure ]
+crbug.com/591099 fast/forms/suggestion-picker/date-suggestion-picker-appearance-with-scroll-bar.html [ Crash Failure ]
+crbug.com/591099 fast/forms/suggestion-picker/date-suggestion-picker-appearance-zoom125.html [ Crash Failure Timeout ]
+crbug.com/591099 fast/forms/suggestion-picker/date-suggestion-picker-appearance-zoom200.html [ Crash Failure ]
+crbug.com/591099 fast/forms/suggestion-picker/date-suggestion-picker-key-operations.html [ Crash Timeout ]
+crbug.com/591099 fast/forms/suggestion-picker/date-suggestion-picker-min-max-attribute.html [ Crash Failure ]
+crbug.com/591099 fast/forms/suggestion-picker/date-suggestion-picker-mouse-operations.html [ Crash 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 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 ]
-crbug.com/591099 fast/forms/suggestion-picker/datetimelocal-suggestion-picker-min-max-attribute.html [ Failure ]
-crbug.com/591099 fast/forms/suggestion-picker/datetimelocal-suggestion-picker-mouse-operations.html [ Failure ]
+crbug.com/591099 fast/forms/suggestion-picker/date-suggestion-picker-step-attribute.html [ Crash Failure ]
+crbug.com/591099 fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance.html [ Crash Failure ]
+crbug.com/591099 fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-locale-hebrew.html [ Crash Failure Timeout ]
+crbug.com/591099 fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-rtl.html [ Crash Failure ]
+crbug.com/591099 fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-with-scroll-bar.html [ Crash Failure ]
+crbug.com/591099 fast/forms/suggestion-picker/datetimelocal-suggestion-picker-key-operations.html [ Crash Failure ]
+crbug.com/591099 fast/forms/suggestion-picker/datetimelocal-suggestion-picker-min-max-attribute.html [ Crash Failure ]
+crbug.com/591099 fast/forms/suggestion-picker/datetimelocal-suggestion-picker-mouse-operations.html [ Crash Failure ]
 crbug.com/591099 fast/forms/suggestion-picker/datetimelocal-suggestion-picker-reset-value-after-reload.html [ Crash ]
-crbug.com/591099 fast/forms/suggestion-picker/datetimelocal-suggestion-picker-step-attribute.html [ Failure ]
-crbug.com/591099 fast/forms/suggestion-picker/month-suggestion-picker-appearance.html [ Failure ]
-crbug.com/591099 fast/forms/suggestion-picker/month-suggestion-picker-appearance-rtl.html [ Failure ]
-crbug.com/591099 fast/forms/suggestion-picker/month-suggestion-picker-appearance-with-scroll-bar.html [ Failure ]
-crbug.com/591099 fast/forms/suggestion-picker/month-suggestion-picker-key-operations.html [ Timeout ]
-crbug.com/591099 fast/forms/suggestion-picker/month-suggestion-picker-min-max-attribute.html [ Failure ]
-crbug.com/591099 fast/forms/suggestion-picker/month-suggestion-picker-mouse-operations.html [ Failure ]
+crbug.com/591099 fast/forms/suggestion-picker/datetimelocal-suggestion-picker-step-attribute.html [ Crash Failure ]
+crbug.com/591099 fast/forms/suggestion-picker/month-suggestion-picker-appearance.html [ Crash Failure ]
+crbug.com/591099 fast/forms/suggestion-picker/month-suggestion-picker-appearance-rtl.html [ Crash Failure ]
+crbug.com/591099 fast/forms/suggestion-picker/month-suggestion-picker-appearance-with-scroll-bar.html [ Crash Failure ]
+crbug.com/591099 fast/forms/suggestion-picker/month-suggestion-picker-key-operations.html [ Crash Timeout ]
+crbug.com/591099 fast/forms/suggestion-picker/month-suggestion-picker-min-max-attribute.html [ Crash Failure ]
+crbug.com/591099 fast/forms/suggestion-picker/month-suggestion-picker-mouse-operations.html [ Crash Failure ]
 crbug.com/591099 fast/forms/suggestion-picker/month-suggestion-picker-reset-value-after-reload.html [ Crash ]
-crbug.com/591099 fast/forms/suggestion-picker/month-suggestion-picker-step-attribute.html [ Failure ]
-crbug.com/591099 fast/forms/suggestion-picker/time-suggestion-picker-appearance.html [ Failure ]
-crbug.com/591099 fast/forms/suggestion-picker/time-suggestion-picker-appearance-locale-hebrew.html [ Failure ]
-crbug.com/591099 fast/forms/suggestion-picker/time-suggestion-picker-appearance-rtl.html [ Failure ]
-crbug.com/591099 fast/forms/suggestion-picker/time-suggestion-picker-appearance-with-scroll-bar.html [ Failure ]
-crbug.com/591099 fast/forms/suggestion-picker/time-suggestion-picker-key-operations.html [ Failure ]
-crbug.com/591099 fast/forms/suggestion-picker/time-suggestion-picker-min-max-attribute.html [ Failure ]
-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 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 ]
-crbug.com/591099 fast/forms/suggestion-picker/week-suggestion-picker-mouse-operations.html [ Failure ]
+crbug.com/591099 fast/forms/suggestion-picker/month-suggestion-picker-step-attribute.html [ Crash Failure ]
+crbug.com/591099 fast/forms/suggestion-picker/time-suggestion-picker-appearance.html [ Crash Failure ]
+crbug.com/591099 fast/forms/suggestion-picker/time-suggestion-picker-appearance-locale-hebrew.html [ Crash Failure ]
+crbug.com/591099 fast/forms/suggestion-picker/time-suggestion-picker-appearance-rtl.html [ Crash Failure ]
+crbug.com/591099 fast/forms/suggestion-picker/time-suggestion-picker-appearance-with-scroll-bar.html [ Crash Failure ]
+crbug.com/591099 fast/forms/suggestion-picker/time-suggestion-picker-key-operations.html [ Crash Failure ]
+crbug.com/591099 fast/forms/suggestion-picker/time-suggestion-picker-min-max-attribute.html [ Crash Failure ]
+crbug.com/591099 fast/forms/suggestion-picker/time-suggestion-picker-mouse-operations.html [ Crash Failure ]
+crbug.com/591099 fast/forms/suggestion-picker/time-suggestion-picker-step-attribute.html [ Crash Failure ]
+crbug.com/591099 fast/forms/suggestion-picker/week-suggestion-picker-appearance.html [ Crash Failure ]
+crbug.com/591099 fast/forms/suggestion-picker/week-suggestion-picker-appearance-rtl.html [ Crash Failure Timeout ]
+crbug.com/591099 fast/forms/suggestion-picker/week-suggestion-picker-appearance-with-scroll-bar.html [ Crash Failure ]
+crbug.com/591099 fast/forms/suggestion-picker/week-suggestion-picker-key-operations.html [ Crash Timeout ]
+crbug.com/591099 fast/forms/suggestion-picker/week-suggestion-picker-min-max-attribute.html [ Crash Failure ]
+crbug.com/591099 fast/forms/suggestion-picker/week-suggestion-picker-mouse-operations.html [ Crash Failure ]
 crbug.com/591099 fast/forms/suggestion-picker/week-suggestion-picker-reset-value-after-reload.html [ Crash ]
-crbug.com/591099 fast/forms/suggestion-picker/week-suggestion-picker-step-attribute.html [ Failure ]
-crbug.com/591099 fast/forms/tabbing-input-iframe.html [ Failure ]
+crbug.com/591099 fast/forms/suggestion-picker/week-suggestion-picker-step-attribute.html [ Crash Failure ]
+crbug.com/591099 fast/forms/tabbing-input-iframe.html [ Crash Failure ]
+crbug.com/591099 fast/forms/tab-in-input.html [ Crash Pass ]
 crbug.com/591099 fast/forms/tabs-with-modifiers.html [ Failure ]
 crbug.com/591099 fast/forms/targeted-frame-submission.html [ Failure ]
-crbug.com/591099 fast/forms/textarea/basic-textareas.html [ Failure ]
-crbug.com/591099 fast/forms/textarea/basic-textareas-quirks.html [ Failure ]
+crbug.com/591099 fast/forms/textarea/basic-textareas.html [ Crash Failure ]
+crbug.com/591099 fast/forms/textarea/basic-textareas-quirks.html [ Crash Failure ]
 crbug.com/591099 fast/forms/textarea/cols-attribute.html [ Failure ]
-crbug.com/591099 fast/forms/textarea/drag-into-textarea.html [ Failure ]
-crbug.com/591099 fast/forms/textarea/drag-out-of-textarea.html [ Failure ]
+crbug.com/591099 fast/forms/textarea/drag-into-textarea.html [ Crash Failure ]
+crbug.com/591099 fast/forms/textarea/drag-out-of-textarea.html [ Crash Failure ]
 crbug.com/591099 fast/forms/textarea/empty-textarea-toggle-disabled.html [ Crash ]
-crbug.com/591099 fast/forms/textarea/linebox-overflow-in-textarea-padding.html [ Failure ]
+crbug.com/591099 fast/forms/textarea/linebox-overflow-in-textarea-padding.html [ Crash Failure ]
 crbug.com/591099 fast/forms/textarea/onselect-textarea.html [ Failure ]
-crbug.com/591099 fast/forms/textarea/paste-into-textarea.html [ Failure ]
+crbug.com/591099 fast/forms/textarea/paste-into-textarea.html [ Crash Failure ]
 crbug.com/591099 fast/forms/textarea/placeholder-appearance-textarea.html [ Failure ]
-crbug.com/591099 fast/forms/textarea/reset-textarea.html [ Failure ]
+crbug.com/591099 fast/forms/textarea/reset-textarea.html [ Crash Failure ]
 crbug.com/591099 fast/forms/textarea/rows-attribute.html [ Failure ]
-crbug.com/591099 fast/forms/textarea/textarea-align.html [ Failure ]
-crbug.com/591099 fast/forms/textarea/textarea-and-mutation-events-appending-text.html [ Failure ]
+crbug.com/591099 fast/forms/textarea/textarea-align.html [ Crash Failure ]
+crbug.com/591099 fast/forms/textarea/textarea-and-mutation-events-appending-text.html [ Crash Failure ]
 crbug.com/591099 fast/forms/textarea/textarea-and-mutation-events.html [ Failure ]
-crbug.com/591099 fast/forms/textarea/textarea-appearance-basic.html [ Failure ]
-crbug.com/591099 fast/forms/textarea/textarea-appearance-wrap.html [ Failure ]
-crbug.com/591099 fast/forms/textarea/textarea-arrow-navigation.html [ Failure ]
+crbug.com/591099 fast/forms/textarea/textarea-appearance-basic.html [ Crash Failure ]
+crbug.com/591099 fast/forms/textarea/textarea-appearance-wrap.html [ Crash Failure ]
+crbug.com/591099 fast/forms/textarea/textarea-arrow-navigation.html [ Crash Failure ]
 crbug.com/591099 fast/forms/textarea/textarea-checkValidity-crash.html [ Failure ]
-crbug.com/591099 fast/forms/textarea/textarea-cloned-text-match.html [ Failure ]
-crbug.com/591099 fast/forms/textarea/textarea-crlf.html [ Failure ]
-crbug.com/591099 fast/forms/textarea/textarea-default-value-leading-newline.html [ Failure ]
+crbug.com/591099 fast/forms/textarea/textarea-cloned-text-match.html [ Crash Failure ]
+crbug.com/591099 fast/forms/textarea/textarea-crlf.html [ Crash Failure ]
+crbug.com/591099 fast/forms/textarea/textarea-default-value-leading-newline.html [ Crash Failure ]
 crbug.com/591099 fast/forms/textarea/textarea-dir-auto-with-placeholder.html [ Crash ]
-crbug.com/591099 fast/forms/textarea/textarea-initial-caret-position.html [ Failure ]
-crbug.com/591099 fast/forms/textarea/textarea-inline-block-baseline.html [ Failure ]
-crbug.com/591099 fast/forms/textarea/textarea-input-event.html [ Failure ]
+crbug.com/591099 fast/forms/textarea/textarea-initial-caret-position.html [ Crash Failure ]
+crbug.com/591099 fast/forms/textarea/textarea-inline-block-baseline.html [ Crash Failure ]
+crbug.com/591099 fast/forms/textarea/textarea-input-event.html [ Crash Failure ]
 crbug.com/591099 fast/forms/textarea/textarea-inputmode.html [ Failure ]
-crbug.com/591099 fast/forms/textarea/textAreaLineHeight.html [ Failure ]
-crbug.com/591099 fast/forms/textarea/textarea-linewrap-dynamic.html [ Failure ]
-crbug.com/591099 fast/forms/textarea/textarea-live-pseudo-selectors.html [ Failure ]
+crbug.com/591099 fast/forms/textarea/textAreaLineHeight.html [ Crash Failure ]
+crbug.com/591099 fast/forms/textarea/textarea-linewrap-dynamic.html [ Crash Failure ]
+crbug.com/591099 fast/forms/textarea/textarea-live-pseudo-selectors.html [ Crash Failure ]
 crbug.com/591099 fast/forms/textarea/textarea-maxlength.html [ Failure ]
-crbug.com/591099 fast/forms/textarea/textarea-metrics.html [ Timeout ]
+crbug.com/591099 fast/forms/textarea/textarea-metrics.html [ Crash Timeout ]
 crbug.com/591099 fast/forms/textarea/textarea-minlength.html [ Failure ]
-crbug.com/591099 fast/forms/textarea/textarea-newline.html [ Failure ]
+crbug.com/591099 fast/forms/textarea/textarea-newline.html [ Crash 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 Pass ]
-crbug.com/591099 fast/forms/textarea/textarea-paste-newline.html [ Failure ]
+crbug.com/591099 fast/forms/textarea/textarea-no-scroll-on-blur.html [ Crash Failure ]
+crbug.com/591099 fast/forms/textarea/textarea-nowrap-paste-eol.html [ Crash Failure Pass ]
+crbug.com/591099 fast/forms/textarea/textarea-paste-newline.html [ Crash 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 ]
 crbug.com/591099 fast/forms/textarea/textarea-placeholder-paint-order.html [ Failure ]
-crbug.com/591099 fast/forms/textarea/textarea-placeholder-relayout-assertion.html [ Failure ]
+crbug.com/591099 fast/forms/textarea/textarea-placeholder-pseudo-style.html [ Crash Pass ]
+crbug.com/591099 fast/forms/textarea/textarea-placeholder-relayout-assertion.html [ Crash Failure ]
+crbug.com/591099 fast/forms/textarea/textarea-placeholder-scroll.html [ Crash Pass ]
 crbug.com/591099 fast/forms/textarea/textarea-placeholder-set-attribute.html [ Failure ]
+crbug.com/591099 fast/forms/textarea/textarea-placeholder-set-value.html [ Crash Pass ]
 crbug.com/591099 fast/forms/textarea/textarea-placeholder-visibility-1.html [ Failure ]
-crbug.com/591099 fast/forms/textarea/textarea-placeholder-visibility-2.html [ Failure ]
-crbug.com/591099 fast/forms/textarea/textarea-placeholder-visibility-3.html [ Failure ]
-crbug.com/591099 fast/forms/textarea/textarea-placeholder-wrapping.html [ Failure ]
-crbug.com/591099 fast/forms/textarea/textarea-rows-cols.html [ Failure ]
-crbug.com/591099 fast/forms/textarea/textarea-scrollbar-height.html [ Failure ]
-crbug.com/591099 fast/forms/textarea/textarea-scrollbar.html [ Failure ]
-crbug.com/591099 fast/forms/textarea/textarea-scrolled-endline-caret.html [ Failure ]
-crbug.com/591099 fast/forms/textarea/textarea-scrolled-focus-ring.html [ Failure ]
-crbug.com/591099 fast/forms/textarea/textarea-scrolled-mask.html [ Failure ]
-crbug.com/591099 fast/forms/textarea/textarea-scrolled-type.html [ Failure ]
-crbug.com/591099 fast/forms/textarea/textarea-scroll-height.html [ Failure ]
-crbug.com/591099 fast/forms/textarea/textarea-select.html [ Failure ]
-crbug.com/591099 fast/forms/textarea/textarea-selection-preservation.html [ Failure ]
+crbug.com/591099 fast/forms/textarea/textarea-placeholder-visibility-2.html [ Crash Failure ]
+crbug.com/591099 fast/forms/textarea/textarea-placeholder-visibility-3.html [ Crash Failure ]
+crbug.com/591099 fast/forms/textarea/textarea-placeholder-wrapping.html [ Crash Failure ]
+crbug.com/591099 fast/forms/textarea/textarea-preline-eol.html [ Crash Pass ]
+crbug.com/591099 fast/forms/textarea/textarea-rows-cols.html [ Crash Failure ]
+crbug.com/591099 fast/forms/textarea/textarea-scrollbar-height.html [ Crash Failure ]
+crbug.com/591099 fast/forms/textarea/textarea-scrollbar.html [ Crash Failure ]
+crbug.com/591099 fast/forms/textarea/textarea-scrolled-endline-caret.html [ Crash Failure ]
+crbug.com/591099 fast/forms/textarea/textarea-scrolled-focus-ring.html [ Crash Failure ]
+crbug.com/591099 fast/forms/textarea/textarea-scrolled-mask.html [ Crash Failure ]
+crbug.com/591099 fast/forms/textarea/textarea-scrolled-type.html [ Crash Failure ]
+crbug.com/591099 fast/forms/textarea/textarea-scroll-height.html [ Crash Failure ]
+crbug.com/591099 fast/forms/textarea/textarea-select.html [ Crash Failure ]
+crbug.com/591099 fast/forms/textarea/textarea-selection-preservation.html [ Crash Failure ]
 crbug.com/591099 fast/forms/textarea/textarea-set-defaultvalue-after-value.html [ Crash ]
-crbug.com/591099 fast/forms/textarea/textarea-setinnerhtml.html [ Failure ]
-crbug.com/591099 fast/forms/textarea/textarea-setrangetext.html [ Failure ]
-crbug.com/591099 fast/forms/textarea/textarea-setvalue-without-renderer.html [ Failure ]
-crbug.com/591099 fast/forms/textarea/textarea-submit-crash.html [ Failure ]
-crbug.com/591099 fast/forms/textarea/textarea-textlength.html [ Failure ]
+crbug.com/591099 fast/forms/textarea/textarea-setinnerhtml.html [ Crash Failure ]
+crbug.com/591099 fast/forms/textarea/textarea-setrangetext.html [ Crash Failure ]
+crbug.com/591099 fast/forms/textarea/textarea-setvalue-submit.html [ Crash Pass ]
+crbug.com/591099 fast/forms/textarea/textarea-setvalue-without-renderer.html [ Crash Failure ]
+crbug.com/591099 fast/forms/textarea/textarea-submit-crash.html [ Crash Failure ]
+crbug.com/591099 fast/forms/textarea/textarea-textlength.html [ Crash Failure ]
 crbug.com/591099 fast/forms/textarea/textarea-type-spaces.html [ Failure ]
 crbug.com/591099 fast/forms/textarea/textarea-value-last-eol.html [ Failure ]
-crbug.com/591099 fast/forms/textarea/textarea-width.html [ Failure ]
+crbug.com/591099 fast/forms/textarea/textarea-width.html [ Crash Failure ]
 crbug.com/591099 fast/forms/textarea/textarea-wrap-attribute.html [ Failure ]
 crbug.com/591099 fast/forms/text-control-intrinsic-widths.html [ Timeout ]
+crbug.com/591099 fast/forms/text-control-select-blurred.html [ Crash Pass ]
 crbug.com/591099 fast/forms/textfield-change-event.html [ Crash ]
 crbug.com/591099 fast/forms/textfield-clone.html [ Crash ]
-crbug.com/591099 fast/forms/textfield-to-password-on-focus.html [ Failure ]
-crbug.com/591099 fast/forms/text/input-appearance-bkcolor.html [ Failure ]
-crbug.com/591099 fast/forms/text/input-appearance-default-bkcolor.html [ Failure ]
-crbug.com/591099 fast/forms/text/input-appearance-disabled.html [ Failure ]
+crbug.com/591099 fast/forms/textfield-to-password-on-focus.html [ Crash Failure ]
+crbug.com/591099 fast/forms/text/input-appearance-autocomplete.html [ Crash Pass ]
+crbug.com/591099 fast/forms/text/input-appearance-bkcolor.html [ Crash Failure ]
+crbug.com/591099 fast/forms/text/input-appearance-default-bkcolor.html [ Crash Failure ]
+crbug.com/591099 fast/forms/text/input-appearance-disabled.html [ Crash Failure ]
 crbug.com/591099 fast/forms/text/input-appearance-elementFromPoint.html [ Failure ]
-crbug.com/591099 fast/forms/text/input-appearance-focus.html [ Failure ]
-crbug.com/591099 fast/forms/text/input-appearance-maxlength.html [ Failure ]
+crbug.com/591099 fast/forms/text/input-appearance-focus.html [ Crash Failure ]
+crbug.com/591099 fast/forms/text/input-appearance-maxlength.html [ Crash Failure ]
 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-readonly.html [ Crash Failure ]
+crbug.com/591099 fast/forms/text/input-appearance-selection.html [ Crash 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-appearance-width.html [ Crash Failure ]
 crbug.com/591099 fast/forms/text/input-baseline.html [ Failure ]
+crbug.com/591099 fast/forms/text/input-baseline-overflow.html [ Crash Pass ]
 crbug.com/591099 fast/forms/text/input-changing-value.html [ Failure ]
-crbug.com/591099 fast/forms/text/input-delete.html [ Failure ]
-crbug.com/591099 fast/forms/text/input-disabled-color.html [ Failure ]
+crbug.com/591099 fast/forms/text/input-delete.html [ Crash Failure ]
+crbug.com/591099 fast/forms/text/input-disabled-color.html [ Crash Failure ]
 crbug.com/591099 fast/forms/text/input-double-click-selection-gap-bug.html [ Failure ]
-crbug.com/591099 fast/forms/text/input-field-text-truncated.html [ Failure ]
-crbug.com/591099 fast/forms/text/input-first-letter-edit.html [ Failure ]
+crbug.com/591099 fast/forms/text/input-element-attach-crash.html [ Crash Pass ]
+crbug.com/591099 fast/forms/text/input-field-text-truncated.html [ Crash Failure ]
+crbug.com/591099 fast/forms/text/input-first-letter-edit.html [ Crash Failure ]
 crbug.com/591099 fast/forms/text/input-hit-test-border.html [ Failure ]
-crbug.com/591099 fast/forms/text/input-implicit-length-limit.html [ Timeout ]
-crbug.com/591099 fast/forms/text/input-live-pseudo-selectors.html [ Failure ]
+crbug.com/591099 fast/forms/text/input-implicit-length-limit.html [ Crash Timeout ]
+crbug.com/591099 fast/forms/text/input-live-pseudo-selectors.html [ Crash Failure ]
 crbug.com/591099 fast/forms/text/input-maxlength-ime-completed.html [ Failure ]
 crbug.com/591099 fast/forms/text/input-maxlength-ime-preedit.html [ Failure ]
 crbug.com/591099 fast/forms/text/input-no-renderer.html [ Failure ]
 crbug.com/591099 fast/forms/text/input-paste-undo.html [ Failure ]
 crbug.com/591099 fast/forms/text/input-placeholder-paint-order-2.html [ Failure ]
 crbug.com/591099 fast/forms/text/input-placeholder-paint-order.html [ Failure ]
-crbug.com/591099 fast/forms/text/input-placeholder-text-indent.html [ Failure ]
+crbug.com/591099 fast/forms/text/input-placeholder-text-indent.html [ Crash Failure ]
 crbug.com/591099 fast/forms/text/input-placeholder-visibility-1.html [ Failure ]
-crbug.com/591099 fast/forms/text/input-placeholder-visibility-2.html [ Failure ]
+crbug.com/591099 fast/forms/text/input-placeholder-visibility-2.html [ Crash Failure ]
 crbug.com/591099 fast/forms/text/input-placeholder-visibility-3.html [ Failure ]
-crbug.com/591099 fast/forms/text/input-readonly-autoscroll.html [ Failure ]
-crbug.com/591099 fast/forms/text/input-readonly-dimmed.html [ Failure ]
+crbug.com/591099 fast/forms/text/input-readonly-autoscroll.html [ Crash Failure ]
+crbug.com/591099 fast/forms/text/input-readonly-dimmed.html [ Crash Failure ]
 crbug.com/591099 fast/forms/text/input-readonly-empty.html [ Failure ]
 crbug.com/591099 fast/forms/text/input-readonly-focus.html [ Crash ]
-crbug.com/591099 fast/forms/text/input-selection-hidden.html [ Failure ]
-crbug.com/591099 fast/forms/text/input-select-on-click.html [ Failure ]
+crbug.com/591099 fast/forms/text/input-selection-hidden.html [ Crash Failure ]
+crbug.com/591099 fast/forms/text/input-select-on-click.html [ Crash Failure ]
+crbug.com/591099 fast/forms/text/input-select-webkit-user-select-none.html [ Crash Pass ]
 crbug.com/591099 fast/forms/text/input-set-composition-scroll.html [ Failure ]
-crbug.com/591099 fast/forms/text/input-set-value-on-blur.html [ Failure ]
-crbug.com/591099 fast/forms/text/input-setvalue-selection.html [ Failure ]
-crbug.com/591099 fast/forms/text/input-spaces.html [ Failure ]
+crbug.com/591099 fast/forms/text/input-set-value-on-blur.html [ Crash Failure ]
+crbug.com/591099 fast/forms/text/input-setvalue-selection.html [ Crash Failure ]
+crbug.com/591099 fast/forms/text/input-spaces.html [ Crash Failure ]
 crbug.com/591099 fast/forms/text/input-table.html [ Failure ]
 crbug.com/591099 fast/forms/text/input-tab-shows-caret.html [ Failure ]
 crbug.com/591099 fast/forms/text/input-text-click-inside.html [ Failure ]
 crbug.com/591099 fast/forms/text/input-text-click-outside.html [ Failure ]
-crbug.com/591099 fast/forms/text/input-text-double-click.html [ Failure ]
-crbug.com/591099 fast/forms/text/input-text-drag-down.html [ Failure ]
-crbug.com/591099 fast/forms/text/input-text-enter.html [ Failure ]
-crbug.com/591099 fast/forms/text/input-text-option-delete.html [ Failure ]
-crbug.com/591099 fast/forms/text/input-text-paste-maxlength.html [ Timeout ]
-crbug.com/591099 fast/forms/text/input-text-self-emptying-click.html [ Failure ]
-crbug.com/591099 fast/forms/text/input-text-word-wrap.html [ Failure ]
+crbug.com/591099 fast/forms/text/input-text-double-click.html [ Crash Failure ]
+crbug.com/591099 fast/forms/text/input-text-drag-down.html [ Crash Failure ]
+crbug.com/591099 fast/forms/text/input-text-enter.html [ Crash Failure ]
+crbug.com/591099 fast/forms/text/input-text-maxlength.html [ Crash Pass ]
+crbug.com/591099 fast/forms/text/input-text-option-delete.html [ Crash Failure ]
+crbug.com/591099 fast/forms/text/input-text-paste-maxlength.html [ Crash Timeout ]
+crbug.com/591099 fast/forms/text/input-text-scroll-left-on-blur.html [ Crash Failure ]
+crbug.com/591099 fast/forms/text/input-text-self-emptying-click.html [ Crash Failure ]
+crbug.com/591099 fast/forms/text/input-text-word-wrap.html [ Crash Failure ]
 crbug.com/591099 fast/forms/text/input-width.html [ Failure ]
+crbug.com/591099 fast/forms/text/placeholder-and-default-value.html [ Crash Pass ]
 crbug.com/591099 fast/forms/text/placeholder-crash-with-scrollbar-corner.html [ Crash ]
 crbug.com/591099 fast/forms/text/placeholder-dom-property.html [ Failure ]
-crbug.com/591099 fast/forms/text/placeholder-pseudo-style.html [ Failure ]
+crbug.com/591099 fast/forms/text/placeholder-pseudo-style.html [ Crash Failure ]
 crbug.com/591099 fast/forms/text/placeholder-set-attribute.html [ Failure ]
+crbug.com/591099 fast/forms/text/placeholder-set-value.html [ Crash Pass ]
+crbug.com/591099 fast/forms/text/placeholder-with-positioned-element.html [ Crash Pass ]
 crbug.com/591099 fast/forms/text-set-value-crash.html [ Crash ]
-crbug.com/591099 fast/forms/text-style-color.html [ Failure ]
-crbug.com/591099 fast/forms/text/text-appearance-basic.html [ Failure ]
+crbug.com/591099 fast/forms/text-style-color.html [ Crash Failure ]
+crbug.com/591099 fast/forms/text/text-appearance-basic.html [ Crash Failure ]
 crbug.com/591099 fast/forms/text/text-appearance-datalist.html [ Failure ]
 crbug.com/591099 fast/forms/text/text-change-event-after-clear-in-submit.html [ Crash ]
 crbug.com/591099 fast/forms/text/text-change-event-after-updating-default.html [ Crash ]
@@ -10791,20 +12965,23 @@
 crbug.com/591099 fast/forms/text/textfield-focus-out.html [ Crash ]
 crbug.com/591099 fast/forms/text/textfield-focus-ring.html [ Failure ]
 crbug.com/591099 fast/forms/text/textfield-inside-anchor.html [ Failure ]
-crbug.com/591099 fast/forms/text/textfield-outline.html [ Failure ]
-crbug.com/591099 fast/forms/text/textfield-overflow-by-value-update.html [ Failure ]
+crbug.com/591099 fast/forms/text/textfield-outline.html [ Crash Failure ]
+crbug.com/591099 fast/forms/text/textfield-overflow-by-value-update.html [ Crash Failure ]
 crbug.com/591099 fast/forms/text/textfield-overflow.html [ Failure ]
 crbug.com/591099 fast/forms/text/text-field-setvalue-crash.html [ Failure ]
-crbug.com/591099 fast/forms/text/text-focus-into-view.html [ Failure ]
-crbug.com/591099 fast/forms/text/text-font-height-mismatch.html [ Failure ]
+crbug.com/591099 fast/forms/text/text-focus-into-view.html [ Crash Failure ]
+crbug.com/591099 fast/forms/text/text-font-height-mismatch.html [ Crash Failure ]
+crbug.com/591099 fast/forms/text/text-height-grow.html [ Crash Pass ]
 crbug.com/591099 fast/forms/text/text-inner-overflow.html [ Failure ]
 crbug.com/591099 fast/forms/text/text-input-event.html [ Failure ]
 crbug.com/591099 fast/forms/text/textinput-not-fired-on-enter-in-input.html [ Failure ]
+crbug.com/591099 fast/forms/text/text-lineheight-centering.html [ Crash Pass ]
+crbug.com/591099 fast/forms/text/text-padding-dynamic-change.html [ Crash Pass ]
 crbug.com/591099 fast/forms/text/text-placeholder-in-flexbox.html [ Failure ]
-crbug.com/591099 fast/forms/text/text-reset-click-delete-text-change-event.html [ Failure ]
-crbug.com/591099 fast/forms/text/text-select-disabled.html [ Failure ]
-crbug.com/591099 fast/forms/text/text-select-invisible.html [ Failure ]
-crbug.com/591099 fast/forms/text/text-select-noscroll.html [ Failure ]
+crbug.com/591099 fast/forms/text/text-reset-click-delete-text-change-event.html [ Crash Failure ]
+crbug.com/591099 fast/forms/text/text-select-disabled.html [ Crash Failure ]
+crbug.com/591099 fast/forms/text/text-select-invisible.html [ Crash Failure ]
+crbug.com/591099 fast/forms/text/text-select-noscroll.html [ Crash Failure ]
 crbug.com/591099 fast/forms/text/text-set-selection-crash.html [ Crash ]
 crbug.com/591099 fast/forms/text/text-update-datalist-while-focused.html [ Failure ]
 crbug.com/591099 fast/forms/text/text-window-lost-focus-change-event.html [ Failure Timeout ]
@@ -10817,15 +12994,16 @@
 crbug.com/591099 fast/forms/time-multiple-fields/time-multiple-fields-change-type-on-focus.html [ Crash ]
 crbug.com/591099 fast/forms/time-multiple-fields/time-multiple-fields-choose-default-value-after-set-value.html [ Failure ]
 crbug.com/591099 fast/forms/time-multiple-fields/time-multiple-fields-clearbutton-change-and-input-events.html [ Failure ]
+crbug.com/591099 fast/forms/time-multiple-fields/time-multiple-fields-clearbutton-visibility-after-restore.html [ Crash Pass ]
 crbug.com/591099 fast/forms/time-multiple-fields/time-multiple-fields-crash-after-adoptnode.html [ Crash ]
 crbug.com/591099 fast/forms/time-multiple-fields/time-multiple-fields-crash-by-focus-on-unload.html [ Crash ]
 crbug.com/591099 fast/forms/time-multiple-fields/time-multiple-fields-fallback-format.html [ Failure ]
 crbug.com/591099 fast/forms/time-multiple-fields/time-multiple-fields-focus.html [ Failure ]
 crbug.com/591099 fast/forms/time-multiple-fields/time-multiple-fields-focus-style.html [ Crash ]
-crbug.com/591099 fast/forms/time-multiple-fields/time-multiple-fields-keyboard-events.html [ Failure Timeout ]
+crbug.com/591099 fast/forms/time-multiple-fields/time-multiple-fields-keyboard-events.html [ Crash Failure Timeout ]
 crbug.com/591099 fast/forms/time-multiple-fields/time-multiple-fields-localization.html [ Failure ]
 crbug.com/591099 fast/forms/time-multiple-fields/time-multiple-fields-losing-renderer-on-click.html [ Crash ]
-crbug.com/591099 fast/forms/time-multiple-fields/time-multiple-fields-mouse-events.html [ Failure ]
+crbug.com/591099 fast/forms/time-multiple-fields/time-multiple-fields-mouse-events.html [ Crash Failure ]
 crbug.com/591099 fast/forms/time-multiple-fields/time-multiple-fields-narrow-width-scroll.html [ Failure ]
 crbug.com/591099 fast/forms/time-multiple-fields/time-multiple-fields-open-picker-key-bindings.html [ Failure ]
 crbug.com/591099 fast/forms/time-multiple-fields/time-multiple-fields-preserve-value-after-history-back.html [ Failure ]
@@ -10841,8 +13019,8 @@
 crbug.com/591099 fast/forms/time-multiple-fields/time-multiple-fields-validity-badinput.html [ Failure ]
 crbug.com/591099 fast/forms/time-multiple-fields/time-multiple-fields-value-set-empty.html [ Failure ]
 crbug.com/591099 fast/forms/time-multiple-fields/time-multiple-fields-wheel-event.html [ Crash ]
-crbug.com/591099 fast/forms/time/time-appearance-basic.html [ Failure ]
-crbug.com/591099 fast/forms/time/time-appearance-pseudo-elements.html [ Failure ]
+crbug.com/591099 fast/forms/time/time-appearance-basic.html [ Crash Failure ]
+crbug.com/591099 fast/forms/time/time-appearance-pseudo-elements.html [ Crash Failure ]
 crbug.com/591099 fast/forms/time/time-input-type.html [ Failure ]
 crbug.com/591099 fast/forms/time/time-interactive-validation-required.html [ Failure ]
 crbug.com/591099 fast/forms/time/time-pseudo-classes.html [ Failure ]
@@ -10854,27 +13032,29 @@
 crbug.com/591099 fast/forms/time/time-validity-typemismatch.html [ Failure ]
 crbug.com/591099 fast/forms/time/time-valueasdate.html [ Failure ]
 crbug.com/591099 fast/forms/time/time-valueasnumber.html [ Failure ]
-crbug.com/591099 fast/forms/type-after-focus-rule-shrink-width.html [ Failure ]
+crbug.com/591099 fast/forms/tooLong-check-on-cloned-textcontrol.html [ Crash Pass ]
+crbug.com/591099 fast/forms/type-after-focus-rule-shrink-width.html [ Crash Failure ]
 crbug.com/591099 fast/forms/ua-shadow-select-all-crash.html [ Crash ]
 crbug.com/591099 fast/forms/update-form-attribute-element.html [ Failure ]
+crbug.com/591099 fast/forms/update-from-element-during-editing-crash-2.html [ Crash Pass ]
 crbug.com/591099 fast/forms/url/url-sanitize-user-input.html [ Crash ]
 crbug.com/591099 fast/forms/validationMessage.html [ Crash ]
-crbug.com/591099 fast/forms/validity-property.html [ Failure ]
+crbug.com/591099 fast/forms/validity-property.html [ Crash Failure ]
 crbug.com/591099 fast/forms/ValidityState-customError.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 ]
 crbug.com/591099 fast/forms/ValidityState-removed-control.html [ Failure ]
-crbug.com/591099 fast/forms/ValidityState-stepMismatch.html [ Failure ]
-crbug.com/591099 fast/forms/ValidityState-tooLong-input.html [ Failure ]
-crbug.com/591099 fast/forms/ValidityState-tooLong-textarea.html [ Failure ]
+crbug.com/591099 fast/forms/ValidityState-stepMismatch.html [ Crash Failure ]
+crbug.com/591099 fast/forms/ValidityState-tooLong-input.html [ Crash Failure ]
+crbug.com/591099 fast/forms/ValidityState-tooLong-textarea.html [ Crash Failure ]
 crbug.com/591099 fast/forms/ValidityState-tooShort-input.html [ Crash ]
-crbug.com/591099 fast/forms/ValidityState-tooShort-textarea.html [ Failure ]
+crbug.com/591099 fast/forms/ValidityState-tooShort-textarea.html [ Crash Failure ]
 crbug.com/591099 fast/forms/ValidityState-typeMismatch-email.html [ Failure ]
 crbug.com/591099 fast/forms/ValidityState-typeMismatch-url.html [ Failure ]
 crbug.com/591099 fast/forms/var-name-conflict-in-form-event-handler.html [ Failure ]
-crbug.com/591099 fast/forms/visual-hebrew-text-field.html [ Failure ]
+crbug.com/591099 fast/forms/visual-hebrew-text-field.html [ Crash Failure ]
 crbug.com/591099 fast/forms/week/input-valueasdate-week.html [ Failure ]
 crbug.com/591099 fast/forms/week/input-valueasnumber-week.html [ Failure ]
 crbug.com/591099 fast/forms/week-multiple-fields/week-multiple-fields-ax-aria-attributes.html [ Crash ]
@@ -10883,9 +13063,10 @@
 crbug.com/591099 fast/forms/week-multiple-fields/week-multiple-fields-change-layout-by-value.html [ Failure ]
 crbug.com/591099 fast/forms/week-multiple-fields/week-multiple-fields-choose-default-value-after-set-value.html [ Failure ]
 crbug.com/591099 fast/forms/week-multiple-fields/week-multiple-fields-clearbutton-change-and-input-events.html [ Failure ]
+crbug.com/591099 fast/forms/week-multiple-fields/week-multiple-fields-clearbutton-visibility-after-restore.html [ Crash Pass ]
 crbug.com/591099 fast/forms/week-multiple-fields/week-multiple-fields-fallback-format.html [ Failure ]
-crbug.com/591099 fast/forms/week-multiple-fields/week-multiple-fields-keyboard-events.html [ Failure ]
-crbug.com/591099 fast/forms/week-multiple-fields/week-multiple-fields-mouse-events.html [ Failure ]
+crbug.com/591099 fast/forms/week-multiple-fields/week-multiple-fields-keyboard-events.html [ Crash Failure ]
+crbug.com/591099 fast/forms/week-multiple-fields/week-multiple-fields-mouse-events.html [ Crash Failure ]
 crbug.com/591099 fast/forms/week-multiple-fields/week-multiple-fields-preserve-value-after-history-back.html [ Failure ]
 crbug.com/591099 fast/forms/week-multiple-fields/week-multiple-fields-readonly-subfield.html [ Failure ]
 crbug.com/591099 fast/forms/week-multiple-fields/week-multiple-fields-reset-value-after-reloads.html [ Crash ]
@@ -10898,8 +13079,8 @@
 crbug.com/591099 fast/forms/week/ValidityState-rangeUnderflow-week.html [ Failure ]
 crbug.com/591099 fast/forms/week/ValidityState-stepMismatch-week.html [ Failure ]
 crbug.com/591099 fast/forms/week/ValidityState-typeMismatch-week.html [ Failure ]
-crbug.com/591099 fast/forms/week/week-appearance-basic.html [ Failure ]
-crbug.com/591099 fast/forms/week/week-appearance-pseudo-elements.html [ Failure ]
+crbug.com/591099 fast/forms/week/week-appearance-basic.html [ Crash Failure ]
+crbug.com/591099 fast/forms/week/week-appearance-pseudo-elements.html [ Crash Failure ]
 crbug.com/591099 fast/forms/week/week-input-type.html [ Failure ]
 crbug.com/591099 fast/forms/week/week-interactive-validation-required.html [ Failure ]
 crbug.com/591099 fast/forms/week/week-pseudo-classes.html [ Failure ]
@@ -10921,6 +13102,7 @@
 crbug.com/591099 fast/frames/detach-during-initial-load.html [ Failure ]
 crbug.com/591099 fast/frames/detached-frame-property.html [ Failure ]
 crbug.com/591099 fast/frames/detached-shadow-frame.html [ Failure ]
+crbug.com/591099 fast/frames/detach-frame-during-focus.html [ Crash Pass ]
 crbug.com/591099 fast/frames/detach-frame-from-child-detach-no-crash.html [ Failure ]
 crbug.com/591099 fast/frames/detach-frame-nested-no-crash.html [ Crash Failure ]
 crbug.com/591099 fast/frames/detach-frame-nested-on-commit-no-crash.html [ Failure ]
@@ -10956,6 +13138,7 @@
 crbug.com/591099 fast/frames/frame-set-scaling-rotate.html [ Failure ]
 crbug.com/591099 fast/frames/frame-set-scaling-skew.html [ Failure ]
 crbug.com/591099 fast/frames/frameset-style-recalc.html [ Failure ]
+crbug.com/591099 fast/frames/frame-set-whitespace-attributes.html [ Failure Pass ]
 crbug.com/591099 fast/frames/frame-src-attribute.html [ Failure ]
 crbug.com/591099 fast/frames/frames-with-frameborder-zero-can-be-resized.html [ Failure ]
 crbug.com/591099 fast/frames/frame-unload-crash2.html [ Crash Pass ]
@@ -11079,7 +13262,7 @@
 crbug.com/591099 fast/gradients/css3-repeating-radial-gradients.html [ Failure ]
 crbug.com/591099 fast/gradients/generated-gradients.html [ Failure ]
 crbug.com/591099 fast/gradients/gradient-after-transparent-border.html [ Failure ]
-crbug.com/591099 fast/gradients/list-item-gradient.html [ Failure ]
+crbug.com/591099 fast/gradients/list-item-gradient.html [ Crash Failure ]
 crbug.com/591099 fast/gradients/radial-centered.html [ Failure ]
 crbug.com/591099 fast/gradients/repeating-conic-gradient.html [ Failure ]
 crbug.com/591099 fast/gradients/simple-gradients.html [ Failure ]
@@ -11090,13 +13273,14 @@
 crbug.com/591099 fast/gradients/unprefixed-gradient-parsing.html [ Failure ]
 crbug.com/591099 fast/gradients/unprefixed-linear-angle-gradients.html [ Failure ]
 crbug.com/591099 fast/gradients/unprefixed-linear-right-angle-gradients.html [ Failure ]
-crbug.com/591099 fast/gradients/unprefixed-list-item-gradient.html [ Failure ]
+crbug.com/591099 fast/gradients/unprefixed-list-item-gradient.html [ Crash Failure ]
 crbug.com/591099 fast/gradients/unprefixed-radial-gradients2.html [ Failure ]
 crbug.com/591099 fast/gradients/unprefixed-radial-gradients3.html [ Failure ]
 crbug.com/591099 fast/gradients/unprefixed-radial-gradients.html [ Failure ]
 crbug.com/591099 fast/gradients/unprefixed-repeating-gradient-color-hint.html [ Failure ]
 crbug.com/591099 fast/gradients/unprefixed-repeating-linear-gradient.html [ Failure ]
 crbug.com/591099 fast/gradients/unprefixed-repeating-radial-gradients.html [ Failure ]
+crbug.com/591099 fast/gradients/zero-range-repeating-gradient-hang.html [ Failure Pass ]
 crbug.com/591099 fast/harness/error-in-async-test.html [ Failure ]
 crbug.com/591099 fast/harness/expected-error-in-async-test.html [ Failure ]
 crbug.com/591099 fast/harness/hello_again.html [ Failure ]
@@ -11109,15 +13293,21 @@
 crbug.com/591099 fast/harness/perftests/runs-per-second-log.html [ Failure ]
 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/harness/user-preferred-language.html [ Crash 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/broken-image-with-size-hidpi.html [ Crash 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-list-style-image.html [ Crash Pass ]
 crbug.com/591099 fast/hidpi/image-set-shape-outside.html [ Failure ]
+crbug.com/591099 fast/hidpi/image-srcset-invalid-inputs-except-one.html [ Crash Pass ]
+crbug.com/591099 fast/hidpi/image-srcset-invalid-inputs.html [ Crash Pass ]
+crbug.com/591099 fast/hidpi/image-srcset-png-1.html [ Failure Pass ]
 crbug.com/591099 fast/hidpi/image-srcset-png-2.html [ Failure ]
 crbug.com/591099 fast/hidpi/image-srcset-png-3.html [ Failure ]
 crbug.com/591099 fast/hidpi/image-srcset-png-4.html [ Failure ]
+crbug.com/591099 fast/hidpi/image-srcset-png-canvas.html [ Failure Pass ]
+crbug.com/591099 fast/hidpi/image-srcset-svg.html [ Failure Pass ]
 crbug.com/591099 fast/hidpi/resize-corner-hidpi.html [ Failure ]
 crbug.com/591099 fast/hidpi/scrollbar-appearance-decrease-device-scale-factor.html [ Failure ]
 crbug.com/591099 fast/hidpi/scrollbar-appearance-increase-device-scale-factor.html [ Failure ]
@@ -11127,7 +13317,7 @@
 crbug.com/591099 fast/history/gesture-before-onload-location-href.html [ Failure ]
 crbug.com/591099 fast/history/go-back-to-changed-name.html [ Failure ]
 crbug.com/591099 fast/history/history-back-forward-within-subframe-hash.html [ Failure ]
-crbug.com/591099 fast/history/history-back-initial-vs-final-url.html [ Failure ]
+crbug.com/591099 fast/history/history-back-initial-vs-final-url.html [ Crash Failure ]
 crbug.com/591099 fast/history/history-length-append-subframe-no-hash.html [ Failure ]
 crbug.com/591099 fast/history/history-length-append-subframe-with-hash.html [ Failure ]
 crbug.com/591099 fast/history/history-traversal-is-asynchronous.html [ Failure ]
@@ -11137,6 +13327,7 @@
 crbug.com/591099 fast/history/redirect-via-iframe.html [ Failure ]
 crbug.com/591099 fast/history/same-document-iframes-changing-fragment.html [ Crash ]
 crbug.com/591099 fast/history/same-document-iframes-changing-pushstate.html [ Crash ]
+crbug.com/591099 fast/history/saves-state-after-frame-nav.html [ Crash Pass ]
 crbug.com/591099 fast/history/scroll-restoration/scroll-restoration-fragment-navigation-crossdoc.html [ Crash ]
 crbug.com/591099 fast/history/scroll-restoration/scroll-restoration-navigation.html [ Crash ]
 crbug.com/591099 fast/history/scroll-restoration/scroll-restoration-push-replace.html [ Failure ]
@@ -11144,10 +13335,11 @@
 crbug.com/591099 fast/history/sibling-visited-test.html [ Failure ]
 crbug.com/591099 fast/history/state-object-few-arguements-exception.html [ Failure ]
 crbug.com/591099 fast/history/visited-link-hover-text-decoration-color.html [ Failure Pass ]
-crbug.com/591099 fast/history/window-open.html [ Failure ]
+crbug.com/591099 fast/history/window-open.html [ Crash Failure ]
 crbug.com/591099 fast/html/adjacent-html-context-element.html [ Failure ]
 crbug.com/591099 fast/html/adopt-parent-frame.html [ Failure ]
 crbug.com/591099 fast/html/clone-range.html [ Failure ]
+crbug.com/591099 fast/html/crash-on-invalid-selection-index.html [ Crash Pass ]
 crbug.com/591099 fast/html/crash-style-first-letter.html [ Failure ]
 crbug.com/591099 fast/html/draggable-controls.html [ Crash ]
 crbug.com/591099 fast/html/draggable.html [ Failure ]
@@ -11177,6 +13369,7 @@
 crbug.com/591099 fast/html/imports/sub-imports-onload.html [ Failure ]
 crbug.com/591099 fast/html/imports/xhr.html [ Failure ]
 crbug.com/591099 fast/html/input-type-change-crash.html [ Failure ]
+crbug.com/591099 fast/html/layout-runs-and-floats-crash.html [ Failure Pass ]
 crbug.com/591099 fast/html/meter-user-modify.html [ Failure ]
 crbug.com/591099 fast/html/object-border.html [ Failure ]
 crbug.com/591099 fast/html/object-image-nested-fallback.html [ Crash ]
@@ -11184,8 +13377,8 @@
 crbug.com/591099 fast/html/script-allowed-types-languages.html [ Failure ]
 crbug.com/591099 fast/html/set-text-direction.html [ Failure ]
 crbug.com/591099 fast/html/tabindex-nonfocusable.html [ Crash ]
-crbug.com/591099 fast/html/tab-order.html [ Failure ]
-crbug.com/591099 fast/html/unknown-tag.html [ Failure ]
+crbug.com/591099 fast/html/tab-order.html [ Crash Failure ]
+crbug.com/591099 fast/html/unknown-tag.html [ Crash Failure ]
 crbug.com/591099 fast/inline/001.html [ Failure ]
 crbug.com/591099 fast/inline/002.html [ Failure Pass ]
 crbug.com/591099 fast/inline/25277-2.html [ Failure ]
@@ -11200,21 +13393,22 @@
 crbug.com/591099 fast/inline-block/14498-positionForCoordinates.html [ Failure ]
 crbug.com/591099 fast/inline-block/baseline-vertical.html [ Failure ]
 crbug.com/591099 fast/inline-block/contenteditable-baseline.html [ Failure ]
-crbug.com/591099 fast/inline-block/float-both-whitespace.html [ Failure ]
-crbug.com/591099 fast/inline-block/float-leading-whitespace.html [ Failure ]
+crbug.com/591099 fast/inline-block/float-both-whitespace.html [ Failure Pass ]
+crbug.com/591099 fast/inline-block/float-leading-whitespace.html [ Failure Pass ]
 crbug.com/591099 fast/inline-block/inline-block-vertical-align-2.html [ Failure ]
 crbug.com/591099 fast/inline-block/inline-block-vertical-align.html [ Failure ]
-crbug.com/591099 fast/inline-block/multiple-floats-with-whitespace.html [ Failure ]
+crbug.com/591099 fast/inline-block/multiple-floats-with-whitespace.html [ Crash Failure ]
 crbug.com/591099 fast/inline-block/overflow-clip.html [ Failure ]
 crbug.com/591099 fast/inline-block/tricky-baseline.html [ Failure ]
 crbug.com/591099 fast/inline-block/vertical-align-top-and-bottom-2.html [ Failure ]
 crbug.com/591099 fast/inline-block/vertical-align-top-and-bottom.html [ Failure ]
+crbug.com/591099 fast/inline/boundingBox-with-continuation.html [ Crash Pass ]
 crbug.com/591099 fast/inline/bpm-inline-ancestors.html [ Failure ]
 crbug.com/591099 fast/inline/br-client-rect.html [ Failure ]
 crbug.com/591099 fast/inline/break-between-nobr.html [ Failure ]
 crbug.com/591099 fast/inline/br-text-decoration.html [ Failure ]
 crbug.com/591099 fast/inline/clean-after-removing-temp-boxes.html [ Failure ]
-crbug.com/591099 fast/inline/collapsing-text-after-list-markers.html [ Failure ]
+crbug.com/591099 fast/inline/collapsing-text-after-list-markers.html [ Crash Failure ]
 crbug.com/591099 fast/inline/continuation-inlines-inserted-in-reverse-after-block.html [ Failure ]
 crbug.com/591099 fast/inline/continuation-outlines.html [ Failure ]
 crbug.com/591099 fast/inline/continuation-outlines-with-layers-2.html [ Failure ]
@@ -11225,7 +13419,7 @@
 crbug.com/591099 fast/inline/drawStyledEmptyInlines.html [ Failure ]
 crbug.com/591099 fast/inline/drawStyledEmptyInlinesWithWS.html [ Failure ]
 crbug.com/591099 fast/inline/empty-inline-before-collapsed-space.html [ Failure ]
-crbug.com/591099 fast/inline/emptyInlinesWithinLists.html [ Failure ]
+crbug.com/591099 fast/inline/emptyInlinesWithinLists.html [ Crash Failure ]
 crbug.com/591099 fast/inline/fixed-pos-moves-with-abspos-inline-parent.html [ Crash ]
 crbug.com/591099 fast/inline/fixed-pos-moves-with-abspos-parent.html [ Failure ]
 crbug.com/591099 fast/inline/fixed-pos-moves-with-abspos-parent-relative-ancestor.html [ Failure ]
@@ -11249,7 +13443,7 @@
 crbug.com/591099 fast/inline/inline-relative-offset-boundingbox.html [ Failure ]
 crbug.com/591099 fast/inline/inline-split-percent-height-object-crash.html [ Failure ]
 crbug.com/591099 fast/inline/inline-text-quirk-bpm.html [ Failure ]
-crbug.com/591099 fast/inline/inline-width-containing-collapsed-whitespace-and-image-in-float.html [ Failure ]
+crbug.com/591099 fast/inline/inline-width-containing-collapsed-whitespace-and-image-in-float.html [ Crash Failure ]
 crbug.com/591099 fast/inline/inline-with-empty-inline-children.html [ Failure ]
 crbug.com/591099 fast/inline/inline-wrap-with-parent-padding.html [ Failure ]
 crbug.com/591099 fast/inline/justify-emphasis-inline-box.html [ Failure ]
@@ -11274,10 +13468,10 @@
 crbug.com/591099 fast/innerHTML/004.xhtml [ Failure ]
 crbug.com/591099 fast/innerHTML/005.html [ Failure ]
 crbug.com/591099 fast/innerHTML/additional-inline-style.html [ Failure ]
-crbug.com/591099 fast/innerHTML/innerHTML-special-elements.html [ Failure ]
+crbug.com/591099 fast/innerHTML/innerHTML-special-elements.html [ Crash Failure ]
 crbug.com/591099 fast/innerHTML/innerHTML-svg-read.html [ Failure ]
 crbug.com/591099 fast/innerHTML/innerHTML-svg-write.html [ Failure ]
-crbug.com/591099 fast/innerHTML/innerHTML-template-crash.xhtml [ Failure ]
+crbug.com/591099 fast/innerHTML/innerHTML-template-crash.xhtml [ Failure Pass ]
 crbug.com/591099 fast/innerHTML/innerHTML-uri-resolution.html [ Failure ]
 crbug.com/591099 fast/innerHTML/innerHTML-xml.xhtml [ Failure ]
 crbug.com/591099 fast/input/input-device-constructor.html [ Failure ]
@@ -11293,14 +13487,15 @@
 crbug.com/591099 fast/invalid/009.html [ Failure ]
 crbug.com/591099 fast/invalid/010.html [ Failure ]
 crbug.com/591099 fast/invalid/011.html [ Failure ]
-crbug.com/591099 fast/invalid/012.html [ Failure ]
+crbug.com/591099 fast/invalid/012.html [ Crash Failure ]
 crbug.com/591099 fast/invalid/013.html [ Failure ]
 crbug.com/591099 fast/invalid/014.html [ Failure ]
 crbug.com/591099 fast/invalid/015.html [ Failure ]
-crbug.com/591099 fast/invalid/016.html [ Failure ]
+crbug.com/591099 fast/invalid/016.html [ Crash Failure ]
 crbug.com/591099 fast/invalid/017.html [ Failure ]
 crbug.com/591099 fast/invalid/018.html [ Failure ]
 crbug.com/591099 fast/invalid/019.html [ Failure ]
+crbug.com/591099 fast/invalid/020.xml [ Failure Pass ]
 crbug.com/591099 fast/invalid/021.html [ Failure ]
 crbug.com/591099 fast/invalid/junk-data.xml [ Failure ]
 crbug.com/591099 fast/invalid/missing-address-end-tag.html [ Failure ]
@@ -11324,6 +13519,7 @@
 crbug.com/591099 fast/js/array-some.html [ Crash ]
 crbug.com/591099 fast/js/array-sort-exception.html [ Failure ]
 crbug.com/591099 fast/js/assign.html [ Failure ]
+crbug.com/591099 fast/js/bitwise-and-on-undefined.html [ Crash Pass ]
 crbug.com/591099 fast/js/bom-in-file-retains-correct-offset.html [ Failure ]
 crbug.com/591099 fast/js/cached-eval-gc.html [ Failure ]
 crbug.com/591099 fast/js/callback-function-with-handle-event.html [ Failure ]
@@ -11364,7 +13560,7 @@
 crbug.com/591099 fast/js/do-while-without-semicolon.html [ Failure ]
 crbug.com/591099 fast/js/eval-contained-syntax-error.html [ Failure ]
 crbug.com/591099 fast/js/eval-cross-window.html [ Failure ]
-crbug.com/591099 fast/js/eval-keyword-vs-function.html [ Failure ]
+crbug.com/591099 fast/js/eval-keyword-vs-function.html [ Crash Failure ]
 crbug.com/591099 fast/js/eval-overriding.html [ Failure ]
 crbug.com/591099 fast/js/exception-codegen-crash.html [ Failure ]
 crbug.com/591099 fast/js/exception-line-number.html [ Failure ]
@@ -11576,6 +13772,7 @@
 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 ]
+crbug.com/591099 fast/layers/opacity-stacking.html [ Failure Pass ]
 crbug.com/591099 fast/layers/opacity-transforms.html [ Failure ]
 crbug.com/591099 fast/layers/overflow-hidden-rounded-corners-occlusion.html [ Failure ]
 crbug.com/591099 fast/layers/overflow-scroll-auto-switch.html [ Failure ]
@@ -11593,118 +13790,130 @@
 crbug.com/591099 fast/layers/zindex-inherit.html [ Failure ]
 crbug.com/591099 fast/layers/zindex-ridonkulous.html [ Failure ]
 crbug.com/591099 fast/layout/scroll-anchoring/anchor-inside-iframe.html [ Crash ]
+crbug.com/591099 fast/layout/subtree-layout-percent-height-assert.html [ Crash Pass ]
+crbug.com/591099 fast/layout/subtree-layout-with-javascript-navigate-crash.html [ Crash Pass ]
 crbug.com/591099 fast/leaks/001.html [ Failure ]
-crbug.com/591099 fast/leaks/002.html [ Failure ]
-crbug.com/591099 fast/lists/001.html [ Failure ]
-crbug.com/591099 fast/lists/001-vertical.html [ Failure ]
-crbug.com/591099 fast/lists/002.html [ Failure ]
-crbug.com/591099 fast/lists/002-vertical.html [ Failure ]
-crbug.com/591099 fast/lists/003.html [ Failure ]
-crbug.com/591099 fast/lists/003-vertical.html [ Failure ]
+crbug.com/591099 fast/leaks/002.html [ Crash Failure ]
+crbug.com/591099 fast/lists/001.html [ Crash Failure ]
+crbug.com/591099 fast/lists/001-vertical.html [ Crash Failure ]
+crbug.com/591099 fast/lists/002.html [ Crash Failure ]
+crbug.com/591099 fast/lists/002-vertical.html [ Crash Failure ]
+crbug.com/591099 fast/lists/003.html [ Crash Failure ]
+crbug.com/591099 fast/lists/003-vertical.html [ Crash Failure ]
 crbug.com/591099 fast/lists/004.html [ Failure Pass ]
-crbug.com/591099 fast/lists/005.html [ Failure ]
-crbug.com/591099 fast/lists/005-vertical.html [ Failure ]
-crbug.com/591099 fast/lists/006.html [ Failure ]
-crbug.com/591099 fast/lists/006-vertical.html [ Failure ]
-crbug.com/591099 fast/lists/007.html [ Failure ]
-crbug.com/591099 fast/lists/007-vertical.html [ Failure ]
-crbug.com/591099 fast/lists/008.html [ Failure ]
-crbug.com/591099 fast/lists/008-vertical.html [ Failure ]
-crbug.com/591099 fast/lists/009.html [ Failure ]
-crbug.com/591099 fast/lists/009-vertical.html [ Failure ]
-crbug.com/591099 fast/lists/alpha-boundary-values.html [ Failure ]
-crbug.com/591099 fast/lists/alpha-list-wrap.html [ Failure ]
-crbug.com/591099 fast/lists/anonymous-items.html [ Failure ]
-crbug.com/591099 fast/lists/big-list-marker.html [ Failure ]
-crbug.com/591099 fast/lists/calc-width-with-space.html [ Failure ]
-crbug.com/591099 fast/lists/css3-counter-styles-052.html [ Failure ]
-crbug.com/591099 fast/lists/css3-counter-styles-053.html [ Failure ]
-crbug.com/591099 fast/lists/css3-counter-styles-054.html [ Failure ]
-crbug.com/591099 fast/lists/css3-counter-styles-055.html [ Failure ]
-crbug.com/591099 fast/lists/css3-counter-styles-056.html [ Failure ]
-crbug.com/591099 fast/lists/css3-counter-styles-057.html [ Failure ]
-crbug.com/591099 fast/lists/css3-counter-styles-058.html [ Failure ]
-crbug.com/591099 fast/lists/css3-counter-styles-059.html [ Failure ]
-crbug.com/591099 fast/lists/css3-counter-styles-060.html [ Failure ]
-crbug.com/591099 fast/lists/css3-counter-styles-061.html [ Failure ]
-crbug.com/591099 fast/lists/css3-counter-styles-062.html [ Failure ]
-crbug.com/591099 fast/lists/css3-counter-styles-063.html [ Failure ]
-crbug.com/591099 fast/lists/css3-counter-styles-064.html [ Failure ]
-crbug.com/591099 fast/lists/css3-counter-styles-065.html [ Failure ]
-crbug.com/591099 fast/lists/css3-counter-styles-066.html [ Failure ]
-crbug.com/591099 fast/lists/css3-counter-styles-071.html [ Failure ]
-crbug.com/591099 fast/lists/css3-counter-styles-072.html [ Failure ]
-crbug.com/591099 fast/lists/css3-counter-styles-073.html [ Failure ]
-crbug.com/591099 fast/lists/css3-counter-styles-074.html [ Failure ]
-crbug.com/591099 fast/lists/css3-counter-styles-075.html [ Failure ]
-crbug.com/591099 fast/lists/css3-counter-styles-076.html [ Failure ]
-crbug.com/591099 fast/lists/css3-counter-styles-077.html [ Failure ]
-crbug.com/591099 fast/lists/css3-counter-styles-078.html [ Failure ]
-crbug.com/591099 fast/lists/css3-counter-styles-079.html [ Failure ]
-crbug.com/591099 fast/lists/css3-counter-styles-080.html [ Failure ]
-crbug.com/591099 fast/lists/css3-counter-styles-081.html [ Failure ]
-crbug.com/591099 fast/lists/css3-counter-styles-082.html [ Failure ]
-crbug.com/591099 fast/lists/css3-counter-styles-083.html [ Failure ]
-crbug.com/591099 fast/lists/css3-counter-styles-084.html [ Failure ]
-crbug.com/591099 fast/lists/css3-counter-styles-085.html [ Failure ]
-crbug.com/591099 fast/lists/css3-counter-styles-086.html [ Failure ]
-crbug.com/591099 fast/lists/css3-counter-styles-087.html [ Failure ]
-crbug.com/591099 fast/lists/css3-counter-styles-088.html [ Failure ]
-crbug.com/591099 fast/lists/css3-counter-styles-089.html [ Failure ]
-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/005.html [ Crash Failure ]
+crbug.com/591099 fast/lists/005-vertical.html [ Crash Failure ]
+crbug.com/591099 fast/lists/006.html [ Crash Failure ]
+crbug.com/591099 fast/lists/006-vertical.html [ Crash Failure ]
+crbug.com/591099 fast/lists/007.html [ Crash Failure ]
+crbug.com/591099 fast/lists/007-vertical.html [ Crash Failure ]
+crbug.com/591099 fast/lists/008.html [ Crash Failure ]
+crbug.com/591099 fast/lists/008-vertical.html [ Crash Failure ]
+crbug.com/591099 fast/lists/009.html [ Crash Failure ]
+crbug.com/591099 fast/lists/009-vertical.html [ Crash Failure ]
+crbug.com/591099 fast/lists/alpha-boundary-values.html [ Crash Failure ]
+crbug.com/591099 fast/lists/alpha-list-wrap.html [ Crash Failure ]
+crbug.com/591099 fast/lists/anonymous-items.html [ Crash Failure ]
+crbug.com/591099 fast/lists/big-list-marker.html [ Crash Failure ]
+crbug.com/591099 fast/lists/calc-width-with-space.html [ Crash Failure ]
+crbug.com/591099 fast/lists/css3-counter-styles-052.html [ Crash Failure ]
+crbug.com/591099 fast/lists/css3-counter-styles-053.html [ Crash Failure ]
+crbug.com/591099 fast/lists/css3-counter-styles-054.html [ Crash Failure ]
+crbug.com/591099 fast/lists/css3-counter-styles-055.html [ Crash Failure ]
+crbug.com/591099 fast/lists/css3-counter-styles-056.html [ Crash Failure ]
+crbug.com/591099 fast/lists/css3-counter-styles-057.html [ Crash Failure ]
+crbug.com/591099 fast/lists/css3-counter-styles-058.html [ Crash Failure ]
+crbug.com/591099 fast/lists/css3-counter-styles-059.html [ Crash Failure ]
+crbug.com/591099 fast/lists/css3-counter-styles-060.html [ Crash Failure ]
+crbug.com/591099 fast/lists/css3-counter-styles-061.html [ Crash Failure ]
+crbug.com/591099 fast/lists/css3-counter-styles-062.html [ Crash Failure ]
+crbug.com/591099 fast/lists/css3-counter-styles-063.html [ Crash Failure ]
+crbug.com/591099 fast/lists/css3-counter-styles-064.html [ Crash Failure ]
+crbug.com/591099 fast/lists/css3-counter-styles-065.html [ Crash Failure ]
+crbug.com/591099 fast/lists/css3-counter-styles-066.html [ Crash Failure ]
+crbug.com/591099 fast/lists/css3-counter-styles-071.html [ Crash Failure ]
+crbug.com/591099 fast/lists/css3-counter-styles-072.html [ Crash Failure ]
+crbug.com/591099 fast/lists/css3-counter-styles-073.html [ Crash Failure ]
+crbug.com/591099 fast/lists/css3-counter-styles-074.html [ Crash Failure ]
+crbug.com/591099 fast/lists/css3-counter-styles-075.html [ Crash Failure ]
+crbug.com/591099 fast/lists/css3-counter-styles-076.html [ Crash Failure ]
+crbug.com/591099 fast/lists/css3-counter-styles-077.html [ Crash Failure ]
+crbug.com/591099 fast/lists/css3-counter-styles-078.html [ Crash Failure ]
+crbug.com/591099 fast/lists/css3-counter-styles-079.html [ Crash Failure ]
+crbug.com/591099 fast/lists/css3-counter-styles-080.html [ Crash Failure ]
+crbug.com/591099 fast/lists/css3-counter-styles-081.html [ Crash Failure ]
+crbug.com/591099 fast/lists/css3-counter-styles-082.html [ Crash Failure ]
+crbug.com/591099 fast/lists/css3-counter-styles-083.html [ Crash Failure ]
+crbug.com/591099 fast/lists/css3-counter-styles-084.html [ Crash Failure ]
+crbug.com/591099 fast/lists/css3-counter-styles-085.html [ Crash Failure ]
+crbug.com/591099 fast/lists/css3-counter-styles-086.html [ Crash Failure ]
+crbug.com/591099 fast/lists/css3-counter-styles-087.html [ Crash Failure ]
+crbug.com/591099 fast/lists/css3-counter-styles-088.html [ Crash Failure ]
+crbug.com/591099 fast/lists/css3-counter-styles-089.html [ Crash Failure ]
+crbug.com/591099 fast/lists/decimal-leading-zero.html [ Crash Pass ]
+crbug.com/591099 fast/lists/drag-into-marker.html [ Crash Failure ]
+crbug.com/591099 fast/lists/dynamic-marker-crash.html [ Crash Failure ]
 crbug.com/591099 fast/lists/inline-before-content-after-list-marker.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 ]
+crbug.com/591099 fast/lists/item-not-in-list-line-wrapping.html [ Crash Failure ]
+crbug.com/591099 fast/lists/li-br.html [ Crash Failure ]
+crbug.com/591099 fast/lists/li-minimum-long-value.html [ Crash Pass ]
+crbug.com/591099 fast/lists/list-color-change-no-layout.html [ Crash Pass ]
+crbug.com/591099 fast/lists/list-item-line-height.html [ Crash Failure ]
+crbug.com/591099 fast/lists/list-item-without-list-reparented-crash.html [ Crash Pass ]
 crbug.com/591099 fast/lists/list-marker-before-content-table.html [ Failure ]
-crbug.com/591099 fast/lists/list-marker-before-float.html [ Failure ]
-crbug.com/591099 fast/lists/list-marker-before-float-nested.html [ Failure ]
-crbug.com/591099 fast/lists/list-marker-before-float-nested-rtl.html [ Failure ]
-crbug.com/591099 fast/lists/list-marker-before-float-rtl.html [ Failure ]
-crbug.com/591099 fast/lists/list-marker-before-overflow-hidden.html [ Failure ]
+crbug.com/591099 fast/lists/list-marker-before-float.html [ Crash Failure ]
+crbug.com/591099 fast/lists/list-marker-before-float-nested.html [ Crash Failure ]
+crbug.com/591099 fast/lists/list-marker-before-float-nested-rtl.html [ Crash Failure ]
+crbug.com/591099 fast/lists/list-marker-before-float-rtl.html [ Crash Failure ]
+crbug.com/591099 fast/lists/list-marker-before-overflow-hidden.html [ Crash Failure ]
 crbug.com/591099 fast/lists/list-marker-padding-overflow-hidden.html [ Crash Failure ]
-crbug.com/591099 fast/lists/list-marker-padding-overflow-hidden-rtl.html [ Failure ]
-crbug.com/591099 fast/lists/list-marker-remove-crash.html [ Crash ]
-crbug.com/591099 fast/lists/list-marker-set-overflow-line-box-crash.html [ Failure ]
-crbug.com/591099 fast/lists/list-marker-with-line-height.html [ Failure ]
+crbug.com/591099 fast/lists/list-marker-padding-overflow-hidden-rtl.html [ Crash Failure ]
+crbug.com/591099 fast/lists/list-marker-remove-crash.html [ Crash Pass ]
+crbug.com/591099 fast/lists/list-marker-set-overflow-line-box-crash.html [ Crash Failure ]
+crbug.com/591099 fast/lists/list-marker-text-reverse.html [ Crash Pass ]
+crbug.com/591099 fast/lists/list-marker-with-line-height.html [ Crash Failure ]
 crbug.com/591099 fast/lists/list-style-none-crash.html [ Failure ]
 crbug.com/591099 fast/lists/list-style-position-inside.html [ Crash ]
-crbug.com/591099 fast/lists/list-style-type-dynamic-change.html [ Failure ]
-crbug.com/591099 fast/lists/li-style-alpha-huge-value-crash.html [ Failure ]
-crbug.com/591099 fast/lists/marker-before-empty-inline.html [ Failure ]
-crbug.com/591099 fast/lists/marker-image-error.html [ Failure ]
-crbug.com/591099 fast/lists/marker-preferred-margins.html [ Failure ]
-crbug.com/591099 fast/lists/markers-in-selection.html [ Failure ]
-crbug.com/591099 fast/lists/numeric-markers-outside-list.html [ Failure ]
-crbug.com/591099 fast/lists/ol-display-types.html [ Failure ]
-crbug.com/591099 fast/lists/ol-nested-items-dynamic-insert.html [ Failure ]
-crbug.com/591099 fast/lists/ol-nested-items-dynamic-remove.html [ Failure ]
-crbug.com/591099 fast/lists/ol-nested-items.html [ Failure ]
-crbug.com/591099 fast/lists/ol-nested-list-dynamic-insert.html [ Failure ]
-crbug.com/591099 fast/lists/ol-nested-list-dynamic-remove.html [ Failure ]
-crbug.com/591099 fast/lists/ol-nested-list.html [ Failure ]
-crbug.com/591099 fast/lists/ol-reversed-dynamic.html [ Failure ]
-crbug.com/591099 fast/lists/ol-reversed-dynamic-simple.html [ Failure ]
-crbug.com/591099 fast/lists/ol-reversed-nested-items.html [ Failure ]
-crbug.com/591099 fast/lists/ol-reversed-nested-list.html [ Failure ]
-crbug.com/591099 fast/lists/ol-reversed-simple.html [ Failure ]
-crbug.com/591099 fast/lists/ol-reversed-simple.xhtml [ Failure ]
-crbug.com/591099 fast/lists/ol-start-dynamic.html [ Failure ]
-crbug.com/591099 fast/lists/olstart.html [ Failure ]
-crbug.com/591099 fast/lists/ol-start-parsing.html [ Failure ]
-crbug.com/591099 fast/lists/ordered-list-with-no-ol-tag.html [ Failure ]
+crbug.com/591099 fast/lists/list-style-type-dynamic-change.html [ Crash Failure ]
+crbug.com/591099 fast/lists/list-with-autosizing-crash.html [ Crash Pass ]
+crbug.com/591099 fast/lists/li-style-alpha-huge-value-crash.html [ Crash Failure ]
+crbug.com/591099 fast/lists/li-values.html [ Crash Pass ]
+crbug.com/591099 fast/lists/marker-before-empty-inline.html [ Crash Failure ]
+crbug.com/591099 fast/lists/marker-image-error.html [ Crash Failure ]
+crbug.com/591099 fast/lists/marker-preferred-margins.html [ Crash Failure ]
+crbug.com/591099 fast/lists/markers-in-selection.html [ Crash Failure ]
+crbug.com/591099 fast/lists/numeric-markers-outside-list.html [ Crash Failure ]
+crbug.com/591099 fast/lists/ol-display-types.html [ Crash Failure ]
+crbug.com/591099 fast/lists/ol-nested-items-dynamic-insert.html [ Crash Failure ]
+crbug.com/591099 fast/lists/ol-nested-items-dynamic-remove.html [ Crash Failure ]
+crbug.com/591099 fast/lists/ol-nested-items.html [ Crash Failure ]
+crbug.com/591099 fast/lists/ol-nested-list-dynamic-insert.html [ Crash Failure ]
+crbug.com/591099 fast/lists/ol-nested-list-dynamic-remove.html [ Crash Failure ]
+crbug.com/591099 fast/lists/ol-nested-list.html [ Crash Failure ]
+crbug.com/591099 fast/lists/ol-reversed-dynamic.html [ Crash Failure ]
+crbug.com/591099 fast/lists/ol-reversed-dynamic-simple.html [ Crash Failure ]
+crbug.com/591099 fast/lists/ol-reversed-nested-items.html [ Crash Failure ]
+crbug.com/591099 fast/lists/ol-reversed-nested-list.html [ Crash Failure ]
+crbug.com/591099 fast/lists/ol-reversed-simple.html [ Crash Failure ]
+crbug.com/591099 fast/lists/ol-reversed-simple.xhtml [ Crash Failure ]
+crbug.com/591099 fast/lists/ol-start-dynamic.html [ Crash Failure ]
+crbug.com/591099 fast/lists/olstart.html [ Crash Failure ]
+crbug.com/591099 fast/lists/ol-start-parsing.html [ Crash Failure ]
+crbug.com/591099 fast/lists/ol-start-roman.html [ Crash Pass ]
+crbug.com/591099 fast/lists/ordered-list-with-no-ol-tag.html [ Crash Failure ]
+crbug.com/591099 fast/lists/positioned-count-crash.html [ Crash Pass ]
 crbug.com/591099 fast/lists/remove-listmarker-and-make-anonblock-empty-2.html [ Crash ]
-crbug.com/591099 fast/lists/rtl-ordered-list.html [ Failure ]
-crbug.com/591099 fast/lists/scrolled-marker-paint.html [ Failure ]
-crbug.com/591099 fast/lists/w3-css3-list-styles-alphabetic.html [ Failure Timeout ]
+crbug.com/591099 fast/lists/remove-listmarker-and-make-anonblock-empty.html [ Crash Pass ]
+crbug.com/591099 fast/lists/rtl-ordered-list.html [ Crash Failure ]
+crbug.com/591099 fast/lists/scrolled-marker-paint.html [ Crash Failure ]
+crbug.com/591099 fast/lists/w3-css3-list-styles-alphabetic.html [ Crash 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 [ 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 ]
+crbug.com/591099 fast/lists/w3-css3-list-styles-fallback-style.html [ Crash Failure ]
+crbug.com/591099 fast/lists/w3-css3-list-styles-numeric.html [ Crash Failure Timeout ]
+crbug.com/591099 fast/lists/w3-css3-lower-armenian.html [ Crash Failure ]
+crbug.com/591099 fast/lists/w3-css3-upper-armenian.html [ Crash Failure ]
+crbug.com/591099 fast/lists/w3-list-styles.html [ Crash Failure ]
 crbug.com/591099 fast/loader/about-blank-hash-change.html [ Failure ]
 crbug.com/591099 fast/loader/about-blank-hash-kept.html [ Failure ]
 crbug.com/591099 fast/loader/charset-parse.html [ Failure ]
@@ -11720,6 +13929,7 @@
 crbug.com/591099 fast/loader/document-with-fragment-url-4.html [ Timeout ]
 crbug.com/591099 fast/loader/empty-embed-src-attribute.html [ Failure ]
 crbug.com/591099 fast/loader/font-face-empty.html [ Failure ]
+crbug.com/591099 fast/loader/form-state-restore-with-frames.html [ Crash Pass ]
 crbug.com/591099 fast/loader/fragment-after-redirect-gets-back-entry.html [ Timeout ]
 crbug.com/591099 fast/loader/fragment-anchor-cleared-after-load.html [ Failure ]
 crbug.com/591099 fast/loader/fragment-anchor-cleared-after-load-when-hidden.html [ Failure ]
@@ -11743,8 +13953,9 @@
 crbug.com/591099 fast/loader/navigation-scheduler-user-gesture.html [ Failure ]
 crbug.com/591099 fast/loader/onload-bad-scheme-for-frame.html [ Failure Timeout ]
 crbug.com/591099 fast/loader/onload-policy-ignore-for-frame.html [ Failure ]
-crbug.com/591099 fast/loader/opaque-base-url.html [ Failure ]
+crbug.com/591099 fast/loader/opaque-base-url.html [ Crash Failure ]
 crbug.com/591099 fast/loader/open-in-srcdoc-unload.html [ Crash ]
+crbug.com/591099 fast/loader/ping-error.html [ Crash Pass ]
 crbug.com/591099 fast/loader/remove-iframe-during-history-navigation-different.html [ Crash ]
 crbug.com/591099 fast/loader/remove-iframe-during-history-navigation-same.html [ Crash ]
 crbug.com/591099 fast/loader/scroll-position-restoration-for-history-api.html [ Failure ]
@@ -11754,6 +13965,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/show-only-one-beforeunload-dialog.html [ Failure ]
 crbug.com/591099 fast/loader/start-load-in-unload.html [ Crash Pass ]
 crbug.com/591099 fast/loader/stateobjects/pushstate-object-types.html [ Failure ]
 crbug.com/591099 fast/loader/stateobjects/replacestate-in-onunload.html [ Failure ]
@@ -11777,7 +13989,7 @@
 crbug.com/591099 fast/mediacapturefromelement/CanvasCaptureMediaStream-imagebitmaprenderingcontext.html [ Crash ]
 crbug.com/591099 fast/mediacapturefromelement/CanvasCaptureMediaStream-request-frame-events.html [ Failure ]
 crbug.com/591099 fast/mediacapturefromelement/CanvasCaptureMediaStream-webgl-events.html [ Failure ]
-crbug.com/591099 fast/media/lifetime.html [ Failure ]
+crbug.com/591099 fast/media/lifetime.html [ Crash Failure ]
 crbug.com/591099 fast/media/matchmedium-query-api.html [ Failure ]
 crbug.com/591099 fast/media/media-query-list-01.html [ Failure ]
 crbug.com/591099 fast/media/media-query-list-callback.html [ Failure ]
@@ -11787,6 +13999,7 @@
 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/media-svg-crash.html [ Crash Pass ]
 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 ]
@@ -11848,6 +14061,7 @@
 crbug.com/591099 fast/multicol/caret-range-anonymous-block-rtl.html [ Failure ]
 crbug.com/591099 fast/multicol/caret-range-outside-columns.html [ Failure ]
 crbug.com/591099 fast/multicol/caret-range-outside-columns-rtl.html [ Failure ]
+crbug.com/591099 fast/multicol/change-block-child-height.html [ Failure Pass ]
 crbug.com/591099 fast/multicol/change-height.html [ Failure ]
 crbug.com/591099 fast/multicol/client-rect-after-spanner.html [ Failure ]
 crbug.com/591099 fast/multicol/client-rect-nested.html [ Failure ]
@@ -11865,6 +14079,7 @@
 crbug.com/591099 fast/multicol/columns-shorthand-parsing.html [ Failure ]
 crbug.com/591099 fast/multicol/column-width-zero.html [ Failure ]
 crbug.com/591099 fast/multicol/composited-inner-multicol.html [ Failure ]
+crbug.com/591099 fast/multicol/composited-layer.html [ Failure Pass ]
 crbug.com/591099 fast/multicol/composited-layer-multiple-fragments.html [ Failure ]
 crbug.com/591099 fast/multicol/composited-layer-multiple-fragments-translated.html [ Failure ]
 crbug.com/591099 fast/multicol/composited-layer-nested.html [ Failure ]
@@ -11881,6 +14096,7 @@
 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/cssom-view.html [ Failure Pass ]
 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 ]
@@ -11889,7 +14105,7 @@
 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-display.html [ Crash Failure ]
 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 ]
@@ -11897,23 +14113,23 @@
 crbug.com/591099 fast/multicol/dynamic/insert-block-before-spanner.html [ Failure ]
 crbug.com/591099 fast/multicol/dynamic/insert-block-between-spanners.html [ Failure ]
 crbug.com/591099 fast/multicol/dynamic/insert-block-into-content.html [ Failure ]
-crbug.com/591099 fast/multicol/dynamic/insert-block-into-inline-beside-ex-spanner-table-column.html [ Failure ]
+crbug.com/591099 fast/multicol/dynamic/insert-block-into-inline-beside-ex-spanner-table-column.html [ Crash Failure ]
 crbug.com/591099 fast/multicol/dynamic/insert-spanner-after-abspos-subtree-crash.html [ Failure ]
-crbug.com/591099 fast/multicol/dynamic/insert-spanner-after-content.html [ Failure ]
+crbug.com/591099 fast/multicol/dynamic/insert-spanner-after-content.html [ Failure Pass ]
 crbug.com/591099 fast/multicol/dynamic/insert-spanner-after-inner-multicol-crash.html [ Failure ]
-crbug.com/591099 fast/multicol/dynamic/insert-spanner-after-spanner-before-content.html [ Failure ]
+crbug.com/591099 fast/multicol/dynamic/insert-spanner-after-spanner-before-content.html [ Failure Pass ]
 crbug.com/591099 fast/multicol/dynamic/insert-spanner-after-spanner-with-inner-multicol-with-spanner-crash.html [ Failure ]
 crbug.com/591099 fast/multicol/dynamic/insert-spanner-between-out-of-flow-crash.html [ Failure ]
 crbug.com/591099 fast/multicol/dynamic/insert-spanner-between-out-of-flow.html [ Failure ]
 crbug.com/591099 fast/multicol/dynamic/insert-spanner-into-content.html [ Failure ]
 crbug.com/591099 fast/multicol/dynamic/insert-spanner-into-stf-constrained-width.html [ Failure ]
 crbug.com/591099 fast/multicol/dynamic/insert-spanner-into-stf-unconstrained-width.html [ Failure ]
-crbug.com/591099 fast/multicol/dynamic/insert-spanner-pseudo-after.html [ Failure ]
-crbug.com/591099 fast/multicol/dynamic/insert-spanner-pseudo-after-then-content.html [ Failure ]
-crbug.com/591099 fast/multicol/dynamic/insert-spanner-pseudo-before-after.html [ Failure ]
-crbug.com/591099 fast/multicol/dynamic/insert-spanner-pseudo-before-after-in-content.html [ Failure ]
-crbug.com/591099 fast/multicol/dynamic/insert-spanner-pseudo-before-following-content.html [ Failure ]
-crbug.com/591099 fast/multicol/dynamic/insert-spanner-pseudo-before.html [ Failure ]
+crbug.com/591099 fast/multicol/dynamic/insert-spanner-pseudo-after.html [ Crash Failure ]
+crbug.com/591099 fast/multicol/dynamic/insert-spanner-pseudo-after-then-content.html [ Crash Failure ]
+crbug.com/591099 fast/multicol/dynamic/insert-spanner-pseudo-before-after.html [ Crash Failure ]
+crbug.com/591099 fast/multicol/dynamic/insert-spanner-pseudo-before-after-in-content.html [ Crash Failure ]
+crbug.com/591099 fast/multicol/dynamic/insert-spanner-pseudo-before-following-content.html [ Crash Failure ]
+crbug.com/591099 fast/multicol/dynamic/insert-spanner-pseudo-before.html [ Crash Failure ]
 crbug.com/591099 fast/multicol/dynamic/invalid-spanner-container-becomes-valid.html [ Failure ]
 crbug.com/591099 fast/multicol/dynamic/multicol-with-abspos-svg-with-foreignobject-with-multicol-crash.html [ Failure ]
 crbug.com/591099 fast/multicol/dynamic/relpos-becomes-static-has-abspos.html [ Crash Pass ]
@@ -11934,6 +14150,8 @@
 crbug.com/591099 fast/multicol/dynamic/spanner-ancestor-becomes-spanner.html [ Failure ]
 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/spanner-before-content-becomes-regular-block.html [ Failure Pass ]
+crbug.com/591099 fast/multicol/dynamic/spanner-in-content-becomes-regular-block.html [ Failure Pass ]
 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 ]
@@ -11942,8 +14160,9 @@
 crbug.com/591099 fast/multicol/event-offset.html [ Failure ]
 crbug.com/591099 fast/multicol/event-offset-in-nested.html [ Failure ]
 crbug.com/591099 fast/multicol/explicit-columns-auto.html [ Failure ]
-crbug.com/591099 fast/multicol/fieldset-as-multicol.html [ Failure ]
-crbug.com/591099 fast/multicol/file-upload-as-multicol.html [ Failure ]
+crbug.com/591099 fast/multicol/fieldset-as-multicol.html [ Crash Failure ]
+crbug.com/591099 fast/multicol/file-upload-as-multicol.html [ Crash Failure ]
+crbug.com/591099 fast/multicol/filter-in-second-column.html [ Failure Pass ]
 crbug.com/591099 fast/multicol/first-line-in-block-below-next-column-top.html [ Failure ]
 crbug.com/591099 fast/multicol/first-line-in-block-with-padding-exact-fit.html [ Failure ]
 crbug.com/591099 fast/multicol/first-line-in-block-with-padding.html [ Failure ]
@@ -11951,10 +14170,12 @@
 crbug.com/591099 fast/multicol/first-line-in-float-with-margin.html [ Failure ]
 crbug.com/591099 fast/multicol/fixed-column-percent-logical-height-orthogonal-writing-mode.html [ Failure ]
 crbug.com/591099 fast/multicol/fixedpos-in-transform-at-column-boundary.html [ Failure ]
+crbug.com/591099 fast/multicol/flexbox.html [ Failure Pass ]
 crbug.com/591099 fast/multicol/flexbox-starts-at-column-boundary.html [ Failure ]
 crbug.com/591099 fast/multicol/flexbox-starts-at-column-boundary-with-block.html [ Failure ]
 crbug.com/591099 fast/multicol/flexbox-with-overflow-auto-child-crash.html [ Failure ]
 crbug.com/591099 fast/multicol/flipped-blocks-border-after.html [ Failure ]
+crbug.com/591099 fast/multicol/flipped-blocks-hit-test.html [ Failure Pass ]
 crbug.com/591099 fast/multicol/float-after-break-after.html [ Failure ]
 crbug.com/591099 fast/multicol/float-avoidance.html [ Failure ]
 crbug.com/591099 fast/multicol/float-beside-bfc.html [ Failure ]
@@ -11978,9 +14199,10 @@
 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 ]
 crbug.com/591099 fast/multicol/forced-break-too-short-column.html [ Failure ]
-crbug.com/591099 fast/multicol/foreignObject.html [ Failure ]
+crbug.com/591099 fast/multicol/foreignObject.html [ Failure Pass ]
 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-above-or-below.html [ Failure Pass ]
 crbug.com/591099 fast/multicol/hit-test-float.html [ Failure ]
 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 ]
@@ -11991,9 +14213,10 @@
 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 Pass ]
+crbug.com/591099 fast/multicol/input-as-multicol.html [ Crash Failure Pass ]
+crbug.com/591099 fast/multicol/input-type-number.html [ Crash Pass ]
 crbug.com/591099 fast/multicol/large-padding-crash.html [ Crash Pass ]
-crbug.com/591099 fast/multicol/layers-in-multicol.html [ Failure ]
+crbug.com/591099 fast/multicol/layers-in-multicol.html [ Failure Pass ]
 crbug.com/591099 fast/multicol/layers-split-across-columns.html [ Failure ]
 crbug.com/591099 fast/multicol/line-pushed-down-by-float.html [ Failure ]
 crbug.com/591099 fast/multicol/listbox-as-multicol.html [ Failure ]
@@ -12015,6 +14238,7 @@
 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 ]
 crbug.com/591099 fast/multicol/nested-balanced-inner-with-many-breaks.html [ Failure ]
+crbug.com/591099 fast/multicol/nested-balanced-with-strut-before-first-line.html [ Failure Pass ]
 crbug.com/591099 fast/multicol/nested-balancing-with-block-start-in-early-row-crash.html [ Failure ]
 crbug.com/591099 fast/multicol/nested-balancing-with-line-at-exact-top.html [ Failure ]
 crbug.com/591099 fast/multicol/nested-balancing-with-lines-and-space-left-in-previous-row.html [ Failure ]
@@ -12056,7 +14280,7 @@
 crbug.com/591099 fast/multicol/newmulticol/fixed-height-fill-balance.html [ Failure ]
 crbug.com/591099 fast/multicol/newmulticol/hide-box-vertical-lr.html [ Failure ]
 crbug.com/591099 fast/multicol/newmulticol/hide-box-vertical-rl.html [ Failure ]
-crbug.com/591099 fast/multicol/newmulticol/list-item.html [ Failure ]
+crbug.com/591099 fast/multicol/newmulticol/list-item.html [ Crash Failure ]
 crbug.com/591099 fast/multicol/newmulticol/orphans-and-widows-balance.html [ Failure ]
 crbug.com/591099 fast/multicol/newmulticol/table-cell.html [ Failure ]
 crbug.com/591099 fast/multicol/null-lastFloat-in-removeFloatingObjectsBelow.html [ Failure ]
@@ -12069,12 +14293,14 @@
 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/nested-multicol.html [ Failure Pass ]
 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-into-columngap.html [ Failure Pass ]
 crbug.com/591099 fast/multicol/overflow-unsplittable.html [ Failure ]
-crbug.com/591099 fast/multicol/paged-becomes-multicol-auto-height.html [ Failure Pass ]
+crbug.com/591099 fast/multicol/paged-becomes-multicol-auto-height.html [ Crash Failure Pass ]
+crbug.com/591099 fast/multicol/paged-becomes-multicol-fixed-height.html [ Crash Pass ]
 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 ]
@@ -12097,7 +14323,7 @@
 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 Failure ]
-crbug.com/591099 fast/multicol/span/anonymous-split-block-crash.html [ Failure ]
+crbug.com/591099 fast/multicol/span/anonymous-split-block-crash.html [ Crash 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 ]
 crbug.com/591099 fast/multicol/span/autofill-after-spanner.html [ Failure ]
@@ -12113,7 +14339,7 @@
 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 ]
-crbug.com/591099 fast/multicol/span/clone-anonymous-block-non-inline-child-crash.html [ Failure ]
+crbug.com/591099 fast/multicol/span/clone-anonymous-block-non-inline-child-crash.html [ Crash Failure ]
 crbug.com/591099 fast/multicol/span/clone-before-after-content-crash.html [ Crash Pass ]
 crbug.com/591099 fast/multicol/span/empty-anonymous-block-split-crash.html [ Crash Pass ]
 crbug.com/591099 fast/multicol/span/empty-block-between-spanners.html [ Crash Pass ]
@@ -12123,6 +14349,7 @@
 crbug.com/591099 fast/multicol/span/float.html [ Failure ]
 crbug.com/591099 fast/multicol/span/foreignObject.html [ Failure ]
 crbug.com/591099 fast/multicol/span/generated-child-split-flow-crash.html [ Crash Pass ]
+crbug.com/591099 fast/multicol/span/height-decrease.html [ Failure Pass ]
 crbug.com/591099 fast/multicol/span/in-nested-multicol-with-hard-breaks.html [ Failure ]
 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 ]
@@ -12149,11 +14376,15 @@
 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/pseudo-after.html [ Failure Pass ]
-crbug.com/591099 fast/multicol/span/pseudo-before.html [ Failure Pass ]
+crbug.com/591099 fast/multicol/span/pseudo-after.html [ Crash Failure Pass ]
+crbug.com/591099 fast/multicol/span/pseudo-after-then-content.html [ Crash Failure Pass ]
+crbug.com/591099 fast/multicol/span/pseudo-before-after.html [ Crash Failure Pass ]
+crbug.com/591099 fast/multicol/span/pseudo-before-after-in-content.html [ Crash Failure Pass ]
+crbug.com/591099 fast/multicol/span/pseudo-before-following-content.html [ Crash Failure Pass ]
+crbug.com/591099 fast/multicol/span/pseudo-before.html [ Crash Failure Pass ]
 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/remaining-space-in-last-column.html [ Failure Pass ]
 crbug.com/591099 fast/multicol/span/runin-continuation-crash.html [ Crash Pass ]
 crbug.com/591099 fast/multicol/span/simple-margins.html [ Failure ]
 crbug.com/591099 fast/multicol/span/sole-spanner-inside-div.html [ Failure ]
@@ -12171,7 +14402,7 @@
 crbug.com/591099 fast/multicol/span/update-after-content-before-child-crash.html [ Crash Pass ]
 crbug.com/591099 fast/multicol/span/vertical-lr.html [ Failure ]
 crbug.com/591099 fast/multicol/span/vertical-rl.html [ Failure ]
-crbug.com/591099 fast/multicol/span/with-border.html [ Failure ]
+crbug.com/591099 fast/multicol/span/with-border.html [ Failure Pass ]
 crbug.com/591099 fast/multicol/table-caption-and-cells-fixed-width.html [ Failure ]
 crbug.com/591099 fast/multicol/table-caption-and-cells.html [ Failure ]
 crbug.com/591099 fast/multicol/table-caption-with-block.html [ Failure ]
@@ -12180,7 +14411,8 @@
 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/tall-line-in-short-block.html [ Failure Pass ]
+crbug.com/591099 fast/multicol/textarea-as-multicol.html [ Crash Pass ]
 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 ]
@@ -12189,6 +14421,7 @@
 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 ]
 crbug.com/591099 fast/multicol/unforced-break-after-complex-margin-collapsing.html [ Failure ]
+crbug.com/591099 fast/multicol/unsplittable-inline-block.html [ Failure Pass ]
 crbug.com/591099 fast/multicol/vertical-lr/abspos-auto-position-on-line.html [ Failure ]
 crbug.com/591099 fast/multicol/vertical-lr/balancing/balance-short-trailing-empty-block.html [ Failure ]
 crbug.com/591099 fast/multicol/vertical-lr/balancing/balance-trailing-border-after-break.html [ Failure ]
@@ -12250,6 +14483,7 @@
 crbug.com/591099 fast/overflow/001.html [ Failure ]
 crbug.com/591099 fast/overflow/002.html [ Failure ]
 crbug.com/591099 fast/overflow/003.xml [ Failure ]
+crbug.com/591099 fast/overflow/004.html [ Failure Pass ]
 crbug.com/591099 fast/overflow/005.html [ Failure ]
 crbug.com/591099 fast/overflow/006.html [ Failure ]
 crbug.com/591099 fast/overflow/007.html [ Failure ]
@@ -12265,7 +14499,7 @@
 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-auto-body.html [ Failure ]
-crbug.com/591099 fast/overflow/hidden-html-hidden-body.html [ Failure ]
+crbug.com/591099 fast/overflow/hidden-html-hidden-body.html [ Failure Pass ]
 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 ]
@@ -12273,7 +14507,7 @@
 crbug.com/591099 fast/overflow/hit-test-overflow-hidden-with-box-shadow.html [ Failure ]
 crbug.com/591099 fast/overflow/image-selection-highlight.html [ Failure ]
 crbug.com/591099 fast/overflow/infiniteRecursionGuard.html [ Failure ]
-crbug.com/591099 fast/overflow/infiniteRecursion.html [ Failure ]
+crbug.com/591099 fast/overflow/infiniteRecursion.html [ Crash Failure ]
 crbug.com/591099 fast/overflow/line-clamp-hides-trailing-anchor.html [ Failure ]
 crbug.com/591099 fast/overflow/line-clamp.html [ Failure ]
 crbug.com/591099 fast/overflow/onscroll-layer-self-destruct.html [ Timeout ]
@@ -12284,24 +14518,24 @@
 crbug.com/591099 fast/overflow/overflow-float-stacking.html [ Failure ]
 crbug.com/591099 fast/overflow/overflow-focus-ring.html [ Failure ]
 crbug.com/591099 fast/overflow/overflow-height-float-not-removed-crash.html [ Failure ]
-crbug.com/591099 fast/overflow/overflow-rtl.html [ Failure ]
+crbug.com/591099 fast/overflow/overflow-rtl.html [ Crash Failure ]
 crbug.com/591099 fast/overflow/overflow-rtl-inline-scrollbar.html [ Failure ]
-crbug.com/591099 fast/overflow/overflow-rtl-vertical.html [ Failure ]
+crbug.com/591099 fast/overflow/overflow-rtl-vertical.html [ Crash Failure ]
 crbug.com/591099 fast/overflow/overflow-rtl-vertical-origin.html [ Failure ]
 crbug.com/591099 fast/overflow/overflow-stacking.html [ Failure ]
 crbug.com/591099 fast/overflow/overflow-text-hit-testing.html [ Failure ]
 crbug.com/591099 fast/overflow/overflow-update-transform.html [ Failure ]
 crbug.com/591099 fast/overflow/overflow-visible-should-ignore-scroll.html [ Failure ]
-crbug.com/591099 fast/overflow/overflow-with-local-background-attachment.html [ Failure ]
-crbug.com/591099 fast/overflow/overflow-x-y.html [ Failure ]
+crbug.com/591099 fast/overflow/overflow-with-local-background-attachment.html [ Crash Failure ]
+crbug.com/591099 fast/overflow/overflow-x-y.html [ Crash Failure ]
 crbug.com/591099 fast/overflow/overflow-y-scroll.html [ Failure ]
 crbug.com/591099 fast/overflow/position-fixed-transform-clipping.html [ Failure ]
 crbug.com/591099 fast/overflow/replaced-child-100percent-height-inside-fixed-container-with-overflow-auto.html [ Crash ]
 crbug.com/591099 fast/overflow/resize-inherit.html [ Failure ]
 crbug.com/591099 fast/overflow/rtl-scrollbar-drag-origin.html [ Failure ]
-crbug.com/591099 fast/overflow/scrollbar-click-retains-focus.html [ Failure ]
+crbug.com/591099 fast/overflow/scrollbar-click-retains-focus.html [ Crash Failure ]
 crbug.com/591099 fast/overflow/scrollbar-position-update.html [ Failure ]
-crbug.com/591099 fast/overflow/scrollbar-restored-and-then-locked.html [ Failure ]
+crbug.com/591099 fast/overflow/scrollbar-restored-and-then-locked.html [ Crash 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-hidden-body.html [ Failure Pass ]
@@ -12360,8 +14594,8 @@
 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 Pass ]
-crbug.com/591099 fast/parser/comment-in-textarea.html [ Failure ]
+crbug.com/591099 fast/parser/comment-in-script.html [ Crash Failure Pass ]
+crbug.com/591099 fast/parser/comment-in-textarea.html [ Crash 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 ]
@@ -12376,14 +14610,14 @@
 crbug.com/591099 fast/parser/eightdigithexentity.html [ Failure ]
 crbug.com/591099 fast/parser/empty-text-resource.html [ Failure ]
 crbug.com/591099 fast/parser/entities-in-attributes.xhtml [ Failure ]
-crbug.com/591099 fast/parser/entities-in-html.html [ Failure ]
-crbug.com/591099 fast/parser/entities-in-xhtml.xhtml [ Failure ]
+crbug.com/591099 fast/parser/entities-in-html.html [ Crash Failure ]
+crbug.com/591099 fast/parser/entities-in-xhtml.xhtml [ Crash Failure ]
 crbug.com/591099 fast/parser/entity-comment-in-style.html [ Failure ]
-crbug.com/591099 fast/parser/entity-comment-in-textarea.html [ Failure ]
+crbug.com/591099 fast/parser/entity-comment-in-textarea.html [ Crash Failure ]
 crbug.com/591099 fast/parser/entity-end-iframe-tag.html [ Failure ]
 crbug.com/591099 fast/parser/entity-end-script-tag.html [ Failure ]
 crbug.com/591099 fast/parser/entity-end-style-tag.html [ Failure ]
-crbug.com/591099 fast/parser/entity-end-textarea-tag.html [ Failure ]
+crbug.com/591099 fast/parser/entity-end-textarea-tag.html [ Crash Failure ]
 crbug.com/591099 fast/parser/entity-end-title-tag.html [ Failure ]
 crbug.com/591099 fast/parser/entity-end-xmp-tag.html [ Failure ]
 crbug.com/591099 fast/parser/entity-surrogate-pairs.html [ Failure ]
@@ -12397,20 +14631,22 @@
 crbug.com/591099 fast/parser/head-comment.html [ Failure ]
 crbug.com/591099 fast/parser/head-element-for-yahoo-player.html [ Failure ]
 crbug.com/591099 fast/parser/head-parsing-19517.html [ Failure ]
-crbug.com/591099 fast/parser/hex-entities-length.html [ Failure ]
+crbug.com/591099 fast/parser/hex-entities-length.html [ Crash Failure ]
 crbug.com/591099 fast/parser/html-html-comment-in-style-block.html [ Failure ]
 crbug.com/591099 fast/parser/image-tag-parses-to-HTMLImageElement.html [ Failure ]
 crbug.com/591099 fast/parser/inline-script-order.html [ Failure ]
+crbug.com/591099 fast/parser/innerhtml-with-prefixed-elements.xhtml [ Failure Pass ]
 crbug.com/591099 fast/parser/input-textarea-inside-select-element.html [ Failure ]
 crbug.com/591099 fast/parser/inselect-tokenization.html [ Crash ]
 crbug.com/591099 fast/parser/invalid-entity-document-write.html [ Failure ]
 crbug.com/591099 fast/parser/move-during-parsing.html [ Failure ]
+crbug.com/591099 fast/parser/nested-fragment-parser-crash.html [ Crash Pass ]
 crbug.com/591099 fast/parser/nofoo-tags-inside-paragraph.html [ Failure ]
 crbug.com/591099 fast/parser/non-script-endtag-in-textmode.html [ Failure ]
 crbug.com/591099 fast/parser/noscript-with-javascript-disabled.html [ Failure ]
 crbug.com/591099 fast/parser/object-with-textarea-fallback.html [ Crash ]
 crbug.com/591099 fast/parser/open-comment-in-style.html [ Failure ]
-crbug.com/591099 fast/parser/open-comment-in-textarea.html [ Failure ]
+crbug.com/591099 fast/parser/open-comment-in-textarea.html [ Crash Failure ]
 crbug.com/591099 fast/parser/parse-menuitem.html [ Failure ]
 crbug.com/591099 fast/parser/parse-wbr.html [ Failure ]
 crbug.com/591099 fast/parser/p-in-scope.html [ Failure ]
@@ -12427,7 +14663,7 @@
 crbug.com/591099 fast/parser/scriptexec-during-parserRemoveChild.html [ Failure ]
 crbug.com/591099 fast/parser/stray-end-tags-with-attributes-002-alt.html [ Failure ]
 crbug.com/591099 fast/parser/stray-end-tags-with-attributes-002-alt-quirks.html [ Failure ]
-crbug.com/591099 fast/parser/strict-img-in-map.html [ Failure ]
+crbug.com/591099 fast/parser/strict-img-in-map.html [ Crash Failure ]
 crbug.com/591099 fast/parser/strip-script-attrs-on-input.html [ Crash ]
 crbug.com/591099 fast/parser/style-script-head-test.html [ Failure ]
 crbug.com/591099 fast/parser/tabindex-parsing.html [ Failure ]
@@ -12485,24 +14721,24 @@
 crbug.com/591099 fast/reflections/transparent-reflected-sublayers.html [ Failure ]
 crbug.com/591099 fast/regex/non-pattern-characters.html [ Failure ]
 crbug.com/591099 fast/regex/syntax-errors.html [ Failure ]
-crbug.com/591099 fast/replaced/001.html [ Failure ]
+crbug.com/591099 fast/replaced/001.html [ Failure Pass ]
 crbug.com/591099 fast/replaced/002.html [ Failure ]
 crbug.com/591099 fast/replaced/003.html [ Failure ]
-crbug.com/591099 fast/replaced/004.html [ Failure ]
+crbug.com/591099 fast/replaced/004.html [ Failure Pass ]
 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 [ 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 ]
+crbug.com/591099 fast/replaced/absolute-position-auto-width-and-left-and-right-and-intrinsic-width.html [ Crash Failure ]
+crbug.com/591099 fast/replaced/absolute-position-auto-width-and-left-and-right-and-intrinsic-width-quirks.html [ Crash Failure ]
 crbug.com/591099 fast/replaced/absolute-position-percentage-height.html [ Failure ]
 crbug.com/591099 fast/replaced/absolute-position-percentage-width.html [ Failure ]
 crbug.com/591099 fast/replaced/absolute-position-with-auto-height-and-top-and-bottom.html [ Failure ]
 crbug.com/591099 fast/replaced/absolute-position-with-auto-width-and-left-and-right.html [ Failure ]
 crbug.com/591099 fast/replaced/aspect-ratio-of-replaced-child-with-auto-height.html [ Failure ]
 crbug.com/591099 fast/replaced/aspect-ratio-of-replaced-child-with-max-height.html [ Failure ]
-crbug.com/591099 fast/replaced/available-height-for-content.html [ Failure ]
+crbug.com/591099 fast/replaced/available-height-for-content.html [ Crash Failure ]
 crbug.com/591099 fast/replaced/border-radius-clip-content-edge.html [ Failure ]
 crbug.com/591099 fast/replaced/border-radius-clip.html [ Failure ]
 crbug.com/591099 fast/replaced/computed-image-width-with-percent-height-and-fixed-ancestor.html [ Failure ]
@@ -12515,15 +14751,16 @@
 crbug.com/591099 fast/replaced/iframe-with-percentage-height-within-table-with-anonymous-table-cell.html [ Failure ]
 crbug.com/591099 fast/replaced/iframe-with-percentage-height-within-table-with-table-cell-ignore-height.html [ Failure ]
 crbug.com/591099 fast/replaced/image-map-2.html [ Failure ]
-crbug.com/591099 fast/replaced/image-map-alt-content.html [ Failure ]
+crbug.com/591099 fast/replaced/image-map-alt-content-crash.html [ Crash Pass ]
+crbug.com/591099 fast/replaced/image-map-alt-content.html [ Crash Failure ]
 crbug.com/591099 fast/replaced/image-map-bug16782.html [ Failure ]
-crbug.com/591099 fast/replaced/image-map-cursor.html [ Failure ]
+crbug.com/591099 fast/replaced/image-map-cursor.html [ Crash Failure ]
 crbug.com/591099 fast/replaced/image-map.html [ Failure ]
-crbug.com/591099 fast/replaced/image-map-on-image-with-inline-content-data.html [ Failure ]
+crbug.com/591099 fast/replaced/image-map-on-image-with-inline-content-data.html [ Crash Failure ]
 crbug.com/591099 fast/replaced/image-map-on-inline-image.html [ Failure ]
 crbug.com/591099 fast/replaced/image-onload.html [ Failure Pass ]
 crbug.com/591099 fast/replaced/image-resize-width.html [ Failure ]
-crbug.com/591099 fast/replaced/image-sizing.html [ Failure ]
+crbug.com/591099 fast/replaced/image-sizing.html [ Failure Pass ]
 crbug.com/591099 fast/replaced/image-solid-color-with-alpha.html [ Failure ]
 crbug.com/591099 fast/replaced/inline-box-wrapper-handover.html [ Failure ]
 crbug.com/591099 fast/replaced/invalid-object-with-fallback.html [ Crash ]
@@ -12554,6 +14791,7 @@
 crbug.com/591099 fast/replaced/replaced-breaking-mixture.html [ Failure ]
 crbug.com/591099 fast/replaced/replaced-child-of-absolute-with-auto-height.html [ Failure ]
 crbug.com/591099 fast/replaced/replaced-element-with-percentage-height-anonymous-block-parent.html [ Failure ]
+crbug.com/591099 fast/replaced/replaced-last-line-layout.html [ Crash Pass ]
 crbug.com/591099 fast/replaced/selection-rect.html [ Failure ]
 crbug.com/591099 fast/replaced/selection-rect-in-table-cell.html [ Failure ]
 crbug.com/591099 fast/replaced/selection-rect-transform.html [ Failure ]
@@ -12562,7 +14800,7 @@
 crbug.com/591099 fast/replaced/table-percent-height-text-controls.html [ Failure ]
 crbug.com/591099 fast/replaced/table-percent-width.html [ Failure ]
 crbug.com/591099 fast/replaced/table-replaced-element.html [ Failure ]
-crbug.com/591099 fast/replaced/three-selects-break.html [ Failure ]
+crbug.com/591099 fast/replaced/three-selects-break.html [ Failure Pass ]
 crbug.com/591099 fast/replaced/vertical-lr/absolute-position-percentage-width.html [ Failure ]
 crbug.com/591099 fast/replaced/vertical-lr/absolute-position-with-auto-height-and-top-and-bottom.html [ Failure ]
 crbug.com/591099 fast/replaced/vertical-lr/absolute-position-with-auto-width-and-left-and-right.html [ Failure ]
@@ -12575,61 +14813,80 @@
 crbug.com/591099 fast/replaced/width100percent-checkbox.html [ Failure ]
 crbug.com/591099 fast/replaced/width100percent-image.html [ Failure ]
 crbug.com/591099 fast/replaced/width100percent-radio.html [ Failure ]
-crbug.com/591099 fast/replaced/width100percent-searchfield.html [ Failure ]
+crbug.com/591099 fast/replaced/width100percent-searchfield.html [ Crash Failure ]
 crbug.com/591099 fast/replaced/width100percent-textarea.html [ Failure ]
 crbug.com/591099 fast/replaced/width100percent-textfield.html [ Failure ]
-crbug.com/591099 fast/ruby/after-doesnt-crash.html [ Failure ]
-crbug.com/591099 fast/ruby/base-shorter-than-text.html [ Failure ]
-crbug.com/591099 fast/ruby/before-block-doesnt-crash.html [ Failure ]
-crbug.com/591099 fast/ruby/before-doesnt-crash.html [ Failure ]
-crbug.com/591099 fast/ruby/before-table-doesnt-crash.html [ Failure ]
-crbug.com/591099 fast/ruby/floating-ruby-text.html [ Failure ]
-crbug.com/591099 fast/ruby/float-object-doesnt-crash.html [ Failure ]
-crbug.com/591099 fast/ruby/float-overhang-from-ruby-text.html [ Failure ]
+crbug.com/591099 fast/ruby/add-text-to-block-ruby-with-after-pseudo-crash.html [ Crash Pass ]
+crbug.com/591099 fast/ruby/after-doesnt-crash.html [ Crash Failure ]
+crbug.com/591099 fast/ruby/base-shorter-than-text.html [ Crash Failure ]
+crbug.com/591099 fast/ruby/before-block-doesnt-crash.html [ Crash Failure ]
+crbug.com/591099 fast/ruby/before-doesnt-crash.html [ Crash Failure ]
+crbug.com/591099 fast/ruby/before-table-doesnt-crash.html [ Crash Failure ]
+crbug.com/591099 fast/ruby/floating-ruby-text.html [ Crash Failure ]
+crbug.com/591099 fast/ruby/float-object-doesnt-crash.html [ Crash Failure ]
+crbug.com/591099 fast/ruby/float-overhang-from-ruby-text.html [ Crash Failure ]
+crbug.com/591099 fast/ruby/generated-before-counter-doesnt-crash.html [ Crash Pass ]
 crbug.com/591099 fast/ruby/line-break-ruby.html [ Crash ]
-crbug.com/591099 fast/ruby/list-item-marker-in-block-ruby.html [ Failure ]
-crbug.com/591099 fast/ruby/merge-adjacent-anonymous-blocks-inside-ruby-run.html [ Failure ]
-crbug.com/591099 fast/ruby/nested-ruby.html [ Failure ]
-crbug.com/591099 fast/ruby/overhang-horizontal.html [ Failure ]
-crbug.com/591099 fast/ruby/overhang-horizontal-no-overlap1.html [ Failure ]
-crbug.com/591099 fast/ruby/overhang-horizontal-no-overlap2.html [ Failure ]
-crbug.com/591099 fast/ruby/overhang-vertical.html [ Failure ]
-crbug.com/591099 fast/ruby/overhang-vertical-no-overlap1.html [ Failure ]
-crbug.com/591099 fast/ruby/overhang-vertical-no-overlap2.html [ Failure ]
-crbug.com/591099 fast/ruby/parse-rp.html [ Failure ]
-crbug.com/591099 fast/ruby/percentage-height-child-crash.html [ Failure ]
-crbug.com/591099 fast/ruby/percentage-height-child.html [ Failure ]
-crbug.com/591099 fast/ruby/position-after.html [ Failure ]
-crbug.com/591099 fast/ruby/positioned-ruby-text.html [ Failure ]
+crbug.com/591099 fast/ruby/list-item-marker-in-block-ruby.html [ Crash Failure ]
+crbug.com/591099 fast/ruby/merge-adjacent-anonymous-blocks-inside-ruby-run.html [ Crash Failure ]
+crbug.com/591099 fast/ruby/modify-positioned-ruby-text-crash.html [ Crash Pass ]
+crbug.com/591099 fast/ruby/nested-ruby.html [ Crash Failure ]
+crbug.com/591099 fast/ruby/overhang-horizontal.html [ Crash Failure ]
+crbug.com/591099 fast/ruby/overhang-horizontal-no-overlap1.html [ Crash Failure ]
+crbug.com/591099 fast/ruby/overhang-horizontal-no-overlap2.html [ Crash Failure ]
+crbug.com/591099 fast/ruby/overhang-vertical.html [ Crash Failure ]
+crbug.com/591099 fast/ruby/overhang-vertical-no-overlap1.html [ Crash Failure ]
+crbug.com/591099 fast/ruby/overhang-vertical-no-overlap2.html [ Crash Failure ]
+crbug.com/591099 fast/ruby/parse-rp.html [ Crash Failure ]
+crbug.com/591099 fast/ruby/percentage-height-child-crash.html [ Crash Failure ]
+crbug.com/591099 fast/ruby/percentage-height-child.html [ Crash Failure ]
+crbug.com/591099 fast/ruby/position-after.html [ Crash Failure ]
+crbug.com/591099 fast/ruby/positioned-ruby-text.html [ Crash Failure ]
 crbug.com/591099 fast/ruby/ruby-base-merge-block-children-crash.html [ Crash ]
-crbug.com/591099 fast/ruby/ruby-block-style-not-updated.html [ Failure ]
-crbug.com/591099 fast/ruby/rubyDOM-insert-rt-block-1.html [ Failure ]
-crbug.com/591099 fast/ruby/rubyDOM-insert-rt.html [ Failure ]
-crbug.com/591099 fast/ruby/rubyDOM-insert-text1.html [ Failure ]
-crbug.com/591099 fast/ruby/rubyDOM-insert-text2.html [ Failure ]
-crbug.com/591099 fast/ruby/rubyDOM-insert-text3.html [ Failure ]
-crbug.com/591099 fast/ruby/rubyDOM-remove-rt1.html [ Failure ]
-crbug.com/591099 fast/ruby/rubyDOM-remove-rt2.html [ Failure ]
-crbug.com/591099 fast/ruby/rubyDOM-remove-text1.html [ Failure ]
-crbug.com/591099 fast/ruby/rubyDOM-remove-text2.html [ Failure ]
-crbug.com/591099 fast/ruby/ruby-empty-rt.html [ Failure ]
-crbug.com/591099 fast/ruby/ruby-inline-style-not-updated.html [ Failure ]
+crbug.com/591099 fast/ruby/ruby-beforeafter.html [ Crash Pass ]
+crbug.com/591099 fast/ruby/ruby-block-style-not-updated.html [ Crash Failure ]
+crbug.com/591099 fast/ruby/ruby-block-style-not-updated-with-before-after-content.html [ Crash Pass ]
+crbug.com/591099 fast/ruby/rubyDOM-insert-rt-block-1.html [ Crash Failure ]
+crbug.com/591099 fast/ruby/rubyDOM-insert-rt-block-2.html [ Crash Pass ]
+crbug.com/591099 fast/ruby/rubyDOM-insert-rt-block-3.html [ Crash Pass ]
+crbug.com/591099 fast/ruby/rubyDOM-insert-rt.html [ Crash Failure ]
+crbug.com/591099 fast/ruby/rubyDOM-insert-text1.html [ Crash Failure ]
+crbug.com/591099 fast/ruby/rubyDOM-insert-text2.html [ Crash Failure ]
+crbug.com/591099 fast/ruby/rubyDOM-insert-text3.html [ Crash Failure ]
+crbug.com/591099 fast/ruby/rubyDOM-remove-rt1.html [ Crash Failure ]
+crbug.com/591099 fast/ruby/rubyDOM-remove-rt2.html [ Crash Failure ]
+crbug.com/591099 fast/ruby/rubyDOM-remove-rt-block-1.html [ Crash Pass ]
+crbug.com/591099 fast/ruby/rubyDOM-remove-rt-block-2.html [ Crash Pass ]
+crbug.com/591099 fast/ruby/rubyDOM-remove-rt-block-3.html [ Crash Pass ]
+crbug.com/591099 fast/ruby/rubyDOM-remove-text1.html [ Crash Failure ]
+crbug.com/591099 fast/ruby/rubyDOM-remove-text2.html [ Crash Failure ]
+crbug.com/591099 fast/ruby/ruby-empty-rt.html [ Crash Failure ]
+crbug.com/591099 fast/ruby/ruby-first-letter.html [ Crash Pass ]
+crbug.com/591099 fast/ruby/ruby-illegal-1.html [ Crash Pass ]
+crbug.com/591099 fast/ruby/ruby-illegal-4.html [ Crash Pass ]
+crbug.com/591099 fast/ruby/ruby-illegal-5.html [ Crash Pass ]
+crbug.com/591099 fast/ruby/ruby-illegal-6.html [ Crash Pass ]
+crbug.com/591099 fast/ruby/ruby-illegal-7.html [ Crash Pass ]
+crbug.com/591099 fast/ruby/ruby-illegal-combined.html [ Crash Pass ]
+crbug.com/591099 fast/ruby/ruby-inline-style-not-updated.html [ Crash Failure ]
+crbug.com/591099 fast/ruby/ruby-inline-style-not-updated-with-before-after-content.html [ Crash Pass ]
 crbug.com/591099 fast/ruby/ruby-inline-table.html [ Failure ]
-crbug.com/591099 fast/ruby/ruby-length.html [ Failure ]
-crbug.com/591099 fast/ruby/ruby-line-height.html [ Failure ]
+crbug.com/591099 fast/ruby/ruby-length.html [ Crash Failure ]
+crbug.com/591099 fast/ruby/ruby-line-height.html [ Crash Failure ]
 crbug.com/591099 fast/ruby/ruby-overhang-crash.html [ Crash ]
-crbug.com/591099 fast/ruby/ruby-run-break.html [ Failure ]
-crbug.com/591099 fast/ruby/ruby-runs.html [ Failure ]
-crbug.com/591099 fast/ruby/ruby-runs-spans.html [ Failure ]
-crbug.com/591099 fast/ruby/ruby-simple.html [ Failure ]
-crbug.com/591099 fast/ruby/ruby-simple-rp.html [ Failure ]
+crbug.com/591099 fast/ruby/ruby-run-break.html [ Crash Failure ]
+crbug.com/591099 fast/ruby/ruby-runs.html [ Crash Failure ]
+crbug.com/591099 fast/ruby/ruby-runs-spans.html [ Crash Failure ]
+crbug.com/591099 fast/ruby/ruby-simple.html [ Crash Failure ]
+crbug.com/591099 fast/ruby/ruby-simple-rp.html [ Crash Failure ]
 crbug.com/591099 fast/ruby/ruby-svg-crash.html [ Crash ]
-crbug.com/591099 fast/ruby/ruby-text-before-after-content.html [ Failure ]
+crbug.com/591099 fast/ruby/ruby-text-before-after-content.html [ Crash Failure ]
 crbug.com/591099 fast/ruby/ruby-text-before-child-split.html [ Failure ]
-crbug.com/591099 fast/ruby/ruby-text-indent.html [ Failure ]
-crbug.com/591099 fast/ruby/ruby-trailing.html [ Failure ]
-crbug.com/591099 fast/ruby/select-ruby.html [ Failure ]
-crbug.com/591099 fast/ruby/text-emphasis.html [ Failure ]
+crbug.com/591099 fast/ruby/ruby-text-indent.html [ Crash Failure ]
+crbug.com/591099 fast/ruby/ruby-trailing.html [ Crash Failure ]
+crbug.com/591099 fast/ruby/select-ruby.html [ Crash Failure ]
+crbug.com/591099 fast/ruby/text-decoration-in-descendants-ruby.html [ Crash Pass ]
+crbug.com/591099 fast/ruby/text-emphasis.html [ Crash Failure ]
 crbug.com/591099 fast/scroll-behavior/bordered-container-child-scroll.html [ Failure ]
 crbug.com/591099 fast/scroll-behavior/main-frame-element-scrollBy.html [ Timeout ]
 crbug.com/591099 fast/scroll-behavior/main-frame-element-scroll.html [ Timeout ]
@@ -12692,12 +14949,14 @@
 crbug.com/591099 fast/scrolling/overflow-scrollability.html [ Failure ]
 crbug.com/591099 fast/scrolling/overlay-scrollbars.html [ Failure ]
 crbug.com/591099 fast/scrolling/scrollable-area-dynamic-overflow.html [ Failure ]
-crbug.com/591099 fast/scrolling/scrollable-area-frame.html [ Failure ]
-crbug.com/591099 fast/scrolling/scrollable-area-frame-overflow-hidden.html [ Failure ]
-crbug.com/591099 fast/scrolling/scrollable-area-frame-overried-inherited-visibility-hidden.html [ Failure ]
-crbug.com/591099 fast/scrolling/scrollable-area-frame-scrolling-no.html [ Failure ]
-crbug.com/591099 fast/scrolling/scrollable-area-frame-scrolling-no-overried-inherited-visibility-hidden.html [ Failure ]
-crbug.com/591099 fast/scrolling/scrollable-area-frame-scrolling-yes.html [ Failure ]
+crbug.com/591099 fast/scrolling/scrollable-area-frame.html [ Crash Failure ]
+crbug.com/591099 fast/scrolling/scrollable-area-frame-overflow-hidden.html [ Crash Failure ]
+crbug.com/591099 fast/scrolling/scrollable-area-frame-overried-inherited-visibility-hidden.html [ Crash Failure ]
+crbug.com/591099 fast/scrolling/scrollable-area-frame-scrolling-no.html [ Crash Failure ]
+crbug.com/591099 fast/scrolling/scrollable-area-frame-scrolling-no-overried-inherited-visibility-hidden.html [ Crash Failure ]
+crbug.com/591099 fast/scrolling/scrollable-area-frame-scrolling-no-visibility-hidden-child.html [ Crash Pass ]
+crbug.com/591099 fast/scrolling/scrollable-area-frame-scrolling-yes.html [ Crash Failure ]
+crbug.com/591099 fast/scrolling/scrollable-area-frame-visibility-hidden-child.html [ Crash Pass ]
 crbug.com/591099 fast/scrolling/scrollable-area-overflow-auto.html [ Failure ]
 crbug.com/591099 fast/scrolling/scrollable-area-overflow-auto-visibility-override.html [ Failure ]
 crbug.com/591099 fast/scrolling/scrollable-area-overflow-auto-visibility-visible.html [ Failure ]
@@ -12712,17 +14971,22 @@
 crbug.com/591099 fast/scrolling/scrolling-apis-subpixel.html [ Failure ]
 crbug.com/591099 fast/scrolling/scroll-into-view-collapsed-div.html [ Failure ]
 crbug.com/591099 fast/scrolling/scroll-into-view-small-size-ancestor.html [ Crash ]
-crbug.com/591099 fast/scrolling/scroll-max-value.html [ Failure ]
+crbug.com/591099 fast/scrolling/scroll-max-value.html [ Crash Failure ]
 crbug.com/591099 fast/scrolling/scroll-non-descendant-of-root-scroller.html [ Failure Pass ]
 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/001.html [ Crash Pass ]
 crbug.com/591099 fast/selectors/007b.html [ Failure Pass ]
 crbug.com/591099 fast/selectors/012.html [ Failure Pass ]
+crbug.com/591099 fast/selectors/013.html [ Crash Pass ]
+crbug.com/591099 fast/selectors/015.html [ Crash Pass ]
 crbug.com/591099 fast/selectors/018b.html [ Failure ]
 crbug.com/591099 fast/selectors/018.html [ Failure ]
 crbug.com/591099 fast/selectors/019.html [ Failure ]
 crbug.com/591099 fast/selectors/020.html [ Failure ]
+crbug.com/591099 fast/selectors/021b.html [ Failure Pass ]
 crbug.com/591099 fast/selectors/021.html [ Failure ]
+crbug.com/591099 fast/selectors/027.html [ Failure Pass ]
 crbug.com/591099 fast/selectors/032.html [ Failure ]
 crbug.com/591099 fast/selectors/034.html [ Failure ]
 crbug.com/591099 fast/selectors/038.html [ Failure ]
@@ -12734,31 +14998,74 @@
 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 Pass ]
+crbug.com/591099 fast/selectors/044c.html [ Failure Pass ]
+crbug.com/591099 fast/selectors/044d.html [ Crash Failure Pass ]
 crbug.com/591099 fast/selectors/044.html [ Failure ]
+crbug.com/591099 fast/selectors/045b.html [ Failure Pass ]
+crbug.com/591099 fast/selectors/045c.html [ Failure Pass ]
+crbug.com/591099 fast/selectors/045.html [ Failure Pass ]
 crbug.com/591099 fast/selectors/046.html [ Failure Pass ]
+crbug.com/591099 fast/selectors/054.html [ Failure Pass ]
+crbug.com/591099 fast/selectors/056.html [ Failure Pass ]
+crbug.com/591099 fast/selectors/058.html [ Failure Pass ]
+crbug.com/591099 fast/selectors/059.html [ Failure Pass ]
+crbug.com/591099 fast/selectors/060.html [ Failure Pass ]
 crbug.com/591099 fast/selectors/061.html [ Failure ]
 crbug.com/591099 fast/selectors/062.html [ Failure ]
-crbug.com/591099 fast/selectors/063.html [ Crash Pass ]
-crbug.com/591099 fast/selectors/064.html [ Failure ]
+crbug.com/591099 fast/selectors/063.html [ Crash Failure Pass ]
+crbug.com/591099 fast/selectors/064.html [ Failure Pass ]
 crbug.com/591099 fast/selectors/065.html [ Failure ]
+crbug.com/591099 fast/selectors/066b.html [ Failure Pass ]
 crbug.com/591099 fast/selectors/066.html [ Failure ]
+crbug.com/591099 fast/selectors/072b.html [ Failure Pass ]
+crbug.com/591099 fast/selectors/072.html [ Failure Pass ]
 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/083.html [ Failure Pass ]
+crbug.com/591099 fast/selectors/087b.html [ Failure Pass ]
+crbug.com/591099 fast/selectors/088b.html [ Failure Pass ]
+crbug.com/591099 fast/selectors/089.html [ Failure Pass ]
+crbug.com/591099 fast/selectors/090b.html [ Failure Pass ]
+crbug.com/591099 fast/selectors/154.html [ Failure Pass ]
+crbug.com/591099 fast/selectors/155a.html [ Failure Pass ]
+crbug.com/591099 fast/selectors/155b.html [ Failure Pass ]
+crbug.com/591099 fast/selectors/155c.html [ Failure Pass ]
+crbug.com/591099 fast/selectors/155d.html [ Failure Pass ]
 crbug.com/591099 fast/selectors/155.html [ Failure Pass ]
+crbug.com/591099 fast/selectors/156b.html [ Failure Pass ]
+crbug.com/591099 fast/selectors/157.html [ Failure Pass ]
+crbug.com/591099 fast/selectors/158.html [ Failure Pass ]
+crbug.com/591099 fast/selectors/159.html [ Failure Pass ]
+crbug.com/591099 fast/selectors/160.html [ Failure Pass ]
 crbug.com/591099 fast/selectors/166a.html [ Failure ]
-crbug.com/591099 fast/selectors/166.html [ Failure ]
+crbug.com/591099 fast/selectors/166.html [ Crash Failure ]
+crbug.com/591099 fast/selectors/167a.html [ Failure Pass ]
+crbug.com/591099 fast/selectors/167.html [ Failure Pass ]
 crbug.com/591099 fast/selectors/168a.html [ Failure ]
 crbug.com/591099 fast/selectors/168.html [ Failure ]
 crbug.com/591099 fast/selectors/169a.html [ Failure ]
 crbug.com/591099 fast/selectors/169.html [ Failure ]
+crbug.com/591099 fast/selectors/170a.html [ Failure Pass ]
+crbug.com/591099 fast/selectors/170b.html [ Failure Pass ]
+crbug.com/591099 fast/selectors/170c.html [ Failure Pass ]
+crbug.com/591099 fast/selectors/170d.html [ Failure Pass ]
+crbug.com/591099 fast/selectors/170.html [ Failure Pass ]
+crbug.com/591099 fast/selectors/175a.html [ Failure Pass ]
+crbug.com/591099 fast/selectors/175b.html [ Failure Pass ]
+crbug.com/591099 fast/selectors/175c.html [ Failure Pass ]
+crbug.com/591099 fast/selectors/177a.html [ Failure Pass ]
+crbug.com/591099 fast/selectors/177b.html [ Failure Pass ]
 crbug.com/591099 fast/selectors/adjacent-selectors-with-subselector.html [ Failure ]
 crbug.com/591099 fast/selectors/element-closest-general.html [ Failure ]
 crbug.com/591099 fast/selectors/element-closest-scope.html [ Failure ]
+crbug.com/591099 fast/selectors/focus-within-iframe.html [ Crash ]
 crbug.com/591099 fast/selectors/focus-within-window-inactive.html [ Crash ]
-crbug.com/591099 fast/selectors/input-with-selection-pseudo-element.html [ Failure ]
+crbug.com/591099 fast/selectors/input-with-selection-pseudo-element.html [ Crash Failure ]
+crbug.com/591099 fast/selectors/lang-inheritance2.html [ Failure Pass ]
+crbug.com/591099 fast/selectors/lang-inheritance.html [ Failure Pass ]
 crbug.com/591099 fast/selectors/lang-vs-xml-lang.html [ Failure ]
+crbug.com/591099 fast/selectors/lang-vs-xml-lang-xhtml.xhtml [ Failure Pass ]
 crbug.com/591099 fast/selectors/nondeterministic-combinators.html [ Failure ]
 crbug.com/591099 fast/selectors/placeholder-shown-sibling-style-update.html [ Failure ]
 crbug.com/591099 fast/selectors/placeholder-shown-style-update.html [ Failure ]
@@ -12766,7 +15073,7 @@
 crbug.com/591099 fast/selectors/placeholder-shown-with-textarea-basics.html [ Failure ]
 crbug.com/591099 fast/selectors/querySelector-leftmost-selector-matches-ancestor.html [ Failure ]
 crbug.com/591099 fast/selectors/querySelector-leftmost-selector-matches-rootNode.html [ Failure ]
-crbug.com/591099 fast/selectors/querySelector-scope.html [ Failure ]
+crbug.com/591099 fast/selectors/querySelector-scope.html [ Crash Failure ]
 crbug.com/591099 fast/selectors/query-update-distribution.html [ Failure ]
 crbug.com/591099 fast/selectors/selection-window-inactive.html [ Failure ]
 crbug.com/591099 fast/selectors/shadow-host-div-with-span.html [ Failure ]
@@ -12846,6 +15153,7 @@
 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 Failure ]
+crbug.com/591099 fast/shapes/shape-outside-floats/shape-outside-negative-height-crash-width.html [ Crash Pass ]
 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 ]
@@ -12915,9 +15223,10 @@
 crbug.com/591099 fast/storage/storage-disallowed-in-data-url.html [ Failure ]
 crbug.com/591099 fast/sub-pixel/auto-table-layout-should-avoid-text-wrapping.html [ Failure ]
 crbug.com/591099 fast/sub-pixel/block-preferred-widths-with-sub-pixel-floats.html [ Failure ]
-crbug.com/591099 fast/sub-pixel/clip-zoomed-rect-box-with-overflow.html [ Failure ]
+crbug.com/591099 fast/sub-pixel/clip-zoomed-rect-box-with-overflow.html [ Failure Pass ]
 crbug.com/591099 fast/sub-pixel/computedstylemargin.html [ Failure ]
-crbug.com/591099 fast/sub-pixel/ellipsis-zoom.html [ Failure ]
+crbug.com/591099 fast/sub-pixel/ellipsis-zoom.html [ Failure Pass ]
+crbug.com/591099 fast/sub-pixel/float-list-inside.html [ Crash Pass ]
 crbug.com/591099 fast/sub-pixel/float-percentage-widths.html [ Failure ]
 crbug.com/591099 fast/sub-pixel/float-with-margin-in-container.html [ Failure ]
 crbug.com/591099 fast/sub-pixel/float-with-right-margin-zoom.html [ Failure ]
@@ -12925,17 +15234,19 @@
 crbug.com/591099 fast/sub-pixel/float-wrap-zoom.html [ Failure ]
 crbug.com/591099 fast/sub-pixel/inline-block-with-margin.html [ Failure Pass ]
 crbug.com/591099 fast/sub-pixel/inline-block-with-padding.html [ Failure ]
+crbug.com/591099 fast/sub-pixel/repaint-subpixel-layer-in-subpixel-composited-layer.html [ Failure Pass ]
 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 ]
 crbug.com/591099 fast/sub-pixel/shadows-computed-style.html [ Failure ]
 crbug.com/591099 fast/sub-pixel/shadows-hidpi.html [ Failure ]
+crbug.com/591099 fast/sub-pixel/should-not-repaint-subpixel-composited-layer.html [ Failure Pass ]
 crbug.com/591099 fast/sub-pixel/size-of-span-with-different-positions.html [ Failure ]
 crbug.com/591099 fast/sub-pixel/sub-pixel-border.html [ Crash ]
 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/sub-pixel-root-layer.html [ Failure Pass ]
 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/transformed-iframe-copy-on-scroll.html [ Failure ]
+crbug.com/591099 fast/sub-pixel/transformed-iframe-copy-on-scroll.html [ Failure Pass ]
 crbug.com/591099 fast/sub-pixel/vertical-align-middle-overflow.html [ Failure ]
 crbug.com/591099 fast/table/002.html [ Failure Pass ]
 crbug.com/591099 fast/table/003.html [ Failure ]
@@ -12952,7 +15263,7 @@
 crbug.com/591099 fast/table/015.html [ Failure Pass ]
 crbug.com/591099 fast/table/016.html [ Failure Pass ]
 crbug.com/591099 fast/table/017.html [ Failure Pass ]
-crbug.com/591099 fast/table/018.html [ Failure ]
+crbug.com/591099 fast/table/018.html [ Crash Failure ]
 crbug.com/591099 fast/table/020.html [ Failure Pass ]
 crbug.com/591099 fast/table/021.html [ Failure Pass ]
 crbug.com/591099 fast/table/022.html [ Failure Pass ]
@@ -12987,51 +15298,51 @@
 crbug.com/591099 fast/table/auto-table-layout-colgroup-removal-crash.html [ Failure ]
 crbug.com/591099 fast/table/auto-with-percent-height.html [ Failure ]
 crbug.com/591099 fast/table/auto-with-percent-height-vertical.html [ Failure ]
-crbug.com/591099 fast/table/backgr_border-table-cell-collapsed-border.html [ Failure ]
-crbug.com/591099 fast/table/backgr_border-table-cell.html [ Failure ]
+crbug.com/591099 fast/table/backgr_border-table-cell-collapsed-border.html [ Failure Pass ]
+crbug.com/591099 fast/table/backgr_border-table-cell.html [ Failure Pass ]
 crbug.com/591099 fast/table/backgr_border-table-collapsed-border.html [ Failure Pass ]
 crbug.com/591099 fast/table/backgr_border-table-column-collapsed-border.html [ Failure ]
-crbug.com/591099 fast/table/backgr_border-table-column-group-collapsed-border.html [ Failure ]
-crbug.com/591099 fast/table/backgr_border-table-column-group.html [ Failure ]
-crbug.com/591099 fast/table/backgr_border-table-column.html [ Failure ]
-crbug.com/591099 fast/table/backgr_border-table.html [ Failure ]
+crbug.com/591099 fast/table/backgr_border-table-column-group-collapsed-border.html [ Failure Pass ]
+crbug.com/591099 fast/table/backgr_border-table-column-group.html [ Failure Pass ]
+crbug.com/591099 fast/table/backgr_border-table-column.html [ Failure Pass ]
+crbug.com/591099 fast/table/backgr_border-table.html [ Failure Pass ]
 crbug.com/591099 fast/table/backgr_border-table-quirks-collapsed-border.html [ Failure ]
 crbug.com/591099 fast/table/backgr_border-table-quirks.html [ Failure ]
-crbug.com/591099 fast/table/backgr_border-table-row-collapsed-border.html [ Failure ]
-crbug.com/591099 fast/table/backgr_border-table-row-group-collapsed-border.html [ Failure ]
-crbug.com/591099 fast/table/backgr_border-table-row-group.html [ Failure ]
-crbug.com/591099 fast/table/backgr_border-table-row.html [ Failure ]
+crbug.com/591099 fast/table/backgr_border-table-row-collapsed-border.html [ Failure Pass ]
+crbug.com/591099 fast/table/backgr_border-table-row-group-collapsed-border.html [ Failure Pass ]
+crbug.com/591099 fast/table/backgr_border-table-row-group.html [ Failure Pass ]
+crbug.com/591099 fast/table/backgr_border-table-row.html [ Failure Pass ]
 crbug.com/591099 fast/table/backgr_image-crash.html [ Failure ]
-crbug.com/591099 fast/table/backgr_layers-hide-collapsed-border.html [ Failure ]
+crbug.com/591099 fast/table/backgr_layers-hide-collapsed-border.html [ Failure Pass ]
 crbug.com/591099 fast/table/backgr_layers-hide.html [ Failure ]
-crbug.com/591099 fast/table/backgr_layers-opacity-collapsed-border.html [ Failure ]
-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-collapsed-border.html [ Failure ]
+crbug.com/591099 fast/table/backgr_layers-opacity-collapsed-border.html [ Crash Failure ]
+crbug.com/591099 fast/table/backgr_layers-opacity.html [ Crash Failure ]
+crbug.com/591099 fast/table/backgr_layers-show-collapsed-border.html [ Crash Failure ]
+crbug.com/591099 fast/table/backgr_layers-show.html [ Crash Failure ]
+crbug.com/591099 fast/table/backgr_position-table-cell-collapsed-border.html [ Failure Pass ]
 crbug.com/591099 fast/table/backgr_position-table-cell.html [ Failure Pass ]
-crbug.com/591099 fast/table/backgr_position-table-collapsed-border.html [ Failure ]
+crbug.com/591099 fast/table/backgr_position-table-collapsed-border.html [ Failure Pass ]
 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 ]
 crbug.com/591099 fast/table/backgr_position-table-column.html [ Failure ]
-crbug.com/591099 fast/table/backgr_position-table.html [ Failure ]
-crbug.com/591099 fast/table/backgr_position-table-row-collapsed-border.html [ Failure ]
-crbug.com/591099 fast/table/backgr_position-table-row-group-collapsed-border.html [ Failure ]
-crbug.com/591099 fast/table/backgr_position-table-row-group.html [ Failure ]
-crbug.com/591099 fast/table/backgr_position-table-row.html [ Failure ]
-crbug.com/591099 fast/table/backgr_simple-table-cell-collapsed-border.html [ Failure ]
-crbug.com/591099 fast/table/backgr_simple-table-cell.html [ Failure ]
+crbug.com/591099 fast/table/backgr_position-table.html [ Failure Pass ]
+crbug.com/591099 fast/table/backgr_position-table-row-collapsed-border.html [ Failure Pass ]
+crbug.com/591099 fast/table/backgr_position-table-row-group-collapsed-border.html [ Failure Pass ]
+crbug.com/591099 fast/table/backgr_position-table-row-group.html [ Failure Pass ]
+crbug.com/591099 fast/table/backgr_position-table-row.html [ Failure Pass ]
+crbug.com/591099 fast/table/backgr_simple-table-cell-collapsed-border.html [ Failure Pass ]
+crbug.com/591099 fast/table/backgr_simple-table-cell.html [ Failure Pass ]
 crbug.com/591099 fast/table/backgr_simple-table-collapsed-border.html [ Failure Pass ]
 crbug.com/591099 fast/table/backgr_simple-table-column-collapsed-border.html [ Failure ]
-crbug.com/591099 fast/table/backgr_simple-table-column-group-collapsed-border.html [ Failure ]
-crbug.com/591099 fast/table/backgr_simple-table-column-group.html [ Failure ]
+crbug.com/591099 fast/table/backgr_simple-table-column-group-collapsed-border.html [ Failure Pass ]
+crbug.com/591099 fast/table/backgr_simple-table-column-group.html [ Failure Pass ]
 crbug.com/591099 fast/table/backgr_simple-table-column.html [ Failure ]
-crbug.com/591099 fast/table/backgr_simple-table.html [ Failure ]
-crbug.com/591099 fast/table/backgr_simple-table-row-collapsed-border.html [ Failure ]
+crbug.com/591099 fast/table/backgr_simple-table.html [ Failure Pass ]
+crbug.com/591099 fast/table/backgr_simple-table-row-collapsed-border.html [ Failure Pass ]
 crbug.com/591099 fast/table/backgr_simple-table-row-group-collapsed-border.html [ Failure ]
 crbug.com/591099 fast/table/backgr_simple-table-row-group.html [ Failure ]
-crbug.com/591099 fast/table/backgr_simple-table-row.html [ Failure ]
+crbug.com/591099 fast/table/backgr_simple-table-row.html [ Failure Pass ]
 crbug.com/591099 fast/table/bad-replaced-sizing-preferred-logical-widths.html [ Failure ]
 crbug.com/591099 fast/table/baseline-align-rowspan.html [ Failure ]
 crbug.com/591099 fast/table/border-changes.html [ Failure ]
@@ -13061,6 +15372,7 @@
 crbug.com/591099 fast/table/cell-height-min-intrinsic.html [ Failure ]
 crbug.com/591099 fast/table/cellindex.html [ Failure ]
 crbug.com/591099 fast/table/cellIndex-of-cell-with-different-parents.html [ Failure ]
+crbug.com/591099 fast/table/cell-overflow-simplified-layout.html [ Failure Pass ]
 crbug.com/591099 fast/table/cell-pref-width-invalidation.html [ Failure ]
 crbug.com/591099 fast/table/change-cell-border-width.html [ Failure ]
 crbug.com/591099 fast/table/change-col-border-width.html [ Failure ]
@@ -13080,7 +15392,7 @@
 crbug.com/591099 fast/table/col-width-span-expand.html [ Failure ]
 crbug.com/591099 fast/table/containment-crash.html [ Failure ]
 crbug.com/591099 fast/table/containment.html [ Failure ]
-crbug.com/591099 fast/table/convert-inline-anonoymous-wrapper-to-block.html [ Failure ]
+crbug.com/591099 fast/table/convert-inline-anonoymous-wrapper-to-block.html [ Crash Failure Pass ]
 crbug.com/591099 fast/table/convert-inline-to-table-cell.html [ Failure ]
 crbug.com/591099 fast/table/crash-bad-child-table-continuation.html [ Failure ]
 crbug.com/591099 fast/table/crash-empty-section-calcBorder.html [ Failure ]
@@ -13090,6 +15402,7 @@
 crbug.com/591099 fast/table/crash-splitColumn-2.html [ Crash ]
 crbug.com/591099 fast/table/crash-splitColumn-3.html [ Failure ]
 crbug.com/591099 fast/table/crash-splitColumn.html [ Failure ]
+crbug.com/591099 fast/table/crash-split-table-section-no-cell-recalc.html [ Crash Pass ]
 crbug.com/591099 fast/table/css-table-max-width.html [ Failure ]
 crbug.com/591099 fast/table/css-table-width.html [ Failure ]
 crbug.com/591099 fast/table/display-as-inline.html [ Failure ]
@@ -13123,7 +15436,7 @@
 crbug.com/591099 fast/table/floatingTablePaintBackground.html [ Failure ]
 crbug.com/591099 fast/table/floating-th.html [ Failure ]
 crbug.com/591099 fast/table/form-with-non-table-display-inside-table-elements.html [ Failure ]
-crbug.com/591099 fast/table/form-with-table-style.html [ Failure ]
+crbug.com/591099 fast/table/form-with-table-style.html [ Crash Failure ]
 crbug.com/591099 fast/table/frame-and-rules.html [ Failure Pass ]
 crbug.com/591099 fast/table/generated-caption.html [ Failure ]
 crbug.com/591099 fast/table/growCellForImageQuirk.html [ Failure Pass ]
@@ -13155,12 +15468,13 @@
 crbug.com/591099 fast/table/min-width-html-inline-table.html [ Timeout ]
 crbug.com/591099 fast/table/mozilla-bug10296-vertical-align-2.html [ Failure Pass ]
 crbug.com/591099 fast/table/multiple-captions-crash3.html [ Crash ]
+crbug.com/591099 fast/table/multiple-captions-crash4.html [ Crash Pass ]
 crbug.com/591099 fast/table/multiple-captions-display.xhtml [ Failure Pass ]
 crbug.com/591099 fast/table/multiple-percent-height-rows.html [ Failure Pass ]
 crbug.com/591099 fast/table/nested-percent-height-table.html [ Failure ]
 crbug.com/591099 fast/table/overallocating-auto-cells.html [ Failure ]
 crbug.com/591099 fast/table/overflowHidden.html [ Failure ]
-crbug.com/591099 fast/table/overflowScroll-display-block.html [ Failure ]
+crbug.com/591099 fast/table/overflowScroll-display-block.html [ Failure Pass ]
 crbug.com/591099 fast/table/percent-height-border-box-content-in-cell-2.html [ Failure ]
 crbug.com/591099 fast/table/percent-height-border-box-content-in-cell-3.html [ Failure ]
 crbug.com/591099 fast/table/percent-height-border-box-content-in-cell.html [ Failure Pass ]
@@ -13205,7 +15519,7 @@
 crbug.com/591099 fast/table/rtl-cell-display-none-assert.html [ Failure ]
 crbug.com/591099 fast/table/rules-attr-dynchange1.html [ Failure Pass ]
 crbug.com/591099 fast/table/rules-attr-dynchange2.html [ Failure Pass ]
-crbug.com/591099 fast/table/section-box-shadow.html [ Failure Pass ]
+crbug.com/591099 fast/table/section-box-shadow.html [ Crash Failure Pass ]
 crbug.com/591099 fast/table/self-painting-row-box-shadow.html [ Failure Pass ]
 crbug.com/591099 fast/table/spanOverlapRepaint.html [ Failure Pass ]
 crbug.com/591099 fast/table/split-anonymous-crash.html [ Failure ]
@@ -13229,6 +15543,7 @@
 crbug.com/591099 fast/table/table-cell-before-child-in-table.html [ Failure Pass ]
 crbug.com/591099 fast/table/table-cell-negative-start-margin-align-center.html [ Failure ]
 crbug.com/591099 fast/table/table-colgroup-present-after-table-row.html [ Failure ]
+crbug.com/591099 fast/table/table-continuation-outline-paint-crash.html [ Crash Pass ]
 crbug.com/591099 fast/table/table-different-overflow-values-2.html [ Failure ]
 crbug.com/591099 fast/table/table-different-overflow-values.html [ Failure ]
 crbug.com/591099 fast/table/table-display-types.html [ Failure ]
@@ -13283,6 +15598,7 @@
 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-bidi-control.html [ Crash Pass ]
 crbug.com/591099 fast/text/atsui-kerning-and-ligatures.html [ Failure ]
 crbug.com/591099 fast/text/atsui-multiple-renderers.html [ Failure ]
 crbug.com/591099 fast/text/atsui-negative-spacing-features.html [ Failure ]
@@ -13291,7 +15607,8 @@
 crbug.com/591099 fast/text/atsui-spacing-features.html [ Failure ]
 crbug.com/591099 fast/text-autosizing/basecomputedstyle-assert.html [ Failure ]
 crbug.com/591099 fast/text-autosizing/cluster-inline-block-or-table.html [ Failure ]
-crbug.com/591099 fast/text-autosizing/cluster-list-item.html [ Failure ]
+crbug.com/591099 fast/text-autosizing/cluster-inline-grid-flex-box.html [ Failure Pass ]
+crbug.com/591099 fast/text-autosizing/cluster-list-item.html [ Crash Failure ]
 crbug.com/591099 fast/text-autosizing/cluster-narrow-in-wide.html [ Failure ]
 crbug.com/591099 fast/text-autosizing/cluster-narrow-in-wide-ohidden.html [ Failure ]
 crbug.com/591099 fast/text-autosizing/clusters-insufficient-width.html [ Failure ]
@@ -13315,11 +15632,11 @@
 crbug.com/591099 fast/text-autosizing/font-size-change-is-observable.html [ Failure ]
 crbug.com/591099 fast/text-autosizing/form-controls-autosizing-button-input-elements.html [ Failure ]
 crbug.com/591099 fast/text-autosizing/form-controls-autosizing-checkbox-input-element.html [ Failure ]
-crbug.com/591099 fast/text-autosizing/form-controls-autosizing-fieldset-element.html [ Failure ]
+crbug.com/591099 fast/text-autosizing/form-controls-autosizing-fieldset-element.html [ Crash Failure ]
 crbug.com/591099 fast/text-autosizing/form-controls-autosizing-radio-input-element.html [ Failure ]
 crbug.com/591099 fast/text-autosizing/form-controls-autosizing-select-element.html [ Failure ]
-crbug.com/591099 fast/text-autosizing/form-controls-autosizing-textfield-input-elements.html [ Failure ]
-crbug.com/591099 fast/text-autosizing/form-controls-textfield-in-span.html [ Failure ]
+crbug.com/591099 fast/text-autosizing/form-controls-autosizing-textfield-input-elements.html [ Crash Failure ]
+crbug.com/591099 fast/text-autosizing/form-controls-textfield-in-span.html [ Crash Failure ]
 crbug.com/591099 fast/text-autosizing/hackernews-comments.html [ Failure ]
 crbug.com/591099 fast/text-autosizing/header-li-links-autosizing.html [ Failure ]
 crbug.com/591099 fast/text-autosizing/header-links-autosizing-different-fontsize.html [ Failure ]
@@ -13329,9 +15646,9 @@
 crbug.com/591099 fast/text-autosizing/inline-float.html [ Failure ]
 crbug.com/591099 fast/text-autosizing/layout-after-append.html [ Failure ]
 crbug.com/591099 fast/text-autosizing/list-item-above-dbcat.html [ Failure ]
-crbug.com/591099 fast/text-autosizing/list-marker-numbered-with-autosizing.html [ Failure ]
-crbug.com/591099 fast/text-autosizing/list-marker-with-images-and-forms-autosizing.html [ Failure ]
-crbug.com/591099 fast/text-autosizing/list-marker-with-links-autosizing.html [ Failure ]
+crbug.com/591099 fast/text-autosizing/list-marker-numbered-with-autosizing.html [ Crash Failure ]
+crbug.com/591099 fast/text-autosizing/list-marker-with-images-and-forms-autosizing.html [ Crash Failure ]
+crbug.com/591099 fast/text-autosizing/list-marker-with-links-autosizing.html [ Crash Failure ]
 crbug.com/591099 fast/text-autosizing/narrow-child.html [ Failure ]
 crbug.com/591099 fast/text-autosizing/narrow-iframe.html [ Failure ]
 crbug.com/591099 fast/text-autosizing/nested-child.html [ Failure ]
@@ -13342,12 +15659,14 @@
 crbug.com/591099 fast/text-autosizing/resize-window.html [ Failure ]
 crbug.com/591099 fast/text-autosizing/similar-clusters.html [ Failure ]
 crbug.com/591099 fast/text-autosizing/span-child.html [ Failure ]
-crbug.com/591099 fast/text-autosizing/subtree-relayout-input.html [ Failure ]
-crbug.com/591099 fast/text-autosizing/table-inflation-crash.html [ Failure ]
+crbug.com/591099 fast/text-autosizing/subtree-layout-crash.html [ Crash Pass ]
+crbug.com/591099 fast/text-autosizing/subtree-relayout-input.html [ Crash Failure ]
+crbug.com/591099 fast/text-autosizing/table-inflation-crash.html [ Crash Failure ]
 crbug.com/591099 fast/text-autosizing/tables/css-table-lots-of-text-many-cells.html [ Failure ]
 crbug.com/591099 fast/text-autosizing/tables/css-table-single-cell-lots-of-text.html [ Failure ]
 crbug.com/591099 fast/text-autosizing/tables/fixed-table-lots-of-text-many-cells.html [ Failure ]
 crbug.com/591099 fast/text-autosizing/tables/fixed-table-single-cell-lots-of-text.html [ Failure ]
+crbug.com/591099 fast/text-autosizing/table-simplified-layout-crash.html [ Crash Pass ]
 crbug.com/591099 fast/text-autosizing/tables/lots-of-text-many-cells.html [ Failure ]
 crbug.com/591099 fast/text-autosizing/tables/narrow-percentage-width.html [ Failure ]
 crbug.com/591099 fast/text-autosizing/tables/narrow-specified-width.html [ Failure ]
@@ -13360,7 +15679,7 @@
 crbug.com/591099 fast/text-autosizing/tables/table-with-inline-block.html [ Failure ]
 crbug.com/591099 fast/text-autosizing/tables/wide-percentage-width.html [ Failure ]
 crbug.com/591099 fast/text-autosizing/tables/wide-specified-width.html [ Failure ]
-crbug.com/591099 fast/text-autosizing/textarea-fontsize-change.html [ Failure ]
+crbug.com/591099 fast/text-autosizing/textarea-fontsize-change.html [ Crash Failure ]
 crbug.com/591099 fast/text-autosizing/unwrappable-blocks.html [ Failure ]
 crbug.com/591099 fast/text-autosizing/unwrappable-inlines.html [ Failure ]
 crbug.com/591099 fast/text-autosizing/various-font-sizes.html [ Failure ]
@@ -13384,7 +15703,7 @@
 crbug.com/591099 fast/text/basic/generic-family-changes.html [ Failure ]
 crbug.com/591099 fast/text/basic/generic-family-reset.html [ Failure ]
 crbug.com/591099 fast/text/bidi-embedding-pop-and-push-same.html [ Failure ]
-crbug.com/591099 fast/text/bidi-img-alt-text.html [ Failure ]
+crbug.com/591099 fast/text/bidi-img-alt-text.html [ Crash Failure ]
 crbug.com/591099 fast/text/bidi-isolate-embedding-crash.html [ Failure ]
 crbug.com/591099 fast/text/bidi-reverse-runs-crash.html [ Failure ]
 crbug.com/591099 fast/text/break-word.html [ Failure ]
@@ -13435,11 +15754,11 @@
 crbug.com/591099 fast/text/ellipsis-rtl-text-in-rtl-flow-underline-composition.html [ Failure ]
 crbug.com/591099 fast/text/ellipsis-rtl-text-in-rtl-flow-underline.html [ Failure ]
 crbug.com/591099 fast/text/ellipsis-stroked.html [ Failure ]
-crbug.com/591099 fast/text/ellipsis-with-list-marker-in-ltr-flow.html [ Failure ]
-crbug.com/591099 fast/text/ellipsis-with-list-marker-in-rtl-flow.html [ Failure ]
+crbug.com/591099 fast/text/ellipsis-with-list-marker-in-ltr-flow.html [ Crash Failure ]
+crbug.com/591099 fast/text/ellipsis-with-list-marker-in-rtl-flow.html [ Crash Failure ]
 crbug.com/591099 fast/text/emoji-web-font.html [ Failure ]
 crbug.com/591099 fast/text/emoticons.html [ Failure ]
-crbug.com/591099 fast/text/emphasis-avoid-ruby.html [ Failure ]
+crbug.com/591099 fast/text/emphasis-avoid-ruby.html [ Crash Failure ]
 crbug.com/591099 fast/text/emphasis-combined-text.html [ Failure ]
 crbug.com/591099 fast/text/emphasis-complex.html [ Failure ]
 crbug.com/591099 fast/text/emphasis-ellipsis-complextext.html [ Failure ]
@@ -13449,6 +15768,7 @@
 crbug.com/591099 fast/text/fallback-for-custom-font.html [ Failure ]
 crbug.com/591099 fast/text/find-backwards.html [ Failure ]
 crbug.com/591099 fast/text/find-kana.html [ Timeout ]
+crbug.com/591099 fast/text/find-layout-crash.html [ Crash Pass ]
 crbug.com/591099 fast/text/find-russian.html [ Failure ]
 crbug.com/591099 fast/text/find-soft-hyphen.html [ Failure ]
 crbug.com/591099 fast/text/first-letter-bad-line-boxes-crash.html [ Crash ]
@@ -13469,7 +15789,7 @@
 crbug.com/591099 fast/text/glyph-reordering.html [ Failure ]
 crbug.com/591099 fast/text/hyphen-min-preferred-width.html [ Failure Pass ]
 crbug.com/591099 fast/text/hyphens/hyphens-none.html [ Failure ]
-crbug.com/591099 fast/text/inline-block-in-selection-root.html [ Failure ]
+crbug.com/591099 fast/text/inline-block-in-selection-root.html [ Failure Pass ]
 crbug.com/591099 fast/text/in-rendered-text-rtl.html [ Failure ]
 crbug.com/591099 fast/text/insert-text-crash.html [ Crash ]
 crbug.com/591099 fast/text/international/002.html [ Failure Pass ]
@@ -13499,47 +15819,48 @@
 crbug.com/591099 fast/text/international/bidi-neutral-run.html [ Failure ]
 crbug.com/591099 fast/text/international/bidi-override.html [ Failure ]
 crbug.com/591099 fast/text/international/bidi-word-spacing-rtl.html [ Failure ]
-crbug.com/591099 fast/text/international/block-flow-parser-test.html [ Failure ]
+crbug.com/591099 fast/text/international/block-flow-parser-test.html [ Crash Failure ]
 crbug.com/591099 fast/text/international/bold-bengali.html [ Failure ]
-crbug.com/591099 fast/text/international/cjk-segmentation.html [ Failure ]
+crbug.com/591099 fast/text/international/cjk-segmentation.html [ Crash Failure ]
 crbug.com/591099 fast/text/international/combining-marks-position.html [ Failure ]
 crbug.com/591099 fast/text/international/complex-character-based-fallback.html [ Failure ]
 crbug.com/591099 fast/text/international/complex-joining-using-gpos.html [ Failure ]
 crbug.com/591099 fast/text/international/danda-space.html [ Failure ]
-crbug.com/591099 fast/text/international/dir-auto-in-textarea-neutral.html [ Failure ]
+crbug.com/591099 fast/text/international/dir-auto-in-textarea-neutral.html [ Crash Failure ]
 crbug.com/591099 fast/text/international/draw-complex-text-from-to.html [ Failure ]
 crbug.com/591099 fast/text/international/float-as-only-child-of-isolate-crash.html [ Failure ]
 crbug.com/591099 fast/text/international/hebrew-vowels.html [ Failure ]
 crbug.com/591099 fast/text/international/hindi-spacing.html [ Failure ]
 crbug.com/591099 fast/text/international/hindi-whitespace.html [ Failure ]
+crbug.com/591099 fast/text/international/iso-8859-8-and-isolate.html [ Crash Pass ]
 crbug.com/591099 fast/text/international/iso-8859-8.html [ Failure ]
 crbug.com/591099 fast/text/international/khmer-selection.html [ Failure ]
 crbug.com/591099 fast/text/international/lang-glyph-cache-separation.html [ Failure ]
 crbug.com/591099 fast/text/international/listbox-width-rtl.html [ Crash ]
-crbug.com/591099 fast/text/international/mixed-directionality-selection.html [ Failure ]
+crbug.com/591099 fast/text/international/mixed-directionality-selection.html [ Crash Failure ]
 crbug.com/591099 fast/text/international/plane2.html [ Failure ]
 crbug.com/591099 fast/text/international/rtl-caret.html [ Failure ]
 crbug.com/591099 fast/text/international/rtl-negative-letter-spacing.html [ Failure ]
 crbug.com/591099 fast/text/international/rtl-text-wrapping.html [ Failure ]
-crbug.com/591099 fast/text/international/rtl-white-space-pre-wrap.html [ Failure ]
+crbug.com/591099 fast/text/international/rtl-white-space-pre-wrap.html [ Crash Failure ]
 crbug.com/591099 fast/text/international/shape-across-elements.html [ Failure ]
 crbug.com/591099 fast/text/international/text-combine-image-test.html [ Failure ]
-crbug.com/591099 fast/text/international/text-combine-parser-test.html [ Failure ]
+crbug.com/591099 fast/text/international/text-combine-parser-test.html [ Crash Failure ]
 crbug.com/591099 fast/text/international/text-overflow-ellipsis-bidi.html [ Failure ]
 crbug.com/591099 fast/text/international/text-spliced-font.html [ Failure ]
 crbug.com/591099 fast/text/international/thai-baht-space.html [ Failure ]
-crbug.com/591099 fast/text/international/thai-cursor-position.html [ Failure ]
+crbug.com/591099 fast/text/international/thai-cursor-position.html [ Crash Failure ]
 crbug.com/591099 fast/text/international/thai-offsetForPosition-inside-character.html [ Failure ]
 crbug.com/591099 fast/text/international/unicode-bidi-isolate-collapsed-whitespace.html [ Failure ]
 crbug.com/591099 fast/text/international/unicode-bidi-isolate-nested-crash.html [ Failure ]
 crbug.com/591099 fast/text/international/unicode-bidi-isolate-nested-with-removes.html [ Crash ]
 crbug.com/591099 fast/text/international/unicode-bidi-isolate-nested-with-removes-not-adjacent.html [ Crash ]
 crbug.com/591099 fast/text/international/unicode-bidi-plaintext.html [ Failure ]
-crbug.com/591099 fast/text/international/unicode-bidi-plaintext-in-textarea.html [ Failure ]
+crbug.com/591099 fast/text/international/unicode-bidi-plaintext-in-textarea.html [ Crash Failure ]
 crbug.com/591099 fast/text/international/unicode-bidi-plaintext-line-wrap.html [ Failure ]
 crbug.com/591099 fast/text/international/unicode-bidi-plaintext-nested-isolate-neutral.html [ Failure ]
 crbug.com/591099 fast/text/international/vertical-text-glyph-test.html [ Failure ]
-crbug.com/591099 fast/text/international/vertical-text-metrics-test.html [ Failure ]
+crbug.com/591099 fast/text/international/vertical-text-metrics-test.html [ Crash Failure ]
 crbug.com/591099 fast/text/international/wrap-CJK-001.html [ Failure ]
 crbug.com/591099 fast/text/ipa-tone-letters.html [ Failure ]
 crbug.com/591099 fast/text/justified-selection-at-edge.html [ Failure ]
@@ -13593,6 +15914,7 @@
 crbug.com/591099 fast/text/place-rtl-ellipsis-in-inline-blocks-align-right.html [ Failure ]
 crbug.com/591099 fast/text/place-rtl-ellipsis-in-inline-blocks.html [ Failure ]
 crbug.com/591099 fast/text/plain-text-line-breaks.html [ Failure ]
+crbug.com/591099 fast/text/pre-wrap-trailing-tab.html [ Crash Pass ]
 crbug.com/591099 fast/text/regional-indicator-symobls.html [ Failure ]
 crbug.com/591099 fast/text/remove-zero-length-run.html [ Failure ]
 crbug.com/591099 fast/text/reset-drag-on-mouse-down.html [ Timeout ]
@@ -13620,6 +15942,7 @@
 crbug.com/591099 fast/text/sub-pixel/text-scaling-vertical.html [ Failure ]
 crbug.com/591099 fast/text/sub-pixel/text-scaling-webfont.html [ Failure ]
 crbug.com/591099 fast/text/tab-min-size.html [ Failure ]
+crbug.com/591099 fast/text/textarea-after-stylesheet-link.html [ Crash Pass ]
 crbug.com/591099 fast/text/text-between-two-brs-in-nowrap-overflow.html [ Failure ]
 crbug.com/591099 fast/text/text-combine-shrink-to-fit.html [ Failure ]
 crbug.com/591099 fast/text/text-combine-width-after-style-change.html [ Failure ]
@@ -13673,12 +15996,14 @@
 crbug.com/591099 fast/text/whitespace/028.html [ Failure ]
 crbug.com/591099 fast/text/whitespace/029.html [ Failure ]
 crbug.com/591099 fast/text/whitespace/030.html [ Failure ]
+crbug.com/591099 fast/text/whitespace/justification-expansion-crash.html [ Crash Pass ]
 crbug.com/591099 fast/text/whitespace/nbsp-mode-and-linewraps.html [ Failure ]
-crbug.com/591099 fast/text/whitespace/normal-after-nowrap-breaking.html [ Failure ]
+crbug.com/591099 fast/text/whitespace/normal-after-nowrap-breaking.html [ Crash Failure ]
 crbug.com/591099 fast/text/whitespace/nowrap-clear-float.html [ Failure ]
 crbug.com/591099 fast/text/whitespace/nowrap-line-break-after-white-space.html [ Failure ]
 crbug.com/591099 fast/text/whitespace/nowrap-previous-trailing-space.html [ Failure ]
 crbug.com/591099 fast/text/whitespace/nowrap-trailing-space.html [ Failure ]
+crbug.com/591099 fast/text/whitespace/nowrap-white-space-collapse.html [ Crash Pass ]
 crbug.com/591099 fast/text/whitespace/pre-newline-box-test.html [ Failure ]
 crbug.com/591099 fast/text/whitespace/pre-wrap-last-char.html [ Failure ]
 crbug.com/591099 fast/text/whitespace/pre-wrap-line-test.html [ Failure ]
@@ -13687,9 +16012,9 @@
 crbug.com/591099 fast/text/whitespace/pre-wrap-spaces-after-newline.html [ Failure ]
 crbug.com/591099 fast/text/whitespace/select-new-line-with-line-break-normal.html [ Failure ]
 crbug.com/591099 fast/text/whitespace/span-in-word-space-causes-overflow.html [ Failure ]
-crbug.com/591099 fast/text/whitespace/tab-character-basics.html [ Failure ]
+crbug.com/591099 fast/text/whitespace/tab-character-basics.html [ Crash Failure ]
 crbug.com/591099 fast/text/whitespace/text-align-justify-and-whitespace-pre.html [ Failure ]
-crbug.com/591099 fast/text/whitespace/whitespace-and-margin-wrap-after-list-marker-crash.html [ Failure ]
+crbug.com/591099 fast/text/whitespace/whitespace-and-margin-wrap-after-list-marker-crash.html [ Crash Failure ]
 crbug.com/591099 fast/text/whitespace/whitespace-in-pre.html [ Failure ]
 crbug.com/591099 fast/text/wide-preformatted.html [ Failure ]
 crbug.com/591099 fast/text/word-break.html [ Failure ]
@@ -13706,7 +16031,7 @@
 crbug.com/591099 fast/text/zero-width-characters.html [ Failure ]
 crbug.com/591099 fast/tokenizer/001.html [ Failure ]
 crbug.com/591099 fast/tokenizer/003.html [ Failure ]
-crbug.com/591099 fast/tokenizer/004.html [ Failure ]
+crbug.com/591099 fast/tokenizer/004.html [ Crash Failure ]
 crbug.com/591099 fast/tokenizer/ampersand-in-special-tag.html [ Failure ]
 crbug.com/591099 fast/tokenizer/entities-04.html [ Failure ]
 crbug.com/591099 fast/tokenizer/external-script-document-open.html [ Failure ]
@@ -13715,9 +16040,10 @@
 crbug.com/591099 fast/tokenizer/lessthan-terminates-tags-and-attrs.html [ Failure ]
 crbug.com/591099 fast/tokenizer/missing-style-end-tag-1.html [ Failure ]
 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-and-stylesheet.html [ Crash Failure ]
 crbug.com/591099 fast/tokenizer/nested-cached-scripts.html [ Failure ]
 crbug.com/591099 fast/tokenizer/nested-multiple-scripts.html [ Failure Pass ]
+crbug.com/591099 fast/tokenizer/script-after-frameset.html [ Failure Pass ]
 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 ]
@@ -13818,7 +16144,7 @@
 crbug.com/591099 fast/workers/worker-timeout.html [ Failure ]
 crbug.com/591099 fast/workers/worker-timeout-increasing-order.html [ Failure ]
 crbug.com/591099 fast/workers/wrapper-map-gc.html [ Failure ]
-crbug.com/591099 fast/writing-mode/absolute-overconstrained-writing-mode.html [ Failure ]
+crbug.com/591099 fast/writing-mode/absolute-overconstrained-writing-mode.html [ Failure Pass ]
 crbug.com/591099 fast/writing-mode/auto-margins-across-boundaries.html [ Failure ]
 crbug.com/591099 fast/writing-mode/auto-sizing-orthogonal-flows.html [ Failure ]
 crbug.com/591099 fast/writing-mode/background-vertical-lr.html [ Failure ]
@@ -13846,7 +16172,7 @@
 crbug.com/591099 fast/writing-mode/flipped-blocks-hit-test-line-edges.html [ Failure ]
 crbug.com/591099 fast/writing-mode/flipped-blocks-hit-test-overflow.html [ Failure ]
 crbug.com/591099 fast/writing-mode/flipped-blocks-hit-test-overflow-scroll.html [ Failure ]
-crbug.com/591099 fast/writing-mode/flipped-blocks-inline-map-local-to-container.html [ Failure ]
+crbug.com/591099 fast/writing-mode/flipped-blocks-inline-map-local-to-container.html [ Crash Failure ]
 crbug.com/591099 fast/writing-mode/flipped-blocks-text-map-local-to-container.html [ Failure ]
 crbug.com/591099 fast/writing-mode/floats-in-block-layout.html [ Failure ]
 crbug.com/591099 fast/writing-mode/html-and-body-direction-propagation.html [ Failure ]
@@ -13859,9 +16185,9 @@
 crbug.com/591099 fast/writing-mode/japanese-rl-selection.html [ Failure ]
 crbug.com/591099 fast/writing-mode/japanese-rl-text.html [ Failure ]
 crbug.com/591099 fast/writing-mode/japanese-rl-text-with-broken-font.html [ Failure ]
-crbug.com/591099 fast/writing-mode/japanese-ruby-vertical-lr.html [ Failure ]
-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/japanese-ruby-vertical-lr.html [ Crash Failure ]
+crbug.com/591099 fast/writing-mode/japanese-ruby-vertical-rl.html [ Crash Failure ]
+crbug.com/591099 fast/writing-mode/Kusa-Makura-background-canvas.html [ Crash 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 ]
@@ -13874,6 +16200,7 @@
 crbug.com/591099 fast/writing-mode/percentage-height-orthogonal-writing-modes-quirks.html [ Failure ]
 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/ruby-text-logical-left.html [ Crash Pass ]
 crbug.com/591099 fast/writing-mode/table-hit-test.html [ Failure ]
 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 ]
@@ -13895,7 +16222,8 @@
 crbug.com/591099 fast/xmlhttprequest/xmlhttprequest-default-attributes.html [ Failure ]
 crbug.com/591099 fast/xmlhttprequest/xmlhttprequest-detached-mixedcontent-no-crash.html [ Failure ]
 crbug.com/591099 fast/xmlhttprequest/xmlhttprequest-get.xhtml [ Failure ]
-crbug.com/591099 fast/xmlhttprequest/xmlhttprequest-html-response-encoding.html [ Failure ]
+crbug.com/591099 fast/xmlhttprequest/xmlhttprequest-html-response-encoding.html [ Crash Failure ]
+crbug.com/591099 fast/xmlhttprequest/xmlhttprequest-invalid-values.html [ Crash Pass ]
 crbug.com/591099 fast/xmlhttprequest/xmlhttprequest-missing-file-exception.html [ Failure ]
 crbug.com/591099 fast/xmlhttprequest/xmlhttprequest-nonexistent-file.html [ Failure ]
 crbug.com/591099 fast/xmlhttprequest/xmlhttprequest-open-after-iframe-onload-remove-self.html [ Crash ]
@@ -13941,7 +16269,7 @@
 crbug.com/591099 fast/xpath/xpath-detached-iframe-resolver-crash.html [ Failure ]
 crbug.com/591099 fast/xpath/xpath-detached-import-assert.html [ Failure ]
 crbug.com/591099 fast/xpath/xpath-detached-nodes.html [ Failure ]
-crbug.com/591099 fast/xpath/xpath-functional-test.html [ Failure ]
+crbug.com/591099 fast/xpath/xpath-functional-test.html [ Crash Failure ]
 crbug.com/591099 fast/xpath/xpath-namespaces.html [ Failure ]
 crbug.com/591099 fast/xpath/xpath-result-eventlistener-crash.html [ Failure ]
 crbug.com/591099 fast/xpath/xpath-template-element.html [ Failure ]
@@ -13961,6 +16289,7 @@
 crbug.com/591099 fast/xsl/xslt-enc16.xml [ Failure ]
 crbug.com/591099 fast/xsl/xslt-enc-cyr.xml [ Failure ]
 crbug.com/591099 fast/xsl/xslt-enc.xml [ Failure ]
+crbug.com/591099 fast/xsl/xslt-entity.xml [ Failure Pass ]
 crbug.com/591099 fast/xsl/xslt-extra-content-at-end.xml [ Failure ]
 crbug.com/591099 fast/xsl/xslt-fragment-in-empty-doc.html [ Failure ]
 crbug.com/591099 fast/xsl/xslt-import-depth.xml [ Failure ]
@@ -14034,14 +16363,20 @@
 crbug.com/591099 fragmentation/single-line-cells.html [ Failure ]
 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-nested-repeating-thead-4.html [ Failure Pass ]
 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/single-line-cells-repeating-thead-starts-middle-of-page-break-after-avoid-2.html [ Failure Pass ]
+crbug.com/591099 fragmentation/single-line-cells-repeating-thead-starts-middle-of-page-break-after-avoid.html [ Failure Pass ]
+crbug.com/591099 fragmentation/single-line-cells-repeating-thead-starts-middle-of-page.html [ Failure Pass ]
 crbug.com/591099 fragmentation/table-disable-fragmentation.html [ Failure ]
 crbug.com/591099 fragmentation/table-in-subpixel-fragmentainer.html [ Failure ]
 crbug.com/591099 fragmentation/table-overlapping-rowspan.html [ Failure ]
+crbug.com/591099 fragmentation/table-with-border-spacing.html [ Failure ]
 crbug.com/591099 fragmentation/tbody-before-thead.html [ Failure ]
 crbug.com/591099 fragmentation/unbreakable-tall-float-before-block.html [ Failure ]
+crbug.com/591099 fragmentation/unbreakable-tall-float-before-line.html [ Failure Pass ]
 crbug.com/591099 fullscreen/anonymous-block-merge-crash.html [ Crash ]
 crbug.com/591099 fullscreen/api/element-request-fullscreen-and-remove-iframe.html [ Crash ]
 crbug.com/591099 fullscreen/compositor-touch-hit-rects-fullscreen-video-controls.html [ Failure ]
@@ -14056,6 +16391,7 @@
 crbug.com/591099 fullscreen/full-screen-iframe-legacy.html [ Failure ]
 crbug.com/591099 fullscreen/full-screen-iframe-not-allowed.html [ Failure ]
 crbug.com/591099 fullscreen/full-screen-iframe-without-allow-attribute-allowed-from-parent.html [ Failure ]
+crbug.com/591099 fullscreen/full-screen-line-boxes-crash.html [ Failure Pass ]
 crbug.com/591099 fullscreen/full-screen-no-style-sharing.html [ Failure ]
 crbug.com/591099 fullscreen/full-screen-placeholder.html [ Failure ]
 crbug.com/591099 fullscreen/full-screen-remove-ancestor-during-transition.html [ Crash ]
@@ -14123,6 +16459,7 @@
 crbug.com/591099 hittesting/border-hittest-inlineFlowBox.html [ Failure ]
 crbug.com/591099 hittesting/border-hittest-with-image-fallback.html [ Crash ]
 crbug.com/591099 hittesting/border-radius-hittest.html [ Failure ]
+crbug.com/591099 hittesting/culled-inline-crash.html [ Crash Pass ]
 crbug.com/591099 hittesting/culled-inline.html [ Failure ]
 crbug.com/591099 hittesting/hittest-child-of-inlineblock.html [ Crash ]
 crbug.com/591099 hittesting/hittest-overlapping-floats.html [ Failure ]
@@ -14143,77 +16480,80 @@
 crbug.com/591099 html5lib/generated/run-tests2-write.html [ Failure ]
 crbug.com/591099 html5lib/generated/run-webkit02-data.html [ Failure ]
 crbug.com/591099 html5lib/generated/run-webkit02-write.html [ Failure ]
-crbug.com/591099 html/details_summary/details-add-child-1.html [ Failure ]
-crbug.com/591099 html/details_summary/details-add-child-2.html [ Failure ]
-crbug.com/591099 html/details_summary/details-add-details-child-1.html [ Failure ]
-crbug.com/591099 html/details_summary/details-add-details-child-2.html [ Failure ]
-crbug.com/591099 html/details_summary/details-add-summary-10-and-click.html [ Failure ]
-crbug.com/591099 html/details_summary/details-add-summary-10.html [ Failure ]
-crbug.com/591099 html/details_summary/details-add-summary-1-and-click.html [ Failure ]
-crbug.com/591099 html/details_summary/details-add-summary-1.html [ Failure ]
-crbug.com/591099 html/details_summary/details-add-summary-2-and-click.html [ Failure ]
-crbug.com/591099 html/details_summary/details-add-summary-2.html [ Failure ]
-crbug.com/591099 html/details_summary/details-add-summary-3-and-click.html [ Failure ]
-crbug.com/591099 html/details_summary/details-add-summary-3.html [ Failure ]
-crbug.com/591099 html/details_summary/details-add-summary-4-and-click.html [ Failure ]
-crbug.com/591099 html/details_summary/details-add-summary-4.html [ Failure ]
-crbug.com/591099 html/details_summary/details-add-summary-5-and-click.html [ Failure ]
-crbug.com/591099 html/details_summary/details-add-summary-5.html [ Failure ]
-crbug.com/591099 html/details_summary/details-add-summary-6-and-click.html [ Failure ]
-crbug.com/591099 html/details_summary/details-add-summary-6.html [ Failure ]
-crbug.com/591099 html/details_summary/details-add-summary-7-and-click.html [ Failure ]
-crbug.com/591099 html/details_summary/details-add-summary-7.html [ Failure ]
-crbug.com/591099 html/details_summary/details-add-summary-8-and-click.html [ Failure ]
-crbug.com/591099 html/details_summary/details-add-summary-8.html [ Failure ]
-crbug.com/591099 html/details_summary/details-add-summary-9-and-click.html [ Failure ]
-crbug.com/591099 html/details_summary/details-add-summary-9.html [ Failure ]
-crbug.com/591099 html/details_summary/details-add-summary-child-1.html [ Failure ]
-crbug.com/591099 html/details_summary/details-add-summary-child-2.html [ Failure ]
+crbug.com/591099 html/details_summary/details-add-child-1.html [ Crash Failure ]
+crbug.com/591099 html/details_summary/details-add-child-2.html [ Crash Failure ]
+crbug.com/591099 html/details_summary/details-add-details-child-1.html [ Crash Failure ]
+crbug.com/591099 html/details_summary/details-add-details-child-2.html [ Crash Failure ]
+crbug.com/591099 html/details_summary/details-add-summary-10-and-click.html [ Crash Failure ]
+crbug.com/591099 html/details_summary/details-add-summary-10.html [ Crash Failure ]
+crbug.com/591099 html/details_summary/details-add-summary-1-and-click.html [ Crash Failure ]
+crbug.com/591099 html/details_summary/details-add-summary-1.html [ Crash Failure ]
+crbug.com/591099 html/details_summary/details-add-summary-2-and-click.html [ Crash Failure ]
+crbug.com/591099 html/details_summary/details-add-summary-2.html [ Crash Failure ]
+crbug.com/591099 html/details_summary/details-add-summary-3-and-click.html [ Crash Failure ]
+crbug.com/591099 html/details_summary/details-add-summary-3.html [ Crash Failure ]
+crbug.com/591099 html/details_summary/details-add-summary-4-and-click.html [ Crash Failure ]
+crbug.com/591099 html/details_summary/details-add-summary-4.html [ Crash Failure ]
+crbug.com/591099 html/details_summary/details-add-summary-5-and-click.html [ Crash Failure ]
+crbug.com/591099 html/details_summary/details-add-summary-5.html [ Crash Failure ]
+crbug.com/591099 html/details_summary/details-add-summary-6-and-click.html [ Crash Failure ]
+crbug.com/591099 html/details_summary/details-add-summary-6.html [ Crash Failure ]
+crbug.com/591099 html/details_summary/details-add-summary-7-and-click.html [ Crash Failure ]
+crbug.com/591099 html/details_summary/details-add-summary-7.html [ Crash Failure ]
+crbug.com/591099 html/details_summary/details-add-summary-8-and-click.html [ Crash Failure ]
+crbug.com/591099 html/details_summary/details-add-summary-8.html [ Crash Failure ]
+crbug.com/591099 html/details_summary/details-add-summary-9-and-click.html [ Crash Failure ]
+crbug.com/591099 html/details_summary/details-add-summary-9.html [ Crash Failure ]
+crbug.com/591099 html/details_summary/details-add-summary-child-1.html [ Crash Failure ]
+crbug.com/591099 html/details_summary/details-add-summary-child-2.html [ Crash Failure ]
+crbug.com/591099 html/details_summary/details-children-merge-crash.html [ Crash Pass ]
 crbug.com/591099 html/details_summary/details-click-controls.html [ Crash ]
-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-clone.html [ Crash Failure ]
+crbug.com/591099 html/details_summary/details-element-render-inline-crash.html [ Crash Pass ]
+crbug.com/591099 html/details_summary/details-inline.html [ Crash Pass ]
+crbug.com/591099 html/details_summary/details-keyboard-show-hide.html [ Crash Failure ]
+crbug.com/591099 html/details_summary/details-marker-style.html [ Crash Failure ]
 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 ]
-crbug.com/591099 html/details_summary/details-no-summary2.html [ Failure ]
-crbug.com/591099 html/details_summary/details-no-summary3.html [ Failure ]
-crbug.com/591099 html/details_summary/details-no-summary4.html [ Failure ]
-crbug.com/591099 html/details_summary/details-open1.html [ Failure ]
-crbug.com/591099 html/details_summary/details-open2.html [ Failure ]
-crbug.com/591099 html/details_summary/details-open3.html [ Failure ]
-crbug.com/591099 html/details_summary/details-open4.html [ Failure ]
-crbug.com/591099 html/details_summary/details-open5.html [ Failure ]
-crbug.com/591099 html/details_summary/details-open6.html [ Failure ]
-crbug.com/591099 html/details_summary/details-open-javascript.html [ Failure ]
+crbug.com/591099 html/details_summary/details-nested-1.html [ Crash Failure ]
+crbug.com/591099 html/details_summary/details-nested-2.html [ Crash Failure ]
+crbug.com/591099 html/details_summary/details-no-summary1.html [ Crash Failure ]
+crbug.com/591099 html/details_summary/details-no-summary2.html [ Crash Failure ]
+crbug.com/591099 html/details_summary/details-no-summary3.html [ Crash Failure ]
+crbug.com/591099 html/details_summary/details-no-summary4.html [ Crash Failure ]
+crbug.com/591099 html/details_summary/details-open1.html [ Crash Failure ]
+crbug.com/591099 html/details_summary/details-open2.html [ Crash Failure ]
+crbug.com/591099 html/details_summary/details-open3.html [ Crash Failure ]
+crbug.com/591099 html/details_summary/details-open4.html [ Crash Failure ]
+crbug.com/591099 html/details_summary/details-open5.html [ Crash Failure ]
+crbug.com/591099 html/details_summary/details-open6.html [ Crash Failure ]
+crbug.com/591099 html/details_summary/details-open-javascript.html [ Crash Failure ]
 crbug.com/591099 html/details_summary/details-open-toggle-event.html [ Crash ]
-crbug.com/591099 html/details_summary/details-position.html [ Failure ]
-crbug.com/591099 html/details_summary/details-remove-child-1.html [ Failure ]
-crbug.com/591099 html/details_summary/details-remove-child-2.html [ Failure ]
-crbug.com/591099 html/details_summary/details-remove-summary-1-and-click.html [ Failure ]
-crbug.com/591099 html/details_summary/details-remove-summary-1.html [ Failure ]
-crbug.com/591099 html/details_summary/details-remove-summary-2-and-click.html [ Failure ]
-crbug.com/591099 html/details_summary/details-remove-summary-2.html [ Failure ]
-crbug.com/591099 html/details_summary/details-remove-summary-3-and-click.html [ Failure ]
-crbug.com/591099 html/details_summary/details-remove-summary-3.html [ Failure ]
-crbug.com/591099 html/details_summary/details-remove-summary-4-and-click.html [ Failure ]
-crbug.com/591099 html/details_summary/details-remove-summary-4.html [ Failure ]
-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-position.html [ Crash Failure ]
+crbug.com/591099 html/details_summary/details-remove-child-1.html [ Crash Failure ]
+crbug.com/591099 html/details_summary/details-remove-child-2.html [ Crash Failure ]
+crbug.com/591099 html/details_summary/details-remove-summary-1-and-click.html [ Crash Failure ]
+crbug.com/591099 html/details_summary/details-remove-summary-1.html [ Crash Failure ]
+crbug.com/591099 html/details_summary/details-remove-summary-2-and-click.html [ Crash Failure ]
+crbug.com/591099 html/details_summary/details-remove-summary-2.html [ Crash Failure ]
+crbug.com/591099 html/details_summary/details-remove-summary-3-and-click.html [ Crash Failure ]
+crbug.com/591099 html/details_summary/details-remove-summary-3.html [ Crash Failure ]
+crbug.com/591099 html/details_summary/details-remove-summary-4-and-click.html [ Crash Failure ]
+crbug.com/591099 html/details_summary/details-remove-summary-4.html [ Crash Failure ]
+crbug.com/591099 html/details_summary/details-remove-summary-5-and-click.html [ Crash Failure ]
+crbug.com/591099 html/details_summary/details-remove-summary-5.html [ Crash Failure ]
+crbug.com/591099 html/details_summary/details-remove-summary-6-and-click.html [ Crash 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 ]
-crbug.com/591099 html/details_summary/details-replace-text.html [ Failure ]
-crbug.com/591099 html/details_summary/details-writing-mode-align-center.html [ Failure ]
-crbug.com/591099 html/details_summary/details-writing-mode-align-left.html [ Failure ]
-crbug.com/591099 html/details_summary/details-writing-mode-align-right.html [ Failure ]
-crbug.com/591099 html/details_summary/details-writing-mode.html [ Failure ]
+crbug.com/591099 html/details_summary/details-remove-summary-child-1.html [ Crash Failure ]
+crbug.com/591099 html/details_summary/details-remove-summary-child-2.html [ Crash Failure ]
+crbug.com/591099 html/details_summary/details-replace-summary-child.html [ Crash Failure ]
+crbug.com/591099 html/details_summary/details-replace-text.html [ Crash Failure ]
+crbug.com/591099 html/details_summary/details-writing-mode-align-center.html [ Crash Failure ]
+crbug.com/591099 html/details_summary/details-writing-mode-align-left.html [ Crash Failure ]
+crbug.com/591099 html/details_summary/details-writing-mode-align-right.html [ Crash Failure ]
+crbug.com/591099 html/details_summary/details-writing-mode.html [ Crash Failure ]
 crbug.com/591099 html/details_summary/mutation-details-focus.html [ Crash ]
 crbug.com/591099 html/details_summary/summary-display-grid.html [ Failure Pass ]
-crbug.com/591099 html/details_summary/summary-display-inline-flex.html [ Failure ]
+crbug.com/591099 html/details_summary/summary-display-inline-flex.html [ Failure Pass ]
 crbug.com/591099 html/dialog/abspos-dialog-layout.html [ Failure ]
 crbug.com/591099 html/dialog/closed-dialog-does-not-block-mouse-events.html [ Failure ]
 crbug.com/591099 html/dialog/dialog-autofocus.html [ Crash ]
@@ -14258,6 +16598,7 @@
 crbug.com/591099 html/document_metadata/head-has-text-4.html [ Failure ]
 crbug.com/591099 html/document_metadata/head-has-text-5.html [ Failure ]
 crbug.com/591099 html/document_metadata/head-link-style-href-check.html [ Failure ]
+crbug.com/591099 html/document_metadata/link-rel-stylesheet.html [ Failure Pass ]
 crbug.com/591099 html/document_metadata/meta-attributes.html [ Failure ]
 crbug.com/591099 html/document_metadata/style-disabled.html [ Failure ]
 crbug.com/591099 html/grouping_content/figcaption-element.html [ Failure ]
@@ -14268,7 +16609,7 @@
 crbug.com/591099 html/marquee/marquee-shadow-root-no-access.html [ Crash ]
 crbug.com/591099 html/menu_menuitem/custom-context-menu.html [ Failure ]
 crbug.com/591099 html/menu_menuitem/menuitem-click.html [ Failure ]
-crbug.com/591099 html/menu_menuitem/menu-type-context.html [ Failure ]
+crbug.com/591099 html/menu_menuitem/menu-type-context.html [ Failure Pass ]
 crbug.com/591099 html/sections/article-element.html [ Failure ]
 crbug.com/591099 html/sections/aside-element.html [ Failure ]
 crbug.com/591099 html/sections/body-quirk-client-size.html [ Failure ]
@@ -14287,7 +16628,7 @@
 crbug.com/591099 html/tabular_data/table_createcaption.html [ Failure ]
 crbug.com/591099 html/tabular_data/table_exceptions.html [ Failure ]
 crbug.com/591099 html/tabular_data/table_insertrow_default_argument.html [ Failure ]
-crbug.com/591099 html/tabular_data/table_insertrow.html [ Failure ]
+crbug.com/591099 html/tabular_data/table_insertrow.html [ Crash Failure ]
 crbug.com/591099 html/tabular_data/table_rows.html [ Failure ]
 crbug.com/591099 html/tabular_data/table_tbodies.html [ Failure ]
 crbug.com/591099 html/tabular_data/tbody_insertrow_default_argument.html [ Failure ]
@@ -14303,6 +16644,7 @@
 crbug.com/591099 html/tabular_data/tr_insertcell_skips_non_td_th.html [ Failure ]
 crbug.com/591099 html/text_level_semantics/font-weight-bold-for-b-and-strong.html [ Failure ]
 crbug.com/591099 html/text_level_semantics/mark-element.html [ Failure ]
+crbug.com/591099 html/text_level_semantics/ol-reversed.html [ Crash Pass ]
 crbug.com/591099 http/tests/accessibility/slow-document-load.html [ Failure ]
 crbug.com/591099 http/tests/activedomobject/media.html [ Failure ]
 crbug.com/591099 http/tests/appcache/404-manifest.html [ Failure ]
@@ -14310,7 +16652,7 @@
 crbug.com/591099 http/tests/appcache/404-resource.html [ Failure ]
 crbug.com/591099 http/tests/appcache/access-via-redirect.php [ Failure ]
 crbug.com/591099 http/tests/appcache/credential-url.html [ Failure Timeout ]
-crbug.com/591099 http/tests/appcache/cyrillic-uri.html [ Failure ]
+crbug.com/591099 http/tests/appcache/cyrillic-uri.html [ Crash Failure ]
 crbug.com/591099 http/tests/appcache/deferred-events-delete-while-raising.html [ Crash ]
 crbug.com/591099 http/tests/appcache/deferred-events-delete-while-raising-timer.html [ Crash ]
 crbug.com/591099 http/tests/appcache/destroyed-frame.html [ Crash ]
@@ -14339,7 +16681,7 @@
 crbug.com/591099 http/tests/appcache/online-whitelist.html [ Failure ]
 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/remove-cache.html [ Crash 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 ]
@@ -14366,6 +16708,16 @@
 crbug.com/591099 http/tests/cache/xhr-body.html [ Failure ]
 crbug.com/591099 http/tests/cache/xhr-vary-header.html [ Failure ]
 crbug.com/591099 http/tests/cache/zero-length-xhr.html [ Failure ]
+crbug.com/591099 http/tests/canvas/philip/tests/security.drawImage.canvas.html [ Crash Pass ]
+crbug.com/591099 http/tests/canvas/philip/tests/security.drawImage.image.html [ Crash Pass ]
+crbug.com/591099 http/tests/canvas/philip/tests/security.pattern.canvas.fillStyle.html [ Crash Pass ]
+crbug.com/591099 http/tests/canvas/philip/tests/security.pattern.canvas.strokeStyle.html [ Crash Pass ]
+crbug.com/591099 http/tests/canvas/philip/tests/security.pattern.canvas.timing.html [ Crash Pass ]
+crbug.com/591099 http/tests/canvas/philip/tests/security.pattern.create.html [ Crash Pass ]
+crbug.com/591099 http/tests/canvas/philip/tests/security.pattern.cross.html [ Crash Pass ]
+crbug.com/591099 http/tests/canvas/philip/tests/security.pattern.image.fillStyle.html [ Crash Pass ]
+crbug.com/591099 http/tests/canvas/philip/tests/security.pattern.image.strokeStyle.html [ Crash Pass ]
+crbug.com/591099 http/tests/canvas/philip/tests/security.reset.html [ Crash Pass ]
 crbug.com/591099 http/tests/canvas/webgl/origin-clean-conformance.html [ Failure ]
 crbug.com/591099 http/tests/cookies/double-quoted-value-with-semi-colon.html [ Failure ]
 crbug.com/591099 http/tests/cookies/http-get-cookie-set-in-js.html [ Failure ]
@@ -14377,7 +16729,7 @@
 crbug.com/591099 http/tests/cookies/single-quoted-value.html [ Failure ]
 crbug.com/591099 http/tests/credentialmanager/credentialscontainer-frame-errors.html [ Crash ]
 crbug.com/591099 http/tests/css/border-image-loading.html [ Failure ]
-crbug.com/591099 http/tests/css/css-image-loading.html [ Failure ]
+crbug.com/591099 http/tests/css/css-image-loading.html [ Crash Failure ]
 crbug.com/591099 http/tests/css/css-image-valued-shape.html [ Failure ]
 crbug.com/591099 http/tests/css/css-non-blocking.html [ Failure ]
 crbug.com/591099 http/tests/css/font-face-src-loading.html [ Failure ]
@@ -14393,7 +16745,7 @@
 crbug.com/591099 http/tests/dom/create-contextual-fragment-from-svg-document-range.html [ Failure ]
 crbug.com/591099 http/tests/dom/EventListener-incumbent-global-1.html [ Crash ]
 crbug.com/591099 http/tests/dom/EventListener-incumbent-global-2.html [ Crash ]
-crbug.com/591099 http/tests/dom/location-stringify.html [ Failure ]
+crbug.com/591099 http/tests/dom/location-stringify.html [ Crash Failure ]
 crbug.com/591099 http/tests/download/basic-ascii.html [ Failure ]
 crbug.com/591099 http/tests/download/default-encoding.html [ Timeout ]
 crbug.com/591099 http/tests/download/inherited-encoding-form-submission-result.html [ Failure ]
@@ -14443,22 +16795,22 @@
 crbug.com/591099 http/tests/feature-policy/fullscreen-disabled.php [ Crash ]
 crbug.com/591099 http/tests/feature-policy/fullscreen-enabledforall.php [ Crash ]
 crbug.com/591099 http/tests/feature-policy/fullscreen-enabledforself.php [ Crash ]
-crbug.com/591099 http/tests/fetch/chromium/discarded-window.html [ Crash ]
+crbug.com/591099 http/tests/fetch/chromium/discarded-window.html [ Crash Pass ]
 crbug.com/591099 http/tests/fetch/window/pageimportancesignals.html [ Failure ]
 crbug.com/591099 http/tests/fileapi/blob-url-in-subframe.html [ Failure ]
 crbug.com/591099 http/tests/fileapi/create-blob-url-from-data-url.html [ Failure ]
-crbug.com/591099 http/tests/filesystem/input-display.html [ Failure ]
+crbug.com/591099 http/tests/filesystem/input-display.html [ Crash Failure ]
 crbug.com/591099 http/tests/filesystem/resolve-uri.html [ Failure ]
 crbug.com/591099 http/tests/filesystem/workers/resolve-url.html [ Failure ]
 crbug.com/591099 http/tests/filesystem/workers/resolve-url-sync.html [ Failure ]
 crbug.com/591099 http/tests/fullscreen/fullscreenelement-different-origin.html [ Failure ]
 crbug.com/591099 http/tests/fullscreen/fullscreenelement-same-origin.html [ Failure ]
 crbug.com/591099 http/tests/history/back-during-onload-triggered-by-back.html [ Failure ]
-crbug.com/591099 http/tests/history/back-to-post.html [ Failure ]
+crbug.com/591099 http/tests/history/back-to-post.html [ Crash Failure ]
 crbug.com/591099 http/tests/history/client-redirect-after-push-state.html [ Failure ]
 crbug.com/591099 http/tests/history/history-entry-requires-user-gesture.html [ Timeout ]
 crbug.com/591099 http/tests/history/history-navigations-set-referrer.html [ Failure ]
-crbug.com/591099 http/tests/history/popstate-fires-with-pending-requests.html [ Failure ]
+crbug.com/591099 http/tests/history/popstate-fires-with-pending-requests.html [ Crash Failure ]
 crbug.com/591099 http/tests/history/redirect-200-refresh-0-seconds.pl [ Failure ]
 crbug.com/591099 http/tests/history/redirect-200-refresh-2-seconds.pl [ Failure ]
 crbug.com/591099 http/tests/history/redirect-301.html [ Failure ]
@@ -14520,6 +16872,8 @@
 crbug.com/591099 http/tests/inspector/bindings/shadowdom-navigator.html [ Failure ]
 crbug.com/591099 http/tests/inspector/bindings/sourcemap-bindings-multiple-frames.html [ Crash ]
 crbug.com/591099 http/tests/inspector/bindings/sourcemap-navigator-multiple-frames.html [ Crash ]
+crbug.com/591099 http/tests/inspector/bindings/suspendtarget-bindings.html [ Crash ]
+crbug.com/591099 http/tests/inspector/bindings/suspendtarget-navigator.html [ Crash ]
 crbug.com/591099 http/tests/inspector/cache-storage/cache-data.html [ Failure ]
 crbug.com/591099 http/tests/inspector/cache-storage/cache-deletion.html [ Failure ]
 crbug.com/591099 http/tests/inspector/cache-storage/cache-entry-deletion.html [ Failure ]
@@ -14533,12 +16887,12 @@
 crbug.com/591099 http/tests/inspector/console-completions.html [ Crash Failure ]
 crbug.com/591099 http/tests/inspector/console/console-links-in-errors-with-trace.html [ Crash Failure ]
 crbug.com/591099 http/tests/inspector/console/console-links-on-messages-before-inspection.html [ Failure ]
-crbug.com/591099 http/tests/inspector/console-cross-origin-iframe-logging.html [ Failure ]
-crbug.com/591099 http/tests/inspector/console-resource-errors.html [ Failure ]
-crbug.com/591099 http/tests/inspector/console-show-all-messages.html [ Failure ]
+crbug.com/591099 http/tests/inspector/console-cross-origin-iframe-logging.html [ Crash Failure ]
+crbug.com/591099 http/tests/inspector/console-resource-errors.html [ Crash Failure ]
+crbug.com/591099 http/tests/inspector/console-show-all-messages.html [ Crash Failure ]
 crbug.com/591099 http/tests/inspector/console-xhr-logging-async.html [ Crash Failure ]
 crbug.com/591099 http/tests/inspector/console-xhr-logging.html [ Failure ]
-crbug.com/591099 http/tests/inspector/debugger/fetch-breakpoints.html [ Failure Timeout ]
+crbug.com/591099 http/tests/inspector/debugger/fetch-breakpoints.html [ Crash Failure Timeout ]
 crbug.com/591099 http/tests/inspector/elements/elements-linkify-attributes.html [ Crash ]
 crbug.com/591099 http/tests/inspector/elements/event-listeners-framework-with-service-worker.html [ Crash ]
 crbug.com/591099 http/tests/inspector/elements/html-link-import.html [ Crash ]
@@ -14559,21 +16913,21 @@
 crbug.com/591099 http/tests/inspector-enabled/console-exception-while-no-inspector.html [ Failure ]
 crbug.com/591099 http/tests/inspector-enabled/console-log-before-frame-navigation.html [ Failure ]
 crbug.com/591099 http/tests/inspector-enabled/console-promise-reject-and-handle.html [ Failure ]
-crbug.com/591099 http/tests/inspector-enabled/console-stack-overflow-source-url.html [ Failure ]
+crbug.com/591099 http/tests/inspector-enabled/console-stack-overflow-source-url.html [ Crash Failure ]
 crbug.com/591099 http/tests/inspector-enabled/database-open.html [ Failure ]
 crbug.com/591099 http/tests/inspector-enabled/dedicated-workers-list.html [ Failure ]
 crbug.com/591099 http/tests/inspector-enabled/dom-storage-open.html [ Failure ]
-crbug.com/591099 http/tests/inspector-enabled/dynamic-scripts.html [ Failure ]
+crbug.com/591099 http/tests/inspector-enabled/dynamic-scripts.html [ Failure Timeout ]
 crbug.com/591099 http/tests/inspector-enabled/injected-script-discard.html [ Failure ]
 crbug.com/591099 http/tests/inspector-enabled/reattach-after-editing-styles.html [ Crash ]
 crbug.com/591099 http/tests/inspector-enabled/resource-tree/main-resource-content.html [ Failure ]
 crbug.com/591099 http/tests/inspector-enabled/resource-tree/resource-tree-mimetype.html [ Failure ]
 crbug.com/591099 http/tests/inspector-enabled/shadow-dom-rules.html [ Crash ]
 crbug.com/591099 http/tests/inspector-enabled/shadow-dom-rules-restart.html [ Crash ]
-crbug.com/591099 http/tests/inspector/extensions-headers.html [ Failure ]
+crbug.com/591099 http/tests/inspector/extensions-headers.html [ Crash Failure ]
 crbug.com/591099 http/tests/inspector/extensions-iframe-eval.html [ Crash Failure ]
-crbug.com/591099 http/tests/inspector/extensions-ignore-cache.html [ Failure ]
-crbug.com/591099 http/tests/inspector/extensions-network-redirect.html [ Failure ]
+crbug.com/591099 http/tests/inspector/extensions-ignore-cache.html [ Crash Failure ]
+crbug.com/591099 http/tests/inspector/extensions-network-redirect.html [ Crash Failure ]
 crbug.com/591099 http/tests/inspector/extensions-useragent.html [ Crash ]
 crbug.com/591099 http/tests/inspector/forced-layout-in-microtask.html [ Crash ]
 crbug.com/591099 http/tests/inspector/fragment.html [ Failure ]
@@ -14594,25 +16948,25 @@
 crbug.com/591099 http/tests/inspector/network/font-face.html [ Failure ]
 crbug.com/591099 http/tests/inspector/network/from-disk-cache-timing.html [ Failure ]
 crbug.com/591099 http/tests/inspector/network/har-content.html [ Failure ]
-crbug.com/591099 http/tests/inspector/network/json-preview.html [ Failure Timeout ]
-crbug.com/591099 http/tests/inspector/network/long-script-content.html [ Failure ]
+crbug.com/591099 http/tests/inspector/network/json-preview.html [ Crash Failure Timeout ]
+crbug.com/591099 http/tests/inspector/network/long-script-content.html [ Crash Failure ]
 crbug.com/591099 http/tests/inspector/network/network-blocked-reason.html [ Failure ]
 crbug.com/591099 http/tests/inspector/network/network-cachedresources-with-same-urls.html [ Failure ]
-crbug.com/591099 http/tests/inspector/network/network-choose-preview-view.html [ Failure ]
+crbug.com/591099 http/tests/inspector/network/network-choose-preview-view.html [ Crash Failure ]
 crbug.com/591099 http/tests/inspector/network/network-columns-sorted.html [ Failure ]
 crbug.com/591099 http/tests/inspector/network/network-columns-visible.html [ Failure ]
-crbug.com/591099 http/tests/inspector/network/network-content-replacement-xhr.html [ Failure ]
+crbug.com/591099 http/tests/inspector/network/network-content-replacement-xhr.html [ Crash Failure ]
 crbug.com/591099 http/tests/inspector/network/network-cyrillic-xhr.html [ Failure ]
 crbug.com/591099 http/tests/inspector/network/network-datareceived.html [ Failure ]
-crbug.com/591099 http/tests/inspector/network/network-disable-cache-cors.html [ Failure ]
+crbug.com/591099 http/tests/inspector/network/network-disable-cache-cors.html [ Crash Failure ]
 crbug.com/591099 http/tests/inspector/network/network-disable-cache-memory.html [ Failure ]
 crbug.com/591099 http/tests/inspector/network/network-disable-cache-preloads.php [ Failure ]
 crbug.com/591099 http/tests/inspector/network/network-disable-cache-xhrs.html [ Failure ]
-crbug.com/591099 http/tests/inspector/network/network-disabling-check-no-memory-leak.html [ Failure ]
+crbug.com/591099 http/tests/inspector/network/network-disabling-check-no-memory-leak.html [ Crash Failure ]
 crbug.com/591099 http/tests/inspector/network/network-document-initiator.html [ Failure ]
 crbug.com/591099 http/tests/inspector/network/network-empty-xhr.html [ Failure ]
 crbug.com/591099 http/tests/inspector/network/network-eventsource.html [ Failure ]
-crbug.com/591099 http/tests/inspector/network/network-fetch.html [ Failure ]
+crbug.com/591099 http/tests/inspector/network/network-fetch.html [ Crash Failure ]
 crbug.com/591099 http/tests/inspector/network/network-fetch-post-payload.html [ Failure ]
 crbug.com/591099 http/tests/inspector/network/network-filters.html [ Failure ]
 crbug.com/591099 http/tests/inspector/network/network-filters-internals.html [ Failure ]
@@ -14620,8 +16974,8 @@
 crbug.com/591099 http/tests/inspector/network/network-image-404.html [ Failure ]
 crbug.com/591099 http/tests/inspector/network/network-imported-resource-content.html [ Failure ]
 crbug.com/591099 http/tests/inspector/network/network-initiator-from-console.html [ Failure ]
-crbug.com/591099 http/tests/inspector/network/network-initiator.html [ Failure ]
-crbug.com/591099 http/tests/inspector/network/network-memory-cached-resource.html [ Failure ]
+crbug.com/591099 http/tests/inspector/network/network-initiator.html [ Failure Timeout ]
+crbug.com/591099 http/tests/inspector/network/network-memory-cached-resource.html [ Crash Failure ]
 crbug.com/591099 http/tests/inspector/network/network-recording-after-reload-with-screenshots-enabled.html [ Failure ]
 crbug.com/591099 http/tests/inspector/network/network-requestblocking-icon.html [ Failure ]
 crbug.com/591099 http/tests/inspector/network/network-request-revision-content.html [ Crash Failure ]
@@ -14629,12 +16983,12 @@
 crbug.com/591099 http/tests/inspector/network/network-timing.html [ Failure ]
 crbug.com/591099 http/tests/inspector/network/network-xhr-async.html [ Failure ]
 crbug.com/591099 http/tests/inspector/network/network-xhr-async-response-type-blob.html [ Failure ]
-crbug.com/591099 http/tests/inspector/network/network-xhr-binary-content.html [ Failure ]
+crbug.com/591099 http/tests/inspector/network/network-xhr-binary-content.html [ Crash Failure ]
 crbug.com/591099 http/tests/inspector/network/network-xhr-data-received-async-response-type-blob.html [ Failure ]
 crbug.com/591099 http/tests/inspector/network/network-xhr-post-payload.html [ Failure ]
-crbug.com/591099 http/tests/inspector/network/network-xhr-redirect-body.html [ Failure ]
+crbug.com/591099 http/tests/inspector/network/network-xhr-redirect-body.html [ Failure Timeout ]
 crbug.com/591099 http/tests/inspector/network/network-xhr-redirect-method.html [ Failure ]
-crbug.com/591099 http/tests/inspector/network/network-xhr-same-url-as-main-resource.html [ Failure ]
+crbug.com/591099 http/tests/inspector/network/network-xhr-same-url-as-main-resource.html [ Failure Timeout ]
 crbug.com/591099 http/tests/inspector/network/network-xhr-sync.html [ Failure ]
 crbug.com/591099 http/tests/inspector/network/network-xsl-content.html [ Failure ]
 crbug.com/591099 http/tests/inspector/network/ping.html [ Failure ]
@@ -14643,13 +16997,13 @@
 crbug.com/591099 http/tests/inspector/network/preview-searchable.html [ Crash ]
 crbug.com/591099 http/tests/inspector/network/request-name-path.html [ Failure ]
 crbug.com/591099 http/tests/inspector/network/request-parameters-decoding.html [ Failure ]
-crbug.com/591099 http/tests/inspector/network/resource-priority.html [ Failure ]
+crbug.com/591099 http/tests/inspector/network/resource-priority.html [ Crash Failure ]
 crbug.com/591099 http/tests/inspector/network/script-as-text-loading-long-url.html [ Failure ]
 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 Pass ]
-crbug.com/591099 http/tests/inspector/network/x-frame-options-deny.html [ Failure ]
+crbug.com/591099 http/tests/inspector/network/x-frame-options-deny.html [ Crash 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 ]
 crbug.com/591099 http/tests/inspector/persistence/automapping-git-folders.html [ Failure ]
@@ -14657,10 +17011,11 @@
 crbug.com/591099 http/tests/inspector/persistence/automapping-sane.html [ Failure ]
 crbug.com/591099 http/tests/inspector/persistence/automapping-sourcemap-nameclash.html [ Failure ]
 crbug.com/591099 http/tests/inspector/persistence/filesystem-delete-file.html [ Failure ]
+crbug.com/591099 http/tests/inspector/persistence/navigator-create-file-copy.html [ Failure ]
 crbug.com/591099 http/tests/inspector/persistence/persistence-do-not-bind-dirty-sourcecode.html [ Failure ]
 crbug.com/591099 http/tests/inspector/persistence/persistence-do-not-overwrite-css.html [ Failure ]
 crbug.com/591099 http/tests/inspector/persistence/persistence-go-to-file-dialog.html [ Failure ]
-crbug.com/591099 http/tests/inspector/persistence/persistence-merge-editor-tabs.html [ Failure ]
+crbug.com/591099 http/tests/inspector/persistence/persistence-merge-editor-tabs.html [ Crash Failure ]
 crbug.com/591099 http/tests/inspector/persistence/persistence-move-breakpoints.html [ Failure ]
 crbug.com/591099 http/tests/inspector/persistence/persistence-move-breakpoints-on-reload.html [ Failure ]
 crbug.com/591099 http/tests/inspector/persistence/persistence-navigator.html [ Failure ]
@@ -14676,18 +17031,20 @@
 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 Timeout ]
+crbug.com/591099 http/tests/inspector-protocol/network-fetch-content-with-error-status-code.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 Timeout ]
 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 Timeout ]
-crbug.com/591099 http/tests/inspector-protocol/request-mixed-content-status-optionally-blockable.html [ Failure Timeout ]
+crbug.com/591099 http/tests/inspector-protocol/request-mixed-content-status-optionally-blockable.html [ Crash Failure 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 [ Crash Failure ]
-crbug.com/591099 http/tests/inspector/resource-parameters.html [ Failure ]
+crbug.com/591099 http/tests/inspector/resource-parameters.html [ Crash Failure ]
+crbug.com/591099 http/tests/inspector/resource-parameters-ipv6.html [ Crash Failure ]
 crbug.com/591099 http/tests/inspector/resource-tree/cached-resource-metadata.html [ Failure ]
 crbug.com/591099 http/tests/inspector/resource-tree/resource-metadata.html [ Failure Timeout ]
 crbug.com/591099 http/tests/inspector/resource-tree/resource-request-content-after-loading-and-clearing-cache.html [ Failure ]
@@ -14763,7 +17120,7 @@
 crbug.com/591099 http/tests/inspector/stacktraces/csp-setTimeout-warning-contains-stacktrace.html [ Failure ]
 crbug.com/591099 http/tests/inspector/stylesheet-source-mapping.html [ Failure ]
 crbug.com/591099 http/tests/inspector/template-content-inspect-crash.html [ Failure ]
-crbug.com/591099 http/tests/inspector/text-source-map.html [ Failure ]
+crbug.com/591099 http/tests/inspector/text-source-map.html [ Crash Failure ]
 crbug.com/591099 http/tests/inspector/tracing/timeline-network-received-data.html [ Crash ]
 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 ]
@@ -14781,6 +17138,7 @@
 crbug.com/591099 http/tests/inspector/workers-on-navigation.html [ Failure ]
 crbug.com/591099 http/tests/intersection-observer/root-bounds.html [ Crash ]
 crbug.com/591099 http/tests/linkHeader/link-preload-in-iframe.html [ Crash ]
+crbug.com/591099 http/tests/loading/307-after-303-after-post.html [ Crash Pass ]
 crbug.com/591099 http/tests/loading/empty-content-disposition-type.html [ Crash ]
 crbug.com/591099 http/tests/loading/fire-error-event-empty-404-script.html [ Failure ]
 crbug.com/591099 http/tests/loading/fire-error-event-script-no-content-type.html [ Failure ]
@@ -14806,7 +17164,7 @@
 crbug.com/591099 http/tests/loading/simple-subframe.html [ Failure ]
 crbug.com/591099 http/tests/loading/text-content-type-with-binary-extension.html [ Failure ]
 crbug.com/591099 http/tests/local/blob/send-data-blob.html [ Failure ]
-crbug.com/591099 http/tests/local/blob/send-hybrid-blob.html [ Failure ]
+crbug.com/591099 http/tests/local/blob/send-hybrid-blob.html [ Crash 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 Failure ]
@@ -14814,7 +17172,9 @@
 crbug.com/591099 http/tests/local/fileapi/send-dragged-file.html [ Crash Failure ]
 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/form-data-with-unknown-file-extension.html [ Crash Pass ]
+crbug.com/591099 http/tests/local/formdata/send-form-data-constructed-from-form.html [ Crash Pass ]
+crbug.com/591099 http/tests/local/formdata/send-form-data.html [ Crash Failure ]
 crbug.com/591099 http/tests/local/formdata/send-form-data-with-bad-string.html [ Failure ]
 crbug.com/591099 http/tests/local/formdata/send-form-data-with-empty-blob-filename.html [ Failure ]
 crbug.com/591099 http/tests/local/formdata/send-form-data-with-empty-file-filename.html [ Crash ]
@@ -14888,7 +17248,7 @@
 crbug.com/591099 http/tests/media/remove-while-loading.html [ Crash ]
 crbug.com/591099 http/tests/media/text-served-as-text.html [ Crash ]
 crbug.com/591099 http/tests/media/video-buffered.html [ Crash ]
-crbug.com/591099 http/tests/media/video-buffered-range-contains-currentTime.html [ Failure ]
+crbug.com/591099 http/tests/media/video-buffered-range-contains-currentTime.html [ Failure Pass ]
 crbug.com/591099 http/tests/media/video-controls-download-button-displayed.html [ Crash ]
 crbug.com/591099 http/tests/media/video-controls-download-button-not-displayed-hide-download-ui.html [ Crash ]
 crbug.com/591099 http/tests/media/video-controls-download-button-not-displayed-mediastream.html [ Crash ]
@@ -14898,6 +17258,7 @@
 crbug.com/591099 http/tests/media/video-controls-overflow-menu-updates-appropriately.html [ Crash ]
 crbug.com/591099 http/tests/media/video-cookie.html [ Crash ]
 crbug.com/591099 http/tests/media/video-error-abort.html [ Crash ]
+crbug.com/591099 http/tests/media/video-in-iframe-crash.html [ Crash Pass ]
 crbug.com/591099 http/tests/media/video-load-metadata-decode-error.html [ Crash ]
 crbug.com/591099 http/tests/media/video-load-suspend.html [ Crash ]
 crbug.com/591099 http/tests/media/video-load-with-userpass.html [ Crash ]
@@ -14930,7 +17291,7 @@
 crbug.com/591099 http/tests/misc/char-encoding-in-hidden-charset-field-with-ISO-2022-JP.html [ Failure ]
 crbug.com/591099 http/tests/misc/char-encoding-in-hidden-charset-field-with-one-field.html [ Failure ]
 crbug.com/591099 http/tests/misc/char-encoding-in-hidden-charset-field-with-Shift_JIS.html [ Failure ]
-crbug.com/591099 http/tests/misc/char-encoding-in-text-charset-field-with-value.html [ Failure ]
+crbug.com/591099 http/tests/misc/char-encoding-in-text-charset-field-with-value.html [ Crash Failure ]
 crbug.com/591099 http/tests/misc/char-encoding-without-charset-field.html [ Failure ]
 crbug.com/591099 http/tests/misc/client-hint-accept-on-subresource.html [ Crash ]
 crbug.com/591099 http/tests/misc/client-hints-accept-iframe.html [ Crash ]
@@ -14953,28 +17314,29 @@
 crbug.com/591099 http/tests/misc/dns-prefetch-control.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/embed-image-load-outlives-gc-without-crashing.html [ Crash ]
+crbug.com/591099 http/tests/misc/embed-image-load-outlives-gc-without-crashing.html [ Crash Pass ]
 crbug.com/591099 http/tests/misc/empty-cookie.html [ Failure ]
-crbug.com/591099 http/tests/misc/empty-file-formdata.html [ Failure ]
-crbug.com/591099 http/tests/misc/empty-urls.html [ Failure ]
+crbug.com/591099 http/tests/misc/empty-file-formdata.html [ Crash Failure ]
+crbug.com/591099 http/tests/misc/empty-urls.html [ Crash Failure ]
 crbug.com/591099 http/tests/misc/error404.pl [ Failure ]
 crbug.com/591099 http/tests/misc/extract-http-content-language-against-equiv.php [ Failure ]
 crbug.com/591099 http/tests/misc/extract-http-content-language-malformed.php [ Failure ]
 crbug.com/591099 http/tests/misc/extract-http-content-language-multiple.php [ Failure ]
 crbug.com/591099 http/tests/misc/extract-http-content-language.php [ Failure ]
 crbug.com/591099 http/tests/misc/favicon-as-image.html [ Failure ]
-crbug.com/591099 http/tests/misc/font-face-in-multiple-segmented-faces.html [ Failure ]
+crbug.com/591099 http/tests/misc/font-face-in-multiple-segmented-faces.html [ Crash Failure ]
 crbug.com/591099 http/tests/misc/form-action-using-replaceChild.html [ Crash ]
 crbug.com/591099 http/tests/misc/form-post-textplain.html [ Failure ]
 crbug.com/591099 http/tests/misc/frame-access-during-load.html [ Failure ]
 crbug.com/591099 http/tests/misc/generated-content-inside-table.html [ Failure ]
 crbug.com/591099 http/tests/misc/gmail-assert-on-load.html [ Failure ]
 crbug.com/591099 http/tests/misc/iframe404.html [ Crash ]
+crbug.com/591099 http/tests/misc/iframe-domain-test.html [ Crash Pass ]
 crbug.com/591099 http/tests/misc/iframe-reparenting-id-collision.html [ Failure ]
 crbug.com/591099 http/tests/misc/image-blocked-src-change.html [ Failure ]
-crbug.com/591099 http/tests/misc/image-blocked-src-no-change.html [ Failure ]
-crbug.com/591099 http/tests/misc/image-input-type-outlives-gc-without-crashing.html [ Crash ]
-crbug.com/591099 http/tests/misc/image-load-outlives-gc-without-crashing.html [ Crash ]
+crbug.com/591099 http/tests/misc/image-blocked-src-no-change.html [ Crash Failure ]
+crbug.com/591099 http/tests/misc/image-input-type-outlives-gc-without-crashing.html [ Crash Pass ]
+crbug.com/591099 http/tests/misc/image-load-outlives-gc-without-crashing.html [ Crash Pass ]
 crbug.com/591099 http/tests/misc/image-onerror-no-load-event.html [ Failure ]
 crbug.com/591099 http/tests/misc/javascript-url-location-change.html [ Timeout ]
 crbug.com/591099 http/tests/misc/javascript-url-stop-loaders.html [ Failure ]
@@ -14984,9 +17346,9 @@
 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 Failure ]
 crbug.com/591099 http/tests/misc/object-image-error-with-onload.html [ Crash Failure ]
-crbug.com/591099 http/tests/misc/object-image-load-outlives-gc-without-crashing.html [ Crash ]
+crbug.com/591099 http/tests/misc/object-image-load-outlives-gc-without-crashing.html [ Crash Pass ]
 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 ]
+crbug.com/591099 http/tests/misc/percent-sign-in-form-field-name.html [ Crash Failure ]
 crbug.com/591099 http/tests/misc/plugin-array-detach.html [ Crash ]
 crbug.com/591099 http/tests/misc/refresh-headers.php [ Failure ]
 crbug.com/591099 http/tests/misc/resource-timing-iframe-restored-from-history.html [ Failure ]
@@ -14998,19 +17360,19 @@
 crbug.com/591099 http/tests/misc/script-sync-slow-scripts-onerror.html [ Failure ]
 crbug.com/591099 http/tests/misc/slow-loading-image-in-pattern.html [ Failure ]
 crbug.com/591099 http/tests/misc/slow-loading-mask.html [ Failure ]
-crbug.com/591099 http/tests/misc/slow-preload-cancel.html [ Failure ]
-crbug.com/591099 http/tests/misc/submit-get-in-utf16be.html [ Failure ]
-crbug.com/591099 http/tests/misc/submit-get-in-utf16le.html [ Failure ]
-crbug.com/591099 http/tests/misc/submit-get-in-utf32be.html [ Failure ]
-crbug.com/591099 http/tests/misc/submit-get-in-utf32le.html [ Failure ]
-crbug.com/591099 http/tests/misc/submit-post-in-utf16be.html [ Failure ]
-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/svg-image-load-outlives-gc-without-crashing.html [ Crash ]
+crbug.com/591099 http/tests/misc/slow-preload-cancel.html [ Crash Failure ]
+crbug.com/591099 http/tests/misc/submit-get-in-utf16be.html [ Crash Failure ]
+crbug.com/591099 http/tests/misc/submit-get-in-utf16le.html [ Crash Failure ]
+crbug.com/591099 http/tests/misc/submit-get-in-utf32be.html [ Crash Failure ]
+crbug.com/591099 http/tests/misc/submit-get-in-utf32le.html [ Crash Failure ]
+crbug.com/591099 http/tests/misc/submit-post-in-utf16be.html [ Crash Failure ]
+crbug.com/591099 http/tests/misc/submit-post-in-utf16le.html [ Crash Failure ]
+crbug.com/591099 http/tests/misc/submit-post-in-utf32be.html [ Crash Failure ]
+crbug.com/591099 http/tests/misc/submit-post-in-utf32le.html [ Crash Failure ]
+crbug.com/591099 http/tests/misc/svg-image-load-outlives-gc-without-crashing.html [ Crash Pass ]
 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/video-poster-image-load-outlives-gc-without-crashing.html [ Crash ]
+crbug.com/591099 http/tests/misc/video-poster-image-load-outlives-gc-without-crashing.html [ Crash Pass ]
 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 ]
 crbug.com/591099 http/tests/misc/webtiming-cross-origin-redirect.php [ Failure ]
@@ -15024,19 +17386,20 @@
 crbug.com/591099 http/tests/multipart/stop-loading-after-onload1.html [ Crash ]
 crbug.com/591099 http/tests/multipart/stop-loading-after-onload2.html [ Crash ]
 crbug.com/591099 http/tests/multipart/stop-loading.html [ Crash ]
-crbug.com/591099 http/tests/navigation/anchor-basic.html [ Failure ]
+crbug.com/591099 http/tests/navigation/anchor-basic.html [ Crash Failure ]
 crbug.com/591099 http/tests/navigation/anchor-frames-cross-origin.html [ Failure ]
 crbug.com/591099 http/tests/navigation/anchor-frames-gbk.html [ Failure ]
 crbug.com/591099 http/tests/navigation/anchor-frames.html [ Failure ]
 crbug.com/591099 http/tests/navigation/anchor-frames-same-origin.html [ Failure ]
-crbug.com/591099 http/tests/navigation/anchor-goback.html [ Failure ]
+crbug.com/591099 http/tests/navigation/anchor-goback.html [ Crash Failure ]
+crbug.com/591099 http/tests/navigation/anchor-subframeload.html [ Crash Pass ]
 crbug.com/591099 http/tests/navigation/back-to-slow-frame.html [ Failure ]
 crbug.com/591099 http/tests/navigation/cross-origin-fragment-navigation-is-async.html [ Failure ]
 crbug.com/591099 http/tests/navigation/fallback-anchor-reload.html [ Crash ]
-crbug.com/591099 http/tests/navigation/form-targets-cross-site-frame-get.html [ Failure ]
-crbug.com/591099 http/tests/navigation/form-targets-cross-site-frame-no-referrer.html [ Failure ]
-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/form-targets-cross-site-frame-get.html [ Crash Failure ]
+crbug.com/591099 http/tests/navigation/form-targets-cross-site-frame-no-referrer.html [ Crash Failure ]
+crbug.com/591099 http/tests/navigation/form-targets-cross-site-frame-post.html [ Crash Failure ]
+crbug.com/591099 http/tests/navigation/form-with-enctype-targets-cross-site-frame.html [ Crash Failure ]
 crbug.com/591099 http/tests/navigation/forward-and-cancel.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 ]
@@ -15047,9 +17410,12 @@
 crbug.com/591099 http/tests/navigation/javascriptlink-goback.html [ Timeout ]
 crbug.com/591099 http/tests/navigation/javascriptlink-subframeload.html [ Timeout ]
 crbug.com/591099 http/tests/navigation/lockedhistory-iframe.html [ Failure ]
-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/metaredirect-basic.html [ Crash Failure ]
+crbug.com/591099 http/tests/navigation/metaredirect-frames.html [ Crash Pass ]
+crbug.com/591099 http/tests/navigation/metaredirect-goback.html [ Crash Failure ]
+crbug.com/591099 http/tests/navigation/metaredirect-subframeload.html [ Crash Pass ]
 crbug.com/591099 http/tests/navigation/navigate-during-commit.html [ Crash ]
+crbug.com/591099 http/tests/navigation/navigation-redirect-schedule-crash.html [ Crash Pass ]
 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 ]
@@ -15060,22 +17426,33 @@
 crbug.com/591099 http/tests/navigation/ping-cross-origin-from-https.html [ Crash Timeout ]
 crbug.com/591099 http/tests/navigation/ping-cross-origin.html [ Crash Timeout ]
 crbug.com/591099 http/tests/navigation/ping-same-origin.html [ Crash Timeout ]
-crbug.com/591099 http/tests/navigation/post-basic.html [ Failure ]
-crbug.com/591099 http/tests/navigation/post-frames-goback1.html [ Failure ]
-crbug.com/591099 http/tests/navigation/post-frames.html [ Failure ]
-crbug.com/591099 http/tests/navigation/post-goback1.html [ Failure ]
-crbug.com/591099 http/tests/navigation/post-goback2.html [ Failure ]
-crbug.com/591099 http/tests/navigation/post-goback-same-url.html [ Failure ]
-crbug.com/591099 http/tests/navigation/postredirect-frames-goback1.html [ Failure ]
-crbug.com/591099 http/tests/navigation/postredirect-goback2.html [ Failure ]
-crbug.com/591099 http/tests/navigation/redirect302-basic.html [ Failure ]
-crbug.com/591099 http/tests/navigation/redirect302-goback.html [ Failure ]
+crbug.com/591099 http/tests/navigation/post-301-response.html [ Crash Pass ]
+crbug.com/591099 http/tests/navigation/post-302-response.html [ Crash Pass ]
+crbug.com/591099 http/tests/navigation/post-303-response.html [ Crash Pass ]
+crbug.com/591099 http/tests/navigation/post-307-response.html [ Crash Pass ]
+crbug.com/591099 http/tests/navigation/post-basic.html [ Crash Failure ]
+crbug.com/591099 http/tests/navigation/post-frames-goback1.html [ Crash Failure ]
+crbug.com/591099 http/tests/navigation/post-frames.html [ Crash Failure ]
+crbug.com/591099 http/tests/navigation/post-goback1.html [ Crash Failure ]
+crbug.com/591099 http/tests/navigation/post-goback2.html [ Crash Failure ]
+crbug.com/591099 http/tests/navigation/post-goback-same-url.html [ Crash Failure ]
+crbug.com/591099 http/tests/navigation/postredirect-basic.html [ Crash Pass ]
+crbug.com/591099 http/tests/navigation/postredirect-frames-goback1.html [ Crash Failure ]
+crbug.com/591099 http/tests/navigation/postredirect-frames.html [ Crash Pass ]
+crbug.com/591099 http/tests/navigation/postredirect-goback1.html [ Crash Pass ]
+crbug.com/591099 http/tests/navigation/postredirect-goback2.html [ Crash Failure ]
+crbug.com/591099 http/tests/navigation/redirect302-basic.html [ Crash Failure ]
+crbug.com/591099 http/tests/navigation/redirect302-frames.html [ Crash Pass ]
+crbug.com/591099 http/tests/navigation/redirect302-goback.html [ Crash Failure ]
+crbug.com/591099 http/tests/navigation/redirect302-subframeload.html [ Crash Pass ]
+crbug.com/591099 http/tests/navigation/redirect-load-no-form-restoration.html [ Crash Pass ]
 crbug.com/591099 http/tests/navigation/redirect-preserves-referrer.html [ Timeout ]
-crbug.com/591099 http/tests/navigation/relativeanchor-basic.html [ Failure ]
-crbug.com/591099 http/tests/navigation/relativeanchor-goback.html [ Failure ]
-crbug.com/591099 http/tests/navigation/rename-subframe-goback.html [ Failure ]
+crbug.com/591099 http/tests/navigation/relativeanchor-basic.html [ Crash Failure ]
+crbug.com/591099 http/tests/navigation/relativeanchor-frames.html [ Crash Pass ]
+crbug.com/591099 http/tests/navigation/relativeanchor-goback.html [ Crash Failure ]
+crbug.com/591099 http/tests/navigation/rename-subframe-goback.html [ Crash Failure ]
 crbug.com/591099 http/tests/navigation/replacestate-base-illegal.html [ Failure ]
-crbug.com/591099 http/tests/navigation/restore-form-state-https.html [ Failure ]
+crbug.com/591099 http/tests/navigation/restore-form-state-https.html [ Crash Failure ]
 crbug.com/591099 http/tests/navigation/same-and-different-back.html [ Failure ]
 crbug.com/591099 http/tests/navigation/same-document-scroll-position-restore.html [ Timeout ]
 crbug.com/591099 http/tests/navigation/same-origin-fragment-navigation-is-sync.html [ Failure ]
@@ -15083,15 +17460,20 @@
 crbug.com/591099 http/tests/navigation/scrollstate-after-http-equiv-refresh-fragment-identifier.html [ Timeout ]
 crbug.com/591099 http/tests/navigation/scrollstate-after-http-equiv-refresh.html [ Timeout ]
 crbug.com/591099 http/tests/navigation/scrollstate-after-location-reload.html [ Timeout ]
-crbug.com/591099 http/tests/navigation/slowmetaredirect-basic.html [ Failure ]
-crbug.com/591099 http/tests/navigation/slowtimerredirect-basic.html [ Failure ]
-crbug.com/591099 http/tests/navigation/success200-basic.html [ Failure ]
-crbug.com/591099 http/tests/navigation/success200-goback.html [ Failure ]
-crbug.com/591099 http/tests/navigation/success200-loadsame.html [ Failure ]
-crbug.com/591099 http/tests/navigation/success200-reload.html [ Failure ]
+crbug.com/591099 http/tests/navigation/slowmetaredirect-basic.html [ Crash Failure ]
+crbug.com/591099 http/tests/navigation/slowtimerredirect-basic.html [ Crash Failure ]
+crbug.com/591099 http/tests/navigation/success200-basic.html [ Crash Failure ]
+crbug.com/591099 http/tests/navigation/success200-frames.html [ Crash Pass ]
+crbug.com/591099 http/tests/navigation/success200-frames-loadsame.html [ Crash Pass ]
+crbug.com/591099 http/tests/navigation/success200-goback.html [ Crash Failure ]
+crbug.com/591099 http/tests/navigation/success200-loadsame.html [ Crash Failure ]
+crbug.com/591099 http/tests/navigation/success200-reload.html [ Crash Failure ]
+crbug.com/591099 http/tests/navigation/success200-subframeload.html [ Crash Pass ]
 crbug.com/591099 http/tests/navigation/targeted-navigation-in-unload-handler.html [ Crash ]
-crbug.com/591099 http/tests/navigation/timerredirect-basic.html [ Failure ]
-crbug.com/591099 http/tests/navigation/timerredirect-goback.html [ Failure ]
+crbug.com/591099 http/tests/navigation/timerredirect-basic.html [ Crash Failure ]
+crbug.com/591099 http/tests/navigation/timerredirect-frames.html [ Crash Pass ]
+crbug.com/591099 http/tests/navigation/timerredirect-goback.html [ Crash Failure ]
+crbug.com/591099 http/tests/navigation/timerredirect-subframeload.html [ Crash Pass ]
 crbug.com/591099 http/tests/navigation/useragent.php [ Failure ]
 crbug.com/591099 http/tests/navigatorcontentutils/is-protocol-handler-registered.html [ Failure ]
 crbug.com/591099 http/tests/navigatorcontentutils/register-protocol-handler.html [ Failure ]
@@ -15100,6 +17482,7 @@
 crbug.com/591099 http/tests/permissionclient/image-permissions.html [ Failure ]
 crbug.com/591099 http/tests/permissions/chromium/test-request-sharedworker.html [ Pass Timeout ]
 crbug.com/591099 http/tests/permissions/chromium/test-request-worker.html [ Pass Timeout ]
+crbug.com/591099 http/tests/plugins/cross-frame-object-access.html [ Crash Pass ]
 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 ]
@@ -15127,22 +17510,22 @@
 crbug.com/591099 http/tests/security/clipboard/clipboard-file-access.html [ Timeout ]
 crbug.com/591099 http/tests/security/contentSecurityPolicy/1.1/base-uri-allow.html [ Failure ]
 crbug.com/591099 http/tests/security/contentSecurityPolicy/1.1/base-uri-deny.html [ Failure ]
-crbug.com/591099 http/tests/security/contentSecurityPolicy/1.1/form-action-blocked-when-target-blank.html [ Failure ]
-crbug.com/591099 http/tests/security/contentSecurityPolicy/1.1/form-action-blocked-when-target-cross-site-window.html [ Failure ]
-crbug.com/591099 http/tests/security/contentSecurityPolicy/1.1/form-action-leak-path-on-redirect.html [ Failure ]
+crbug.com/591099 http/tests/security/contentSecurityPolicy/1.1/form-action-blocked-when-target-blank.html [ Crash Failure ]
+crbug.com/591099 http/tests/security/contentSecurityPolicy/1.1/form-action-blocked-when-target-cross-site-window.html [ Crash Failure ]
+crbug.com/591099 http/tests/security/contentSecurityPolicy/1.1/form-action-leak-path-on-redirect.html [ Crash Failure ]
 crbug.com/591099 http/tests/security/contentSecurityPolicy/1.1/form-action-resubmission-iframe-reload-from-child.html [ Crash ]
 crbug.com/591099 http/tests/security/contentSecurityPolicy/1.1/form-action-resubmission-iframe-reload-from-parent.html [ Crash ]
-crbug.com/591099 http/tests/security/contentSecurityPolicy/1.1/form-action-src-allowed.html [ Failure ]
-crbug.com/591099 http/tests/security/contentSecurityPolicy/1.1/form-action-src-allowed-with-redirect.html [ Failure ]
-crbug.com/591099 http/tests/security/contentSecurityPolicy/1.1/form-action-src-blocked.html [ Failure ]
-crbug.com/591099 http/tests/security/contentSecurityPolicy/1.1/form-action-src-default-ignored.html [ Failure ]
-crbug.com/591099 http/tests/security/contentSecurityPolicy/1.1/form-action-src-default-ignored-with-redirect.html [ Failure ]
-crbug.com/591099 http/tests/security/contentSecurityPolicy/1.1/form-action-src-get-allowed.html [ Failure ]
-crbug.com/591099 http/tests/security/contentSecurityPolicy/1.1/form-action-src-get-allowed-with-redirect.html [ Failure ]
-crbug.com/591099 http/tests/security/contentSecurityPolicy/1.1/form-action-src-get-blocked.html [ Failure ]
-crbug.com/591099 http/tests/security/contentSecurityPolicy/1.1/form-action-src-get-blocked-with-redirect.html [ Failure ]
-crbug.com/591099 http/tests/security/contentSecurityPolicy/1.1/form-action-src-javascript-blocked.html [ Failure ]
-crbug.com/591099 http/tests/security/contentSecurityPolicy/1.1/form-action-src-redirect-blocked.html [ Failure ]
+crbug.com/591099 http/tests/security/contentSecurityPolicy/1.1/form-action-src-allowed.html [ Crash Failure ]
+crbug.com/591099 http/tests/security/contentSecurityPolicy/1.1/form-action-src-allowed-with-redirect.html [ Crash Failure ]
+crbug.com/591099 http/tests/security/contentSecurityPolicy/1.1/form-action-src-blocked.html [ Crash Failure ]
+crbug.com/591099 http/tests/security/contentSecurityPolicy/1.1/form-action-src-default-ignored.html [ Crash Failure ]
+crbug.com/591099 http/tests/security/contentSecurityPolicy/1.1/form-action-src-default-ignored-with-redirect.html [ Crash Failure ]
+crbug.com/591099 http/tests/security/contentSecurityPolicy/1.1/form-action-src-get-allowed.html [ Crash Failure ]
+crbug.com/591099 http/tests/security/contentSecurityPolicy/1.1/form-action-src-get-allowed-with-redirect.html [ Crash Failure ]
+crbug.com/591099 http/tests/security/contentSecurityPolicy/1.1/form-action-src-get-blocked.html [ Crash Failure ]
+crbug.com/591099 http/tests/security/contentSecurityPolicy/1.1/form-action-src-get-blocked-with-redirect.html [ Crash Failure ]
+crbug.com/591099 http/tests/security/contentSecurityPolicy/1.1/form-action-src-javascript-blocked.html [ Crash Failure ]
+crbug.com/591099 http/tests/security/contentSecurityPolicy/1.1/form-action-src-redirect-blocked.html [ Crash Failure ]
 crbug.com/591099 http/tests/security/contentSecurityPolicy/1.1/form-action-src-redirect-blocked-in-new-window.html [ Crash ]
 crbug.com/591099 http/tests/security/contentSecurityPolicy/1.1/plugintypes-affects-child.html [ Failure ]
 crbug.com/591099 http/tests/security/contentSecurityPolicy/1.1/plugintypes-affects-cross-site-child-allowed.html [ Failure ]
@@ -15155,7 +17538,7 @@
 crbug.com/591099 http/tests/security/contentSecurityPolicy/1.1/plugintypes-url-02.html [ Failure ]
 crbug.com/591099 http/tests/security/contentSecurityPolicy/1.1/scripthash-handler-allowed.html [ Crash ]
 crbug.com/591099 http/tests/security/contentSecurityPolicy/1.1/scripthash-handler-blocked.html [ Crash ]
-crbug.com/591099 http/tests/security/contentSecurityPolicy/cached-frame-csp.html [ Failure ]
+crbug.com/591099 http/tests/security/contentSecurityPolicy/cached-frame-csp.html [ Crash Failure ]
 crbug.com/591099 http/tests/security/contentSecurityPolicy/cascade/cross-origin.html [ Crash ]
 crbug.com/591099 http/tests/security/contentSecurityPolicy/cascade/cross-origin-with-own-policy.html [ Crash ]
 crbug.com/591099 http/tests/security/contentSecurityPolicy/cascade/same-origin.html [ Crash ]
@@ -15169,7 +17552,8 @@
 crbug.com/591099 http/tests/security/contentSecurityPolicy/directive-parsing-multiple-headers.html [ Failure ]
 crbug.com/591099 http/tests/security/contentSecurityPolicy/frame-src-cross-origin-load.html [ Failure ]
 crbug.com/591099 http/tests/security/contentSecurityPolicy/frame-src-vs-shift-click.html [ Timeout ]
-crbug.com/591099 http/tests/security/contentSecurityPolicy/multiple-report-policies.php [ Failure ]
+crbug.com/591099 http/tests/security/contentSecurityPolicy/multiple-enforce-policies.php [ Crash Pass ]
+crbug.com/591099 http/tests/security/contentSecurityPolicy/multiple-report-policies.php [ Crash Failure ]
 crbug.com/591099 http/tests/security/contentSecurityPolicy/nonces/scriptnonce-blocked.html [ Failure ]
 crbug.com/591099 http/tests/security/contentSecurityPolicy/nonces/scriptnonce-invalidnonce.html [ Failure ]
 crbug.com/591099 http/tests/security/contentSecurityPolicy/nonces/script-nonces-hidden.php [ Crash ]
@@ -15184,7 +17568,16 @@
 crbug.com/591099 http/tests/security/contentSecurityPolicy/redirect-with-delay.html [ Crash ]
 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-and-enforce.php [ Crash Pass ]
+crbug.com/591099 http/tests/security/contentSecurityPolicy/report-blocked-data-uri.php [ Crash Pass ]
+crbug.com/591099 http/tests/security/contentSecurityPolicy/report-blocked-file-uri.php [ Crash Pass ]
+crbug.com/591099 http/tests/security/contentSecurityPolicy/report-cross-origin-no-cookies.php [ Crash Pass ]
 crbug.com/591099 http/tests/security/contentSecurityPolicy/report-multiple-violations-01.php [ Crash Failure ]
+crbug.com/591099 http/tests/security/contentSecurityPolicy/report-same-origin-with-cookies.php [ Crash Pass ]
+crbug.com/591099 http/tests/security/contentSecurityPolicy/report-uri-from-inline-javascript.php [ Crash Pass ]
+crbug.com/591099 http/tests/security/contentSecurityPolicy/report-uri-from-javascript.php [ Crash Pass ]
+crbug.com/591099 http/tests/security/contentSecurityPolicy/report-uri-multiple.php [ Crash Pass ]
+crbug.com/591099 http/tests/security/contentSecurityPolicy/report-uri-multiple-reversed.php [ Crash Pass ]
 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 ]
@@ -15206,7 +17599,7 @@
 crbug.com/591099 http/tests/security/contentSecurityPolicy/source-list-parsing-no-semicolon.html [ Failure ]
 crbug.com/591099 http/tests/security/contentSecurityPolicy/source-list-parsing-paths-01.html [ Failure ]
 crbug.com/591099 http/tests/security/contentSecurityPolicy/source-list-parsing-paths-02.html [ Failure ]
-crbug.com/591099 http/tests/security/contentSecurityPolicy/xsl-img-blocked.php [ Failure ]
+crbug.com/591099 http/tests/security/contentSecurityPolicy/xsl-img-blocked.php [ Crash Failure ]
 crbug.com/591099 http/tests/security/contentTypeOptions/invalid-content-type-options-allowed.html [ Failure ]
 crbug.com/591099 http/tests/security/contentTypeOptions/nosniff-dynamic-script-blocked.html [ Failure ]
 crbug.com/591099 http/tests/security/contentTypeOptions/nosniff-script-allowed.html [ Failure ]
@@ -15223,14 +17616,17 @@
 crbug.com/591099 http/tests/security/cors-rfc1918/addressspace-worker-basic.html [ Crash ]
 crbug.com/591099 http/tests/security/cross-frame-access-callback-explicit-domain-ALLOW.html [ Failure ]
 crbug.com/591099 http/tests/security/cross-frame-access-callback-explicit-domain-DENY.html [ Failure ]
-crbug.com/591099 http/tests/security/cross-frame-access-call.html [ Failure ]
+crbug.com/591099 http/tests/security/cross-frame-access-call.html [ Crash Failure ]
+crbug.com/591099 http/tests/security/cross-frame-access-custom.html [ Crash Pass ]
 crbug.com/591099 http/tests/security/cross-frame-access-document-direct.html [ Failure ]
 crbug.com/591099 http/tests/security/cross-frame-access-enumeration.html [ Failure ]
-crbug.com/591099 http/tests/security/cross-frame-access-first-time.html [ Failure ]
+crbug.com/591099 http/tests/security/cross-frame-access-first-time.html [ Crash Failure ]
 crbug.com/591099 http/tests/security/cross-frame-access-frameelement.html [ Failure ]
+crbug.com/591099 http/tests/security/cross-frame-access-frames.html [ Crash Pass ]
 crbug.com/591099 http/tests/security/cross-frame-access-get-custom-property-cached.html [ Failure ]
-crbug.com/591099 http/tests/security/cross-frame-access-get.html [ Failure ]
-crbug.com/591099 http/tests/security/cross-frame-access-getOwnPropertyDescriptor.html [ Failure ]
+crbug.com/591099 http/tests/security/cross-frame-access-get.html [ Crash Failure ]
+crbug.com/591099 http/tests/security/cross-frame-access-getOwnPropertyDescriptor.html [ Crash Failure ]
+crbug.com/591099 http/tests/security/cross-frame-access-name-getter.html [ Crash Pass ]
 crbug.com/591099 http/tests/security/cross-frame-access-parent-explicit-domain-isolated-world.html [ Failure ]
 crbug.com/591099 http/tests/security/cross-frame-access-parent-isolated-world.html [ Failure ]
 crbug.com/591099 http/tests/security/cross-frame-access-port-explicit-domain.html [ Failure ]
@@ -15277,8 +17673,9 @@
 crbug.com/591099 http/tests/security/document-origin.html [ Crash ]
 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/escape-form-data-field-names.html [ Crash Failure ]
 crbug.com/591099 http/tests/security/filesystem-iframe-from-remote.html [ Pass Timeout ]
+crbug.com/591099 http/tests/security/frame-loading-via-document-write.html [ Crash Pass ]
 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 ]
@@ -15332,8 +17729,8 @@
 crbug.com/591099 http/tests/security/listener/xss-XMLHttpRequest-addEventListener.html [ Failure ]
 crbug.com/591099 http/tests/security/listener/xss-XMLHttpRequest-shortcut.html [ Failure ]
 crbug.com/591099 http/tests/security/local-iFrame-from-remote.html [ Failure ]
-crbug.com/591099 http/tests/security/local-image-from-remote.html [ Failure ]
-crbug.com/591099 http/tests/security/local-image-from-remote-whitelisted.html [ Failure ]
+crbug.com/591099 http/tests/security/local-image-from-remote.html [ Crash Failure ]
+crbug.com/591099 http/tests/security/local-image-from-remote-whitelisted.html [ Crash Failure ]
 crbug.com/591099 http/tests/security/local-JavaScript-from-remote.html [ Failure ]
 crbug.com/591099 http/tests/security/local-video-poster-from-remote.html [ Failure ]
 crbug.com/591099 http/tests/security/local-video-source-from-remote.html [ Failure ]
@@ -15370,14 +17767,16 @@
 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 ]
+crbug.com/591099 http/tests/security/mixedContent/insecure-image-in-main-frame-blocked.html [ Crash Pass ]
 crbug.com/591099 http/tests/security/mixedContent/insecure-picture-in-main-frame-blocked.https.html [ Crash ]
 crbug.com/591099 http/tests/security/mixedContent/insecure-plugin-in-iframe.html [ Failure ]
 crbug.com/591099 http/tests/security/mixedContent/insecure-script-in-iframe.html [ Failure ]
 crbug.com/591099 http/tests/security/mixedContent/nonwebby-scheme-in-iframe-allowed.https.html [ Failure ]
+crbug.com/591099 http/tests/security/mixedContent/preload-insecure-image-in-main-frame-blocked.html [ Crash Pass ]
 crbug.com/591099 http/tests/security/mixedContent/redirect-https-to-http-script-in-iframe.html [ Failure ]
 crbug.com/591099 http/tests/security/mixedContent/redirect-http-to-https-script-in-iframe.html [ Failure ]
-crbug.com/591099 http/tests/security/mixedContent/strict-mode-image-in-frame-blocked.https.html [ Failure ]
-crbug.com/591099 http/tests/security/mixedContent/strict-mode-via-pref-image-blocked.https.html [ Failure ]
+crbug.com/591099 http/tests/security/mixedContent/strict-mode-image-in-frame-blocked.https.html [ Crash Failure ]
+crbug.com/591099 http/tests/security/mixedContent/strict-mode-via-pref-image-blocked.https.html [ Crash Failure ]
 crbug.com/591099 http/tests/security/no-popup-from-sandbox.html [ Failure ]
 crbug.com/591099 http/tests/security/no-popup-from-sandbox-top.html [ Failure ]
 crbug.com/591099 http/tests/security/popup-allowed-by-sandbox-can-navigate.html [ Failure ]
@@ -15435,7 +17834,7 @@
 crbug.com/591099 http/tests/security/sandboxed-iframe-invalid.html [ Failure ]
 crbug.com/591099 http/tests/security/sandboxed-iframe-javascript-url.html [ Crash ]
 crbug.com/591099 http/tests/security/sandboxed-iframe-meta-refresh.html [ Failure ]
-crbug.com/591099 http/tests/security/sandboxed-iframe-modify-self.html [ Failure ]
+crbug.com/591099 http/tests/security/sandboxed-iframe-modify-self.html [ Crash Failure ]
 crbug.com/591099 http/tests/security/sandboxed-iframe-origin-add.html [ Failure ]
 crbug.com/591099 http/tests/security/sandboxed-iframe-origin-remove.html [ Failure ]
 crbug.com/591099 http/tests/security/sandboxed-opener-can-close-window.html [ Failure ]
@@ -15524,24 +17923,29 @@
 crbug.com/591099 http/tests/security/XFrameOptions/x-frame-options-parent-same-origin-deny.html [ Failure ]
 crbug.com/591099 http/tests/security/xssAuditor/base-href-direct.html [ Failure ]
 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/cached-frame.html [ Crash 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.html [ Crash Pass ]
 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 ]
+crbug.com/591099 http/tests/security/xssAuditor/full-block-get-from-iframe.html [ Crash Pass ]
 crbug.com/591099 http/tests/security/xssAuditor/full-block-iframe-javascript-url.html [ Failure ]
 crbug.com/591099 http/tests/security/xssAuditor/full-block-iframe-no-inherit.php [ Failure ]
 crbug.com/591099 http/tests/security/xssAuditor/full-block-javascript-link.html [ Failure ]
 crbug.com/591099 http/tests/security/xssAuditor/full-block-link-onclick.html [ Failure ]
 crbug.com/591099 http/tests/security/xssAuditor/full-block-object-tag.html [ Failure ]
+crbug.com/591099 http/tests/security/xssAuditor/full-block-post-from-iframe.html [ Crash Pass ]
 crbug.com/591099 http/tests/security/xssAuditor/full-block-script-tag-cross-domain.html [ Failure ]
 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/get-from-iframe.html [ Crash Pass ]
 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-char2.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 Pass ]
@@ -15557,19 +17961,24 @@
 crbug.com/591099 http/tests/security/xssAuditor/malformed-xss-protection-header-8.html [ Failure ]
 crbug.com/591099 http/tests/security/xssAuditor/malformed-xss-protection-header-9.html [ Failure ]
 crbug.com/591099 http/tests/security/xssAuditor/no-protection-script-tag.html [ Failure ]
+crbug.com/591099 http/tests/security/xssAuditor/post-from-iframe.html [ Crash Pass ]
 crbug.com/591099 http/tests/security/xssAuditor/property-escape-noquotes.html [ Failure ]
 crbug.com/591099 http/tests/security/xssAuditor/property-escape-noquotes-tab-slash-chars.html [ Failure ]
 crbug.com/591099 http/tests/security/xssAuditor/property-inject.html [ Failure ]
 crbug.com/591099 http/tests/security/xssAuditor/reflection-in-path.html [ Failure ]
 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-post-control-char.html [ Crash Pass ]
+crbug.com/591099 http/tests/security/xssAuditor/script-tag-post.html [ Crash Pass ]
+crbug.com/591099 http/tests/security/xssAuditor/script-tag-post-null-char.html [ Crash Pass ]
+crbug.com/591099 http/tests/security/xssAuditor/script-tag-post-redirect.html [ Crash 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 ]
 crbug.com/591099 http/tests/security/xssAuditor/svg-animate.html [ Failure ]
 crbug.com/591099 http/tests/security/xssAuditor/window-open-without-url-should-not-assert.html [ Failure ]
+crbug.com/591099 http/tests/security/xssAuditor/xss-protection-parsing-01.html [ Crash Pass ]
 crbug.com/591099 http/tests/security/xssAuditor/xss-protection-parsing-02.html [ Failure ]
 crbug.com/591099 http/tests/security/xssAuditor/xss-protection-parsing-03.html [ Failure ]
 crbug.com/591099 http/tests/security/xssAuditor/xss-protection-parsing-04.html [ Failure ]
@@ -15586,15 +17995,17 @@
 crbug.com/591099 http/tests/sendbeacon/beacon-cross-origin-redirect.html [ Failure ]
 crbug.com/591099 http/tests/sendbeacon/beacon-detached-no-crash.html [ Failure ]
 crbug.com/591099 http/tests/sendbeacon/beacon-same-origin.html [ Failure ]
+crbug.com/591099 http/tests/serviceworker/chromium.fetch-csp.html [ Crash Pass ]
+crbug.com/591099 http/tests/serviceworker/chromium.fetch-event-headers.html [ Crash Pass ]
 crbug.com/591099 http/tests/serviceworker/chromium/frame-detached-by-navigation.html [ Crash ]
 crbug.com/591099 http/tests/serviceworker/chromium/resolve-after-window-close.html [ Failure ]
 crbug.com/591099 http/tests/serviceworker/chromium/sandboxed-iframe-fetch-event.html [ Crash ]
 crbug.com/591099 http/tests/serviceworker/chromium/service-worker-gc.html [ Failure ]
 crbug.com/591099 http/tests/serviceworker/chromium/window-close-during-registration.html [ Failure ]
-crbug.com/591099 http/tests/serviceworker/chromium.fetch-event-headers.html [ Crash ]
 crbug.com/591099 http/tests/serviceworker/fetch-request-fallback.html [ Crash Pass ]
 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-preload/chromium/navigation-preload-resource-timing.html [ Failure Pass ]
 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 Pass ]
@@ -15610,8 +18021,10 @@
 crbug.com/591099 http/tests/uri/escaped-entity.html [ Failure ]
 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_navigation_type_reload.html [ Crash Pass ]
 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/Google/resource-timing/html/test_resource_initiator_types.html [ Crash Pass ]
 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 ]
@@ -15780,7 +18193,7 @@
 crbug.com/591099 http/tests/xmlhttprequest/access-control-and-redirects-async.html [ Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/access-control-and-redirects-async-same-origin.html [ Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/access-control-and-redirects.html [ Failure ]
-crbug.com/591099 http/tests/xmlhttprequest/access-control-basic-denied-preflight-cache.html [ Failure ]
+crbug.com/591099 http/tests/xmlhttprequest/access-control-basic-denied-preflight-cache.html [ Crash Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/access-control-basic-post-success-no-content-type.html [ Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/access-control-preflight-credential-async.html [ Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/access-control-preflight-credential-sync.html [ Failure ]
@@ -15807,7 +18220,7 @@
 crbug.com/591099 http/tests/xmlhttprequest/bom.html [ Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/broken-xml-encoding.html [ Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/cache-control-request.html [ Failure ]
-crbug.com/591099 http/tests/xmlhttprequest/cache-override.html [ Failure ]
+crbug.com/591099 http/tests/xmlhttprequest/cache-override.html [ Crash Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/chunked-progress-event-expectedLength.html [ Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/close-window.html [ Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/connection-error-sync.html [ Failure ]
@@ -15820,16 +18233,16 @@
 crbug.com/591099 http/tests/xmlhttprequest/detaching-frame.html [ Crash ]
 crbug.com/591099 http/tests/xmlhttprequest/docLoaderFrame.html [ Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/duplicate-revalidation-reload.html [ Failure ]
-crbug.com/591099 http/tests/xmlhttprequest/encode-request-url-2.html [ Failure ]
-crbug.com/591099 http/tests/xmlhttprequest/encode-request-url.html [ Failure ]
+crbug.com/591099 http/tests/xmlhttprequest/encode-request-url-2.html [ Crash Failure ]
+crbug.com/591099 http/tests/xmlhttprequest/encode-request-url.html [ Crash Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/encoding-send-latin-1.html [ Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/event-listener-gc.html [ Failure ]
-crbug.com/591099 http/tests/xmlhttprequest/event-target.html [ Failure ]
-crbug.com/591099 http/tests/xmlhttprequest/exceptions.html [ Failure ]
-crbug.com/591099 http/tests/xmlhttprequest/extra-parameters.html [ Failure ]
-crbug.com/591099 http/tests/xmlhttprequest/failed-auth.html [ Failure ]
+crbug.com/591099 http/tests/xmlhttprequest/event-target.html [ Crash Failure ]
+crbug.com/591099 http/tests/xmlhttprequest/exceptions.html [ Crash Failure ]
+crbug.com/591099 http/tests/xmlhttprequest/extra-parameters.html [ Crash Failure ]
+crbug.com/591099 http/tests/xmlhttprequest/failed-auth.html [ Crash Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/filename-encoding.html [ Failure ]
-crbug.com/591099 http/tests/xmlhttprequest/frame-load-cancelled-abort.html [ Failure ]
+crbug.com/591099 http/tests/xmlhttprequest/frame-load-cancelled-abort.html [ Crash Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/frame-unload-abort-crash.html [ Crash ]
 crbug.com/591099 http/tests/xmlhttprequest/getAllResponseHeaders.html [ Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/get-dangerous-headers.html [ Failure ]
@@ -15837,11 +18250,11 @@
 crbug.com/591099 http/tests/xmlhttprequest/infoOnProgressEvent.html [ Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/infoOnProgressEvent-response-type-blob.html [ Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/inject-header.html [ Failure ]
-crbug.com/591099 http/tests/xmlhttprequest/interactive-state.html [ Failure ]
+crbug.com/591099 http/tests/xmlhttprequest/interactive-state.html [ Crash Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/logout.html [ Failure ]
-crbug.com/591099 http/tests/xmlhttprequest/methods-async.html [ Failure ]
-crbug.com/591099 http/tests/xmlhttprequest/methods.html [ Failure ]
-crbug.com/591099 http/tests/xmlhttprequest/methods-lower-case.html [ Failure ]
+crbug.com/591099 http/tests/xmlhttprequest/methods-async.html [ Crash Failure ]
+crbug.com/591099 http/tests/xmlhttprequest/methods.html [ Crash Failure ]
+crbug.com/591099 http/tests/xmlhttprequest/methods-lower-case.html [ Crash Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/navigation-abort-detaches-frame.html [ Crash Timeout ]
 crbug.com/591099 http/tests/xmlhttprequest/newline-in-request-uri.html [ Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/null-auth.php [ Failure ]
@@ -15851,7 +18264,7 @@
 crbug.com/591099 http/tests/xmlhttprequest/onloadend-event-after-error.html [ Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/onloadend-event-after-sync-requests.html [ Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/onloadstart-event.html [ Failure ]
-crbug.com/591099 http/tests/xmlhttprequest/open-async-overload.html [ Failure ]
+crbug.com/591099 http/tests/xmlhttprequest/open-async-overload.html [ Crash Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/open-in-body-onload-sync-to-invalid-cross-origin-response-handling.html [ Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/open-in-body-onload-sync-to-invalid-preflight-handling.html [ Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/open-in-body-onload-sync-to-invalid-redirect-response-handling.html [ Failure ]
@@ -15916,7 +18329,7 @@
 crbug.com/591099 http/tests/xmlhttprequest/post-content-type.html [ Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/post-formdata.html [ Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/post-with-boundary.html [ Failure ]
-crbug.com/591099 http/tests/xmlhttprequest/range-test.html [ Failure ]
+crbug.com/591099 http/tests/xmlhttprequest/range-test.html [ Crash Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/readystatechange.html [ Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/redirect-cors-origin-null.html [ Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/redirect-cross-origin-2.html [ Failure ]
@@ -15939,7 +18352,7 @@
 crbug.com/591099 http/tests/xmlhttprequest/response-blob-mimetype.html [ Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/response-document.html [ Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/response-encoding2.html [ Failure ]
-crbug.com/591099 http/tests/xmlhttprequest/response-encoding.html [ Failure ]
+crbug.com/591099 http/tests/xmlhttprequest/response-encoding.html [ Crash Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/response-text.html [ Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/responseURL.html [ Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/responsexml-type.html [ Failure ]
@@ -15951,6 +18364,7 @@
 crbug.com/591099 http/tests/xmlhttprequest/simple-cross-origin-denied-events-post-sync.html [ Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/simple-cross-origin-denied-events-sync.html [ Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/simple-cross-origin-progress-events.html [ Failure ]
+crbug.com/591099 http/tests/xmlhttprequest/small-chunks-response-text.html [ Crash Pass ]
 crbug.com/591099 http/tests/xmlhttprequest/state-after-network-error.html [ Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/status-after-abort.html [ Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/supported-xml-content-types.html [ Failure ]
@@ -15967,31 +18381,31 @@
 crbug.com/591099 http/tests/xmlhttprequest/upload-request-error-event-order.html [ Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/web-apps/007.html [ Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/web-apps/018.html [ Failure ]
-crbug.com/591099 http/tests/xmlhttprequest/workers/abort-exception-assert.html [ Failure ]
-crbug.com/591099 http/tests/xmlhttprequest/workers/access-control-basic-get-fail-non-simple.html [ Failure ]
-crbug.com/591099 http/tests/xmlhttprequest/workers/access-control-preflight-request-headers-referer.html [ Failure ]
+crbug.com/591099 http/tests/xmlhttprequest/workers/abort-exception-assert.html [ Crash Failure ]
+crbug.com/591099 http/tests/xmlhttprequest/workers/access-control-basic-get-fail-non-simple.html [ Crash Failure ]
+crbug.com/591099 http/tests/xmlhttprequest/workers/access-control-preflight-request-headers-referer.html [ Crash Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/workers/close.html [ Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/workers/cross-origin-unsupported-url.html [ Failure ]
-crbug.com/591099 http/tests/xmlhttprequest/workers/methods-async.html [ Failure ]
-crbug.com/591099 http/tests/xmlhttprequest/workers/methods.html [ Failure ]
+crbug.com/591099 http/tests/xmlhttprequest/workers/methods-async.html [ Crash Failure ]
+crbug.com/591099 http/tests/xmlhttprequest/workers/methods.html [ Crash Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/workers/post-formdata.html [ Failure ]
-crbug.com/591099 http/tests/xmlhttprequest/workers/referer.html [ Failure ]
-crbug.com/591099 http/tests/xmlhttprequest/workers/shared-worker-access-control-basic-get-fail-non-simple.html [ Failure ]
+crbug.com/591099 http/tests/xmlhttprequest/workers/referer.html [ Crash Failure ]
+crbug.com/591099 http/tests/xmlhttprequest/workers/shared-worker-access-control-basic-get-fail-non-simple.html [ Crash Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/workers/shared-worker-close.html [ Failure ]
-crbug.com/591099 http/tests/xmlhttprequest/workers/shared-worker-methods-async.html [ Failure ]
-crbug.com/591099 http/tests/xmlhttprequest/workers/shared-worker-methods.html [ Failure ]
-crbug.com/591099 http/tests/xmlhttprequest/workers/shared-worker-referer.html [ Failure ]
+crbug.com/591099 http/tests/xmlhttprequest/workers/shared-worker-methods-async.html [ Crash Failure ]
+crbug.com/591099 http/tests/xmlhttprequest/workers/shared-worker-methods.html [ Crash Failure ]
+crbug.com/591099 http/tests/xmlhttprequest/workers/shared-worker-referer.html [ Crash Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/workers/shared-worker-response-type-blob.html [ Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/workers/shared-worker-response-type-blob-sync.html [ Failure ]
-crbug.com/591099 http/tests/xmlhttprequest/workers/shared-worker-xhr-file-not-found.html [ Failure ]
-crbug.com/591099 http/tests/xmlhttprequest/workers/upload-onprogress-event.html [ Failure ]
+crbug.com/591099 http/tests/xmlhttprequest/workers/shared-worker-xhr-file-not-found.html [ Crash Failure ]
+crbug.com/591099 http/tests/xmlhttprequest/workers/upload-onprogress-event.html [ Crash Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/workers/xmlhttprequest-allowed-with-disabled-web-security.html [ Failure ]
-crbug.com/591099 http/tests/xmlhttprequest/workers/xmlhttprequest-file-not-found.html [ Failure ]
+crbug.com/591099 http/tests/xmlhttprequest/workers/xmlhttprequest-file-not-found.html [ Crash Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/workers/xmlhttprequest-response-type-blob.html [ Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/workers/xmlhttprequest-response-type-blob-sync.html [ Failure ]
-crbug.com/591099 http/tests/xmlhttprequest/workers/xmlhttprequest-timeout-override.html [ Failure ]
+crbug.com/591099 http/tests/xmlhttprequest/workers/xmlhttprequest-timeout-override.html [ Crash Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/xhr-onunload.html [ Failure ]
-crbug.com/591099 http/tests/xmlhttprequest/xml-encoding.html [ Failure ]
+crbug.com/591099 http/tests/xmlhttprequest/xml-encoding.html [ Crash Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/xmlhttprequest-abort-readyState-shouldDispatchEvent.html [ Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/xmlhttprequest-abort-readyState-shouldNotDispatchEvent.html [ Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/xmlhttprequest-addEventListener-onProgress.html [ Failure ]
@@ -16023,46 +18437,88 @@
 crbug.com/591099 http/tests/xmlhttprequest/xmlhttprequest-responseXML-exception.html [ Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/xmlhttprequest-setrequestheader-no-name.html [ Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/xmlhttprequest-setrequestheader-no-value.html [ Failure ]
-crbug.com/591099 http/tests/xmlhttprequest/xmlhttprequest-sync-no-progress-events.html [ Failure ]
+crbug.com/591099 http/tests/xmlhttprequest/xmlhttprequest-sync-no-progress-events.html [ Crash Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/xmlhttprequest-sync-no-timers.html [ Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/xmlhttprequest-sync-vs-async-assertion-failure.html [ Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/xmlhttprequest-test-custom-headers.html [ Failure ]
 crbug.com/591099 http/tests/xmlhttprequest/xmlhttprequest-test-send-flag.html [ Failure ]
-crbug.com/591099 http/tests/xmlhttprequest/xmlhttprequest-unload-sync.html [ Failure ]
-crbug.com/591099 http/tests/xmlhttprequest/zero-length-response.html [ Failure ]
-crbug.com/591099 http/tests/xmlhttprequest/zero-length-response-sync.html [ Failure ]
+crbug.com/591099 http/tests/xmlhttprequest/xmlhttprequest-unload-sync.html [ Crash Failure ]
+crbug.com/591099 http/tests/xmlhttprequest/zero-length-response.html [ Crash Failure ]
+crbug.com/591099 http/tests/xmlhttprequest/zero-length-response-sync.html [ Crash Failure ]
 crbug.com/591099 http/tests/xsl/xslt-transform-with-javascript-disabled.html [ Failure ]
 crbug.com/591099 idle-callback/test-runner-run-idle-tasks.html [ Failure ]
 crbug.com/591099 ietestcenter/css3/bordersbackgrounds/background-attachment-local-scrolling.htm [ Failure ]
 crbug.com/591099 ietestcenter/css3/bordersbackgrounds/background-color-applied-to-rounded-inline-element.htm [ Failure ]
+crbug.com/591099 ietestcenter/css3/bordersbackgrounds/background-color-border-box.htm [ Failure Pass ]
+crbug.com/591099 ietestcenter/css3/bordersbackgrounds/background_color_padding_box.htm [ Failure Pass ]
+crbug.com/591099 ietestcenter/css3/bordersbackgrounds/background_position_three_four_values.htm [ Failure Pass ]
 crbug.com/591099 ietestcenter/css3/bordersbackgrounds/background_properties_greater_than_images.htm [ Failure ]
+crbug.com/591099 ietestcenter/css3/bordersbackgrounds/background_repeat_space_border_box.htm [ Failure Pass ]
 crbug.com/591099 ietestcenter/css3/bordersbackgrounds/background_repeat_space_content_box.htm [ Failure ]
+crbug.com/591099 ietestcenter/css3/bordersbackgrounds/background-repeat-space-padding-box.htm [ Failure Pass ]
+crbug.com/591099 ietestcenter/css3/bordersbackgrounds/background-size-002.htm [ Failure Pass ]
+crbug.com/591099 ietestcenter/css3/bordersbackgrounds/background-size-applies-to-block.htm [ Failure Pass ]
+crbug.com/591099 ietestcenter/css3/bordersbackgrounds/background-size-aspect-ratio.htm [ Failure Pass ]
 crbug.com/591099 ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-001.htm [ Failure ]
-crbug.com/591099 ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-003.htm [ Failure ]
-crbug.com/591099 ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-005.htm [ Failure ]
-crbug.com/591099 ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-011.htm [ Failure ]
+crbug.com/591099 ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-002.htm [ Failure Pass ]
+crbug.com/591099 ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-003.htm [ Crash Failure ]
+crbug.com/591099 ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-004.htm [ Failure Pass ]
+crbug.com/591099 ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-005.htm [ Failure Pass ]
+crbug.com/591099 ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-006.htm [ Failure Pass ]
+crbug.com/591099 ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-007.htm [ Failure Pass ]
+crbug.com/591099 ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-008.htm [ Failure Pass ]
+crbug.com/591099 ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-009.htm [ Failure Pass ]
+crbug.com/591099 ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-010.htm [ Failure Pass ]
+crbug.com/591099 ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-011.htm [ Failure Pass ]
+crbug.com/591099 ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-012.htm [ Failure Pass ]
+crbug.com/591099 ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-013.htm [ Failure Pass ]
+crbug.com/591099 ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-014.htm [ Failure Pass ]
+crbug.com/591099 ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-015.htm [ Failure Pass ]
+crbug.com/591099 ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-016.htm [ Failure Pass ]
+crbug.com/591099 ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-017.htm [ Failure Pass ]
 crbug.com/591099 ietestcenter/css3/bordersbackgrounds/border-radius-clip-001.htm [ Failure ]
-crbug.com/591099 ietestcenter/css3/bordersbackgrounds/border-radius-content-edge-001.htm [ Failure ]
+crbug.com/591099 ietestcenter/css3/bordersbackgrounds/border-radius-clip-002.htm [ Failure Pass ]
+crbug.com/591099 ietestcenter/css3/bordersbackgrounds/border-radius-content-edge-001.htm [ Failure Pass ]
 crbug.com/591099 ietestcenter/css3/bordersbackgrounds/border-radius-different-width-001.htm [ Failure ]
+crbug.com/591099 ietestcenter/css3/bordersbackgrounds/border-radius-initial-value-001.htm [ Failure Pass ]
+crbug.com/591099 ietestcenter/css3/bordersbackgrounds/border-radius-not-inherited-001.htm [ Failure Pass ]
+crbug.com/591099 ietestcenter/css3/bordersbackgrounds/border-radius-shorthand-001.htm [ Failure Pass ]
 crbug.com/591099 ietestcenter/css3/bordersbackgrounds/border-radius-style-001.htm [ Failure ]
+crbug.com/591099 ietestcenter/css3/bordersbackgrounds/border-radius-style-002.htm [ Failure Pass ]
+crbug.com/591099 ietestcenter/css3/bordersbackgrounds/border-radius-style-003.htm [ Failure Pass ]
+crbug.com/591099 ietestcenter/css3/bordersbackgrounds/border-radius-style-004.htm [ Failure Pass ]
+crbug.com/591099 ietestcenter/css3/bordersbackgrounds/border-radius-style-005.htm [ Failure Pass ]
+crbug.com/591099 ietestcenter/css3/bordersbackgrounds/border-radius-sum-of-radii-001.htm [ Failure Pass ]
 crbug.com/591099 ietestcenter/css3/bordersbackgrounds/border-radius-sum-of-radii-002.htm [ Failure ]
+crbug.com/591099 ietestcenter/css3/bordersbackgrounds/border-radius-with-three-values-001.htm [ Failure Pass ]
+crbug.com/591099 ietestcenter/css3/bordersbackgrounds/border-radius-with-two-values-001.htm [ Failure Pass ]
+crbug.com/591099 ietestcenter/css3/bordersbackgrounds/border-top-left-radius-values-001.htm [ Failure Pass ]
+crbug.com/591099 ietestcenter/css3/bordersbackgrounds/border-top-left-radius-values-002.htm [ Failure Pass ]
 crbug.com/591099 ietestcenter/css3/bordersbackgrounds/border-top-left-radius-values-003.htm [ Failure ]
+crbug.com/591099 ietestcenter/css3/bordersbackgrounds/border-top-left-radius-values-004.htm [ Failure Pass ]
+crbug.com/591099 ietestcenter/css3/bordersbackgrounds/border-top-right-radius-values-004.htm [ Failure Pass ]
+crbug.com/591099 ietestcenter/css3/bordersbackgrounds/box-shadow-001.htm [ Failure Pass ]
+crbug.com/591099 ietestcenter/css3/bordersbackgrounds/box-shadow-002.htm [ Failure Pass ]
+crbug.com/591099 ietestcenter/css3/bordersbackgrounds/box-shadow-003.htm [ Failure Pass ]
+crbug.com/591099 ietestcenter/css3/bordersbackgrounds/box-shadow-004.htm [ Failure Pass ]
+crbug.com/591099 ietestcenter/css3/bordersbackgrounds/color-behind-images.htm [ Failure Pass ]
 crbug.com/591099 ietestcenter/css3/bordersbackgrounds/none-as-image-layer.htm [ Failure ]
-crbug.com/591099 ietestcenter/css3/flexbox/flexbox-align-start-001.htm [ Failure ]
+crbug.com/591099 ietestcenter/css3/bordersbackgrounds/order-of-images.htm [ Failure Pass ]
+crbug.com/591099 ietestcenter/css3/flexbox/flexbox-align-start-001.htm [ Failure Pass ]
 crbug.com/591099 ietestcenter/css3/flexbox/flexbox-direction-001.htm [ Failure ]
-crbug.com/591099 ietestcenter/css3/flexbox/flexbox-flex-003.htm [ Failure ]
-crbug.com/591099 ietestcenter/css3/flexbox/flexbox-flex-004.htm [ Failure ]
-crbug.com/591099 ietestcenter/css3/flexbox/flexbox-groups-001.htm [ Failure ]
-crbug.com/591099 ietestcenter/css3/flexbox/flexbox-groups-002.htm [ Failure ]
-crbug.com/591099 ietestcenter/css3/flexbox/flexbox-groups-003.htm [ Crash Failure ]
-crbug.com/591099 ietestcenter/css3/flexbox/flexbox-groups-004.htm [ Failure ]
+crbug.com/591099 ietestcenter/css3/flexbox/flexbox-flex-003.htm [ Failure Pass ]
+crbug.com/591099 ietestcenter/css3/flexbox/flexbox-flex-004.htm [ Failure Pass ]
+crbug.com/591099 ietestcenter/css3/flexbox/flexbox-groups-001.htm [ Failure Pass ]
+crbug.com/591099 ietestcenter/css3/flexbox/flexbox-groups-002.htm [ Failure Pass ]
+crbug.com/591099 ietestcenter/css3/flexbox/flexbox-groups-003.htm [ Crash Failure Pass ]
+crbug.com/591099 ietestcenter/css3/flexbox/flexbox-groups-004.htm [ Failure Pass ]
 crbug.com/591099 ietestcenter/css3/flexbox/flexbox-layout-001.htm [ Failure Pass ]
-crbug.com/591099 ietestcenter/css3/flexbox/flexbox-layout-003.htm [ Failure ]
+crbug.com/591099 ietestcenter/css3/flexbox/flexbox-layout-003.htm [ Failure Pass ]
 crbug.com/591099 ietestcenter/css3/flexbox/flexbox-ordinal-group-001.htm [ Failure ]
-crbug.com/591099 ietestcenter/css3/flexbox/flexbox-pack-center-001.htm [ Failure ]
-crbug.com/591099 ietestcenter/css3/flexbox/flexbox-pack-end-001.htm [ Failure ]
-crbug.com/591099 ietestcenter/css3/flexbox/flexbox-pack-justify-001.htm [ Failure ]
-crbug.com/591099 ietestcenter/css3/flexbox/flexbox-pack-start-001.htm [ Failure ]
+crbug.com/591099 ietestcenter/css3/flexbox/flexbox-pack-center-001.htm [ Failure Pass ]
+crbug.com/591099 ietestcenter/css3/flexbox/flexbox-pack-end-001.htm [ Failure Pass ]
+crbug.com/591099 ietestcenter/css3/flexbox/flexbox-pack-justify-001.htm [ Failure Pass ]
+crbug.com/591099 ietestcenter/css3/flexbox/flexbox-pack-start-001.htm [ Failure Pass ]
 crbug.com/591099 ietestcenter/css3/multicolumn/column-block-formatting-context-001.htm [ Failure Pass ]
 crbug.com/591099 ietestcenter/css3/multicolumn/column-containing-block-003.htm [ Failure ]
 crbug.com/591099 ietestcenter/css3/multicolumn/column-width-applies-to-001.htm [ Failure Pass ]
@@ -16072,7 +18528,7 @@
 crbug.com/591099 ietestcenter/css3/multicolumn/column-width-applies-to-005.htm [ Failure Pass ]
 crbug.com/591099 ietestcenter/css3/multicolumn/column-width-applies-to-006.htm [ Failure Pass ]
 crbug.com/591099 ietestcenter/css3/multicolumn/column-width-applies-to-007.htm [ Failure Pass ]
-crbug.com/591099 ietestcenter/css3/multicolumn/column-width-applies-to-010.htm [ Failure ]
+crbug.com/591099 ietestcenter/css3/multicolumn/column-width-applies-to-010.htm [ Crash Failure ]
 crbug.com/591099 ietestcenter/css3/multicolumn/column-width-applies-to-015.htm [ Failure Pass ]
 crbug.com/591099 ietestcenter/css3/multicolumn/column-width-negative-001.htm [ Failure ]
 crbug.com/591099 ietestcenter/css3/multicolumn/column-width-percentage-001.htm [ Failure ]
@@ -16085,7 +18541,7 @@
 crbug.com/591099 images/2-comp.html [ Failure ]
 crbug.com/591099 images/2-dht.html [ Failure ]
 crbug.com/591099 images/55.html [ Crash Failure ]
-crbug.com/591099 images/alt-text-wrapping.html [ Failure ]
+crbug.com/591099 images/alt-text-wrapping.html [ Crash Failure ]
 crbug.com/591099 images/animated-background-image-crash.html [ Failure ]
 crbug.com/591099 images/bad-png.html [ Crash Pass ]
 crbug.com/591099 images/busted-oval-does-not-render.html [ Crash Pass ]
@@ -16120,18 +18576,24 @@
 crbug.com/591099 images/color-profile-svg-foreign-object.html [ Failure ]
 crbug.com/591099 images/content-url-broken-image-with-alt-text.html [ Crash Pass ]
 crbug.com/591099 images/content-url-image-with-alt-text-dynamic-2.html [ Crash Pass ]
+crbug.com/591099 images/crash-when-fallback-content-deleted.html [ Crash Pass ]
+crbug.com/591099 images/crash-when-zoom-factor-changes.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 ]
 crbug.com/591099 images/cross-fade-overflow-position.html [ Failure ]
 crbug.com/591099 images/cross-fade-simple.html [ Failure ]
 crbug.com/591099 images/cross-fade-sizing.html [ Failure ]
+crbug.com/591099 images/cross-fade-svg-size-diff.html [ Failure Pass ]
+crbug.com/591099 images/cross-fade-svg-size.html [ Failure Pass ]
 crbug.com/591099 images/cross-fade-tiled.html [ Failure ]
 crbug.com/591099 images/destroyed-image-load-event.html [ Crash ]
+crbug.com/591099 images/drag-pdf-as-image.html [ Crash Pass ]
 crbug.com/591099 images/drag-svg-image.html [ Failure ]
-crbug.com/591099 images/exif-orientation-css.html [ Failure ]
-crbug.com/591099 images/exif-orientation.html [ Failure ]
-crbug.com/591099 images/exif-orientation-image-document.html [ Failure ]
+crbug.com/591099 images/exif-orientation-css.html [ Crash Failure ]
+crbug.com/591099 images/exif-orientation-height-image-document.html [ Failure Pass ]
+crbug.com/591099 images/exif-orientation.html [ Crash Failure ]
+crbug.com/591099 images/exif-orientation-image-document.html [ Crash Failure ]
 crbug.com/591099 images/extra-image-in-image-document.html [ Failure ]
 crbug.com/591099 images/favicon-as-image.html [ Failure ]
 crbug.com/591099 images/gif-loop-count.html [ Failure ]
@@ -16145,9 +18607,9 @@
 crbug.com/591099 images/image-click-scale-restore-zoomed-image.html [ Failure ]
 crbug.com/591099 images/image-css3-content-data.html [ Failure ]
 crbug.com/591099 images/image-document-write-assert.html [ Failure ]
-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-empty-data.html [ Crash Failure ]
+crbug.com/591099 images/image-hover-display-alt.html [ Crash Failure ]
+crbug.com/591099 images/image-in-map.html [ Crash 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 ]
@@ -16168,9 +18630,9 @@
 crbug.com/591099 images/imagemap-overflowing-polygon-focus-ring.html [ Failure ]
 crbug.com/591099 images/imagemap-polygon-focus-ring.html [ Failure ]
 crbug.com/591099 images/imagemap-scroll.html [ Crash ]
-crbug.com/591099 images/image-map-zoom-alt-content.html [ Failure ]
+crbug.com/591099 images/image-map-zoom-alt-content.html [ Crash Failure ]
 crbug.com/591099 images/image-map-zoom.html [ Failure ]
-crbug.com/591099 images/image-page-injected-script-crash.html [ Failure ]
+crbug.com/591099 images/image-page-injected-script-crash.html [ Crash Failure ]
 crbug.com/591099 images/image-use-counters.html [ Crash ]
 crbug.com/591099 images/image-zoom-to-25.html [ Failure ]
 crbug.com/591099 images/image-zoom-to-500.html [ Failure ]
@@ -16182,6 +18644,7 @@
 crbug.com/591099 images/large-size-image-crash.html [ Crash Pass ]
 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/mask-box-image-crash.html [ Failure Pass ]
 crbug.com/591099 images/motion-jpeg-single-frame.html [ Failure ]
 crbug.com/591099 images/move-image-to-new-document.html [ Crash ]
 crbug.com/591099 images/pdf-as-background.html [ Failure ]
@@ -16192,15 +18655,17 @@
 crbug.com/591099 images/png-missing-plte-before-trns-crash.html [ Crash Pass ]
 crbug.com/591099 images/png_per_row_alpha_decoding.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/rendering-broken-0px-images.html [ Crash ]
+crbug.com/591099 images/rendering-broken-0px-images-quirk.html [ Crash ]
+crbug.com/591099 images/rendering-broken-10px-images.html [ Crash Failure ]
+crbug.com/591099 images/rendering-broken-16px-images.html [ Crash Failure ]
+crbug.com/591099 images/rendering-broken-1px-images.html [ Crash Failure ]
+crbug.com/591099 images/rendering-broken-block-flow-images.html [ Crash Failure ]
+crbug.com/591099 images/rendering-broken-images-empty-alt.html [ Crash Failure ]
+crbug.com/591099 images/rendering-broken-images.html [ Crash 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-crash.html [ Crash 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 ]
@@ -16260,15 +18725,17 @@
 crbug.com/591099 inspector/console/console-clear.html [ Failure ]
 crbug.com/591099 inspector/console/console-command-clear.html [ Failure ]
 crbug.com/591099 inspector/console/console-command-copy.html [ Failure ]
+crbug.com/591099 inspector/console/console-context-selector.html [ Failure ]
 crbug.com/591099 inspector/console/console-control-characters.html [ Failure ]
 crbug.com/591099 inspector/console/console-copy-treeoutline.html [ Failure ]
+crbug.com/591099 inspector/console/console-copy-truncated-text.html [ Crash ]
 crbug.com/591099 inspector/console/console-correct-suggestions.html [ Failure ]
 crbug.com/591099 inspector/console/console-custom-formatters.html [ Failure ]
 crbug.com/591099 inspector/console/console-dir-deprecated.html [ Failure ]
 crbug.com/591099 inspector/console/console-dir-es6.html [ Failure ]
 crbug.com/591099 inspector/console/console-dir-global.html [ Failure ]
 crbug.com/591099 inspector/console/console-dir.html [ Failure ]
-crbug.com/591099 inspector/console/console-dirxml.html [ Failure ]
+crbug.com/591099 inspector/console/console-dirxml.html [ Crash Failure ]
 crbug.com/591099 inspector/console/console-edit-expanded-tree.html [ Failure ]
 crbug.com/591099 inspector/console/console-edit-property-value.html [ Failure ]
 crbug.com/591099 inspector/console/console-error-on-call-frame.html [ Failure ]
@@ -16330,7 +18797,7 @@
 crbug.com/591099 inspector/console/console-preserve-log.html [ Failure ]
 crbug.com/591099 inspector/console/console-proxy.html [ Failure ]
 crbug.com/591099 inspector/console/console-repeat-count.html [ Failure ]
-crbug.com/591099 inspector/console/console-retain-autocomplete-on-typing.html [ Failure ]
+crbug.com/591099 inspector/console/console-retain-autocomplete-on-typing.html [ Crash Failure ]
 crbug.com/591099 inspector/console/console-revoke-error.html [ Crash ]
 crbug.com/591099 inspector/console/console-revoke-error-in-worker.html [ Crash ]
 crbug.com/591099 inspector/console/console-save-to-temp-var.html [ Failure ]
@@ -16357,8 +18824,8 @@
 crbug.com/591099 inspector/console/console-viewport-selection.html [ Failure ]
 crbug.com/591099 inspector/console/console-viewport-stick-to-bottom.html [ Failure ]
 crbug.com/591099 inspector/console/console-worker-nested-imports-syntax-error.html [ Failure ]
-crbug.com/591099 inspector/console/console-xml-document.html [ Failure ]
-crbug.com/591099 inspector/console/console-xpath.html [ Failure ]
+crbug.com/591099 inspector/console/console-xml-document.html [ Crash Failure ]
+crbug.com/591099 inspector/console/console-xpath.html [ Crash Failure ]
 crbug.com/591099 inspector/console-document-write-from-external-script-logging.html [ Failure ]
 crbug.com/591099 inspector/console/exception-objects.html [ Failure ]
 crbug.com/591099 inspector/console/function-name-in-console-message-stack.html [ Failure ]
@@ -16367,9 +18834,8 @@
 crbug.com/591099 inspector/console/worker-eval-contains-stack.html [ Failure ]
 crbug.com/591099 inspector/cookie-resource-match.html [ Failure ]
 crbug.com/591099 inspector/coverage/coverage-view.html [ Crash ]
-crbug.com/591099 inspector/coverage/decorations-after-inplace-formatter.html [ Crash ]
 crbug.com/591099 inspector/coverage/decorations-after-script-formatter.html [ Crash ]
-crbug.com/591099 inspector/coverage/gutter-css.html [ Failure ]
+crbug.com/591099 inspector/coverage/gutter-css.html [ Crash Failure ]
 crbug.com/591099 inspector/coverage/gutter-js.html [ Failure ]
 crbug.com/591099 inspector/coverage/multiple-instances-merge.html [ Crash ]
 crbug.com/591099 inspector/coverage/reveal-autoformat.html [ Crash ]
@@ -16381,24 +18847,24 @@
 crbug.com/591099 inspector/diff-module.html [ Failure ]
 crbug.com/591099 inspector/domdebugger/domdebugger-getEventListeners.html [ Failure ]
 crbug.com/591099 inspector/editor/php-highlighter.html [ Failure ]
-crbug.com/591099 inspector/editor/text-editor-auto-whitespace-removing.html [ Failure ]
-crbug.com/591099 inspector/editor/text-editor-block-indent.html [ Failure ]
+crbug.com/591099 inspector/editor/text-editor-auto-whitespace-removing.html [ Crash Failure ]
+crbug.com/591099 inspector/editor/text-editor-block-indent.html [ Crash Failure ]
 crbug.com/591099 inspector/editor/text-editor-char-to-coordinates.html [ Failure ]
 crbug.com/591099 inspector/editor/text-editor-ctrl-d-1.html [ Timeout ]
 crbug.com/591099 inspector/editor/text-editor-ctrl-d-2.html [ Timeout ]
-crbug.com/591099 inspector/editor/text-editor-enter-behaviour.html [ Timeout ]
-crbug.com/591099 inspector/editor/text-editor-formatter.html [ Timeout ]
+crbug.com/591099 inspector/editor/text-editor-enter-behaviour.html [ Crash Timeout ]
+crbug.com/591099 inspector/editor/text-editor-formatter.html [ Crash Timeout ]
 crbug.com/591099 inspector/editor/text-editor-goto-matching-bracket.html [ Failure ]
-crbug.com/591099 inspector/editor/text-editor-home-button.html [ Failure ]
+crbug.com/591099 inspector/editor/text-editor-home-button.html [ Crash Failure ]
 crbug.com/591099 inspector/editor/text-editor-indent-autodetection.html [ Failure ]
 crbug.com/591099 inspector/editor/text-editor-line-breaks.html [ Failure ]
 crbug.com/591099 inspector/editor/text-editor-mark-clean.html [ Failure ]
 crbug.com/591099 inspector/editor/text-editor-reveal-line.html [ Timeout ]
-crbug.com/591099 inspector/editor/text-editor-search-replace.html [ Failure ]
-crbug.com/591099 inspector/editor/text-editor-selection-to-search.html [ Failure ]
+crbug.com/591099 inspector/editor/text-editor-search-replace.html [ Crash Failure ]
+crbug.com/591099 inspector/editor/text-editor-selection-to-search.html [ Crash Failure ]
 crbug.com/591099 inspector/editor/text-editor-smart-braces.html [ Failure ]
 crbug.com/591099 inspector/editor/text-editor-token-at-position.html [ Failure ]
-crbug.com/591099 inspector/editor/text-editor-word-jumps.html [ Failure Timeout ]
+crbug.com/591099 inspector/editor/text-editor-word-jumps.html [ Crash Failure Timeout ]
 crbug.com/591099 inspector/elements/accessibility/autocomplete-attribute.html [ Crash ]
 crbug.com/591099 inspector/elements/accessibility/edit-aria-attributes.html [ Crash ]
 crbug.com/591099 inspector/elements/attribute-modified-ns.html [ Crash ]
@@ -16446,7 +18912,7 @@
 crbug.com/591099 inspector/elements/elements-panel-selection-on-refresh.html [ Crash ]
 crbug.com/591099 inspector/elements/elements-panel-structure.html [ Crash ]
 crbug.com/591099 inspector/elements/elements-panel-styles.html [ Crash ]
-crbug.com/591099 inspector/elements/elements-tab-stops.html [ Failure ]
+crbug.com/591099 inspector/elements/elements-tab-stops.html [ Crash Failure ]
 crbug.com/591099 inspector/elements/event-listeners-about-blank.html [ Crash ]
 crbug.com/591099 inspector/elements/event-listener-sidebar-custom-framework.html [ Crash ]
 crbug.com/591099 inspector/elements/event-listener-sidebar.html [ Crash ]
@@ -16476,7 +18942,7 @@
 crbug.com/591099 inspector/elements/modify-chardata.html [ Crash ]
 crbug.com/591099 inspector/elements/move-node.html [ Crash ]
 crbug.com/591099 inspector/elements/node-reselect-on-append-child.html [ Crash ]
-crbug.com/591099 inspector/elements/node-xpath.xhtml [ Failure ]
+crbug.com/591099 inspector/elements/node-xpath.xhtml [ Crash Failure ]
 crbug.com/591099 inspector/elements/resolve-alien-node.html [ Crash ]
 crbug.com/591099 inspector/elements/resolve-node-blocked.html [ Crash ]
 crbug.com/591099 inspector/elements/reveal-whitespace-text-node.html [ Crash ]
@@ -16498,7 +18964,7 @@
 crbug.com/591099 inspector/elements/styles-1/cached-sync-computed-styles.html [ Crash ]
 crbug.com/591099 inspector/elements/styles-1/case-sensitive-suggestions.html [ Crash Failure ]
 crbug.com/591099 inspector/elements/styles-1/color-aware-property-value-edit.html [ Crash ]
-crbug.com/591099 inspector/elements/styles-1/color-nicknames-lowercase.html [ Failure ]
+crbug.com/591099 inspector/elements/styles-1/color-nicknames-lowercase.html [ Crash Failure ]
 crbug.com/591099 inspector/elements/styles-1/color-swatch.html [ Crash ]
 crbug.com/591099 inspector/elements/styles-1/commit-selector.html [ Crash ]
 crbug.com/591099 inspector/elements/styles-1/commit-selector-mark-matching.html [ Crash ]
@@ -16649,10 +19115,11 @@
 crbug.com/591099 inspector/input-event-warning.html [ Failure ]
 crbug.com/591099 inspector/inspected-objects-not-overriden.html [ Failure ]
 crbug.com/591099 inspector/inspector-backend-commands.html [ Failure ]
-crbug.com/591099 inspector/jump-to-previous-editing-location.html [ Failure ]
-crbug.com/591099 inspector/layers/layer-canvas-log.html [ Failure ]
-crbug.com/591099 inspector/layers/layer-replay-scale.html [ Failure ]
+crbug.com/591099 inspector/jump-to-previous-editing-location.html [ Crash Failure ]
+crbug.com/591099 inspector/layers/layer-canvas-log.html [ Crash Failure ]
+crbug.com/591099 inspector/layers/layer-replay-scale.html [ Crash Failure ]
 crbug.com/591099 inspector/layers/layer-scroll-rects-get.html [ Failure ]
+crbug.com/591099 inspector/layers/layer-tree-model.html [ Crash Pass ]
 crbug.com/591099 inspector/local-object.html [ Failure ]
 crbug.com/591099 inspector/local-object-properties-section.html [ Failure ]
 crbug.com/591099 inspector/network/network-cookies-pane.html [ Failure ]
@@ -16667,7 +19134,7 @@
 crbug.com/591099 inspector/network/network-update-calculator-for-all-requests.html [ Failure ]
 crbug.com/591099 inspector/profiler/agents-disabled-check.html [ Crash Failure ]
 crbug.com/591099 inspector/profiler/cpu-profiler-agent-crash-on-start.html [ Failure ]
-crbug.com/591099 inspector/profiler/cpu-profiler-bottom-up-large-tree-search.html [ Failure ]
+crbug.com/591099 inspector/profiler/cpu-profiler-bottom-up-large-tree-search.html [ Crash Failure ]
 crbug.com/591099 inspector/profiler/cpu-profiler-bottom-up-times.html [ Failure ]
 crbug.com/591099 inspector/profiler/cpu-profiler-calculate-time.html [ Failure ]
 crbug.com/591099 inspector/profiler/cpu-profiler-flame-chart-overview.html [ Crash Failure ]
@@ -16688,7 +19155,7 @@
 crbug.com/591099 inspector/profiler/heap-snapshot-containment-show-next.html [ Crash ]
 crbug.com/591099 inspector/profiler/heap-snapshot-containment-shown-node-count-preserved-when-sorting.html [ Crash ]
 crbug.com/591099 inspector/profiler/heap-snapshot-containment-sorting.html [ Crash ]
-crbug.com/591099 inspector/profiler/heap-snapshot.html [ Failure ]
+crbug.com/591099 inspector/profiler/heap-snapshot.html [ Crash Failure ]
 crbug.com/591099 inspector/profiler/heap-snapshot-inspect-dom-wrapper.html [ Crash ]
 crbug.com/591099 inspector/profiler/heap-snapshot-loader.html [ Crash ]
 crbug.com/591099 inspector/profiler/heap-snapshot-orphan-nodes.html [ Crash ]
@@ -16707,8 +19174,8 @@
 crbug.com/591099 inspector/profiler/heap-snapshot-weak-dominator.html [ Crash ]
 crbug.com/591099 inspector/profiler/temp-storage-cleaner.html [ Crash Failure ]
 crbug.com/591099 inspector-protocol/accessibility/accessibility-aria-1.1.html [ Failure ]
-crbug.com/591099 inspector-protocol/accessibility/accessibility-getRelationships.html [ Failure ]
-crbug.com/591099 inspector-protocol/accessibility/accessibility-ignoredNodes.html [ Failure ]
+crbug.com/591099 inspector-protocol/accessibility/accessibility-getRelationships.html [ Crash Failure ]
+crbug.com/591099 inspector-protocol/accessibility/accessibility-ignoredNodes.html [ Crash Failure ]
 crbug.com/591099 inspector-protocol/accessibility/accessibility-nameSources-buttons.html [ Crash ]
 crbug.com/591099 inspector-protocol/accessibility/accessibility-nameSources-img-figure.html [ Crash ]
 crbug.com/591099 inspector-protocol/accessibility/accessibility-nameSources-input-buttons.html [ Crash ]
@@ -16724,7 +19191,7 @@
 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 ]
-crbug.com/591099 inspector-protocol/css/css-getLayoutTreeNodes.html [ Failure ]
+crbug.com/591099 inspector-protocol/css/css-getLayoutTreeNodes.html [ Crash Failure ]
 crbug.com/591099 inspector-protocol/css/css-get-platform-fonts.html [ Failure ]
 crbug.com/591099 inspector-protocol/css/css-get-rule-list.html [ Failure ]
 crbug.com/591099 inspector-protocol/css/cssom-matching-rules.html [ Failure ]
@@ -16739,6 +19206,7 @@
 crbug.com/591099 inspector-protocol/css/media-query-listener-exception.html [ Failure ]
 crbug.com/591099 inspector-protocol/debugger/debugger-step-into-dedicated-worker.html [ Failure ]
 crbug.com/591099 inspector-protocol/debugger/suspend-setTimeout-on-pause-in-dedicated-worker.html [ Failure ]
+crbug.com/591099 inspector-protocol/dom/dom-collect-class-names.html [ Crash Pass ]
 crbug.com/591099 inspector-protocol/dom/dom-getBoxModel.html [ Failure ]
 crbug.com/591099 inspector-protocol/dom/dom-ns-attr-modified.html [ Failure ]
 crbug.com/591099 inspector-protocol/emulation/device-emulation-320-2x.html [ Failure ]
@@ -16746,7 +19214,7 @@
 crbug.com/591099 inspector-protocol/emulation/device-emulation-320-only-viewport.html [ Failure ]
 crbug.com/591099 inspector-protocol/emulation/device-emulation-980-2x.html [ Failure ]
 crbug.com/591099 inspector-protocol/emulation/device-emulation-980.html [ Failure ]
-crbug.com/591099 inspector-protocol/emulation/device-emulation-980-only-viewport.html [ Failure ]
+crbug.com/591099 inspector-protocol/emulation/device-emulation-980-only-viewport.html [ Crash Failure ]
 crbug.com/591099 inspector-protocol/emulation/device-emulation-controls.html [ Failure ]
 crbug.com/591099 inspector-protocol/emulation/device-emulation-dw-2x.html [ Failure ]
 crbug.com/591099 inspector-protocol/emulation/device-emulation-dw.html [ Failure ]
@@ -16772,7 +19240,7 @@
 crbug.com/591099 inspector-protocol/layers/paint-profiler.html [ Failure ]
 crbug.com/591099 inspector-protocol/layout-fonts/languages-emoji-rare-glyphs.html [ Failure ]
 crbug.com/591099 inspector-protocol/layout-fonts/tifinagh.html [ Failure ]
-crbug.com/591099 inspector-protocol/network/resource-type.html [ Failure ]
+crbug.com/591099 inspector-protocol/network/resource-type.html [ Crash 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 Pass ]
@@ -16818,12 +19286,12 @@
 crbug.com/591099 inspector/sass/test-ssp-editing.html [ Crash ]
 crbug.com/591099 inspector/sass/test-ssp-incremental-edit-invalid-value.html [ Crash ]
 crbug.com/591099 inspector/schema-get-domains-matches-agents.html [ Failure ]
-crbug.com/591099 inspector/sources/autocomplete-css.html [ Failure ]
-crbug.com/591099 inspector/sources/autocomplete-general.html [ Failure ]
-crbug.com/591099 inspector/sources/autocomplete-hide-on-smart-brace.html [ Failure ]
+crbug.com/591099 inspector/sources/autocomplete-css.html [ Crash Failure ]
+crbug.com/591099 inspector/sources/autocomplete-general.html [ Crash Failure ]
+crbug.com/591099 inspector/sources/autocomplete-hide-on-smart-brace.html [ Crash Failure ]
 crbug.com/591099 inspector/sources/autocomplete-scss.html [ Failure ]
 crbug.com/591099 inspector/sources/bezier-swatch-position.html [ Failure ]
-crbug.com/591099 inspector/sources/color-swatch-position.html [ Failure ]
+crbug.com/591099 inspector/sources/color-swatch-position.html [ Crash Failure ]
 crbug.com/591099 inspector/sources/compile-javascript.html [ Crash Failure ]
 crbug.com/591099 inspector/sources/css-inline-sourcemap.html [ Failure ]
 crbug.com/591099 inspector/sources/css-outline-dialog.html [ Failure ]
@@ -16832,9 +19300,9 @@
 crbug.com/591099 inspector/sources/debugger-async/async-await/async-callstack-async-await3.html [ Failure ]
 crbug.com/591099 inspector/sources/debugger-async/async-await/async-pause-on-exception.html [ Failure ]
 crbug.com/591099 inspector/sources/debugger-async/async-callstack-events.html [ Crash Failure ]
-crbug.com/591099 inspector/sources/debugger-async/async-callstack-get-as-string.html [ Failure ]
+crbug.com/591099 inspector/sources/debugger-async/async-callstack-get-as-string.html [ Crash Failure ]
 crbug.com/591099 inspector/sources/debugger-async/async-callstack.html [ Failure ]
-crbug.com/591099 inspector/sources/debugger-async/async-callstack-in-console.html [ Failure ]
+crbug.com/591099 inspector/sources/debugger-async/async-callstack-in-console.html [ Crash Failure ]
 crbug.com/591099 inspector/sources/debugger-async/async-callstack-indexed-db.html [ Failure ]
 crbug.com/591099 inspector/sources/debugger-async/async-callstack-middle-run.html [ Failure ]
 crbug.com/591099 inspector/sources/debugger-async/async-callstack-mutation-observer.html [ Failure ]
@@ -16864,7 +19332,7 @@
 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 ]
+crbug.com/591099 inspector/sources/debugger-breakpoints/xhr-breakpoints.html [ Crash Failure ]
 crbug.com/591099 inspector/sources/debugger-console/debug-console-command.html [ Crash Failure ]
 crbug.com/591099 inspector/sources/debugger-console/debugger-command-line-api.html [ Crash Failure ]
 crbug.com/591099 inspector/sources/debugger/debugger-autocontinue-on-syntax-error.html [ Failure ]
@@ -16893,7 +19361,7 @@
 crbug.com/591099 inspector/sources/debugger-frameworks/frameworks-skip-exceptions.html [ Failure ]
 crbug.com/591099 inspector/sources/debugger-frameworks/frameworks-skip-step-in.html [ Failure ]
 crbug.com/591099 inspector/sources/debugger-frameworks/frameworks-sourcemap.html [ Crash Failure ]
-crbug.com/591099 inspector/sources/debugger-frameworks/frameworks-step-into-skips-setTimeout.html [ Failure ]
+crbug.com/591099 inspector/sources/debugger-frameworks/frameworks-step-into-skips-setTimeout.html [ Crash Failure ]
 crbug.com/591099 inspector/sources/debugger-frameworks/frameworks-steppings.html [ Crash Failure ]
 crbug.com/591099 inspector/sources/debugger-frameworks/frameworks-with-async-callstack.html [ Failure ]
 crbug.com/591099 inspector/sources/debugger-frameworks/frameworks-with-worker.html [ Failure ]
@@ -16917,7 +19385,7 @@
 crbug.com/591099 inspector/sources/debugger-pause/debugger-pause-on-debugger-statement.html [ Failure ]
 crbug.com/591099 inspector/sources/debugger-pause/debugger-pause-on-exception.html [ Crash Failure ]
 crbug.com/591099 inspector/sources/debugger-pause/debugger-pause-on-failed-assertion.html [ Crash Failure ]
-crbug.com/591099 inspector/sources/debugger-pause/debugger-pause-on-promise-rejection.html [ Failure ]
+crbug.com/591099 inspector/sources/debugger-pause/debugger-pause-on-promise-rejection.html [ Crash Failure ]
 crbug.com/591099 inspector/sources/debugger-pause/debugger-pause-with-overrides.html [ Failure ]
 crbug.com/591099 inspector/sources/debugger-pause/debugger-resume-button-in-overlay.html [ Failure ]
 crbug.com/591099 inspector/sources/debugger-pause/eval-on-pause-blocked.html [ Failure ]
@@ -16969,16 +19437,16 @@
 crbug.com/591099 inspector/sources/debugger-ui/function-display-name-call-stack.html [ Crash Failure ]
 crbug.com/591099 inspector/sources/debugger-ui/function-generator-details.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/last-execution-context.html [ Crash 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-execution-line.html [ Crash 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 [ Crash Failure ]
-crbug.com/591099 inspector/sources/debugger-ui/script-formatter-breakpoints-3.html [ Failure ]
+crbug.com/591099 inspector/sources/debugger-ui/script-formatter-breakpoints-3.html [ Crash 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 ]
 crbug.com/591099 inspector/sources/debugger-ui/scripts-panel.html [ Failure ]
-crbug.com/591099 inspector/sources/debugger-ui/scripts-sorting.html [ Failure ]
+crbug.com/591099 inspector/sources/debugger-ui/scripts-sorting.html [ Crash Failure ]
 crbug.com/591099 inspector/sources/debugger-ui/scripts-with-same-source-url.html [ Failure ]
 crbug.com/591099 inspector/sources/debugger-ui/selected-call-frame-after-formatting-source.html [ Failure ]
 crbug.com/591099 inspector/sources/debugger-ui/show-function-definition.html [ Failure ]
@@ -16989,7 +19457,7 @@
 crbug.com/591099 inspector/sources/debugger-ui/switch-file.html [ Failure ]
 crbug.com/591099 inspector/sources/debugger-ui/ui-source-code-display-name.html [ Failure ]
 crbug.com/591099 inspector/sources/debugger-ui/ui-source-code.html [ Failure ]
-crbug.com/591099 inspector/sources/debugger-ui/watch-expressions-panel-switch.html [ Failure ]
+crbug.com/591099 inspector/sources/debugger-ui/watch-expressions-panel-switch.html [ Failure Timeout ]
 crbug.com/591099 inspector/sources/debugger-ui/watch-expressions-preserve-expansion.html [ Failure ]
 crbug.com/591099 inspector/sources/formatter-css.html [ Failure ]
 crbug.com/591099 inspector/sources/formatter-js.html [ Failure ]
@@ -17068,6 +19536,7 @@
 crbug.com/591099 inspector/tracing/timeline-misc/timeline-auto-zoom.html [ Crash ]
 crbug.com/591099 inspector/tracing/timeline-misc/timeline-bound-function.html [ Crash ]
 crbug.com/591099 inspector/tracing/timeline-misc/timeline-event-causes.html [ Crash ]
+crbug.com/591099 inspector/tracing/timeline-misc/timeline-event-details.html [ Failure ]
 crbug.com/591099 inspector/tracing/timeline-misc/timeline-event-dispatch.html [ Crash ]
 crbug.com/591099 inspector/tracing/timeline-misc/timeline-filtering.html [ Failure ]
 crbug.com/591099 inspector/tracing/timeline-misc/timeline-flame-chart-automatically-size-window.html [ Crash ]
@@ -17111,7 +19580,7 @@
 crbug.com/591099 inspector/workspace-mapping.html [ Failure ]
 crbug.com/591099 installedapp/getinstalledrelatedapps-iframe.html [ Crash ]
 crbug.com/591099 intersection-observer/client-rect.html [ Crash ]
-crbug.com/591099 intersection-observer/containing-block.html [ Failure ]
+crbug.com/591099 intersection-observer/containing-block.html [ Failure Pass ]
 crbug.com/591099 intersection-observer/cross-origin-iframe.html [ Crash ]
 crbug.com/591099 intersection-observer/edge-inclusive-intersection.html [ Failure ]
 crbug.com/591099 intersection-observer/iframe-no-root.html [ Crash ]
@@ -17254,7 +19723,7 @@
 crbug.com/591099 media/track/track-cue-mutable-text.html [ Crash ]
 crbug.com/591099 media/track/track-cue-negative-timestamp.html [ Crash ]
 crbug.com/591099 media/track/track-cue-nothing-to-render.html [ Crash ]
-crbug.com/591099 media/track/track-cue-rendering-horizontal.html [ Failure ]
+crbug.com/591099 media/track/track-cue-rendering-horizontal.html [ Failure Pass ]
 crbug.com/591099 media/track/track-cue-rendering.html [ Crash ]
 crbug.com/591099 media/track/track-cue-rendering-line-doesnt-fit.html [ Failure ]
 crbug.com/591099 media/track/track-cue-rendering-on-resize.html [ Crash ]
@@ -17265,7 +19734,7 @@
 crbug.com/591099 media/track/track-cue-rendering-snap-to-lines-not-set.html [ Crash ]
 crbug.com/591099 media/track/track-cue-rendering-transformed-video.html [ Failure ]
 crbug.com/591099 media/track/track-cue-rendering-tree-is-removed-properly.html [ Crash ]
-crbug.com/591099 media/track/track-cue-rendering-vertical.html [ Failure ]
+crbug.com/591099 media/track/track-cue-rendering-vertical.html [ Failure Pass ]
 crbug.com/591099 media/track/track-cue-rendering-wider-than-controls.html [ Crash ]
 crbug.com/591099 media/track/track-cue-rendering-with-padding.html [ Crash ]
 crbug.com/591099 media/track/track-cues-cuechange.html [ Crash ]
@@ -17604,8 +20073,8 @@
 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/clipath/clip-path-with-background-and-box-behind.html [ Failure ]
+crbug.com/591099 paint/background/rounded-clip-fractional-offset.html [ Crash Failure ]
+crbug.com/591099 paint/clipath/clip-path-with-background-and-box-behind.html [ Failure Pass ]
 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 ]
 crbug.com/591099 paint/images/animated-gif-last-frame-crash.html [ Crash ]
@@ -17614,8 +20083,11 @@
 crbug.com/591099 paint/inline/outline-offset.html [ Failure ]
 crbug.com/591099 paint/invalidation/4774354.html [ Failure ]
 crbug.com/591099 paint/invalidation/4776765.html [ Failure ]
+crbug.com/591099 paint/invalidation/absolute-display-block-to-none.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/absolute-margin-change-repaint.html [ Failure ]
 crbug.com/591099 paint/invalidation/absolute-position-change-containing-block.html [ Failure ]
+crbug.com/591099 paint/invalidation/absolute-position-changed.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/absolute-position-moved.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/abspos-shift-image-incorrect-repaint.html [ Failure ]
 crbug.com/591099 paint/invalidation/add-table-overpaint.html [ Failure ]
 crbug.com/591099 paint/invalidation/align-content-change.html [ Failure ]
@@ -17643,10 +20115,16 @@
 crbug.com/591099 paint/invalidation/animated-webp-background.html [ Failure ]
 crbug.com/591099 paint/invalidation/animated-webp.html [ Failure ]
 crbug.com/591099 paint/invalidation/animated-webp-offscreen.html [ Failure ]
-crbug.com/591099 paint/invalidation/background-attachment-local-repaint.html [ Failure ]
+crbug.com/591099 paint/invalidation/background-attachment-local-repaint.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/background-currentColor-repaint.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/background-generated.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/background-image-paint-invalidation.html [ Failure ]
-crbug.com/591099 paint/invalidation/background-image-paint-invalidation-large-abspos-div.html [ Failure ]
+crbug.com/591099 paint/invalidation/background-image-paint-invalidation-large-abspos-div.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/background-image-paint-invalidation-small-document.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/background-misaligned.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/background-resize-height.html [ Failure ]
+crbug.com/591099 paint/invalidation/background-shorthand-with-gradient-and-height-changes.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/background-size-auto-with-gradient-and-height-changes.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/backgroundSizeRepaint.html [ Failure ]
 crbug.com/591099 paint/invalidation/block-layout-inline-children-float-positioned.html [ Failure ]
 crbug.com/591099 paint/invalidation/block-layout-inline-children-replaced.html [ Failure ]
@@ -17655,13 +20133,24 @@
 crbug.com/591099 paint/invalidation/block-selection-gap-stale-cache-2.html [ Failure ]
 crbug.com/591099 paint/invalidation/block-selection-gap-stale-cache.html [ Failure ]
 crbug.com/591099 paint/invalidation/block-shift-repaint.html [ Failure ]
+crbug.com/591099 paint/invalidation/body-background-image.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/border-current-color.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/border-image-outset-add-repaint.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/border-image-outset-change-repaint.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/border-outline-0.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/border-radius-repaint-2.html [ Failure ]
 crbug.com/591099 paint/invalidation/border-radius-repaint.html [ Failure ]
+crbug.com/591099 paint/invalidation/border-radius-without-border.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/border-radius-with-outline.html [ Failure ]
 crbug.com/591099 paint/invalidation/border-repaint-glitch.html [ Failure ]
 crbug.com/591099 paint/invalidation/box-inline-resize.html [ Failure ]
+crbug.com/591099 paint/invalidation/box-shadow-add-repaint.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/box-shadow-change-repaint.html [ Failure ]
 crbug.com/591099 paint/invalidation/box-shadow-dynamic.html [ Failure ]
+crbug.com/591099 paint/invalidation/box-shadow-inset-repaint.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/box-sizing-border-keeping-size.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/box-sizing.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/box-sizing-padding-keeping-size.html [ Failure Pass ]
 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 ]
@@ -17669,37 +20158,49 @@
 crbug.com/591099 paint/invalidation/bugzilla-6473.html [ Failure ]
 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/button-inner-no-repaint.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/canvas-composite-repaint-by-all-imagesource.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/caret-change-paint-offset-keep-visual.html [ Failure ]
+crbug.com/591099 paint/invalidation/caret-color.html [ Crash Pass ]
 crbug.com/591099 paint/invalidation/caret-contenteditable-content-after.html [ Failure ]
-crbug.com/591099 paint/invalidation/caret-invalidation-in-overflow-scroll.html [ Failure ]
+crbug.com/591099 paint/invalidation/caret-invalidation-in-overflow-scroll.html [ Crash Failure ]
 crbug.com/591099 paint/invalidation/caret-outside-block.html [ Failure ]
 crbug.com/591099 paint/invalidation/caret-subpixel.html [ Failure ]
 crbug.com/591099 paint/invalidation/caret-with-composited-scroll.html [ Failure ]
 crbug.com/591099 paint/invalidation/caret-with-transformation.html [ Failure ]
-crbug.com/591099 paint/invalidation/change-text-content-and-background-color.html [ Failure ]
+crbug.com/591099 paint/invalidation/change-text-content-and-background-color.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/change-transform.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/child-of-sub-pixel-offset-composited-layer.html [ Failure ]
 crbug.com/591099 paint/invalidation/clip-path-constant-repaint.html [ Failure ]
 crbug.com/591099 paint/invalidation/clipped-overflow-visible-subtree.html [ Failure ]
 crbug.com/591099 paint/invalidation/clipped-relative.html [ Failure ]
+crbug.com/591099 paint/invalidation/clip-unclip-and-change.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/clip-with-layout-delta.html [ Failure ]
 crbug.com/591099 paint/invalidation/column-float-under-stacked-inline.html [ Failure ]
 crbug.com/591099 paint/invalidation/column-rules-fixed-height.html [ Failure ]
+crbug.com/591099 paint/invalidation/composited-iframe-scroll-repaint.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/composited-overflow-with-borderbox-background.html [ Failure ]
 crbug.com/591099 paint/invalidation/composited-overflow-with-local-background.html [ Failure ]
 crbug.com/591099 paint/invalidation/composited-overflow-with-negative-offset-outline.html [ Failure ]
 crbug.com/591099 paint/invalidation/composited-table-row.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/composited-vertical-rl-overflow.html [ Failure ]
+crbug.com/591099 paint/invalidation/composited-view-background-descendant-background-change.html [ Failure ]
 crbug.com/591099 paint/invalidation/compositing/background-attachment-local-composited.html [ Failure ]
 crbug.com/591099 paint/invalidation/compositing/background-attachment-local-equivalent.html [ Failure ]
 crbug.com/591099 paint/invalidation/compositing/become-overlay-composited-layer.html [ Failure ]
 crbug.com/591099 paint/invalidation/compositing/clipped-layer-size-change.html [ Failure ]
 crbug.com/591099 paint/invalidation/compositing/clipping-should-not-repaint-composited-descendants.html [ Failure ]
 crbug.com/591099 paint/invalidation/compositing/column-span-under-composited-column-child.html [ Failure ]
+crbug.com/591099 paint/invalidation/compositing/composited-document-element.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/compositing/composited-float-under-composited-inline.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/compositing/composited-inline-change-text-data-keep-geometry.html [ Failure ]
+crbug.com/591099 paint/invalidation/compositing/compositing-reason-removed.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/compositing/containing-block-added.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/compositing/containing-block-removed.html [ Failure ]
 crbug.com/591099 paint/invalidation/compositing/content-into-overflow.html [ Failure ]
+crbug.com/591099 paint/invalidation/compositing/fixed-pos-inside-composited-intermediate-layer.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/compositing/fixed-pos-with-abs-pos-child-scroll.html [ Failure ]
+crbug.com/591099 paint/invalidation/compositing/fixed-scroll-in-empty-root-layer.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/compositing/float-under-composited-inline.html [ Failure ]
 crbug.com/591099 paint/invalidation/compositing/iframe-inside-squashed-layer.html [ Failure ]
 crbug.com/591099 paint/invalidation/compositing/inline-repaint-container.html [ Failure ]
@@ -17712,26 +20213,45 @@
 crbug.com/591099 paint/invalidation/compositing/newly-composited-on-scroll.html [ Failure ]
 crbug.com/591099 paint/invalidation/compositing/newly-composited-repaint-rect.html [ Failure ]
 crbug.com/591099 paint/invalidation/compositing/new-stacking-context.html [ Failure ]
+crbug.com/591099 paint/invalidation/compositing/opacity-between-absolute2.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/compositing/opacity-between-absolute.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/compositing/overflow-into-content.html [ Failure ]
 crbug.com/591099 paint/invalidation/compositing/overlap-test-with-filter.html [ Failure ]
 crbug.com/591099 paint/invalidation/compositing/page-scale-repaint.html [ Failure ]
 crbug.com/591099 paint/invalidation/compositing/remove-squashed-layer-plus-move.html [ Crash ]
 crbug.com/591099 paint/invalidation/compositing/repaint-overflow-scrolled-squashed-content.html [ Failure ]
 crbug.com/591099 paint/invalidation/compositing/repaint-squashed-layer-in-rect.html [ Failure ]
+crbug.com/591099 paint/invalidation/compositing/repaint-via-layout-offset.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/compositing/requires-backing-repaint.html [ Failure ]
+crbug.com/591099 paint/invalidation/compositing/resize-repaint.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/compositing/resize-squashing-layer-that-needs-full-repaint.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/compositing/scroll-fixed-layer-no-content.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/compositing/scroll-fixed-layer-out-of-view.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/compositing/scroll-fixed-squahed-layer.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/compositing/scrolling-without-painting.html [ Failure ]
+crbug.com/591099 paint/invalidation/compositing/should-invoke-deferred-compositing.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/compositing/should-not-clip-composited-overflow-scrolling-layer.html [ Failure ]
 crbug.com/591099 paint/invalidation/compositing/should-not-clip-composited-viewport-scrolling-layer.html [ Failure ]
 crbug.com/591099 paint/invalidation/compositing/should-not-repaint-composited-descendants.html [ Failure ]
+crbug.com/591099 paint/invalidation/compositing/should-not-repaint-composited-descendants-on-overflow-change.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/compositing/should-not-repaint-composited-filter.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/compositing/should-not-repaint-composited-opacity.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/compositing/should-not-repaint-composited-transform.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/compositing/should-not-repaint-composited-z-index.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/compositing/should-not-repaint-scrolling-contents-outline-change.html [ Failure ]
 crbug.com/591099 paint/invalidation/compositing/shrink-layer.html [ Failure ]
-crbug.com/591099 paint/invalidation/compositing/static-to-absolute-with-clip.html [ Failure ]
+crbug.com/591099 paint/invalidation/compositing/squashing-inside-preserve-3d-element.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/compositing/squash-partial-repaint-inside-squashed-layer.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/compositing/stacked-float-under-composited-inline.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/compositing/static-to-absolute-with-clip.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/compositing/text-color-change.html [ Failure ]
 crbug.com/591099 paint/invalidation/compositing/text-match-highlight.html [ Failure ]
+crbug.com/591099 paint/invalidation/compositing/tricky-element-removal-crash.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/compositing/updating-scrolling-container-and-content.html [ Failure ]
 crbug.com/591099 paint/invalidation/compositing/updating-scrolling-container.html [ Failure ]
 crbug.com/591099 paint/invalidation/compositing/updating-scrolling-content.html [ Failure ]
 crbug.com/591099 paint/invalidation/containing-block-position-change.html [ Failure ]
+crbug.com/591099 paint/invalidation/content-into-overflow.html [ Failure Pass ]
 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 ]
@@ -17748,20 +20268,57 @@
 crbug.com/591099 paint/invalidation/destroy-composited-scrollbar.html [ Failure ]
 crbug.com/591099 paint/invalidation/destroy-overlay-scrollbar.html [ Failure ]
 crbug.com/591099 paint/invalidation/destroy-scrollbar.html [ Failure ]
-crbug.com/591099 paint/invalidation/details-open-repaint.html [ Failure ]
+crbug.com/591099 paint/invalidation/details-open-repaint.html [ Crash Failure ]
 crbug.com/591099 paint/invalidation/do-not-paint-below-image-baseline.html [ Failure ]
+crbug.com/591099 paint/invalidation/dont-invalidate-root-layer-when-composited-layer-becomes-visible.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/dynamic-table-vertical-alignment-change.html [ Failure ]
+crbug.com/591099 paint/invalidation/erase-overflow.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/filter-invalidation-after-display.html [ Failure ]
+crbug.com/591099 paint/invalidation/filter-invalidation-positioned-child.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/filter-invalidation-with-composited-container-change.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/filter-on-html-element-with-fixed-position-child.html [ Failure ]
+crbug.com/591099 paint/invalidation/filter-repaint-accelerated-child-with-filter-child.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/filter-repaint-accelerated-on-accelerated-filter.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/filter-repaint-on-accelerated-layer.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/filters/effect-reference-repaint-composite-1.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/filters/effect-reference-repaint-composite-2.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/filters/effect-reference-repaint-composite-3.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/filters/effect-reference-repaint-composite-4.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/filters/effect-reference-repaint-composite-5.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/filters/effect-reference-repaint-composite-6.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/filters/effect-reference-repaint-displacement.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/filters/effect-reference-repaint-gaussianblur.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/filters/effect-reference-repaint-gaussianblur-xonly.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/filters/effect-reference-repaint-gaussianblur-yonly.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/filters/effect-reference-repaint-lighting.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/filters/effect-reference-repaint-merge.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/filters/effect-reference-repaint-morphology.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/filters/effect-reference-repaint-morphology-xonly.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/filters/effect-reference-repaint-morphology-yonly.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/filters/effect-reference-repaint-offset.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/fixed-after-scroll.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/fixed-and-absolute-position-scrolled.html [ Failure ]
 crbug.com/591099 paint/invalidation/fixed-child-move-after-scroll.html [ Failure ]
 crbug.com/591099 paint/invalidation/fixed-child-of-fixed-move-after-scroll.html [ Failure ]
 crbug.com/591099 paint/invalidation/fixed-child-of-transformed-move-after-scroll.html [ Failure ]
 crbug.com/591099 paint/invalidation/fixed-child-of-transformed-scrolled.html [ Failure ]
 crbug.com/591099 paint/invalidation/fixed-descendant-of-transformed-scrolled.html [ Failure ]
+crbug.com/591099 paint/invalidation/fixed-element-repaint-after-compositing-update.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/fixed.html [ Failure ]
 crbug.com/591099 paint/invalidation/fixed-in-page-scale.html [ Failure ]
+crbug.com/591099 paint/invalidation/fixed-margin-change-repaint.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/fixed-move-after-scroll.html [ Failure ]
+crbug.com/591099 paint/invalidation/fixed-position-transparency-with-overflow.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/fixed-scale.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/fixed-scroll-simple.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/fixed-table-cell.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/fixed-table-overflow.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/fixed-table-overflow-zindex.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/fixed-to-relative-position-with-absolute-child.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/fixed-tranformed.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/fixed-under-composited-absolute-scrolled.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/fixed-under-composited-fixed-scrolled.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/fixed-with-border-under-composited-absolute-scrolled.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/flexbox/repaint-column-reverse.html [ Failure ]
 crbug.com/591099 paint/invalidation/flexbox/repaint-during-resize-no-flex.html [ Failure ]
 crbug.com/591099 paint/invalidation/flexbox/repaint.html [ Failure ]
@@ -17775,6 +20332,7 @@
 crbug.com/591099 paint/invalidation/flipped-blocks-writing-mode-scroll.html [ Failure ]
 crbug.com/591099 paint/invalidation/float-in-new-block-with-layout-delta.html [ Failure ]
 crbug.com/591099 paint/invalidation/float-move-during-layout.html [ Failure ]
+crbug.com/591099 paint/invalidation/float-new-in-block.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/float-overflow.html [ Failure ]
 crbug.com/591099 paint/invalidation/float-overflow-right.html [ Failure ]
 crbug.com/591099 paint/invalidation/focus-continuations.html [ Failure ]
@@ -17784,6 +20342,7 @@
 crbug.com/591099 paint/invalidation/focus-ring-on-child-move.html [ Failure ]
 crbug.com/591099 paint/invalidation/focus-ring-on-continuation-move.html [ Failure ]
 crbug.com/591099 paint/invalidation/focus-ring-on-inline-continuation-move.html [ Failure ]
+crbug.com/591099 paint/invalidation/forms/button-reset-focus-by-mouse-then-keydown.html [ Failure Pass ]
 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 ]
@@ -17796,35 +20355,41 @@
 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 Pass ]
+crbug.com/591099 paint/invalidation/iframe-scroll-repaint.html [ Failure Pass ]
 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-box-overflow-repaint.html [ Failure ]
+crbug.com/591099 paint/invalidation/inline-box-overflow-repaint.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/inline-color-change.html [ Failure ]
 crbug.com/591099 paint/invalidation/inline-focus.html [ Failure ]
 crbug.com/591099 paint/invalidation/inline-outline-repaint-2.html [ Failure ]
 crbug.com/591099 paint/invalidation/inline-outline-repaint.html [ Failure ]
 crbug.com/591099 paint/invalidation/inline-overflow.html [ Failure ]
 crbug.com/591099 paint/invalidation/inline-reflow.html [ Failure ]
+crbug.com/591099 paint/invalidation/inline-relative-positioned.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/inline-style-change-in-scrolled-view.html [ Failure ]
 crbug.com/591099 paint/invalidation/inline-vertical-lr-overflow.html [ Failure ]
 crbug.com/591099 paint/invalidation/inline-vertical-rl-overflow.html [ Failure ]
 crbug.com/591099 paint/invalidation/input-overflow-in-table.html [ Failure Pass ]
-crbug.com/591099 paint/invalidation/in-scaled-iframe.html [ Failure ]
+crbug.com/591099 paint/invalidation/in-scaled-iframe.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/insert-frame.html [ Failure ]
 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-after-composited-scroll-of-window.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/invalidate-box-shadow-currentColor.html [ Failure ]
 crbug.com/591099 paint/invalidation/invalidate-caret-before-text-node-update.html [ Failure ]
-crbug.com/591099 paint/invalidation/invalidate-caret-in-composited-scrolling-container.html [ Failure ]
-crbug.com/591099 paint/invalidation/invalidate-caret-in-non-composited-scrolling-container.html [ Failure ]
+crbug.com/591099 paint/invalidation/invalidate-caret-in-composited-scrolling-container.html [ Crash Failure ]
+crbug.com/591099 paint/invalidation/invalidate-caret-in-non-composited-scrolling-container.html [ Crash Failure ]
 crbug.com/591099 paint/invalidation/invalidate-cell-in-row-with-offset.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/invalidate-descendants-when-receiving-paint-layer.html [ Failure ]
+crbug.com/591099 paint/invalidation/invalidate-invisible-element.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/invalidate-paint-for-fixed-pos-inside-iframe.html [ Failure ]
 crbug.com/591099 paint/invalidation/invalidate-paint-in-iframe-in-composited-layer.html [ Failure ]
 crbug.com/591099 paint/invalidation/invalidation-after-opacity-change-subtree.html [ Failure ]
 crbug.com/591099 paint/invalidation/invalidation-on-foreground-graphics-layer.html [ Failure ]
 crbug.com/591099 paint/invalidation/invalidation-with-scale-transform.html [ Failure ]
+crbug.com/591099 paint/invalidation/invalidation-with-zero-size-object.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/invisible-objects.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/japanese-rl-selection-clear.html [ Failure ]
 crbug.com/591099 paint/invalidation/japanese-rl-selection-repaint.html [ Failure ]
 crbug.com/591099 paint/invalidation/justify-content-change.html [ Failure ]
@@ -17838,8 +20403,11 @@
 crbug.com/591099 paint/invalidation/justify-self-change-keeping-geometry.html [ Failure ]
 crbug.com/591099 paint/invalidation/justify-self-overflow-change.html [ Failure ]
 crbug.com/591099 paint/invalidation/layer-child-outline.html [ Failure ]
+crbug.com/591099 paint/invalidation/layer-full-repaint.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/layer-hide-when-needs-layout.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/layer-outline-horizontal.html [ Failure ]
 crbug.com/591099 paint/invalidation/layer-outline.html [ Failure ]
+crbug.com/591099 paint/invalidation/layer-visibility.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/layoutstate-invalid-invalidation-inline-relative-positioned.html [ Failure ]
 crbug.com/591099 paint/invalidation/layout-state-only-positioned.html [ Failure ]
 crbug.com/591099 paint/invalidation/layout-state-relative.html [ Failure ]
@@ -17859,35 +20427,47 @@
 crbug.com/591099 paint/invalidation/line-in-scrolled-clipped-block.html [ Failure ]
 crbug.com/591099 paint/invalidation/line-overflow.html [ Failure ]
 crbug.com/591099 paint/invalidation/lines-with-layout-delta.html [ Failure ]
-crbug.com/591099 paint/invalidation/list-marker-2.html [ Failure ]
+crbug.com/591099 paint/invalidation/list-marker-2.html [ Crash Failure ]
 crbug.com/591099 paint/invalidation/list-marker.html [ Failure ]
+crbug.com/591099 paint/invalidation/list-marker-move.html [ Crash Pass ]
+crbug.com/591099 paint/invalidation/local-attachment-background-li-crash.html [ Crash Pass ]
 crbug.com/591099 paint/invalidation/make-children-non-inline.html [ Failure ]
+crbug.com/591099 paint/invalidation/margin.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/media-audio-no-spurious-repaints.html [ Crash ]
 crbug.com/591099 paint/invalidation/mix-blend-mode-separate-stacking-context.html [ Failure ]
 crbug.com/591099 paint/invalidation/move-caret-in-container-change-paint-offset-keep-visual.html [ Failure ]
+crbug.com/591099 paint/invalidation/multicol-as-paint-container.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/multicol-nested.html [ Failure ]
+crbug.com/591099 paint/invalidation/multicol-relpos-with-abspos.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/multicol-spanner-background-color.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/multicol-with-abspos.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/multicol-with-abspos-in-relpos.html [ Failure ]
 crbug.com/591099 paint/invalidation/multicol-with-block.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/multicol-with-overflowing-block-rl.html [ Failure ]
+crbug.com/591099 paint/invalidation/multicol-with-relpos.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/multicol-with-text.html [ Failure ]
-crbug.com/591099 paint/invalidation/multi-layout-one-frame.html [ Failure ]
+crbug.com/591099 paint/invalidation/multi-layout-one-frame.html [ Crash Failure ]
+crbug.com/591099 paint/invalidation/multiple-backgrounds-style-change.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/multi-subsequence-composited.html [ Failure ]
 crbug.com/591099 paint/invalidation/multi-subsequence-scrolled.html [ Failure ]
 crbug.com/591099 paint/invalidation/negative-shadow-box-expand.html [ Failure ]
 crbug.com/591099 paint/invalidation/negative-shadow-box-shrink.html [ Failure ]
 crbug.com/591099 paint/invalidation/negative-text-indent-with-overflow-hidden.html [ Failure ]
-crbug.com/591099 paint/invalidation/nested-iframe-scroll-inner.html [ Failure ]
-crbug.com/591099 paint/invalidation/nested-iframe-scroll-outer.html [ Failure ]
+crbug.com/591099 paint/invalidation/nested-fixed-iframe-scrolled.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/nested-iframe-scroll-inner.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/nested-iframe-scroll-outer.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/no-caret-repaint-in-non-content-editable-element.html [ Failure ]
-crbug.com/591099 paint/invalidation/offset-change-wrong-invalidation-with-float.html [ Failure ]
+crbug.com/591099 paint/invalidation/offset-change-wrong-invalidation-with-float.html [ Crash Failure ]
 crbug.com/591099 paint/invalidation/opacity-change-on-overflow-float.html [ Failure ]
+crbug.com/591099 paint/invalidation/outline-add-repaint.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/outline-become-affected-by-descendant.html [ Failure ]
 crbug.com/591099 paint/invalidation/outline-become-not-affected-by-descendant.html [ Failure ]
 crbug.com/591099 paint/invalidation/outline-change-continuations.html [ Failure ]
 crbug.com/591099 paint/invalidation/outline-change-invalidation.html [ Failure ]
+crbug.com/591099 paint/invalidation/outline-change-offset.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/outline-change-repaint.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/outline-child-repaint.html [ Failure ]
-crbug.com/591099 paint/invalidation/outline-clip-change.html [ Failure ]
+crbug.com/591099 paint/invalidation/outline-clip-change.html [ Crash Failure ]
 crbug.com/591099 paint/invalidation/outline-containing-image-in-non-standard-mode.html [ Failure ]
 crbug.com/591099 paint/invalidation/outline-continuations.html [ Failure ]
 crbug.com/591099 paint/invalidation/outline-current-color.html [ Failure ]
@@ -17897,12 +20477,16 @@
 crbug.com/591099 paint/invalidation/outline-shrinking.html [ Failure ]
 crbug.com/591099 paint/invalidation/overflow-auto-in-overflow-auto-scrolled.html [ Failure ]
 crbug.com/591099 paint/invalidation/overflow-changed-on-child-of-composited-layer.html [ Failure ]
+crbug.com/591099 paint/invalidation/overflow-clip-subtree-layout.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/overflow-delete-line.html [ Failure ]
+crbug.com/591099 paint/invalidation/overflow-flipped-writing-mode-block.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/overflow-flipped-writing-mode-table.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/overflow-hidden-in-overflow-hidden-scrolled.html [ Failure ]
 crbug.com/591099 paint/invalidation/overflow-hidden-to-visible.html [ Failure ]
 crbug.com/591099 paint/invalidation/overflow-hidden-yet-scrolled.html [ Failure ]
 crbug.com/591099 paint/invalidation/overflow-hidden-yet-scrolled-with-custom-scrollbar.html [ Failure ]
 crbug.com/591099 paint/invalidation/overflow-hide.html [ Failure ]
+crbug.com/591099 paint/invalidation/overflow-into-content.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/overflow-move-after-scroll.html [ Failure ]
 crbug.com/591099 paint/invalidation/overflow-outline-repaint.html [ Failure ]
 crbug.com/591099 paint/invalidation/overflow-scroll-after-move.html [ Failure ]
@@ -17914,21 +20498,31 @@
 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/padding-border-keeping-border-box-and-content-box.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/padding-keeping-content-size.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/padding-keeping-visual-size.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/paged-with-overflowing-block-rl.html [ Crash Failure ]
+crbug.com/591099 paint/invalidation/paint-caret-in-div-with-negative-indent.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/paint-invalidation-with-opacity.html [ Failure Pass ]
 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 ]
+crbug.com/591099 paint/invalidation/positioned-document-element.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/positioned-great-grandparent-change-location.html [ Failure ]
-crbug.com/591099 paint/invalidation/positioned-list-offset-change-repaint.html [ Failure ]
+crbug.com/591099 paint/invalidation/positioned-list-offset-change-repaint.html [ Crash Failure ]
 crbug.com/591099 paint/invalidation/push-block-with-first-line.html [ Failure ]
 crbug.com/591099 paint/invalidation/quotes.html [ Failure ]
 crbug.com/591099 paint/invalidation/reflection-invalidation-after-display.html [ Failure ]
+crbug.com/591099 paint/invalidation/reflection-invalidation-positioned-child.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/reflection-redraw.html [ Failure ]
+crbug.com/591099 paint/invalidation/reflection-repaint-test.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/relative-inline-positioned-movement-repaint.html [ Failure ]
+crbug.com/591099 paint/invalidation/relative-margin-change-repaint.html [ Failure Pass ]
 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-anonymous-block-crash.html [ Crash Pass ]
 crbug.com/591099 paint/invalidation/remove-block-after-layout.html [ Failure ]
 crbug.com/591099 paint/invalidation/remove-inline-after-layout.html [ Failure ]
 crbug.com/591099 paint/invalidation/remove-inline-block-descendant-of-flex.html [ Crash ]
@@ -17939,18 +20533,25 @@
 crbug.com/591099 paint/invalidation/repaint-descandant-on-ancestor-layer-move.html [ Failure ]
 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-in-iframe.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/repaint-on-style-change.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/repaint-resized-overflow.html [ Failure ]
+crbug.com/591099 paint/invalidation/repaint-subrect-grid.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/repaint-subsequence-on-ancestor-clip-change-complex.html [ Failure ]
-crbug.com/591099 paint/invalidation/repaint-svg-after-style-change.html [ Failure ]
+crbug.com/591099 paint/invalidation/repaint-svg-after-style-change.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/repaint-table-row-in-composited-document.html [ Failure ]
 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/requestAnimation-translation-leave-traces.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/resize-child-within-overflow.html [ Failure ]
 crbug.com/591099 paint/invalidation/resize-iframe-text.html [ Failure ]
 crbug.com/591099 paint/invalidation/resize-scrollable-div.html [ Failure ]
 crbug.com/591099 paint/invalidation/resize-scrollable-iframe.html [ Failure ]
+crbug.com/591099 paint/invalidation/resize-skewed.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/resize-with-border-clipped.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/resize-with-border.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/rotated-subpixel.html [ Failure Pass ]
-crbug.com/591099 paint/invalidation/ruby-flipped-blocks.html [ Failure ]
+crbug.com/591099 paint/invalidation/ruby-flipped-blocks.html [ Crash Failure ]
 crbug.com/591099 paint/invalidation/scroll-absolute-layer-with-reflection.html [ Failure ]
 crbug.com/591099 paint/invalidation/scrollbar-damage-and-full-viewport-repaint.html [ Failure ]
 crbug.com/591099 paint/invalidation/scrollbar-invalidation-on-resize.html [ Failure Pass ]
@@ -17961,13 +20562,15 @@
 crbug.com/591099 paint/invalidation/scroll-fixed-layer-with-no-visible-content.html [ Failure ]
 crbug.com/591099 paint/invalidation/scroll-fixed-layer-with-reflection.html [ Failure ]
 crbug.com/591099 paint/invalidation/scroll-fixed-layer-with-transformed-parent-layer.html [ Failure ]
+crbug.com/591099 paint/invalidation/scroll-fixed-reflected-layer.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/scroll-in-clipped-layer.html [ Failure ]
 crbug.com/591099 paint/invalidation/scroll-in-fixed-layer.html [ Failure ]
 crbug.com/591099 paint/invalidation/scroll-inside-table-cell.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/scroll-in-transformed-layer.html [ Failure ]
 crbug.com/591099 paint/invalidation/scroll-relative-table-inside-table-cell.html [ Failure ]
+crbug.com/591099 paint/invalidation/scroll-stacking-context-backface-visiblity-leaves-traces.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/scroll-with-transformed-parent-layer.html [ Failure ]
-crbug.com/591099 paint/invalidation/search-field-cancel.html [ Failure ]
+crbug.com/591099 paint/invalidation/search-field-cancel.html [ Crash Failure ]
 crbug.com/591099 paint/invalidation/selected-replaced.html [ Failure ]
 crbug.com/591099 paint/invalidation/selection-after-delete.html [ Failure ]
 crbug.com/591099 paint/invalidation/selection-after-remove.html [ Failure ]
@@ -17982,8 +20585,8 @@
 crbug.com/591099 paint/invalidation/selection-partial-invalidation-between-blocks.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/selection/repaint-rect-for-vertical-writing-mode-with-positioned-root.html [ Failure ]
 crbug.com/591099 paint/invalidation/selection-rl.html [ Failure ]
-crbug.com/591099 paint/invalidation/selection/selection-in-composited-scrolling-container.html [ Failure ]
-crbug.com/591099 paint/invalidation/selection/selection-in-non-composited-scrolling-container.html [ Failure ]
+crbug.com/591099 paint/invalidation/selection/selection-in-composited-scrolling-container.html [ Crash Failure ]
+crbug.com/591099 paint/invalidation/selection/selection-in-non-composited-scrolling-container.html [ Crash Failure ]
 crbug.com/591099 paint/invalidation/selection/selection-within-composited-scroller.html [ Failure ]
 crbug.com/591099 paint/invalidation/select-option-background-color.html [ Failure ]
 crbug.com/591099 paint/invalidation/shadow-box-resize.html [ Failure ]
@@ -17997,13 +20600,17 @@
 crbug.com/591099 paint/invalidation/stacked-diacritics.html [ Failure ]
 crbug.com/591099 paint/invalidation/stacking-context-lost.html [ Failure ]
 crbug.com/591099 paint/invalidation/static-to-positioned.html [ Failure ]
+crbug.com/591099 paint/invalidation/subpixel-offset-scaled-transform.html [ Failure ]
 crbug.com/591099 paint/invalidation/subpixel-shadow-included-in-invalidation.html [ Failure ]
 crbug.com/591099 paint/invalidation/subtree-layoutstate-transform.html [ Failure ]
+crbug.com/591099 paint/invalidation/subtree-root-clip-2.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/subtree-root-clip-3.html [ Failure Pass ]
-crbug.com/591099 paint/invalidation/subtree-root-skipped.html [ Failure ]
+crbug.com/591099 paint/invalidation/subtree-root-clip.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/subtree-root-skipped.html [ Crash Failure ]
 crbug.com/591099 paint/invalidation/svg/absolute-sized-content-with-resources.xhtml [ Failure ]
-crbug.com/591099 paint/invalidation/svg/add-border-property-on-root.html [ Failure ]
-crbug.com/591099 paint/invalidation/svg/add-outline-property-on-root.html [ Failure ]
+crbug.com/591099 paint/invalidation/svg/add-background-property-on-root.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/svg/add-border-property-on-root.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/svg/add-outline-property-on-root.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/svg/animated-path-inside-transformed-html.xhtml [ Failure ]
 crbug.com/591099 paint/invalidation/svg/animated-svg-as-image-background-offscreen.html [ Failure ]
 crbug.com/591099 paint/invalidation/svg/animated-svg-as-image.html [ Failure ]
@@ -18011,13 +20618,14 @@
 crbug.com/591099 paint/invalidation/svg/animated-svg-as-image-offscreen.html [ Failure ]
 crbug.com/591099 paint/invalidation/svg/animated-svg-as-image-same-image.html [ Failure ]
 crbug.com/591099 paint/invalidation/svg/animated-svg-as-image-transformed-offscreen.html [ Failure Pass ]
-crbug.com/591099 paint/invalidation/svg/circle-move-invalidation.svg [ Failure ]
+crbug.com/591099 paint/invalidation/svg/circle-move-invalidation.svg [ Failure Pass ]
 crbug.com/591099 paint/invalidation/svg/deep-nested-embedded-svg-size-changes-no-layout-triggers-1.html [ Failure ]
 crbug.com/591099 paint/invalidation/svg/deep-nested-embedded-svg-size-changes-no-layout-triggers-2.html [ Failure ]
 crbug.com/591099 paint/invalidation/svg/embedded-svg-size-changes.html [ Failure ]
 crbug.com/591099 paint/invalidation/svg/embedded-svg-size-changes-no-layout-triggers.html [ Failure ]
 crbug.com/591099 paint/invalidation/svg/fecomponenttransfer-in1-change.svg [ Failure Pass ]
 crbug.com/591099 paint/invalidation/svg/feImage-target-remove-from-document.svg [ Failure Pass ]
+crbug.com/591099 paint/invalidation/svg/foreign-object-repaint.svg [ Failure Pass ]
 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 Pass ]
@@ -18035,19 +20643,23 @@
 crbug.com/591099 paint/invalidation/svg/relative-sized-shadow-tree-content.xhtml [ Failure ]
 crbug.com/591099 paint/invalidation/svg/relative-sized-use-on-symbol.xhtml [ Failure ]
 crbug.com/591099 paint/invalidation/svg/relative-sized-use-without-attributes-on-symbol.xhtml [ Failure ]
-crbug.com/591099 paint/invalidation/svg/remove-border-property-on-root.html [ Failure ]
-crbug.com/591099 paint/invalidation/svg/remove-outline-property-on-root.html [ Failure ]
+crbug.com/591099 paint/invalidation/svg/remove-background-property-on-root.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/svg/remove-border-property-on-root.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/svg/remove-outline-property-on-root.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/svg/repaint-in-scrolled-view.html [ Failure ]
+crbug.com/591099 paint/invalidation/svg/repaint-moving-svg-and-div.xhtml [ Failure Pass ]
 crbug.com/591099 paint/invalidation/svg/resize-svg-invalidate-children.html [ Crash ]
 crbug.com/591099 paint/invalidation/svg/scroll-hit-test.xhtml [ Failure ]
 crbug.com/591099 paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem.html [ Failure ]
 crbug.com/591099 paint/invalidation/svg/svg-absolute-children.svg [ Failure Pass ]
 crbug.com/591099 paint/invalidation/svg/svg-background-partial-redraw.html [ Failure ]
 crbug.com/591099 paint/invalidation/svg/svg-image-change-content-size.xhtml [ Failure ]
+crbug.com/591099 paint/invalidation/svg/text-rescale.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/svg/text-xy-updates-SVGList.xhtml [ Failure ]
 crbug.com/591099 paint/invalidation/svg/transform-focus-ring-repaint.html [ Failure ]
+crbug.com/591099 paint/invalidation/svg/transform-foreign-object.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/svg/use-instanceRoot-event-bubbling.xhtml [ Timeout ]
-crbug.com/591099 paint/invalidation/svg/use-setAttribute-crash.svg [ Failure ]
+crbug.com/591099 paint/invalidation/svg/use-setAttribute-crash.svg [ Failure Pass ]
 crbug.com/591099 paint/invalidation/svg/zoom-coords-viewattr-01-b.svg [ Failure Pass ]
 crbug.com/591099 paint/invalidation/svg/zoom-foreignObject.svg [ Failure ]
 crbug.com/591099 paint/invalidation/table/animated-row-background.html [ Failure Pass ]
@@ -18104,27 +20716,36 @@
 crbug.com/591099 paint/invalidation/trailing-floats-root-line-box-overflow.html [ Failure ]
 crbug.com/591099 paint/invalidation/transform-absolute-child.html [ Failure ]
 crbug.com/591099 paint/invalidation/transform-absolute-in-positioned-container.html [ Failure ]
+crbug.com/591099 paint/invalidation/transform-disable-layoutstate.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/transform-inline-layered-child.html [ Failure ]
+crbug.com/591099 paint/invalidation/transform-layout-repaint.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/transform-relative-position.html [ Failure ]
 crbug.com/591099 paint/invalidation/transform-repaint-descendants.html [ Failure ]
 crbug.com/591099 paint/invalidation/transform-replaced-shadows.html [ Failure ]
 crbug.com/591099 paint/invalidation/transform-rotate-and-remove.html [ Failure ]
 crbug.com/591099 paint/invalidation/transform-translate.html [ Failure ]
 crbug.com/591099 paint/invalidation/update-visual-rects-after-compositing-change.html [ Failure ]
-crbug.com/591099 paint/invalidation/vertical-align1.html [ Failure ]
-crbug.com/591099 paint/invalidation/vertical-align2.html [ Failure ]
-crbug.com/591099 paint/invalidation/vertical-align-length1.html [ Failure ]
-crbug.com/591099 paint/invalidation/vertical-align-length2.html [ Failure ]
+crbug.com/591099 paint/invalidation/vertical-align1.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/vertical-align2.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/vertical-align-length1.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/vertical-align-length2.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/vertical-overflow-child.html [ Failure ]
 crbug.com/591099 paint/invalidation/vertical-overflow-parent.html [ Failure ]
 crbug.com/591099 paint/invalidation/vertical-overflow-same.html [ Failure ]
 crbug.com/591099 paint/invalidation/vertical-rl-as-paint-container.html [ Failure ]
+crbug.com/591099 paint/invalidation/vertical-rl-overflow.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/view-background-from-body-2.html [ Failure ]
+crbug.com/591099 paint/invalidation/viewport-gradient-background-html-resize.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/window-resize-centered-inline-under-fixed-pos.html [ Failure ]
 crbug.com/591099 paint/invalidation/window-resize-frameset.html [ Failure ]
 crbug.com/591099 paint/invalidation/window-resize-no-layout-change1.html [ Failure ]
-crbug.com/591099 paint/invalidation/window-resize-no-layout-change2.html [ Failure ]
+crbug.com/591099 paint/invalidation/window-resize-no-layout-change2.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/window-resize-percent-html.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/window-resize-percent-width-height.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/window-resize-positioned-bottom.html [ Failure Pass ]
+crbug.com/591099 paint/invalidation/window-resize-positioned-percent-top.html [ Failure Pass ]
 crbug.com/591099 paint/invalidation/window-resize-vertical-writing-mode.html [ Failure ]
+crbug.com/591099 paint/invalidation/window-resize-viewport-percent.html [ Failure Pass ]
 crbug.com/591099 paint/lists/invalidate-list-marker-color.html [ Crash Pass ]
 crbug.com/591099 paint/masks/fieldset-mask.html [ Failure ]
 crbug.com/591099 paint/masks/table-cell-masks.html [ Failure Pass ]
@@ -18133,6 +20754,7 @@
 crbug.com/591099 paint/overflow/non-composited-fixed-position-descendant.html [ Failure ]
 crbug.com/591099 paint/overflow/scroll-background-obscured.html [ Failure ]
 crbug.com/591099 paint/pagination/pagination-change-clip-crash.html [ Failure ]
+crbug.com/591099 paint/roundedrects/circle-with-shadow.html [ Failure Pass ]
 crbug.com/591099 paint/roundedrects/input-with-rounded-rect-and-shadow.html [ Failure ]
 crbug.com/591099 paint/selection/drag-caret.html [ Crash ]
 crbug.com/591099 paint/selection/text-selection-drag.html [ Failure ]
@@ -18152,26 +20774,33 @@
 crbug.com/591099 paint/selection/text-selection-newline-vertical-rl.html [ Failure ]
 crbug.com/591099 paint/spellmarkers/document-markers.html [ Failure Pass ]
 crbug.com/591099 paint/spellmarkers/document-markers-zoom-125.html [ Failure Pass ]
+crbug.com/591099 paint/spellmarkers/document-markers-zoom-150.html [ Failure Pass ]
 crbug.com/591099 paint/spellmarkers/document-markers-zoom-175.html [ Failure Pass ]
+crbug.com/591099 paint/spellmarkers/document-markers-zoom-200.html [ Failure Pass ]
 crbug.com/591099 paint/spellmarkers/document-markers-zoom-250.html [ Failure Pass ]
+crbug.com/591099 paint/spellmarkers/grammar-markers-hidpi.html [ Failure Pass ]
+crbug.com/591099 paint/spellmarkers/grammar-markers.html [ Failure Pass ]
 crbug.com/591099 paint/spellmarkers/inline-spelling-markers-hidpi-composited.html [ Failure ]
 crbug.com/591099 paint/spellmarkers/inline-spelling-markers-hidpi.html [ Failure ]
 crbug.com/591099 paint/spellmarkers/inline_spelling_markers.html [ Failure ]
 crbug.com/591099 paint/tables/collapsed-border-layered-table-and-cells.html [ Failure Pass ]
+crbug.com/591099 paint/tables/composited-collapsed-table-borders.html [ Failure Pass ]
 crbug.com/591099 paint/tables/huge-table-composited-scroll.html [ Failure ]
-crbug.com/591099 paint/tables/self-painting-row-background-vertical-clipped.html [ Failure ]
-crbug.com/591099 paint/tables/tbody-fixedposition.html [ Crash Failure ]
+crbug.com/591099 paint/tables/self-painting-row-background-vertical-clipped.html [ Failure Pass ]
+crbug.com/591099 paint/tables/tbody-fixedposition.html [ Crash Failure Pass ]
 crbug.com/591099 paint/tables/tbody-transformed.html [ Failure ]
 crbug.com/591099 paint/text/selection-no-clip-text.html [ Failure ]
 crbug.com/591099 paint/text/text-match-highlights-big-line-height.html [ Failure ]
+crbug.com/591099 paint/theme/adjust-progress-bar-size.html [ Failure Pass ]
 crbug.com/591099 paint/transforms/percentage-transform-fractional-box-size.html [ Failure ]
+crbug.com/591099 paint/transforms/subpixel-scale-align.html [ Failure ]
 crbug.com/591099 paint/transparency/compositing-alpha-fold-crash.html [ Failure ]
 crbug.com/591099 paint/transparency/transparency-that-paints-content-only-in-child.html [ Failure ]
 crbug.com/591099 payments/payment-request-in-iframe-allowed.html [ Crash ]
 crbug.com/591099 payments/payment-request-in-iframe.html [ Crash ]
 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/image-permissions.html [ Crash 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 ]
@@ -18189,14 +20818,17 @@
 crbug.com/591099 plugins/iframe-plugin-bgcolor.html [ Failure ]
 crbug.com/591099 plugins/iframe-shims.html [ Failure ]
 crbug.com/591099 plugins/keyboard-events.html [ Failure ]
-crbug.com/591099 plugins/mouse-capture-inside-shadow.html [ Timeout ]
+crbug.com/591099 plugins/mouse-capture-inside-shadow.html [ Crash Timeout ]
+crbug.com/591099 plugins/mouse-click-plugin-clears-selection.html [ Crash Failure ]
 crbug.com/591099 plugins/mouse-events-fixedpos.html [ Failure ]
 crbug.com/591099 plugins/mouse-events.html [ Failure ]
 crbug.com/591099 plugins/multiple-plugins.html [ Crash ]
 crbug.com/591099 plugins/navigator-mimeTypes-length.html [ Failure ]
 crbug.com/591099 plugins/navigator-plugins.html [ Failure ]
 crbug.com/591099 plugins/nested-plugin-objects.html [ Crash ]
+crbug.com/591099 plugins/object-onerror-placeholder.html [ Crash ]
 crbug.com/591099 plugins/object-onfocus-mutation-crash.html [ Crash ]
+crbug.com/591099 plugins/object-onload-placeholder.html [ Crash ]
 crbug.com/591099 plugins/overlay-scrollbar-mouse-capture.html [ Failure ]
 crbug.com/591099 plugins/override-node-method.html [ Failure ]
 crbug.com/591099 plugins/page-scale-does-not-affect-plugin-height.html [ Crash ]
@@ -18215,10 +20847,10 @@
 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-lifecycle.html [ Failure ]
+crbug.com/591099 plugins/webview-plugin-lifecycle.html [ Failure Pass ]
 crbug.com/591099 plugins/webview-plugin-nested-iframe-scroll.html [ Failure ]
-crbug.com/591099 plugins/webview-plugin-scroll.html [ Failure ]
-crbug.com/591099 plugins/webview-plugin-type-change.html [ Failure ]
+crbug.com/591099 plugins/webview-plugin-scroll.html [ Failure Pass ]
+crbug.com/591099 plugins/webview-plugin-type-change.html [ Failure Pass ]
 crbug.com/591099 pointer-lock/bug90391-move-then-window-open-crash.html [ Failure ]
 crbug.com/591099 pointer-lock/lock-already-locked.html [ Failure ]
 crbug.com/591099 pointer-lock/locked-element-iframe-removed-from-dom.html [ Crash ]
@@ -18263,7 +20895,7 @@
 crbug.com/591099 printing/fixed-positioned.html [ Failure ]
 crbug.com/591099 printing/forced-break-tree-dump-only.html [ Failure ]
 crbug.com/591099 printing/iframe-print.html [ Failure ]
-crbug.com/591099 printing/list-item-with-empty-first-line.html [ Failure ]
+crbug.com/591099 printing/list-item-with-empty-first-line.html [ Crash Failure ]
 crbug.com/591099 printing/multicol-2-pages.html [ Failure ]
 crbug.com/591099 printing/multicol.html [ Failure ]
 crbug.com/591099 printing/no-content-empty-pages.html [ Failure ]
@@ -18294,7 +20926,10 @@
 crbug.com/591099 printing/return-from-printing-mode.html [ Crash Failure ]
 crbug.com/591099 printing/simultaneous-position-float-change.html [ Failure ]
 crbug.com/591099 printing/single-line-must-not-be-split-into-two-pages.html [ Timeout ]
+crbug.com/591099 printing/standards-percentage-heights.html [ Failure Pass ]
 crbug.com/591099 printing/stretch-to-view-height.html [ Failure ]
+crbug.com/591099 printing/subframes-percentage-height.html [ Failure Pass ]
+crbug.com/591099 printing/text-color-adjust.html [ Crash Pass ]
 crbug.com/591099 printing/thead-repeats-at-top-of-each-page.html [ Failure ]
 crbug.com/591099 printing/thead-repeats-at-top-of-each-page-multiple-tables.html [ Failure ]
 crbug.com/591099 printing/viewport-size-dependant-iframe-with-multicol-crash.html [ Failure ]
@@ -18354,8 +20989,8 @@
 crbug.com/591099 scrollingcoordinator/non-fast-scrollable-transform-changed.html [ Failure ]
 crbug.com/591099 scrollingcoordinator/non-fast-scrollable-visibility-change.html [ Failure ]
 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/autocomplete-cleared-on-back.html [ Crash Failure ]
+crbug.com/591099 security/block-test.html [ Crash 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 ]
@@ -18407,7 +21042,7 @@
 crbug.com/591099 storage/indexeddb/basics.html [ Failure ]
 crbug.com/591099 storage/indexeddb/basics-shared-workers.html [ Failure ]
 crbug.com/591099 storage/indexeddb/basics-workers.html [ Failure ]
-crbug.com/591099 storage/indexeddb/blob-basics-metadata.html [ Failure ]
+crbug.com/591099 storage/indexeddb/blob-basics-metadata.html [ Crash Failure ]
 crbug.com/591099 storage/indexeddb/blob-delete-objectstore-db.html [ Failure ]
 crbug.com/591099 storage/indexeddb/blob-valid-after-deletion.html [ Failure ]
 crbug.com/591099 storage/indexeddb/blob-valid-before-commit.html [ Failure ]
@@ -18469,7 +21104,7 @@
 crbug.com/591099 storage/indexeddb/dont-commit-on-blocked.html [ Failure ]
 crbug.com/591099 storage/indexeddb/dont-wedge.html [ Failure ]
 crbug.com/591099 storage/indexeddb/duplicates.html [ Failure ]
-crbug.com/591099 storage/indexeddb/empty-blob-file.html [ Failure ]
+crbug.com/591099 storage/indexeddb/empty-blob-file.html [ Crash Failure ]
 crbug.com/591099 storage/indexeddb/empty-filesystem-file.html [ Failure ]
 crbug.com/591099 storage/indexeddb/error-causes-abort-by-default.html [ Failure ]
 crbug.com/591099 storage/indexeddb/event-init.html [ Failure ]
@@ -18523,7 +21158,7 @@
 crbug.com/591099 storage/indexeddb/keyrange-required-arguments.html [ Failure ]
 crbug.com/591099 storage/indexeddb/key-sort-order-across-types.html [ Failure ]
 crbug.com/591099 storage/indexeddb/key-sort-order-date.html [ Failure ]
-crbug.com/591099 storage/indexeddb/key-type-array.html [ Timeout ]
+crbug.com/591099 storage/indexeddb/key-type-array.html [ Failure Timeout ]
 crbug.com/591099 storage/indexeddb/key-type-infinity.html [ Failure ]
 crbug.com/591099 storage/indexeddb/lazy-index-population.html [ Failure ]
 crbug.com/591099 storage/indexeddb/lazy-index-types.html [ Failure ]
@@ -18609,7 +21244,7 @@
 crbug.com/591099 storage/indexeddb/setversion-blocked-by-versionchange-close.html [ Failure ]
 crbug.com/591099 storage/indexeddb/set_version_blocked.html [ Failure ]
 crbug.com/591099 storage/indexeddb/setversion-not-blocked.html [ Failure ]
-crbug.com/591099 storage/indexeddb/structured-clone.html [ Timeout ]
+crbug.com/591099 storage/indexeddb/structured-clone.html [ Crash Timeout ]
 crbug.com/591099 storage/indexeddb/transaction-abort.html [ Failure ]
 crbug.com/591099 storage/indexeddb/transaction-active-flag.html [ Timeout ]
 crbug.com/591099 storage/indexeddb/transaction-after-close.html [ Failure ]
@@ -18689,7 +21324,7 @@
 crbug.com/591099 svg/animations/animate-elem-17-t-drt.html [ Failure ]
 crbug.com/591099 svg/animations/animate-elem-18-t-drt.html [ Failure ]
 crbug.com/591099 svg/animations/animate-elem-19-t-drt.html [ Failure ]
-crbug.com/591099 svg/animations/animate-element-reinserted-crash.html [ Crash ]
+crbug.com/591099 svg/animations/animate-element-reinserted-crash.html [ Crash Pass ]
 crbug.com/591099 svg/animations/animate-end-attribute.html [ Timeout ]
 crbug.com/591099 svg/animations/animate-end-attribute-numeric-precision.html [ Failure ]
 crbug.com/591099 svg/animations/animate-endElement-beginElement.html [ Timeout ]
@@ -18861,12 +21496,21 @@
 crbug.com/591099 svg/animations/use-animate-transform-and-position.html [ Timeout ]
 crbug.com/591099 svg/animations/use-animate-width-and-height.html [ Timeout ]
 crbug.com/591099 svg/animations/use-while-animating-crash.html [ Crash ]
+crbug.com/591099 svg/as-background-image/animated-svg-as-background.html [ Failure Pass ]
 crbug.com/591099 svg/as-background-image/background-image-preserveaspectRatio-support.html [ Failure Pass ]
+crbug.com/591099 svg/as-background-image/background-image-tiled.html [ Failure Pass ]
 crbug.com/591099 svg/as-background-image/background-repeat.html [ Failure ]
+crbug.com/591099 svg/as-background-image/same-image-two-instances-background-image.html [ Failure Pass ]
+crbug.com/591099 svg/as-background-image/svg-as-background-1.html [ Failure Pass ]
+crbug.com/591099 svg/as-background-image/svg-as-background-2.html [ Failure Pass ]
+crbug.com/591099 svg/as-background-image/svg-as-background-3.html [ Failure Pass ]
+crbug.com/591099 svg/as-background-image/svg-as-background-5.html [ Failure Pass ]
+crbug.com/591099 svg/as-background-image/svg-as-background-6.html [ Failure Pass ]
 crbug.com/591099 svg/as-background-image/svg-as-background.html [ Failure ]
 crbug.com/591099 svg/as-background-image/svg-as-background-with-relative-size.html [ Failure ]
 crbug.com/591099 svg/as-background-image/svg-as-background-with-viewBox.html [ Failure ]
 crbug.com/591099 svg/as-background-image/svg-as-tiled-background.html [ Failure ]
+crbug.com/591099 svg/as-background-image/svg-width-100p-as-background.html [ Failure Pass ]
 crbug.com/591099 svg/as-border-image/svg-as-border-image-2.html [ Failure ]
 crbug.com/591099 svg/as-border-image/svg-as-border-image.html [ Failure ]
 crbug.com/591099 svg/as-iframe/svg-in-iframe.html [ Crash ]
@@ -18879,6 +21523,9 @@
 crbug.com/591099 svg/as-image/image-respects-pageScaleFactor-change.html [ Failure ]
 crbug.com/591099 svg/as-image/image-respects-pageScaleFactor.html [ Failure ]
 crbug.com/591099 svg/as-image/img-preserveAspectRatio-support-1.html [ Failure Pass ]
+crbug.com/591099 svg/as-image/img-preserveAspectRatio-support-2.html [ Failure Pass ]
+crbug.com/591099 svg/as-image/same-image-two-instances.html [ Failure Pass ]
+crbug.com/591099 svg/as-image/svg-as-image-actually-containing-xhtml-with-media.html [ Crash Pass ]
 crbug.com/591099 svg/as-image/svg-as-image.html [ Failure ]
 crbug.com/591099 svg/as-image/svg-as-image-intrinsic-size.html [ Crash ]
 crbug.com/591099 svg/as-image/svg-as-relative-image.html [ Failure ]
@@ -18889,12 +21536,15 @@
 crbug.com/591099 svg/as-image/svg-non-integer-scaled-image.html [ Failure ]
 crbug.com/591099 svg/as-image/svg-object-intrinsic-size.html [ Failure ]
 crbug.com/591099 svg/as-image/svgview-references-use-counters.html [ Failure ]
-crbug.com/591099 svg/as-list-image/svg-list-image-intrinsic-size-zoom.html [ Failure ]
+crbug.com/591099 svg/as-image/synthesized-viewbox-par-width-percent.html [ Failure Pass ]
+crbug.com/591099 svg/as-list-image/svg-list-image-intrinsic-size-1.html [ Crash Pass ]
+crbug.com/591099 svg/as-list-image/svg-list-image-intrinsic-size-zoom.html [ Crash Failure Pass ]
 crbug.com/591099 svg/as-object/embedded-svg-immediate-offsetWidth-query.html [ Failure ]
+crbug.com/591099 svg/as-object/object-box-sizing-no-width-height.html [ Failure Pass ]
 crbug.com/591099 svg/as-object/svg-embedded-in-html-in-iframe.html [ Failure Pass Timeout ]
 crbug.com/591099 svg/batik/text/textAnchor3.svg [ Failure Pass ]
-crbug.com/591099 svg/canvas/canvas-default-object-sizing.html [ Failure ]
-crbug.com/591099 svg/canvas/canvas-draw-image-globalalpha.html [ Failure ]
+crbug.com/591099 svg/canvas/canvas-default-object-sizing.html [ Failure Pass ]
+crbug.com/591099 svg/canvas/canvas-draw-image-globalalpha.html [ Failure Pass ]
 crbug.com/591099 svg/canvas/canvas-draw-image-size.html [ Crash ]
 crbug.com/591099 svg/canvas/canvas-draw-image-svg-fragment.html [ Crash Pass ]
 crbug.com/591099 svg/canvas/canvas-draw-pattern-size.html [ Crash ]
@@ -18902,12 +21552,13 @@
 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-in-mask-userSpaceOnUse.svg [ Crash Pass ]
 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 Pass ]
 crbug.com/591099 svg/clip-path/clip-path-use-as-child.svg [ Crash Pass ]
 crbug.com/591099 svg/clip-path/clip-path-with-different-unittypes2.svg [ Crash Pass ]
 crbug.com/591099 svg/clip-path/opacity-assertion.svg [ Crash Pass ]
-crbug.com/591099 svg/css/background-image-svg.html [ Crash Pass ]
+crbug.com/591099 svg/css/background-image-svg.html [ Crash Failure 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 ]
@@ -18933,6 +21584,7 @@
 crbug.com/591099 svg/css/svg-resource-fragment-identifier-input.html [ Failure Pass ]
 crbug.com/591099 svg/css/svg-resource-fragment-identifier-video-poster.html [ Failure Pass ]
 crbug.com/591099 svg/css/text-shadow-multiple.xhtml [ Failure ]
+crbug.com/591099 svg/custom/absolute-root-position-masking.xhtml [ Failure Pass ]
 crbug.com/591099 svg/custom/absolute-sized-svg-in-xhtml.xhtml [ Failure ]
 crbug.com/591099 svg/custom/acid3-test-77.html [ Failure ]
 crbug.com/591099 svg/custom/anchor-on-use.svg [ Failure ]
@@ -18960,11 +21612,15 @@
 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/embedding-external-svgs.xhtml [ Failure Pass ]
+crbug.com/591099 svg/custom/empty-merge.svg [ Crash Pass ]
 crbug.com/591099 svg/custom/events-in-shadow-tree.html [ Crash ]
+crbug.com/591099 svg/custom/external-paintserver-reference.svg [ Failure Pass ]
 crbug.com/591099 svg/custom/fill-fallback-currentcolor-2.svg [ Crash Pass ]
-crbug.com/591099 svg/custom/filter-css-transform-resolution.html [ Failure ]
+crbug.com/591099 svg/custom/filter-css-transform-resolution.html [ Failure Pass ]
 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/foreign-object-skew.svg [ Failure Pass ]
 crbug.com/591099 svg/custom/fragment-navigation-01.html [ Failure ]
 crbug.com/591099 svg/custom/fragment-navigation-02.html [ Failure ]
 crbug.com/591099 svg/custom/frame-getSVGDocument.html [ Failure ]
@@ -18990,7 +21646,7 @@
 crbug.com/591099 svg/custom/image-rescale-clip.html [ Failure ]
 crbug.com/591099 svg/custom/image-rescale-scroll.html [ Failure ]
 crbug.com/591099 svg/custom/image-svgload-after-docload.html [ Crash ]
-crbug.com/591099 svg/custom/image-with-attr-change-after-delete-crash.html [ Crash ]
+crbug.com/591099 svg/custom/image-with-attr-change-after-delete-crash.html [ Crash Pass ]
 crbug.com/591099 svg/custom/inline-style-overrides-markers.svg [ Failure Pass ]
 crbug.com/591099 svg/custom/inline-svg-in-xhtml.xml [ Failure ]
 crbug.com/591099 svg/custom/inline-svg-use-available-width.html [ Failure Pass ]
@@ -19019,11 +21675,12 @@
 crbug.com/591099 svg/custom/no-fixed-in-svg-assert.html [ Failure ]
 crbug.com/591099 svg/custom/no-inherited-dashed-stroke.xhtml [ Failure ]
 crbug.com/591099 svg/custom/object-data-href.html [ Failure Pass ]
-crbug.com/591099 svg/custom/object-no-size-attributes.xhtml [ Failure ]
+crbug.com/591099 svg/custom/object-no-size-attributes.xhtml [ Failure Pass ]
 crbug.com/591099 svg/custom/object-sizing-explicit-height.xhtml [ Failure ]
+crbug.com/591099 svg/custom/object-sizing-explicit-width-height.xhtml [ Failure Pass ]
 crbug.com/591099 svg/custom/object-sizing-explicit-width.xhtml [ Failure ]
 crbug.com/591099 svg/custom/object-sizing-no-width-height.xhtml [ Failure ]
-crbug.com/591099 svg/custom/object-sizing.xhtml [ Failure ]
+crbug.com/591099 svg/custom/object-sizing.xhtml [ Crash Failure ]
 crbug.com/591099 svg/custom/object-sizing-zero-intrinsic-width-height.html [ Crash ]
 crbug.com/591099 svg/custom/path-bad-data.svg [ Failure ]
 crbug.com/591099 svg/custom/path-multiple-movetos.svg [ Crash Pass ]
@@ -19040,12 +21697,14 @@
 crbug.com/591099 svg/custom/pointer-events-on-svg-without-pointer.xhtml [ Failure ]
 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/radial-gradient-with-outstanding-focalPoint.svg [ Crash ]
 crbug.com/591099 svg/custom/removed-from-animation-crash.html [ Crash ]
 crbug.com/591099 svg/custom/rootelement.svg [ Crash Pass ]
 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 ]
-crbug.com/591099 svg/custom/simpleCDF.xml [ Failure ]
+crbug.com/591099 svg/custom/second-inline-text.xhtml [ Failure Pass ]
+crbug.com/591099 svg/custom/simpleCDF.xml [ Failure Pass ]
 crbug.com/591099 svg/custom/size-follows-container-size.html [ Crash ]
 crbug.com/591099 svg/custom/stf-container-with-intrinsic-ratio-svg.html [ Crash ]
 crbug.com/591099 svg/custom/svg-allowed-in-dashboard-object.html [ Failure ]
@@ -19055,6 +21714,7 @@
 crbug.com/591099 svg/custom/svg-fonts-in-html.html [ Failure ]
 crbug.com/591099 svg/custom/svg-fonts-in-text-controls.html [ Failure ]
 crbug.com/591099 svg/custom/svg-fonts-no-latin-glyph.html [ Failure ]
+crbug.com/591099 svg/custom/svg-fonts-with-no-element-reference.html [ Failure Pass ]
 crbug.com/591099 svg/custom/svg-fonts-word-spacing.html [ Failure ]
 crbug.com/591099 svg/custom/svg-image-container-size.html [ Failure Pass ]
 crbug.com/591099 svg/custom/svg-image-intrinsic-size-with-cssstyle-auto-dynamic-image-change.html [ Crash ]
@@ -19072,26 +21732,39 @@
 crbug.com/591099 svg/custom/text-match-highlight.html [ Failure ]
 crbug.com/591099 svg/custom/text-rotation.svg [ Failure Pass ]
 crbug.com/591099 svg/custom/text-use-click-crash.xhtml [ Crash ]
+crbug.com/591099 svg/custom/text-zoom.xhtml [ Failure Pass ]
 crbug.com/591099 svg/custom/title-assertion.html [ Failure ]
 crbug.com/591099 svg/custom/touch-events.html [ Failure ]
+crbug.com/591099 svg/custom/tref-clone-crash.html [ Crash Pass ]
 crbug.com/591099 svg/custom/tref-with-progress-tag-setpseudo-assert.html [ Failure ]
 crbug.com/591099 svg/custom/use-crash-in-non-wellformed-document.svg [ Failure ]
 crbug.com/591099 svg/custom/use-css-events.svg [ Failure Pass ]
 crbug.com/591099 svg/custom/use-event-retargeting.html [ Failure ]
 crbug.com/591099 svg/custom/use-font-face-crash.svg [ Failure ]
 crbug.com/591099 svg/custom/use-href-attr-removal-crash.html [ Failure ]
+crbug.com/591099 svg/custom/use-in-symbol-with-offset.svg [ Crash Pass ]
 crbug.com/591099 svg/custom/use-invalidate-click-crash.xhtml [ Crash ]
 crbug.com/591099 svg/custom/use-invalid-html.xhtml [ Failure ]
 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 Pass ]
 crbug.com/591099 svg/custom/use-nested-sibling-symbols.html [ Crash Pass ]
+crbug.com/591099 svg/custom/use-on-clip-path-with-transformation.svg [ Failure ]
+crbug.com/591099 svg/custom/use-on-disallowed-foreign-object-1.svg [ Failure Pass ]
+crbug.com/591099 svg/custom/use-on-disallowed-foreign-object-2.svg [ Failure Pass ]
+crbug.com/591099 svg/custom/use-on-disallowed-foreign-object-3.svg [ Failure Pass ]
+crbug.com/591099 svg/custom/use-on-disallowed-foreign-object-4.svg [ Failure Pass ]
+crbug.com/591099 svg/custom/use-on-disallowed-foreign-object-5.svg [ Failure Pass ]
+crbug.com/591099 svg/custom/use-on-disallowed-foreign-object-6.svg [ Failure Pass ]
+crbug.com/591099 svg/custom/use-on-non-svg-namespaced-element.svg [ Failure Pass ]
 crbug.com/591099 svg/custom/use-property-synchronization-crash.svg [ Failure Pass ]
 crbug.com/591099 svg/custom/use-recalcStyle-crash.svg [ Failure Pass ]
 crbug.com/591099 svg/custom/use-referencing-style-crash.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/viewport-em.svg [ Failure ]
+crbug.com/591099 svg/custom/use-transfer-width-height-properties-to-symbol1.svg [ Crash Pass ]
+crbug.com/591099 svg/custom/viewport-em.svg [ Failure Pass ]
+crbug.com/591099 svg/custom/xhtml-no-svg-renderer.xhtml [ 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 ]
@@ -19105,6 +21778,7 @@
 crbug.com/591099 svg/dom/getbbox.html [ Crash ]
 crbug.com/591099 svg/dom/getElementsByTagName-localName-matching.html [ Failure ]
 crbug.com/591099 svg/dom/getScreenCTM-ancestor-transform.html [ Crash ]
+crbug.com/591099 svg/dom/getscreenctm-use-with-additional-translation.html [ Crash ]
 crbug.com/591099 svg/dom/href-baseval-animval.html [ Crash ]
 crbug.com/591099 svg/dom/id-reflect.html [ Failure ]
 crbug.com/591099 svg/dom/length-list-parser.html [ Failure ]
@@ -19499,7 +22173,7 @@
 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 Pass ]
-crbug.com/591099 svg/filters/feBlend-all-modes.html [ Failure ]
+crbug.com/591099 svg/filters/feBlend-all-modes.html [ Failure Pass ]
 crbug.com/591099 svg/filters/feColorMatrix-values.svg [ Failure Pass ]
 crbug.com/591099 svg/filters/feComponentTransfer-style-crash.xhtml [ Crash ]
 crbug.com/591099 svg/filters/feDisplacementMap-crash-test.xhtml [ Crash ]
@@ -19513,12 +22187,15 @@
 crbug.com/591099 svg/filters/reparent-animated-filter-target.html [ Failure ]
 crbug.com/591099 svg/filters/sourceAlpha.svg [ Crash Pass ]
 crbug.com/591099 svg/foreignObject/background-render-phase.html [ Failure ]
+crbug.com/591099 svg/foreignObject/body-background.svg [ Failure Pass ]
 crbug.com/591099 svg/foreignObject/clip.html [ Failure ]
 crbug.com/591099 svg/foreignObject/filter.html [ Failure ]
+crbug.com/591099 svg/foreignObject/fO-parent-display-changes.svg [ Failure Pass ]
 crbug.com/591099 svg/foreignObject/fO-percentage-height-style.html [ Failure ]
 crbug.com/591099 svg/foreignObject/mask.html [ Failure ]
 crbug.com/591099 svg/foreignObject/multiple-foreign-objects.html [ Failure ]
-crbug.com/591099 svg/foreignObject/svg-document-in-html-document.svg [ Failure ]
+crbug.com/591099 svg/foreignObject/no-crash-with-svg-content-in-html-document.svg [ Failure Pass ]
+crbug.com/591099 svg/foreignObject/svg-document-in-html-document.svg [ Failure Pass ]
 crbug.com/591099 svg/foreignObject/vertical-foreignObject.html [ Failure ]
 crbug.com/591099 svg/foreignObject/viewport-foreignobject-crash.html [ Crash ]
 crbug.com/591099 svg/hittest/clip-path-shape.html [ Crash ]
@@ -19547,7 +22224,7 @@
 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/data-types/002.xhtml [ Failure ]
+crbug.com/591099 svg/hixie/data-types/002.xhtml [ Failure Pass ]
 crbug.com/591099 svg/hixie/dynamic/003.xml [ Failure Pass ]
 crbug.com/591099 svg/hixie/error/006.xml [ Crash Pass ]
 crbug.com/591099 svg/hixie/error/011.xml [ Crash Pass ]
@@ -19555,20 +22232,25 @@
 crbug.com/591099 svg/hixie/error/013.xml [ Failure ]
 crbug.com/591099 svg/hixie/intrinsic/003.html [ Failure Pass ]
 crbug.com/591099 svg/hixie/links/001.xml [ Crash Pass ]
-crbug.com/591099 svg/hixie/mixed/003.xml [ Failure ]
-crbug.com/591099 svg/hixie/mixed/004.xml [ Failure ]
-crbug.com/591099 svg/hixie/mixed/005.xml [ Failure ]
+crbug.com/591099 svg/hixie/mixed/003.xml [ Crash Failure ]
+crbug.com/591099 svg/hixie/mixed/004.xml [ Failure Pass ]
+crbug.com/591099 svg/hixie/mixed/005.xml [ Failure Pass ]
 crbug.com/591099 svg/hixie/mixed/006.xml [ Failure ]
+crbug.com/591099 svg/hixie/mixed/007.xml [ Failure Pass ]
 crbug.com/591099 svg/hixie/mixed/008.xml [ Failure ]
-crbug.com/591099 svg/hixie/mixed/009.xml [ Failure ]
-crbug.com/591099 svg/hixie/mixed/010.xml [ Failure ]
+crbug.com/591099 svg/hixie/mixed/009.xml [ Failure Pass ]
+crbug.com/591099 svg/hixie/mixed/010.xml [ Failure Pass ]
 crbug.com/591099 svg/hixie/mixed/011.xml [ Failure ]
-crbug.com/591099 svg/hixie/rendering-model/003.xhtml [ Failure ]
-crbug.com/591099 svg/hixie/rendering-model/004.xhtml [ Failure ]
-crbug.com/591099 svg/in-html/circle.html [ Failure ]
+crbug.com/591099 svg/hixie/processing-model/003.xml [ Failure Pass ]
+crbug.com/591099 svg/hixie/processing-model/004.xml [ Failure Pass ]
+crbug.com/591099 svg/hixie/rendering-model/003.xhtml [ Failure Pass ]
+crbug.com/591099 svg/hixie/rendering-model/004.xhtml [ Failure Pass ]
+crbug.com/591099 svg/in-html/by-reference.html [ Failure Pass ]
+crbug.com/591099 svg/in-html/circle.html [ Failure Pass ]
 crbug.com/591099 svg/in-html/overflow-svg-root-style.html [ Crash Pass ]
 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-foreignObject.svg [ Failure Pass ]
 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 Pass ]
 crbug.com/591099 svg/overflow/overflow-on-outermost-svg-element-in-xhtml-auto.xhtml [ Failure ]
@@ -19588,30 +22270,31 @@
 crbug.com/591099 svg/parser/whitespace-length-invalid-3.html [ Crash ]
 crbug.com/591099 svg/parser/whitespace-length-invalid-4.html [ Crash ]
 crbug.com/591099 svg/parser/whitespace-number.html [ Crash ]
-crbug.com/591099 svg/stroke/empty-path.html [ Failure ]
+crbug.com/591099 svg/stroke/empty-path.html [ Failure Pass ]
 crbug.com/591099 svg/text/bbox-with-glyph-overflow.html [ Failure ]
 crbug.com/591099 svg/text/bbox-with-glyph-overflow-on-path.html [ Failure ]
 crbug.com/591099 svg/text/bbox-with-glyph-overflow-zoomed.html [ Failure ]
 crbug.com/591099 svg/text/bidi-getcharnumatpos.html [ Crash ]
 crbug.com/591099 svg/text/bidi-getcomputedtextlength.html [ Crash ]
 crbug.com/591099 svg/text/bidi-getsubstringlength.html [ Crash ]
-crbug.com/591099 svg/text/combining-character-queries.html [ Failure ]
+crbug.com/591099 svg/text/combining-character-queries.html [ Failure Pass ]
 crbug.com/591099 svg/text/empty-text-node-crash.html [ Crash ]
 crbug.com/591099 svg/text/foreignObject-repaint.xml [ Failure ]
-crbug.com/591099 svg/text/foreignObject-text-clipping-bug.xml [ Failure ]
+crbug.com/591099 svg/text/foreignObject-text-clipping-bug.xml [ Failure Pass ]
 crbug.com/591099 svg/text/getcharnumatposition-multiple-fragments.html [ Crash ]
 crbug.com/591099 svg/text/getextentofchar-nonbmp.html [ Crash ]
 crbug.com/591099 svg/text/invalid-glyph-crash.html [ Failure ]
 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/ligature-queries.html [ Failure ]
+crbug.com/591099 svg/text/ligature-queries.html [ Failure Pass ]
 crbug.com/591099 svg/text/scaling-font-with-geometric-precision.html [ Failure ]
-crbug.com/591099 svg/text/selection-background-color.xhtml [ Failure ]
+crbug.com/591099 svg/text/selection-background-color.xhtml [ Failure Pass ]
 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 ]
-crbug.com/591099 svg/text/selection-styles.xhtml [ Failure ]
+crbug.com/591099 svg/text/selection-pseudo-resource-invalidation-crash.html [ Crash ]
+crbug.com/591099 svg/text/selection-styles.xhtml [ Failure Pass ]
 crbug.com/591099 svg/text/selection-tripleclick.svg [ Failure Pass ]
 crbug.com/591099 svg/text/select-svg-text-with-collapsed-whitespace.html [ Crash ]
 crbug.com/591099 svg/text/select-text-inside-non-static-position.html [ Failure ]
@@ -19619,8 +22302,8 @@
 crbug.com/591099 svg/text/select-textLength-spacingAndGlyphs-stretch-4.svg [ Failure Pass ]
 crbug.com/591099 svg/text/select-x-list-2.svg [ Failure Pass ]
 crbug.com/591099 svg/text/select-x-list-with-tspans-4.svg [ Failure Pass ]
-crbug.com/591099 svg/text/small-fonts-in-html5.html [ Failure ]
-crbug.com/591099 svg/text/surrogate-pair-queries.html [ Failure ]
+crbug.com/591099 svg/text/small-fonts-in-html5.html [ Failure Pass ]
+crbug.com/591099 svg/text/surrogate-pair-queries.html [ 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 ]
@@ -19656,6 +22339,7 @@
 crbug.com/591099 svg/text/tspan-multiple-outline.svg [ Failure ]
 crbug.com/591099 svg/text/unpaired-surrogate-with-trailing-char-crash.html [ Failure ]
 crbug.com/591099 svg/text/white-space-pre-wrap-whitespace-only-crash.html [ Failure ]
+crbug.com/591099 svg/transforms/change-transform-origin-presentation-attribute.xhtml [ Crash Pass ]
 crbug.com/591099 svg/transforms/negative-scale-value.html [ Failure ]
 crbug.com/591099 svg/transforms/percent-transform-values.xhtml [ Failure ]
 crbug.com/591099 svg/transforms/svg-css-transforms-clip-path.xhtml [ Failure ]
@@ -19749,6 +22433,7 @@
 crbug.com/591099 svg/W3C-SVG-1.1/filters-composite-02-b.svg [ Failure Pass ]
 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 Pass ]
+crbug.com/591099 svg/W3C-SVG-1.1/filters-displace-01-f.svg [ Failure Pass ]
 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 Pass ]
 crbug.com/591099 svg/W3C-SVG-1.1/filters-image-01-b.svg [ Failure Pass ]
@@ -19960,12 +22645,15 @@
 crbug.com/591099 svg/wicd/test-scalable-background-image1.xhtml [ Failure ]
 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-background-image-tiled.html [ Failure Pass ]
 crbug.com/591099 svg/zoom/page/zoom-clip-path.html [ Failure ]
 crbug.com/591099 svg/zoom/page/zoom-css-transforms.svg [ Failure Pass ]
+crbug.com/591099 svg/zoom/page/zoom-foreign-content.svg [ Failure Pass ]
+crbug.com/591099 svg/zoom/page/zoom-foreignObject.svg [ Failure Pass ]
 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-hixie-mixed-009.xml [ Failure ]
-crbug.com/591099 svg/zoom/page/zoom-hixie-rendering-model-004.xhtml [ Failure ]
+crbug.com/591099 svg/zoom/page/zoom-hixie-mixed-009.xml [ Failure Pass ]
+crbug.com/591099 svg/zoom/page/zoom-hixie-rendering-model-004.xhtml [ Failure Pass ]
 crbug.com/591099 svg/zoom/page/zoom-img-preserveAspectRatio-support-1.html [ Failure Pass ]
 crbug.com/591099 svg/zoom/page/zoom-replaced-intrinsic-ratio-001.htm [ Failure ]
 crbug.com/591099 svg/zoom/page/zoom-svg-as-background-with-relative-size-and-viewBox.html [ Failure ]
@@ -19976,13 +22664,14 @@
 crbug.com/591099 svg/zoom/page/zoom-svg-float-border-padding.xml [ Failure ]
 crbug.com/591099 svg/zoom/page/zoom-svg-through-object-with-absolute-size-2.xhtml [ Failure ]
 crbug.com/591099 svg/zoom/page/zoom-svg-through-object-with-absolute-size.xhtml [ Failure ]
-crbug.com/591099 svg/zoom/page/zoom-svg-through-object-with-huge-size.xhtml [ Failure ]
+crbug.com/591099 svg/zoom/page/zoom-svg-through-object-with-auto-size.html [ Failure Pass ]
+crbug.com/591099 svg/zoom/page/zoom-svg-through-object-with-huge-size.xhtml [ Failure Pass ]
 crbug.com/591099 svg/zoom/page/zoom-svg-through-object-with-override-size.html [ Failure ]
 crbug.com/591099 svg/zoom/page/zoom-svg-through-object-with-percentage-size.xhtml [ Failure ]
 crbug.com/591099 svg/zoom/page/zoom-zoom-coords.xhtml [ Failure ]
 crbug.com/591099 svg/zoom/text/zoom-hixie-mixed-008.xml [ Failure ]
-crbug.com/591099 svg/zoom/text/zoom-hixie-mixed-009.xml [ Failure ]
-crbug.com/591099 svg/zoom/text/zoom-hixie-rendering-model-004.xhtml [ Failure ]
+crbug.com/591099 svg/zoom/text/zoom-hixie-mixed-009.xml [ Failure Pass ]
+crbug.com/591099 svg/zoom/text/zoom-hixie-rendering-model-004.xhtml [ Failure Pass ]
 crbug.com/591099 svg/zoom/text/zoom-svg-float-border-padding.xml [ Failure ]
 crbug.com/591099 svg/zoom/xy-getcomputedstyle.html [ Crash ]
 crbug.com/591099 tables/hittesting/filltable-stress.html [ Timeout ]
@@ -20014,9 +22703,10 @@
 crbug.com/591099 tables/mozilla/bugs/bug11321.html [ Failure Pass ]
 crbug.com/591099 tables/mozilla/bugs/bug113235-1.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug113235-2.html [ Failure ]
-crbug.com/591099 tables/mozilla/bugs/bug113235-3.html [ Failure ]
+crbug.com/591099 tables/mozilla/bugs/bug113235-3.html [ Failure Pass ]
 crbug.com/591099 tables/mozilla/bugs/bug11384q.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug11384s.html [ Failure ]
+crbug.com/591099 tables/mozilla/bugs/bug1188.html [ Failure Pass ]
 crbug.com/591099 tables/mozilla/bugs/bug11944.html [ Failure Pass ]
 crbug.com/591099 tables/mozilla/bugs/bug119786.html [ Failure Pass ]
 crbug.com/591099 tables/mozilla/bugs/bug12008.html [ Failure ]
@@ -20112,7 +22802,7 @@
 crbug.com/591099 tables/mozilla/bugs/bug219693-2.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug22019.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug220536.html [ Failure Pass ]
-crbug.com/591099 tables/mozilla/bugs/bug221784-1.html [ Failure ]
+crbug.com/591099 tables/mozilla/bugs/bug221784-1.html [ Failure Pass ]
 crbug.com/591099 tables/mozilla/bugs/bug221784-2.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug222336.html [ Failure Pass ]
 crbug.com/591099 tables/mozilla/bugs/bug222467.html [ Failure Pass ]
@@ -20121,7 +22811,7 @@
 crbug.com/591099 tables/mozilla/bugs/bug2296.html [ Failure Pass ]
 crbug.com/591099 tables/mozilla/bugs/bug23072.html [ Failure Pass ]
 crbug.com/591099 tables/mozilla/bugs/bug23151.html [ Failure ]
-crbug.com/591099 tables/mozilla/bugs/bug23235.html [ Failure ]
+crbug.com/591099 tables/mozilla/bugs/bug23235.html [ Crash Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug23299.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug24200.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug24503.html [ Failure Pass ]
@@ -20129,7 +22819,7 @@
 crbug.com/591099 tables/mozilla/bugs/bug24661.html [ Failure Pass ]
 crbug.com/591099 tables/mozilla/bugs/bug2469.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug2479-1.html [ Crash Failure Pass ]
-crbug.com/591099 tables/mozilla/bugs/bug2479-2.html [ Failure ]
+crbug.com/591099 tables/mozilla/bugs/bug2479-2.html [ Failure Pass ]
 crbug.com/591099 tables/mozilla/bugs/bug2479-3.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug2479-4.html [ Failure Pass ]
 crbug.com/591099 tables/mozilla/bugs/bug24880.html [ Failure ]
@@ -20163,7 +22853,7 @@
 crbug.com/591099 tables/mozilla/bugs/bug29429.html [ Failure Pass ]
 crbug.com/591099 tables/mozilla/bugs/bug2947.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug2954.html [ Failure Pass ]
-crbug.com/591099 tables/mozilla/bugs/bug2962.html [ Failure ]
+crbug.com/591099 tables/mozilla/bugs/bug2962.html [ Crash Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug2973.html [ Failure Pass ]
 crbug.com/591099 tables/mozilla/bugs/bug2981-1.html [ Failure Pass ]
 crbug.com/591099 tables/mozilla/bugs/bug2981-2.html [ Failure Pass ]
@@ -20174,14 +22864,14 @@
 crbug.com/591099 tables/mozilla/bugs/bug3037-2.html [ Failure Pass ]
 crbug.com/591099 tables/mozilla/bugs/bug30418.html [ Failure Pass ]
 crbug.com/591099 tables/mozilla/bugs/bug30559.html [ Failure ]
-crbug.com/591099 tables/mozilla/bugs/bug30692.html [ Failure ]
+crbug.com/591099 tables/mozilla/bugs/bug30692.html [ Crash Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug30985.html [ Crash Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug3103.html [ Failure Pass ]
-crbug.com/591099 tables/mozilla/bugs/bug3191.html [ Failure ]
-crbug.com/591099 tables/mozilla/bugs/bug32205-2.html [ Failure ]
+crbug.com/591099 tables/mozilla/bugs/bug3191.html [ Crash Failure ]
+crbug.com/591099 tables/mozilla/bugs/bug32205-2.html [ Crash Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug32205-3.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug32205-5.html [ Failure Pass ]
-crbug.com/591099 tables/mozilla/bugs/bug32447.html [ Failure ]
+crbug.com/591099 tables/mozilla/bugs/bug32447.html [ Failure Pass ]
 crbug.com/591099 tables/mozilla/bugs/bug3260.html [ Failure Pass ]
 crbug.com/591099 tables/mozilla/bugs/bug3263.html [ Failure Pass ]
 crbug.com/591099 tables/mozilla/bugs/bug32841.html [ Failure Pass ]
@@ -20190,7 +22880,7 @@
 crbug.com/591099 tables/mozilla/bugs/bug33137.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug33855.html [ Failure Pass ]
 crbug.com/591099 tables/mozilla/bugs/bug34176.html [ Failure Pass ]
-crbug.com/591099 tables/mozilla/bugs/bug34538.html [ Failure ]
+crbug.com/591099 tables/mozilla/bugs/bug34538.html [ Failure Pass ]
 crbug.com/591099 tables/mozilla/bugs/bug35662.html [ Failure Pass ]
 crbug.com/591099 tables/mozilla/bugs/bug3681-1.html [ Failure Pass ]
 crbug.com/591099 tables/mozilla/bugs/bug3681-2.html [ Failure Pass ]
@@ -20226,8 +22916,8 @@
 crbug.com/591099 tables/mozilla/bugs/bug46268-2.html [ Failure Pass ]
 crbug.com/591099 tables/mozilla/bugs/bug46268-5.html [ Failure Pass ]
 crbug.com/591099 tables/mozilla/bugs/bug46268.html [ Failure Pass ]
-crbug.com/591099 tables/mozilla/bugs/bug46368-1.html [ Failure ]
-crbug.com/591099 tables/mozilla/bugs/bug46368-2.html [ Failure ]
+crbug.com/591099 tables/mozilla/bugs/bug46368-1.html [ Crash Failure ]
+crbug.com/591099 tables/mozilla/bugs/bug46368-2.html [ Crash Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug46480-1.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug46480-2.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug46623-1.html [ Failure Pass ]
@@ -20241,7 +22931,7 @@
 crbug.com/591099 tables/mozilla/bugs/bug48827.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug50695-1.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug50695-2.html [ Failure ]
-crbug.com/591099 tables/mozilla/bugs/bug51037.html [ Failure ]
+crbug.com/591099 tables/mozilla/bugs/bug51037.html [ Crash Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug51140.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug51727.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug5188.html [ Failure Pass ]
@@ -20278,7 +22968,7 @@
 crbug.com/591099 tables/mozilla/bugs/bug625.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug6304.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug63785.html [ Failure Pass ]
-crbug.com/591099 tables/mozilla/bugs/bug6404.html [ Failure ]
+crbug.com/591099 tables/mozilla/bugs/bug6404.html [ Failure Pass ]
 crbug.com/591099 tables/mozilla/bugs/bug641-1.html [ Failure Pass ]
 crbug.com/591099 tables/mozilla/bugs/bug641-2.html [ Failure ]
 crbug.com/591099 tables/mozilla/bugs/bug647.html [ Failure ]
@@ -20389,9 +23079,10 @@
 crbug.com/591099 tables/mozilla/dom/insertCols5.html [ Failure ]
 crbug.com/591099 tables/mozilla/dom/insertRowsExpand1.html [ Failure ]
 crbug.com/591099 tables/mozilla/dom/insertRowsRebuild1.html [ Failure ]
-crbug.com/591099 tables/mozilla/dom/tableDom.html [ Failure ]
+crbug.com/591099 tables/mozilla/dom/tableDom.html [ Crash Failure ]
 crbug.com/591099 tables/mozilla_expected_failures/bugs/97619.html [ Failure Pass ]
-crbug.com/591099 tables/mozilla_expected_failures/bugs/bug1010.html [ Failure ]
+crbug.com/591099 tables/mozilla_expected_failures/bugs/bug1010.html [ Crash Failure ]
+crbug.com/591099 tables/mozilla_expected_failures/bugs/bug10140.html [ Crash Pass ]
 crbug.com/591099 tables/mozilla_expected_failures/bugs/bug101759.html [ Failure ]
 crbug.com/591099 tables/mozilla_expected_failures/bugs/bug104898.html [ Failure ]
 crbug.com/591099 tables/mozilla_expected_failures/bugs/bug1055-2.html [ Failure ]
@@ -20482,7 +23173,7 @@
 crbug.com/591099 tables/mozilla_expected_failures/dom/appendColGroup1.html [ Failure ]
 crbug.com/591099 tables/mozilla_expected_failures/dom/insertTbodyExpand1.html [ Failure ]
 crbug.com/591099 tables/mozilla_expected_failures/dom/insertTbodyRebuild1.html [ Failure ]
-crbug.com/591099 tables/mozilla_expected_failures/marvin/backgr_fixed-bg.html [ Failure ]
+crbug.com/591099 tables/mozilla_expected_failures/marvin/backgr_fixed-bg.html [ Crash Failure ]
 crbug.com/591099 tables/mozilla_expected_failures/marvin/table_frame_above.html [ Failure Pass ]
 crbug.com/591099 tables/mozilla_expected_failures/marvin/table_frame_below.html [ Failure Pass ]
 crbug.com/591099 tables/mozilla_expected_failures/marvin/table_frame_hsides.html [ Failure Pass ]
@@ -20496,7 +23187,7 @@
 crbug.com/591099 tables/mozilla_expected_failures/marvin/table_overflow_caption.html [ Failure ]
 crbug.com/591099 tables/mozilla_expected_failures/marvin/table_overflow_caption_left.html [ Failure ]
 crbug.com/591099 tables/mozilla_expected_failures/marvin/table_overflow_caption_right.html [ Failure ]
-crbug.com/591099 tables/mozilla_expected_failures/marvin/table_overflow_caption_top.html [ Failure ]
+crbug.com/591099 tables/mozilla_expected_failures/marvin/table_overflow_caption_top.html [ Crash Failure ]
 crbug.com/591099 tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow.html [ Failure Pass ]
 crbug.com/591099 tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_row.html [ Failure ]
 crbug.com/591099 tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_table.html [ Failure Pass ]
@@ -20544,7 +23235,7 @@
 crbug.com/591099 tables/mozilla/marvin/table_frame_border.html [ Failure Pass ]
 crbug.com/591099 tables/mozilla/marvin/table_frame_box.html [ Failure Pass ]
 crbug.com/591099 tables/mozilla/marvin/table_overflow_hidden_td.html [ Failure ]
-crbug.com/591099 tables/mozilla/marvin/table_overflow_td_dynamic_deactivate.html [ Failure ]
+crbug.com/591099 tables/mozilla/marvin/table_overflow_td_dynamic_deactivate.html [ Crash Failure ]
 crbug.com/591099 tables/mozilla/marvin/table_row_align_center.html [ Failure ]
 crbug.com/591099 tables/mozilla/marvin/table_row_align_left.html [ Failure ]
 crbug.com/591099 tables/mozilla/marvin/table_rules_all.html [ Failure Pass ]
@@ -20594,6 +23285,7 @@
 crbug.com/591099 tables/mozilla/marvin/tables_id.html [ Failure ]
 crbug.com/591099 tables/mozilla/marvin/tables_row_th_nowrap.html [ Failure ]
 crbug.com/591099 tables/mozilla/marvin/tables_style.html [ Failure Pass ]
+crbug.com/591099 tables/mozilla/marvin/tables_td_align_left.html [ Crash ]
 crbug.com/591099 tables/mozilla/marvin/tables_td_colspan.html [ Failure ]
 crbug.com/591099 tables/mozilla/marvin/tables_td_rowspan.html [ Failure ]
 crbug.com/591099 tables/mozilla/marvin/tables_td_width.html [ Failure ]
@@ -20679,7 +23371,7 @@
 crbug.com/591099 tables/mozilla/marvin/x_table_style.xml [ Failure Pass ]
 crbug.com/591099 tables/mozilla/marvin/x_table_width_pct.xml [ Failure ]
 crbug.com/591099 tables/mozilla/marvin/x_table_width_px.xml [ Failure ]
-crbug.com/591099 tables/mozilla/marvin/x_table.xml [ Failure ]
+crbug.com/591099 tables/mozilla/marvin/x_table.xml [ Crash Failure ]
 crbug.com/591099 tables/mozilla/marvin/x_tbody_class.xml [ Failure Pass ]
 crbug.com/591099 tables/mozilla/marvin/x_tbody_id.xml [ Failure Pass ]
 crbug.com/591099 tables/mozilla/marvin/x_tbody_style.xml [ Failure Pass ]
@@ -20710,7 +23402,7 @@
 crbug.com/591099 tables/mozilla/marvin/x_thead_style.xml [ Failure Pass ]
 crbug.com/591099 tables/mozilla/marvin/x_th_height.xml [ Failure ]
 crbug.com/591099 tables/mozilla/marvin/x_th_id.xml [ Failure Pass ]
-crbug.com/591099 tables/mozilla/marvin/x_th_nowrap.xml [ Failure ]
+crbug.com/591099 tables/mozilla/marvin/x_th_nowrap.xml [ Crash Failure ]
 crbug.com/591099 tables/mozilla/marvin/x_th_rowspan.xml [ Failure Pass ]
 crbug.com/591099 tables/mozilla/marvin/x_th_style.xml [ Failure Pass ]
 crbug.com/591099 tables/mozilla/marvin/x_th_width.xml [ Failure ]
@@ -20724,15 +23416,15 @@
 crbug.com/591099 tables/mozilla/other/body_col.html [ Failure Pass ]
 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/move_row.html [ Crash Failure ]
 crbug.com/591099 tables/mozilla/other/nested2.html [ Crash Failure Pass ]
 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 Pass ]
 crbug.com/591099 tables/mozilla/other/test3.html [ Failure ]
 crbug.com/591099 tables/mozilla/other/test6.html [ Failure ]
-crbug.com/591099 tables/mozilla/other/wa_table_thtd_rowspan.html [ Failure ]
-crbug.com/591099 tables/mozilla/other/wa_table_tr_align.html [ Failure ]
+crbug.com/591099 tables/mozilla/other/wa_table_thtd_rowspan.html [ Crash Failure ]
+crbug.com/591099 tables/mozilla/other/wa_table_tr_align.html [ Crash Failure ]
 crbug.com/591099 touchadjustment/big-div.html [ Failure ]
 crbug.com/591099 touchadjustment/block-testing.html [ Failure ]
 crbug.com/591099 touchadjustment/context-menu.html [ Crash ]
@@ -20740,8 +23432,9 @@
 crbug.com/591099 touchadjustment/context-menu-shadow-node.html [ Failure ]
 crbug.com/591099 touchadjustment/context-menu-text-subtargets.html [ Failure ]
 crbug.com/591099 touchadjustment/disabled-formelements.html [ Crash ]
-crbug.com/591099 touchadjustment/editable-content.html [ Failure ]
+crbug.com/591099 touchadjustment/editable-content.html [ Crash Failure ]
 crbug.com/591099 touchadjustment/event-triggered-widgets.html [ Crash ]
+crbug.com/591099 touchadjustment/focusout-on-touch.html [ Crash Pass ]
 crbug.com/591099 touchadjustment/html-label.html [ Crash ]
 crbug.com/591099 touchadjustment/iframe.html [ Failure ]
 crbug.com/591099 touchadjustment/nested-shadow-node.html [ Failure ]
@@ -20750,7 +23443,7 @@
 crbug.com/591099 touchadjustment/pseudo-element.html [ Failure ]
 crbug.com/591099 touchadjustment/rotated-node.html [ Failure ]
 crbug.com/591099 touchadjustment/scroll-offset.html [ Failure ]
-crbug.com/591099 touchadjustment/search-cancel.html [ Failure ]
+crbug.com/591099 touchadjustment/search-cancel.html [ Crash Failure ]
 crbug.com/591099 touchadjustment/simple-shadow-dom.html [ Failure ]
 crbug.com/591099 touchadjustment/small-target-test.html [ Crash ]
 crbug.com/591099 touchadjustment/touch-inlines.html [ Failure ]
@@ -20764,9 +23457,11 @@
 crbug.com/591099 transforms/2d/cssmatrix-2d-zoom.html [ Failure ]
 crbug.com/591099 transforms/2d/hindi-rotated.html [ Failure ]
 crbug.com/591099 transforms/2d/transform-2d.html [ Timeout ]
+crbug.com/591099 transforms/2d/transform-borderbox.html [ Failure Pass ]
 crbug.com/591099 transforms/2d/transform-fixed-container.html [ Failure ]
 crbug.com/591099 transforms/2d/transform-origin-borderbox.html [ Failure ]
 crbug.com/591099 transforms/2d/zoom-menulist.html [ Failure ]
+crbug.com/591099 transforms/3d/general/background-visibility-layers.html [ Failure Pass ]
 crbug.com/591099 transforms/3d/general/cssmatrix-3d-zoom.html [ Failure ]
 crbug.com/591099 transforms/3d/general/matrix-with-zoom-3d.html [ Failure ]
 crbug.com/591099 transforms/3d/general/perspective-non-layer.html [ Failure ]
@@ -20822,8 +23517,10 @@
 crbug.com/591099 transforms/transform-origin-parsing.html [ Crash ]
 crbug.com/591099 transforms/transform-overflow.html [ Failure ]
 crbug.com/591099 transforms/transform-parsing.html [ Crash ]
+crbug.com/591099 transforms/transform-positioned-ancestor.html [ Failure Pass ]
 crbug.com/591099 transforms/transforms-with-opacity.html [ Failure ]
 crbug.com/591099 transforms/transforms-with-zoom.html [ Failure ]
+crbug.com/591099 transforms/transform-table-row.html [ Failure Pass ]
 crbug.com/591099 transforms/translate-parsing.html [ Crash ]
 crbug.com/591099 transitions/3d/interrupted-transition.html [ Failure ]
 crbug.com/591099 transitions/bad-transition-shorthand-crash.html [ Failure ]
@@ -20838,6 +23535,7 @@
 crbug.com/591099 transitions/no-transition-on-implicit-margins.html [ Crash ]
 crbug.com/591099 transitions/object-position-transition.html [ Crash ]
 crbug.com/591099 transitions/opacity-transform-transitions-inside-iframe.html [ Failure ]
+crbug.com/591099 transitions/opacity-transition-zindex.html [ Failure Pass ]
 crbug.com/591099 transitions/override-transition-crash.html [ Failure ]
 crbug.com/591099 transitions/retargetted-transition.html [ Failure ]
 crbug.com/591099 transitions/shadow.html [ Failure ]
@@ -20858,6 +23556,7 @@
 crbug.com/591099 transitions/transition-end-event-prefixed-01.html [ Failure ]
 crbug.com/591099 transitions/transition-end-event-prefixed-02.html [ Failure ]
 crbug.com/591099 transitions/transition-end-event-prefixed-03.html [ Failure ]
+crbug.com/591099 transitions/transition-end-event-rendering.html [ Failure Pass ]
 crbug.com/591099 transitions/transition-end-event-set-none.html [ Failure ]
 crbug.com/591099 transitions/transition-end-event-transform.html [ Failure ]
 crbug.com/591099 transitions/transition-end-event-unprefixed-01.html [ Failure ]
@@ -20883,6 +23582,7 @@
 crbug.com/591099 traversal/node-iterator-009.html [ Failure ]
 crbug.com/591099 traversal/node-iterator-prototype.html [ Failure ]
 crbug.com/591099 traversal/size-zero-run.html [ Failure ]
+crbug.com/591099 traversal/stay-within-root.html [ Crash Pass ]
 crbug.com/591099 traversal/tree-walker-003.html [ Failure ]
 crbug.com/591099 traversal/tree-walker-004.html [ Failure ]
 crbug.com/591099 traversal/tree-walker-006.html [ Failure ]
@@ -20907,6 +23607,7 @@
 crbug.com/591099 virtual/android/fullscreen/full-screen-iframe-legacy.html [ Failure ]
 crbug.com/591099 virtual/android/fullscreen/full-screen-iframe-not-allowed.html [ Failure ]
 crbug.com/591099 virtual/android/fullscreen/full-screen-iframe-without-allow-attribute-allowed-from-parent.html [ Failure ]
+crbug.com/591099 virtual/android/fullscreen/full-screen-line-boxes-crash.html [ Failure Pass ]
 crbug.com/591099 virtual/android/fullscreen/full-screen-no-style-sharing.html [ Failure ]
 crbug.com/591099 virtual/android/fullscreen/full-screen-placeholder.html [ Failure ]
 crbug.com/591099 virtual/android/fullscreen/full-screen-remove-ancestor-during-transition.html [ Crash ]
@@ -20923,11 +23624,13 @@
 crbug.com/591099 virtual/android/fullscreen/video-fixed-at-top-left.html [ Failure ]
 crbug.com/591099 virtual/android/media/mediadocument/media-document-with-download-button.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/3d-corners.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/absolute-inside-out-of-view-fixed.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/animation/busy-indicator.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/animation/hidden-composited.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/animation/state-at-end-event-transform-layer.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/backface-visibility/backface-visibility-image.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/backface-visibility/backface-visibility-webgl.html [ Failure ]
-crbug.com/591099 virtual/disable-spinvalidation/compositing/backface-visibility-transformed.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/backface-visibility-transformed.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/backgrounds/fixed-backgrounds.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/backgrounds/local-background.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/backing/no-backing-foreground-layer.html [ Failure ]
@@ -20935,28 +23638,41 @@
 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/clip-child-by-non-stacking-ancestor.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/color-matching/image-color-matching.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/columns/composited-in-paginated.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/columns/geometry-map-paginated-assert.html [ Failure ]
-crbug.com/591099 virtual/disable-spinvalidation/compositing/composite-scrollable-fixed-position-when-descendants-composite.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/composited-negative-zindex-child.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/composite-scrollable-fixed-position-when-descendants-composite.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/compositing-visible-descendant.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/contents-opaque/background-clip.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/contents-opaque/background-color.html [ Failure Pass ]
 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/layer-opacity.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/contents-opaque/layer-transform.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/contents-opaque/overflow-hidden-child-layers.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/contents-opaque/visibility-hidden.html [ Crash Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/culling/clear-fixed-iframe.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/culling/scrolled-within-boxshadow.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/culling/translated-boxshadow.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/culling/unscrolled-within-boxshadow.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/direct-image-compositing.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/empty-render-surface-crasher.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/filters/sw-layer-overlaps-hw-shadow.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/filters/sw-nested-shadow-overlaps-hw-nested-shadow.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/filters/sw-shadow-overlaps-hw-layer.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/filters/sw-shadow-overlaps-hw-shadow.html [ Failure Pass ]
 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 ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/generated-content.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/abs-position-inside-opacity.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/ancestor-overflow-change.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/assert-marquee-timer.html [ Crash ]
@@ -20969,6 +23685,8 @@
 crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/clip-inside.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/clipped-video-controller.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/clipping-foreground.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/clip-with-shadow.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/composited-html-size.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/composited-in-columns.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/empty-embed-rects.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/fixed-in-composited.html [ Failure ]
@@ -20984,11 +23702,17 @@
 crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/foreground-offset-change.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/geometry-map-scroll-during-layout-assertion.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/horizontal-scroll-composited.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/layer-due-to-layer-children-deep.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/layer-due-to-layer-children-deep-switch.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/layer-due-to-layer-children.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/layer-due-to-layer-children-switch.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/limit-layer-bounds-opacity-transition.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/limit-layer-bounds-overflow-root.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/limit-layer-bounds-positioned.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/limit-layer-bounds-positioned-transition.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/limit-layer-bounds-transformed.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/object-clip-rects-assertion.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/outline-change.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/partial-layout-update.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/preserve-3d-switching.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/repaint-foreground-layer.html [ Failure ]
@@ -21026,6 +23750,7 @@
 crbug.com/591099 virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-2-overflow-div.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-inner.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-outer.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-form-input-text.html [ Crash Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-img-and-text-2.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-img.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-img-transformed.html [ Failure ]
@@ -21041,7 +23766,7 @@
 crbug.com/591099 virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-simple-margin.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-simple-multi-line.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-simple-nested.html [ Failure ]
-crbug.com/591099 virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-simple-scaledY.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-simple-scaledY.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-simple-window-scroll.html [ Failure ]
 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 ]
@@ -21050,6 +23775,7 @@
 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-iframe-transition-flicker.html [ Crash Pass ]
 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 ]
@@ -21073,35 +23799,56 @@
 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/repaint-after-losing-scrollbars.html [ Failure Pass ]
 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/scroll-fixed-transformed-element.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/iframes/scroll-grandchild-iframe.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/iframes/scrolling-iframe.html [ Failure ]
-crbug.com/591099 virtual/disable-spinvalidation/compositing/images/clip-on-directly-composited-image.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/images/clip-on-directly-composited-image.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/images/content-image.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/images/direct-image-background-color.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/images/direct-svg-image.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/img-layer-object-fit.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/animation-overlap-with-children.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/assumed-overlap-for-inline-transform.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/fixed-position-and-transform.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/fixed-position-change-out-of-view-in-view.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/fixed-position-in-fixed-overflow.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/fixed-position-no-content.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/fixed-position-nonscrollable-body.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/fixed-position-nonscrollable-body-mismatch-containers.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/fixed-position-nonscrollable-body-overlap.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/fixed-position-nonscrollable-iframes-in-scrollable-page.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/fixed-position-out-of-view.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/fixed-position-out-of-view-positioning.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/fixed-position-out-of-view-scaled.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/fixed-position-out-of-view-scaled-scroll.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/fixed-position-out-of-view-with-backdrop-filter.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/fixed-position-under-transform.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/main-thread-scrolling-for-non-composited-fixed-position-if-overflow-hidden.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/no-compositing-for-fixed-position-under-transform.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/no-compositing-for-preserve-3d.html [ Failure Pass ]
 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-clipping.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/overlap-animation-container.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/overlap-animation.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/overlap-child-layer.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/overlap-clipping.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/overlap-transformed-3d.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/overlap-transformed-and-clipped.html [ Failure Pass ]
 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/overlap-transforms.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/remove-clipping-layer-with-no-children.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/rotate3d-overlap.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/scroll-partial-update.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/spanOverlapsCanvas.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/squashing-into-ancestor-clipping-layer-change.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/stacking-context-overlap.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/stacking-context-overlap-nested.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/translatez-added.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/translatez-overlap.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/visibility-and-stacking-change.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/layers-inside-overflow-scroll.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/layout-width-change.html [ Failure ]
@@ -21116,7 +23863,7 @@
 crbug.com/591099 virtual/disable-spinvalidation/compositing/masks/multiple-masks.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/masks/simple-composited-mask.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/nested-border-radius-composited-child.html [ Failure Pass ]
-crbug.com/591099 virtual/disable-spinvalidation/compositing/nested-direct-image-compositing.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/nested-direct-image-compositing.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/opacity-with-mask.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/accelerated-overflow-scroll-should-not-affect-perspective.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/accelerated-scrolling-with-clip-path.html [ Failure ]
@@ -21127,9 +23874,9 @@
 crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/body-switch-composited-scrolling.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/border-radius-styles-with-composited-child.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/clear-scroll-parent.html [ Failure ]
-crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/clip-content-under-overflow-controls.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/clip-content-under-overflow-controls.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/clip-descendents.html [ Failure ]
-crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/clip-parent-of-non-scrolled.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/clip-parent-of-non-scrolled.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/clip-parent-reset.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/clipping-ancestor-with-accelerated-scrolling-ancestor.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/composited-nested-sticky-deep.html [ Failure ]
@@ -21147,7 +23894,7 @@
 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 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/do-not-paint-outline-into-composited-scrolling-contents.html [ Crash 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 ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/grandchild-composited-with-border-radius-ancestor.html [ Failure ]
@@ -21167,7 +23914,8 @@
 crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/opt-in-if-composited.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/overflow-clip-with-accelerated-scrolling-ancestor.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/overflow-compositing-descendant.html [ Failure ]
-crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/overflow-scaled-descendant-overlapping.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/overflow-positioning.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/overflow-scaled-descendant-overlapping.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/overflow-scroll-background-opaque-to-transparent.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/overflow-scroll-background-transparent-to-opaque.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/overflow-scrollbar-layers.html [ Failure ]
@@ -21184,7 +23932,7 @@
 crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/paint-neg-z-order-descendants-into-scrolling-contents-layer.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/parent-overflow.html [ Failure ]
 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/repaint-after-losing-scrollbars.html [ Failure Pass ]
 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 ]
@@ -21205,24 +23953,29 @@
 crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/siblings-composited-with-border-radius-ancestor.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/siblings-composited-with-border-radius-ancestor-one-clipped.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/siblings-with-border-radius-ancestor.html [ Failure ]
-crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/textarea-scroll-touch.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/textarea-scroll-touch.html [ Crash Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/theme-affects-visual-overflow.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/tiled-mask.html [ Failure ]
-crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/transform-in-empty-container.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/transform-in-empty-container.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/transform-should-update-container-overflow.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/universal-accelerated-overflow-scroll.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/zero-size-overflow.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/overlap-blending/children-opacity-huge.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/overlap-blending/children-opacity-no-overlap.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/overlap-blending/reflection-opacity-huge.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/perspective-origin-with-scrollbars.html [ Failure ]
-crbug.com/591099 virtual/disable-spinvalidation/compositing/plugins/webplugin-alpha.html [ Failure ]
-crbug.com/591099 virtual/disable-spinvalidation/compositing/plugins/webplugin-reflection.html [ Failure ]
-crbug.com/591099 virtual/disable-spinvalidation/compositing/preserve-3d-toggle.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/plugins/webplugin-alpha.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/plugins/webplugin-no-alpha.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/plugins/webplugin-reflection.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/preserve-3d-toggle.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/reflections/animation-inside-reflection.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/reflections/backface-hidden-reflection.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/reflections/compositing-change-inside-reflection.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/reflections/deeply-nested-reflections.html [ Failure ]
-crbug.com/591099 virtual/disable-spinvalidation/compositing/reflections/load-video-in-reflection.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/reflections/enable-disable-compositing-reflection.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/reflections/load-video-in-reflection.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/reflections/masked-reflection-on-composited.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/reflections/masked-reflection-on-composited-huge.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/reflections/nested-reflection.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/reflections/nested-reflection-mask-change.html [ Failure ]
@@ -21232,6 +23985,7 @@
 crbug.com/591099 virtual/disable-spinvalidation/compositing/reflections/nested-reflection-transformed2.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/reflections/nested-reflection-transformed.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/reflections/reflection-in-composited.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/reflections/reflection-on-composited.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/reflections/reflection-opacity.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/reflections/reflection-ordering.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/reflections/reflection-positioning2.html [ Failure ]
@@ -21239,7 +23993,9 @@
 crbug.com/591099 virtual/disable-spinvalidation/compositing/reflections/remove-add-reflection.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/reflections/simple-composited-reflections.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/reflections/transform-inside-reflection.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/rendering-contexts.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/render-surface-alpha-blending.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/rounded-corners.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/rtl/rtl-absolute.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/rtl/rtl-absolute-overflow.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/rtl/rtl-absolute-overflow-scrolled.html [ Failure ]
@@ -21257,34 +24013,53 @@
 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/scrollbar-painting.html [ Failure Pass ]
 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 ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/self-painting-layers2.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/self-painting-layers.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/shadows/shadow-drawing.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/sibling-positioning.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/add-remove-squashed-layers.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/animation-repaint-crash.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/backing-owner-determines-scroll-parent.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/clipping-ancestor.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/composited-bounds-for-negative-z.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/do-not-squash-non-self-painting-layer.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/do-not-squash-scroll-child-with-composited-descendants.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/dont-squash-into-animated-layers.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/dont-squash-into-blend-mode.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/dont-squash-into-iframes.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/dont-squash-into-videos.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/iframes-are-never-squashed.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/invalidations-with-large-negative-margin-inline-content.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/invisible-layers-should-not-affect-geometry.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/move-squashing-layer.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/no-squashing-for-filters.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/no-squashing-into-another-clip-layer.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/no-squashing-into-fixed-position-that-clips.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/opacity-squashed-owner.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/repaint-child-of-squashed.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/selection-repaint-with-gaps.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/squash-above-fixed-1.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/squash-above-fixed-2.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/squash-above-fixed-3.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/squash-composited-input.html [ Crash Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/squash-compositing-hover.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/squashed-clip-parent.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/squashed-layer-loses-graphicslayer.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/squashed-repaints.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/squashing-inside-perspective.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/squashing-print.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/squashing-sparsity-heuristic.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/squash-onto-distant-relative.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/squash-onto-nephew.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/squash-onto-transform-backing.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/squash-overflow-hidden-scrolltop.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/squash-paint-invalidation-fixed-position.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/squash-same-transform-ancestor.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/squash-simple.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/squash-three-layers.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/squash-transform.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/squash-transform-repainting-child.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/squash-transform-repainting-transformed-child.html [ Failure ]
@@ -21295,10 +24070,13 @@
 crbug.com/591099 virtual/disable-spinvalidation/compositing/transitions/scale-transition-no-start.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/transitions/singular-scale-transition.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/update-paint-phases.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/video-frame-size-change.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/video/video-poster.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/visibility/compositing-and-visibility-turned-off-together.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/visibility/hidden-iframe.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/visibility/layer-visible-content.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/visibility/visibility-composited.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/visibility/visibility-composited-transforms.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/visibility/visibility-image-layers-dynamic.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/visibility/visibility-image-layers.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/visibility/visibility-on-distant-descendant.html [ Failure ]
@@ -21309,14 +24087,16 @@
 crbug.com/591099 virtual/disable-spinvalidation/compositing/webgl/webgl-reflection.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/webgl/webgl-repaint.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/webgl/webgl-with-accelerated-background-color.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/compositing/will-change/composited-layers.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/will-change/neutral-keyframe-not-decomposed.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/compositing/will-change/parse-will-change.html [ Failure ]
 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/compositing/z-order/negative-z-index.html [ Failure Pass ]
 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/clipath/clip-path-with-background-and-box-behind.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/clipath/clip-path-with-background-and-box-behind.html [ Failure Pass ]
 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 ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/images/animated-gif-last-frame-crash.html [ Crash ]
@@ -21325,8 +24105,11 @@
 crbug.com/591099 virtual/disable-spinvalidation/paint/inline/outline-offset.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/4774354.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/4776765.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/absolute-display-block-to-none.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/absolute-margin-change-repaint.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/absolute-position-change-containing-block.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/absolute-position-changed.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/absolute-position-moved.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/abspos-shift-image-incorrect-repaint.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/add-table-overpaint.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/align-content-change.html [ Failure ]
@@ -21354,10 +24137,16 @@
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/animated-webp-background.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/animated-webp.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/animated-webp-offscreen.html [ Failure ]
-crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/background-attachment-local-repaint.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/background-attachment-local-repaint.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/background-currentColor-repaint.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/background-generated.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/background-image-paint-invalidation.html [ Failure ]
-crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/background-image-paint-invalidation-large-abspos-div.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/background-image-paint-invalidation-large-abspos-div.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/background-image-paint-invalidation-small-document.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/background-misaligned.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/background-resize-height.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/background-shorthand-with-gradient-and-height-changes.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/background-size-auto-with-gradient-and-height-changes.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/backgroundSizeRepaint.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/block-layout-inline-children-float-positioned.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/block-layout-inline-children-replaced.html [ Failure ]
@@ -21366,13 +24155,24 @@
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/block-selection-gap-stale-cache-2.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/block-selection-gap-stale-cache.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/block-shift-repaint.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/body-background-image.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/border-current-color.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/border-image-outset-add-repaint.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/border-image-outset-change-repaint.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/border-outline-0.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/border-radius-repaint-2.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/border-radius-repaint.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/border-radius-without-border.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/border-radius-with-outline.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/border-repaint-glitch.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/box-inline-resize.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/box-shadow-add-repaint.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/box-shadow-change-repaint.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/box-shadow-dynamic.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/box-shadow-inset-repaint.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/box-sizing-border-keeping-size.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/box-sizing.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/box-sizing-padding-keeping-size.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/bugzilla-3509.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/bugzilla-5699.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/bugzilla-6278.html [ Failure ]
@@ -21380,22 +24180,27 @@
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/bugzilla-6473.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/bugzilla-7235.html [ Crash Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/button-checkbox-click-method-repaint.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/button-inner-no-repaint.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/canvas-composite-repaint-by-all-imagesource.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/caret-change-paint-offset-keep-visual.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/caret-color.html [ Crash Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/caret-contenteditable-content-after.html [ Failure ]
-crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/caret-invalidation-in-overflow-scroll.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/caret-invalidation-in-overflow-scroll.html [ Crash Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/caret-outside-block.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/caret-subpixel.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/caret-with-composited-scroll.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/caret-with-transformation.html [ Failure ]
-crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/change-text-content-and-background-color.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/change-text-content-and-background-color.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/change-transform.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/child-of-sub-pixel-offset-composited-layer.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/clip-path-constant-repaint.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/clipped-overflow-visible-subtree.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/clipped-relative.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/clip-unclip-and-change.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/clip-with-layout-delta.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/column-float-under-stacked-inline.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/column-rules-fixed-height.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/composited-iframe-scroll-repaint.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/composited-overflow-with-borderbox-background.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/composited-overflow-with-local-background.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/composited-overflow-with-negative-offset-outline.html [ Failure ]
@@ -21407,41 +24212,67 @@
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/clipped-layer-size-change.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/clipping-should-not-repaint-composited-descendants.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/column-span-under-composited-column-child.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/composited-document-element.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/composited-float-under-composited-inline.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/composited-inline-change-text-data-keep-geometry.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/compositing-reason-removed.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/containing-block-added.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/containing-block-removed.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/content-into-overflow.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/fixed-pos-inside-composited-intermediate-layer.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/fixed-pos-with-abs-pos-child-scroll.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/fixed-scroll-in-empty-root-layer.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/float-under-composited-inline.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/iframe-inside-squashed-layer.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/inline-repaint-container.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/invalidate-when-leaving-squashed-layer.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/invalidation-for-subpixel-offset-of-squashed-layer.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/invalidations-on-composited-layers.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/invalidations-with-large-negative-margin.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/layer-repaint.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/layer-repaint-rects.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/newly-composited-on-scroll.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/newly-composited-repaint-rect.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/new-stacking-context.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/opacity-between-absolute2.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/opacity-between-absolute.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/overflow-into-content.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/overlap-test-with-filter.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/page-scale-repaint.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/remove-squashed-layer-plus-move.html [ Crash ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/repaint-overflow-scrolled-squashed-content.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/repaint-squashed-layer-in-rect.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/repaint-via-layout-offset.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/requires-backing-repaint.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/resize-repaint.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/resize-squashing-layer-that-needs-full-repaint.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/scroll-fixed-layer-no-content.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/scroll-fixed-layer-out-of-view.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/scroll-fixed-squahed-layer.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/scrolling-without-painting.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/should-invoke-deferred-compositing.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/should-not-clip-composited-overflow-scrolling-layer.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/should-not-clip-composited-viewport-scrolling-layer.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/should-not-repaint-composited-descendants.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/should-not-repaint-composited-descendants-on-overflow-change.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/should-not-repaint-composited-filter.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/should-not-repaint-composited-opacity.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/should-not-repaint-composited-transform.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/should-not-repaint-composited-z-index.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/should-not-repaint-scrolling-contents-outline-change.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/shrink-layer.html [ Failure ]
-crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/static-to-absolute-with-clip.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/squashing-inside-preserve-3d-element.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/squash-partial-repaint-inside-squashed-layer.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/stacked-float-under-composited-inline.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/static-to-absolute-with-clip.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/text-color-change.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/text-match-highlight.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/tricky-element-removal-crash.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/updating-scrolling-container-and-content.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/updating-scrolling-container.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/updating-scrolling-content.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/containing-block-position-change.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/content-into-overflow.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/continuation-after-outline.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/control-clip.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/crbug-371640-2.html [ Failure ]
@@ -21458,20 +24289,57 @@
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/destroy-composited-scrollbar.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/destroy-overlay-scrollbar.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/destroy-scrollbar.html [ Failure ]
-crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/details-open-repaint.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/details-open-repaint.html [ Crash Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/do-not-paint-below-image-baseline.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/dont-invalidate-root-layer-when-composited-layer-becomes-visible.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/dynamic-table-vertical-alignment-change.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/erase-overflow.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/filter-invalidation-after-display.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/filter-invalidation-positioned-child.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/filter-invalidation-with-composited-container-change.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/filter-on-html-element-with-fixed-position-child.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/filter-repaint-accelerated-child-with-filter-child.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/filter-repaint-accelerated-on-accelerated-filter.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/filter-repaint-on-accelerated-layer.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/filters/effect-reference-repaint-composite-1.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/filters/effect-reference-repaint-composite-2.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/filters/effect-reference-repaint-composite-3.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/filters/effect-reference-repaint-composite-4.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/filters/effect-reference-repaint-composite-5.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/filters/effect-reference-repaint-composite-6.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/filters/effect-reference-repaint-displacement.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/filters/effect-reference-repaint-gaussianblur.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/filters/effect-reference-repaint-gaussianblur-xonly.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/filters/effect-reference-repaint-gaussianblur-yonly.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/filters/effect-reference-repaint-lighting.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/filters/effect-reference-repaint-merge.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/filters/effect-reference-repaint-morphology.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/filters/effect-reference-repaint-morphology-xonly.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/filters/effect-reference-repaint-morphology-yonly.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/filters/effect-reference-repaint-offset.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/fixed-after-scroll.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/fixed-and-absolute-position-scrolled.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/fixed-child-move-after-scroll.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/fixed-child-of-fixed-move-after-scroll.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/fixed-child-of-transformed-move-after-scroll.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/fixed-child-of-transformed-scrolled.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/fixed-descendant-of-transformed-scrolled.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/fixed-element-repaint-after-compositing-update.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/fixed.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/fixed-in-page-scale.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/fixed-margin-change-repaint.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/fixed-move-after-scroll.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/fixed-position-transparency-with-overflow.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/fixed-scale.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/fixed-scroll-simple.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/fixed-table-cell.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/fixed-table-overflow.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/fixed-table-overflow-zindex.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/fixed-to-relative-position-with-absolute-child.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/fixed-tranformed.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/fixed-under-composited-absolute-scrolled.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/fixed-under-composited-fixed-scrolled.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/fixed-with-border-under-composited-absolute-scrolled.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/flexbox/repaint-column-reverse.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/flexbox/repaint-during-resize-no-flex.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/flexbox/repaint.html [ Failure ]
@@ -21485,6 +24353,7 @@
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/flipped-blocks-writing-mode-scroll.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/float-in-new-block-with-layout-delta.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/float-move-during-layout.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/float-new-in-block.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/float-overflow.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/float-overflow-right.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/focus-continuations.html [ Failure ]
@@ -21494,9 +24363,11 @@
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/focus-ring-on-child-move.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/focus-ring-on-continuation-move.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/focus-ring-on-inline-continuation-move.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/forms/button-reset-focus-by-mouse-then-keydown.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/forms/checkbox-focus-by-mouse-then-keydown.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/forms/radio-focus-by-mouse-then-keydown.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/forms/range-focus-by-mouse-then-keydown.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/forms/submit-focus-by-mouse-then-keydown.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/gradients-em-stops-repaint.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/hover-create-scrollbar-part.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/hover-destroy-scrollbar-part.html [ Failure ]
@@ -21504,35 +24375,42 @@
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/hover-pseudo-borders-whitespace.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/iframe-display-block-to-display-none.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/iframe-display-none-to-display-block.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/iframe-rounding.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/iframe-scroll-repaint.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/inline-block-overflow.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/inline-block-resize.html [ Failure ]
-crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/inline-box-overflow-repaint.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/inline-box-overflow-repaint.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/inline-color-change.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/inline-focus.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/inline-outline-repaint-2.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/inline-outline-repaint.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/inline-overflow.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/inline-reflow.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/inline-relative-positioned.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/inline-style-change-in-scrolled-view.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/inline-vertical-lr-overflow.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/inline-vertical-rl-overflow.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/input-overflow-in-table.html [ Failure Pass ]
-crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/in-scaled-iframe.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/in-scaled-iframe.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/insert-frame.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/intermediate-layout-position-clip.html [ Crash Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/intermediate-layout-position.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/invalidate-after-composited-scroll.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/invalidate-after-composited-scroll-of-window.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/invalidate-box-shadow-currentColor.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/invalidate-caret-before-text-node-update.html [ Failure ]
-crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/invalidate-caret-in-composited-scrolling-container.html [ Failure ]
-crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/invalidate-caret-in-non-composited-scrolling-container.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/invalidate-caret-in-composited-scrolling-container.html [ Crash Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/invalidate-caret-in-non-composited-scrolling-container.html [ Crash Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/invalidate-cell-in-row-with-offset.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/invalidate-descendants-when-receiving-paint-layer.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/invalidate-invisible-element.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/invalidate-paint-for-fixed-pos-inside-iframe.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/invalidate-paint-in-iframe-in-composited-layer.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/invalidation-after-opacity-change-subtree.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/invalidation-on-foreground-graphics-layer.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/invalidation-with-scale-transform.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/invalidation-with-zero-size-object.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/invisible-objects.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/japanese-rl-selection-clear.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/japanese-rl-selection-repaint.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/justify-content-change.html [ Failure ]
@@ -21546,8 +24424,11 @@
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/justify-self-change-keeping-geometry.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/justify-self-overflow-change.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/layer-child-outline.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/layer-full-repaint.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/layer-hide-when-needs-layout.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/layer-outline-horizontal.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/layer-outline.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/layer-visibility.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/layoutstate-invalid-invalidation-inline-relative-positioned.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/layout-state-only-positioned.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/layout-state-relative.html [ Failure ]
@@ -21567,33 +24448,46 @@
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/line-in-scrolled-clipped-block.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/line-overflow.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/lines-with-layout-delta.html [ Failure ]
-crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/list-marker-2.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/list-marker-2.html [ Crash Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/list-marker.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/list-marker-move.html [ Crash Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/local-attachment-background-li-crash.html [ Crash Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/make-children-non-inline.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/margin.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/media-audio-no-spurious-repaints.html [ Crash ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/mix-blend-mode-separate-stacking-context.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/move-caret-in-container-change-paint-offset-keep-visual.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/multicol-as-paint-container.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/multicol-nested.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/multicol-relpos-with-abspos.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/multicol-with-abspos.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/multicol-with-abspos-in-relpos.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/multicol-with-block.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/multicol-with-overflowing-block-rl.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/multicol-with-relpos.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/multicol-with-text.html [ Failure ]
-crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/multi-layout-one-frame.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/multi-layout-one-frame.html [ Crash Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/multiple-backgrounds-style-change.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/multi-subsequence-composited.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/multi-subsequence-scrolled.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/negative-shadow-box-expand.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/negative-shadow-box-shrink.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/negative-text-indent-with-overflow-hidden.html [ Failure ]
-crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/nested-iframe-scroll-inner.html [ Failure ]
-crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/nested-iframe-scroll-outer.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/nested-fixed-iframe-scrolled.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/nested-iframe-scroll-inner.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/nested-iframe-scroll-outer.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/no-caret-repaint-in-non-content-editable-element.html [ Failure ]
-crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/offset-change-wrong-invalidation-with-float.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/offset-change-wrong-invalidation-with-float.html [ Crash Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/opacity-change-on-overflow-float.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/outline-add-repaint.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/outline-become-affected-by-descendant.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/outline-become-not-affected-by-descendant.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/outline-change-continuations.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/outline-change-invalidation.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/outline-change-offset.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/outline-change-repaint.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/outline-child-repaint.html [ Failure ]
-crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/outline-clip-change.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/outline-clip-change.html [ Crash Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/outline-containing-image-in-non-standard-mode.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/outline-continuations.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/outline-current-color.html [ Failure ]
@@ -21603,12 +24497,16 @@
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/outline-shrinking.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/overflow-auto-in-overflow-auto-scrolled.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/overflow-changed-on-child-of-composited-layer.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/overflow-clip-subtree-layout.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/overflow-delete-line.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/overflow-flipped-writing-mode-block.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/overflow-flipped-writing-mode-table.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/overflow-hidden-in-overflow-hidden-scrolled.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/overflow-hidden-to-visible.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/overflow-hidden-yet-scrolled.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/overflow-hidden-yet-scrolled-with-custom-scrollbar.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/overflow-hide.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/overflow-into-content.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/overflow-move-after-scroll.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/overflow-outline-repaint.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-after-move.html [ Failure ]
@@ -21620,22 +24518,31 @@
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/overflow-show.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/overflow-visible-to-hidden.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/overhanging-float-detach-repaint.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/padding-border-keeping-border-box-and-content-box.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/padding-keeping-content-size.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/padding-keeping-visual-size.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/paged-with-overflowing-block-rl.html [ Crash Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/paint-caret-in-div-with-negative-indent.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/paint-invalidation-with-opacity.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/paint-invalidation-with-reparent-across-frame-boundaries.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/percentage-transform-paint-offset.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/position-change-keeping-geometry.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/positioned-document-element.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/positioned-great-grandparent-change-location.html [ Failure ]
-crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/positioned-list-offset-change-repaint.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/positioned-list-offset-change-repaint.html [ Crash Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/push-block-with-first-line.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/quotes.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/reflection-invalidation-after-display.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/reflection-invalidation-positioned-child.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/reflection-redraw.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/reflection-repaint-test.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/relative-inline-positioned-movement-repaint.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/relative-margin-change-repaint.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/relative-positioned-movement-repaint.html [ Failure ]
-crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/relative-position-under-composited-scroll.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/relative-position-under-composited-scroll.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/relayout-fixed-position-after-scale.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/rel-positioned-inline-with-overflow.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/remove-anonymous-block-crash.html [ Crash Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/remove-block-after-layout.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/remove-inline-after-layout.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/remove-inline-block-descendant-of-flex.html [ Crash ]
@@ -21646,17 +24553,25 @@
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/repaint-descandant-on-ancestor-layer-move.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/repaint-during-scroll.html [ Timeout ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/repaint-during-scroll-with-zoom.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/repaint-in-iframe.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/repaint-on-style-change.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/repaint-resized-overflow.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/repaint-subrect-grid.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/repaint-subsequence-on-ancestor-clip-change-complex.html [ Failure ]
-crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/repaint-svg-after-style-change.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/repaint-svg-after-style-change.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/repaint-table-row-in-composited-document.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/repaint-tile-clipped.html [ Crash Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/replaced-clipped-positioned-not-wrong-incremental-repainting.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/requestAnimation-translation-leave-traces.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/resize-child-within-overflow.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/resize-iframe-text.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/resize-scrollable-div.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/resize-scrollable-iframe.html [ Failure ]
-crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/ruby-flipped-blocks.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/resize-skewed.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/resize-with-border-clipped.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/resize-with-border.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/rotated-subpixel.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/ruby-flipped-blocks.html [ Crash Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/scroll-absolute-layer-with-reflection.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/scrollbar-damage-and-full-viewport-repaint.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/scrollbar-invalidation-on-resize.html [ Failure Pass ]
@@ -21667,13 +24582,15 @@
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/scroll-fixed-layer-with-no-visible-content.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/scroll-fixed-layer-with-reflection.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/scroll-fixed-layer-with-transformed-parent-layer.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/scroll-fixed-reflected-layer.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/scroll-in-clipped-layer.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/scroll-in-fixed-layer.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/scroll-inside-table-cell.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/scroll-in-transformed-layer.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/scroll-relative-table-inside-table-cell.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/scroll-stacking-context-backface-visiblity-leaves-traces.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/scroll-with-transformed-parent-layer.html [ Failure ]
-crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/search-field-cancel.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/search-field-cancel.html [ Crash Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/selected-replaced.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/selection-after-delete.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/selection-after-remove.html [ Failure ]
@@ -21688,8 +24605,8 @@
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/selection-partial-invalidation-between-blocks.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/selection/repaint-rect-for-vertical-writing-mode-with-positioned-root.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/selection-rl.html [ Failure ]
-crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/selection/selection-in-composited-scrolling-container.html [ Failure ]
-crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/selection/selection-in-non-composited-scrolling-container.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/selection/selection-in-composited-scrolling-container.html [ Crash Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/selection/selection-in-non-composited-scrolling-container.html [ Crash Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/selection/selection-within-composited-scroller.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/select-option-background-color.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/shadow-box-resize.html [ Failure ]
@@ -21703,13 +24620,17 @@
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/stacked-diacritics.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/stacking-context-lost.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/static-to-positioned.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/subpixel-offset-scaled-transform.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/subpixel-shadow-included-in-invalidation.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/subtree-layoutstate-transform.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/subtree-root-clip-2.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/subtree-root-clip-3.html [ Failure Pass ]
-crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/subtree-root-skipped.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/subtree-root-clip.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/subtree-root-skipped.html [ Crash Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/absolute-sized-content-with-resources.xhtml [ Failure ]
-crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/add-border-property-on-root.html [ Failure ]
-crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/add-outline-property-on-root.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/add-background-property-on-root.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/add-border-property-on-root.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/add-outline-property-on-root.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/animated-path-inside-transformed-html.xhtml [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/animated-svg-as-image-background-offscreen.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/animated-svg-as-image.html [ Failure ]
@@ -21717,11 +24638,12 @@
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/animated-svg-as-image-offscreen.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/animated-svg-as-image-same-image.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/animated-svg-as-image-transformed-offscreen.html [ Failure Pass ]
-crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/circle-move-invalidation.svg [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/circle-move-invalidation.svg [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/deep-nested-embedded-svg-size-changes-no-layout-triggers-1.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/deep-nested-embedded-svg-size-changes-no-layout-triggers-2.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/embedded-svg-size-changes.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/embedded-svg-size-changes-no-layout-triggers.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/foreign-object-repaint.svg [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/hit-test-with-br.xhtml [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg-layout-root-style-attr-update.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/nested-embedded-svg-size-changes.html [ Failure ]
@@ -21737,18 +24659,22 @@
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-shadow-tree-content.xhtml [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-use-on-symbol.xhtml [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-use-without-attributes-on-symbol.xhtml [ Failure ]
-crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/remove-border-property-on-root.html [ Failure ]
-crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/remove-outline-property-on-root.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/remove-background-property-on-root.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/remove-border-property-on-root.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/remove-outline-property-on-root.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/repaint-in-scrolled-view.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/repaint-moving-svg-and-div.xhtml [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/resize-svg-invalidate-children.html [ Crash ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/scroll-hit-test.xhtml [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/svg-background-partial-redraw.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/svg-image-change-content-size.xhtml [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/text-rescale.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/text-xy-updates-SVGList.xhtml [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/transform-focus-ring-repaint.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/transform-foreign-object.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/use-instanceRoot-event-bubbling.xhtml [ Timeout ]
-crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/use-setAttribute-crash.svg [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/use-setAttribute-crash.svg [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/zoom-foreignObject.svg [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/table/animated-row-background.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/table/border-collapse-change-collapse-to-separate.html [ Failure Pass ]
@@ -21803,6 +24729,7 @@
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/trailing-floats-root-line-box-overflow.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/transform-absolute-child.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/transform-absolute-in-positioned-container.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/transform-disable-layoutstate.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/transform-inline-layered-child.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/transform-layout-repaint.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/transform-relative-position.html [ Failure ]
@@ -21813,18 +24740,26 @@
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/update-visual-rects-after-compositing-change.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/vertical-align1.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/vertical-align2.html [ Failure ]
-crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/vertical-align-length1.html [ Failure ]
-crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/vertical-align-length2.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/vertical-align-length1.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/vertical-align-length2.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/vertical-overflow-child.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/vertical-overflow-parent.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/vertical-overflow-same.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/vertical-rl-as-paint-container.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/vertical-rl-overflow.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/view-background-from-body-2.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/viewport-gradient-background-html-resize.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/window-resize-centered-inline-under-fixed-pos.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/window-resize-frameset.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/window-resize-no-layout-change1.html [ Failure ]
-crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/window-resize-no-layout-change2.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/window-resize-no-layout-change2.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/window-resize-percent-html.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/window-resize-percent-width-height.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/window-resize-positioned-bottom.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/window-resize-positioned-percent-top.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/window-resize-vertical-writing-mode.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/window-resize-viewport-percent.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/lists/invalidate-list-marker-color.html [ Crash Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/masks/fieldset-mask.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/masks/table-cell-masks.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/overflow/background-mask-should-be-recorded-full.html [ Failure ]
@@ -21832,6 +24767,7 @@
 crbug.com/591099 virtual/disable-spinvalidation/paint/overflow/non-composited-fixed-position-descendant.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/overflow/scroll-background-obscured.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/pagination/pagination-change-clip-crash.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/roundedrects/circle-with-shadow.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/roundedrects/input-with-rounded-rect-and-shadow.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/selection/drag-caret.html [ Crash ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/selection/text-selection-drag.html [ Failure ]
@@ -21849,17 +24785,28 @@
 crbug.com/591099 virtual/disable-spinvalidation/paint/selection/text-selection-newline-span.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/selection/text-selection-newline-vertical-lr.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/selection/text-selection-newline-vertical-rl.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/spellmarkers/document-markers.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/spellmarkers/document-markers-zoom-125.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/spellmarkers/document-markers-zoom-150.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/spellmarkers/document-markers-zoom-175.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/spellmarkers/document-markers-zoom-200.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/spellmarkers/document-markers-zoom-250.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/spellmarkers/grammar-markers-hidpi.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/spellmarkers/grammar-markers.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/spellmarkers/inline-spelling-markers-hidpi-composited.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/spellmarkers/inline-spelling-markers-hidpi.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/spellmarkers/inline_spelling_markers.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/tables/collapsed-border-layered-table-and-cells.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/tables/composited-collapsed-table-borders.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/tables/huge-table-composited-scroll.html [ Failure ]
-crbug.com/591099 virtual/disable-spinvalidation/paint/tables/self-painting-row-background-vertical-clipped.html [ Failure ]
-crbug.com/591099 virtual/disable-spinvalidation/paint/tables/tbody-fixedposition.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/tables/self-painting-row-background-vertical-clipped.html [ Failure Pass ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/tables/tbody-fixedposition.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/tables/tbody-transformed.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/text/selection-no-clip-text.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/text/text-match-highlights-big-line-height.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/theme/adjust-progress-bar-size.html [ Failure Pass ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/transforms/percentage-transform-fractional-box-size.html [ Failure ]
+crbug.com/591099 virtual/disable-spinvalidation/paint/transforms/subpixel-scale-align.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/transparency/compositing-alpha-fold-crash.html [ Failure ]
 crbug.com/591099 virtual/disable-spinvalidation/paint/transparency/transparency-that-paints-content-only-in-child.html [ Failure ]
 crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/2d.composite.globalAlpha.fillPath.html [ Crash ]
@@ -21881,13 +24828,13 @@
 crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/canvas-blending-image-over-image.html [ Failure ]
 crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/canvas-blending-text.html [ Failure ]
 crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/canvas-closePath-single-point.html [ Crash ]
-crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/canvas-composite-alpha.html [ Failure ]
+crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/canvas-composite-alpha.html [ Crash Failure ]
 crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/canvas-composite-canvas.html [ Failure ]
 crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/canvas-composite.html [ Failure Pass ]
 crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/canvas-composite-image.html [ Failure ]
 crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/canvas-composite-shadow.html [ Failure Pass ]
-crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/canvas-composite-stroke-alpha.html [ Failure ]
-crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/canvas-composite-text-alpha.html [ Failure ]
+crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/canvas-composite-stroke-alpha.html [ Crash Failure ]
+crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/canvas-composite-text-alpha.html [ Crash Failure ]
 crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/canvas-composite-transformclip.html [ Failure Pass ]
 crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/canvas-composite-video.html [ Failure Pass ]
 crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/canvas-composite-video-shadow.html [ Failure Pass ]
@@ -21913,7 +24860,7 @@
 crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/canvas-drawImage-live-video.html [ Crash ]
 crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/canvas-drawImage-shadow.html [ Crash ]
 crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/canvas-ellipse-360-winding.html [ Crash ]
-crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/canvas-ellipse-connecting-line.html [ Failure ]
+crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/canvas-ellipse-connecting-line.html [ Failure Pass ]
 crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/canvas-ellipse.html [ Crash ]
 crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/canvas-ellipse-zero-lineto.html [ Crash ]
 crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/canvas-empty-image-pattern.html [ Crash ]
@@ -21970,6 +24917,7 @@
 crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/canvas-pattern-set-transform.html [ Crash ]
 crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/canvas-putImageData.html [ Crash ]
 crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/canvas-quadratic-same-endpoint.html [ Crash ]
+crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/canvas-render-layer.html [ Failure Pass ]
 crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/canvas-resetTransform.html [ Crash ]
 crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/canvas-resize-after-paint.html [ Crash ]
 crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/canvas-scale-drawImage-shadow.html [ Crash ]
@@ -21979,7 +24927,7 @@
 crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/canvas-scale-strokePath-shadow.html [ Crash ]
 crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/canvas-scroll-path-into-view.html [ Timeout ]
 crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/canvas-set-properties-with-non-invertible-ctm.html [ Crash ]
-crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/canvas-shadow-source-in.html [ Failure ]
+crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/canvas-shadow-source-in.html [ Failure Pass ]
 crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/canvas-skia-excessive-size.html [ Crash ]
 crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/canvas-strokePath-alpha-shadow.html [ Crash ]
 crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/canvas-strokePath-cap-join.html [ Crash ]
@@ -21992,6 +24940,7 @@
 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 ]
 crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/canvas-transforms-fillRect-shadow.html [ Crash ]
+crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/check-stale-putImageData.html [ Crash Pass ]
 crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/draw-focus-if-needed.html [ Crash ]
 crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/draw-focus-if-needed-invisible-crash.html [ Crash ]
 crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/draw-focus-if-needed-on-event.html [ Crash ]
@@ -22060,13 +25009,13 @@
 crbug.com/591099 virtual/gpu/fast/canvas/canvas-blending-image-over-image.html [ Failure ]
 crbug.com/591099 virtual/gpu/fast/canvas/canvas-blending-text.html [ Failure ]
 crbug.com/591099 virtual/gpu/fast/canvas/canvas-closePath-single-point.html [ Crash ]
-crbug.com/591099 virtual/gpu/fast/canvas/canvas-composite-alpha.html [ Failure ]
+crbug.com/591099 virtual/gpu/fast/canvas/canvas-composite-alpha.html [ Crash Failure ]
 crbug.com/591099 virtual/gpu/fast/canvas/canvas-composite-canvas.html [ Failure ]
 crbug.com/591099 virtual/gpu/fast/canvas/canvas-composite.html [ Failure Pass ]
 crbug.com/591099 virtual/gpu/fast/canvas/canvas-composite-image.html [ Failure ]
 crbug.com/591099 virtual/gpu/fast/canvas/canvas-composite-shadow.html [ Failure Pass ]
-crbug.com/591099 virtual/gpu/fast/canvas/canvas-composite-stroke-alpha.html [ Failure ]
-crbug.com/591099 virtual/gpu/fast/canvas/canvas-composite-text-alpha.html [ Failure ]
+crbug.com/591099 virtual/gpu/fast/canvas/canvas-composite-stroke-alpha.html [ Crash Failure ]
+crbug.com/591099 virtual/gpu/fast/canvas/canvas-composite-text-alpha.html [ Crash Failure ]
 crbug.com/591099 virtual/gpu/fast/canvas/canvas-composite-transformclip.html [ Failure Pass ]
 crbug.com/591099 virtual/gpu/fast/canvas/canvas-composite-video.html [ Failure Pass ]
 crbug.com/591099 virtual/gpu/fast/canvas/canvas-composite-video-shadow.html [ Failure Pass ]
@@ -22092,7 +25041,7 @@
 crbug.com/591099 virtual/gpu/fast/canvas/canvas-drawImage-live-video.html [ Crash ]
 crbug.com/591099 virtual/gpu/fast/canvas/canvas-drawImage-shadow.html [ Crash ]
 crbug.com/591099 virtual/gpu/fast/canvas/canvas-ellipse-360-winding.html [ Crash ]
-crbug.com/591099 virtual/gpu/fast/canvas/canvas-ellipse-connecting-line.html [ Failure ]
+crbug.com/591099 virtual/gpu/fast/canvas/canvas-ellipse-connecting-line.html [ Failure Pass ]
 crbug.com/591099 virtual/gpu/fast/canvas/canvas-ellipse.html [ Crash ]
 crbug.com/591099 virtual/gpu/fast/canvas/canvas-ellipse-zero-lineto.html [ Crash ]
 crbug.com/591099 virtual/gpu/fast/canvas/canvas-empty-image-pattern.html [ Crash ]
@@ -22151,6 +25100,7 @@
 crbug.com/591099 virtual/gpu/fast/canvas/canvas-pattern-set-transform.html [ Crash ]
 crbug.com/591099 virtual/gpu/fast/canvas/canvas-putImageData.html [ Crash ]
 crbug.com/591099 virtual/gpu/fast/canvas/canvas-quadratic-same-endpoint.html [ Crash ]
+crbug.com/591099 virtual/gpu/fast/canvas/canvas-render-layer.html [ Failure Pass ]
 crbug.com/591099 virtual/gpu/fast/canvas/canvas-resetTransform.html [ Crash ]
 crbug.com/591099 virtual/gpu/fast/canvas/canvas-resize-after-paint.html [ Crash ]
 crbug.com/591099 virtual/gpu/fast/canvas/canvas-scale-drawImage-shadow.html [ Crash ]
@@ -22160,7 +25110,7 @@
 crbug.com/591099 virtual/gpu/fast/canvas/canvas-scale-strokePath-shadow.html [ Crash ]
 crbug.com/591099 virtual/gpu/fast/canvas/canvas-scroll-path-into-view.html [ Timeout ]
 crbug.com/591099 virtual/gpu/fast/canvas/canvas-set-properties-with-non-invertible-ctm.html [ Crash ]
-crbug.com/591099 virtual/gpu/fast/canvas/canvas-shadow-source-in.html [ Failure ]
+crbug.com/591099 virtual/gpu/fast/canvas/canvas-shadow-source-in.html [ Failure Pass ]
 crbug.com/591099 virtual/gpu/fast/canvas/canvas-skia-excessive-size.html [ Crash ]
 crbug.com/591099 virtual/gpu/fast/canvas/canvas-strokePath-alpha-shadow.html [ Crash ]
 crbug.com/591099 virtual/gpu/fast/canvas/canvas-strokePath-cap-join.html [ Crash ]
@@ -22173,6 +25123,7 @@
 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 ]
 crbug.com/591099 virtual/gpu/fast/canvas/canvas-transforms-fillRect-shadow.html [ Crash ]
+crbug.com/591099 virtual/gpu/fast/canvas/check-stale-putImageData.html [ Crash Pass ]
 crbug.com/591099 virtual/gpu/fast/canvas/draw-focus-if-needed.html [ Crash ]
 crbug.com/591099 virtual/gpu/fast/canvas/draw-focus-if-needed-invisible-crash.html [ Crash ]
 crbug.com/591099 virtual/gpu/fast/canvas/draw-focus-if-needed-on-event.html [ Crash ]
@@ -22231,8 +25182,10 @@
 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 [ Crash Failure ]
-crbug.com/591099 virtual/gpu-rasterization/images/alt-text-wrapping.html [ Failure ]
+crbug.com/591099 virtual/gpu-rasterization/images/alt-text-wrapping.html [ Crash Failure ]
 crbug.com/591099 virtual/gpu-rasterization/images/animated-background-image-crash.html [ Failure ]
+crbug.com/591099 virtual/gpu-rasterization/images/bad-png.html [ Crash Pass ]
+crbug.com/591099 virtual/gpu-rasterization/images/busted-oval-does-not-render.html [ Crash Pass ]
 crbug.com/591099 virtual/gpu-rasterization/images/color-jpeg-with-color-profile.html [ Failure ]
 crbug.com/591099 virtual/gpu-rasterization/images/color-profile-background-image-cover.html [ Failure ]
 crbug.com/591099 virtual/gpu-rasterization/images/color-profile-background-image-cross-fade.html [ Crash Failure ]
@@ -22264,6 +25217,7 @@
 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 Pass ]
 crbug.com/591099 virtual/gpu-rasterization/images/crash-when-fallback-content-deleted.html [ Crash Pass ]
+crbug.com/591099 virtual/gpu-rasterization/images/crash-when-zoom-factor-changes.html [ Crash Pass ]
 crbug.com/591099 virtual/gpu-rasterization/images/cross-fade-background-size.html [ Failure ]
 crbug.com/591099 virtual/gpu-rasterization/images/cross-fade-blending.html [ Failure ]
 crbug.com/591099 virtual/gpu-rasterization/images/cross-fade-invalidation.html [ Failure ]
@@ -22272,10 +25226,12 @@
 crbug.com/591099 virtual/gpu-rasterization/images/cross-fade-sizing.html [ Failure ]
 crbug.com/591099 virtual/gpu-rasterization/images/cross-fade-tiled.html [ Failure ]
 crbug.com/591099 virtual/gpu-rasterization/images/destroyed-image-load-event.html [ Crash ]
+crbug.com/591099 virtual/gpu-rasterization/images/drag-pdf-as-image.html [ Crash Pass ]
 crbug.com/591099 virtual/gpu-rasterization/images/drag-svg-image.html [ Failure ]
-crbug.com/591099 virtual/gpu-rasterization/images/exif-orientation-css.html [ Failure ]
-crbug.com/591099 virtual/gpu-rasterization/images/exif-orientation.html [ Failure ]
-crbug.com/591099 virtual/gpu-rasterization/images/exif-orientation-image-document.html [ Failure ]
+crbug.com/591099 virtual/gpu-rasterization/images/exif-orientation-css.html [ Crash Failure ]
+crbug.com/591099 virtual/gpu-rasterization/images/exif-orientation-height-image-document.html [ Failure Pass ]
+crbug.com/591099 virtual/gpu-rasterization/images/exif-orientation.html [ Crash Failure ]
+crbug.com/591099 virtual/gpu-rasterization/images/exif-orientation-image-document.html [ Crash Failure ]
 crbug.com/591099 virtual/gpu-rasterization/images/extra-image-in-image-document.html [ Failure ]
 crbug.com/591099 virtual/gpu-rasterization/images/favicon-as-image.html [ Failure ]
 crbug.com/591099 virtual/gpu-rasterization/images/gif-loop-count.html [ Failure ]
@@ -22289,9 +25245,9 @@
 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 ]
 crbug.com/591099 virtual/gpu-rasterization/images/image-document-write-assert.html [ Failure ]
-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-empty-data.html [ Crash Failure ]
+crbug.com/591099 virtual/gpu-rasterization/images/image-hover-display-alt.html [ Crash Failure ]
+crbug.com/591099 virtual/gpu-rasterization/images/image-in-map.html [ Crash 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 ]
@@ -22312,9 +25268,9 @@
 crbug.com/591099 virtual/gpu-rasterization/images/imagemap-overflowing-polygon-focus-ring.html [ Failure ]
 crbug.com/591099 virtual/gpu-rasterization/images/imagemap-polygon-focus-ring.html [ Failure ]
 crbug.com/591099 virtual/gpu-rasterization/images/imagemap-scroll.html [ Crash ]
-crbug.com/591099 virtual/gpu-rasterization/images/image-map-zoom-alt-content.html [ Failure ]
+crbug.com/591099 virtual/gpu-rasterization/images/image-map-zoom-alt-content.html [ Crash Failure ]
 crbug.com/591099 virtual/gpu-rasterization/images/image-map-zoom.html [ Failure ]
-crbug.com/591099 virtual/gpu-rasterization/images/image-page-injected-script-crash.html [ Failure ]
+crbug.com/591099 virtual/gpu-rasterization/images/image-page-injected-script-crash.html [ Crash Failure ]
 crbug.com/591099 virtual/gpu-rasterization/images/image-use-counters.html [ Crash ]
 crbug.com/591099 virtual/gpu-rasterization/images/image-zoom-to-25.html [ Failure ]
 crbug.com/591099 virtual/gpu-rasterization/images/image-zoom-to-500.html [ Failure ]
@@ -22331,19 +25287,22 @@
 crbug.com/591099 virtual/gpu-rasterization/images/pdf-as-background.html [ Failure ]
 crbug.com/591099 virtual/gpu-rasterization/images/pdf-as-tiled-background.html [ Failure ]
 crbug.com/591099 virtual/gpu-rasterization/images/percent-height-image.html [ Failure ]
-crbug.com/591099 virtual/gpu-rasterization/images/pixel-crack-image-background-webkit-transform-scale.html [ Failure ]
+crbug.com/591099 virtual/gpu-rasterization/images/pixel-crack-image-background-webkit-transform-scale.html [ Crash Failure ]
 crbug.com/591099 virtual/gpu-rasterization/images/png-extra-row-crash.html [ Failure ]
+crbug.com/591099 virtual/gpu-rasterization/images/png-missing-plte-before-trns-crash.html [ Crash Pass ]
 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 [ 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-0px-images.html [ Crash ]
+crbug.com/591099 virtual/gpu-rasterization/images/rendering-broken-0px-images-quirk.html [ Crash ]
+crbug.com/591099 virtual/gpu-rasterization/images/rendering-broken-10px-images.html [ Crash Failure ]
+crbug.com/591099 virtual/gpu-rasterization/images/rendering-broken-16px-images.html [ Crash Failure ]
+crbug.com/591099 virtual/gpu-rasterization/images/rendering-broken-1px-images.html [ Crash Failure ]
+crbug.com/591099 virtual/gpu-rasterization/images/rendering-broken-block-flow-images.html [ Crash Failure ]
+crbug.com/591099 virtual/gpu-rasterization/images/rendering-broken-images-empty-alt.html [ Crash Failure ]
 crbug.com/591099 virtual/gpu-rasterization/images/rendering-broken-images.html [ Crash 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-crash.html [ Crash 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 ]
@@ -22351,8 +25310,11 @@
 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/width-on-broken-data-src.html [ Crash Pass ]
 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/layout_ng/external/wpt/css/CSS2/floats-clear/floats-040.xht [ Failure Pass ]
+crbug.com/591099 virtual/layout_ng/external/wpt/css/CSS2/linebox/line-height-127.xht [ Failure Pass ]
 crbug.com/591099 virtual/mojo-loading/http/tests/appcache/access-via-redirect.php [ Pass Timeout ]
 crbug.com/591099 virtual/mojo-loading/http/tests/appcache/fallback.html [ Pass Timeout ]
 crbug.com/591099 virtual/mojo-loading/http/tests/appcache/main-resource-hash.html [ Pass Timeout ]
@@ -22370,19 +25332,32 @@
 crbug.com/591099 virtual/mojo-loading/http/tests/inspector/bindings/bindings-multiple-frames.html [ Pass Timeout ]
 crbug.com/591099 virtual/mojo-loading/http/tests/inspector/elements/styles/xsl-transformed.xml [ Pass Timeout ]
 crbug.com/591099 virtual/mojo-loading/http/tests/inspector-enabled/console-log-before-frame-navigation.html [ Pass Timeout ]
+crbug.com/591099 virtual/mojo-loading/http/tests/inspector-enabled/console-promise-reject-and-handle.html [ Pass Timeout ]
+crbug.com/591099 virtual/mojo-loading/http/tests/inspector-enabled/resource-tree/main-resource-content.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-empty-xhr.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 Pass Timeout ]
+crbug.com/591099 virtual/mojo-loading/http/tests/inspector/network/preview-searchable.html [ Pass Timeout ]
 crbug.com/591099 virtual/mojo-loading/http/tests/inspector/network/request-parameters-decoding.html [ Pass Timeout ]
+crbug.com/591099 virtual/mojo-loading/http/tests/inspector/network/warning-for-long-cookie.html [ Pass Timeout ]
 crbug.com/591099 virtual/mojo-loading/http/tests/inspector/network/waterfall-images.html [ Failure Pass ]
+crbug.com/591099 virtual/mojo-loading/http/tests/inspector/persistence/automapping-absolute-paths.html [ Pass Timeout ]
+crbug.com/591099 virtual/mojo-loading/http/tests/inspector/persistence/automapping-sourcemap.html [ Failure Pass Timeout ]
+crbug.com/591099 virtual/mojo-loading/http/tests/inspector/persistence/navigator-create-file-copy.html [ Pass Timeout ]
+crbug.com/591099 virtual/mojo-loading/http/tests/inspector/persistence/persistence-merge-editor-tabs.html [ Pass Timeout ]
 crbug.com/591099 virtual/mojo-loading/http/tests/inspector/persistence/persistence-move-breakpoints-on-reload.html [ Failure Pass ]
+crbug.com/591099 virtual/mojo-loading/http/tests/inspector/persistence/persistence-search-across-all-files.html [ Pass Timeout ]
+crbug.com/591099 virtual/mojo-loading/http/tests/inspector/persistence/persistence-sourceframe-messages.html [ Pass Timeout ]
+crbug.com/591099 virtual/mojo-loading/http/tests/inspector/persistence/persistence-tabbed-editor-opens-filesystem-uisourcecode.html [ Failure Pass ]
 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/network-fetch-content-with-error-status-code.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-none.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 ]
@@ -22395,8 +25370,13 @@
 crbug.com/591099 virtual/mojo-loading/http/tests/inspector/service-workers/service-workers-redundant.html [ Pass Timeout ]
 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/loading/preload-image-sizes-2x.html [ Failure Pass ]
+crbug.com/591099 virtual/mojo-loading/http/tests/loading/preload-picture-sizes-2x.html [ Failure Pass ]
+crbug.com/591099 virtual/mojo-loading/http/tests/misc/gmail-assert-on-load.html [ Pass Timeout ]
 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 Pass ]
+crbug.com/591099 virtual/mojo-loading/http/tests/navigation/same-and-different-back.html [ Failure Pass ]
+crbug.com/591099 virtual/mojo-loading/http/tests/notifications/request-permission-granted.html [ Pass Timeout ]
 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 ]
@@ -22406,14 +25386,18 @@
 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 Pass ]
 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/cors-rfc1918/addressspace-document-csp-appcache.html [ Pass Timeout ]
+crbug.com/591099 virtual/mojo-loading/http/tests/security/cors-rfc1918/addressspace-document-csp-appcache.html [ Failure Pass Timeout ]
 crbug.com/591099 virtual/mojo-loading/http/tests/security/cross-frame-mouse-source-capabilities.html [ Pass Timeout ]
 crbug.com/591099 virtual/mojo-loading/http/tests/security/filesystem-iframe-from-remote.html [ Pass Timeout ]
 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/security/media-element-audio-source-node-same-origin.html [ Failure Pass ]
+crbug.com/591099 virtual/mojo-loading/http/tests/security/suborigins/crossorigin/suborigin-cors-fetch-failure-output.php [ Failure Pass ]
+crbug.com/591099 virtual/mojo-loading/http/tests/security/suborigins/crossorigin/suborigin-cors-xhr-failure-output.php [ Failure Pass ]
 crbug.com/591099 virtual/mojo-loading/http/tests/serviceworker/chromium/unregister-on-detached-iframe.html [ Crash Pass ]
+crbug.com/591099 virtual/mojo-loading/http/tests/serviceworker/navigation-preload/chromium/navigation-preload-resource-timing.html [ Failure Pass ]
 crbug.com/591099 virtual/mojo-loading/http/tests/serviceworker/ServiceWorkerGlobalScope/registration-attribute.html [ Failure Pass ]
+crbug.com/591099 virtual/mojo-loading/http/tests/websocket/cookie-document-to-ws.html [ Failure 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 ]
@@ -22453,9 +25437,9 @@
 crbug.com/591099 virtual/prefer_compositing_to_lcd_text/compositing/overflow/body-switch-composited-scrolling.html [ Failure ]
 crbug.com/591099 virtual/prefer_compositing_to_lcd_text/compositing/overflow/border-radius-styles-with-composited-child.html [ Failure ]
 crbug.com/591099 virtual/prefer_compositing_to_lcd_text/compositing/overflow/clear-scroll-parent.html [ Failure ]
-crbug.com/591099 virtual/prefer_compositing_to_lcd_text/compositing/overflow/clip-content-under-overflow-controls.html [ Failure ]
+crbug.com/591099 virtual/prefer_compositing_to_lcd_text/compositing/overflow/clip-content-under-overflow-controls.html [ Failure Pass ]
 crbug.com/591099 virtual/prefer_compositing_to_lcd_text/compositing/overflow/clip-descendents.html [ Failure ]
-crbug.com/591099 virtual/prefer_compositing_to_lcd_text/compositing/overflow/clip-parent-of-non-scrolled.html [ Failure ]
+crbug.com/591099 virtual/prefer_compositing_to_lcd_text/compositing/overflow/clip-parent-of-non-scrolled.html [ Failure Pass ]
 crbug.com/591099 virtual/prefer_compositing_to_lcd_text/compositing/overflow/clip-parent-reset.html [ Failure ]
 crbug.com/591099 virtual/prefer_compositing_to_lcd_text/compositing/overflow/clipping-ancestor-with-accelerated-scrolling-ancestor.html [ Failure ]
 crbug.com/591099 virtual/prefer_compositing_to_lcd_text/compositing/overflow/composited-nested-sticky-deep.html [ Failure ]
@@ -22473,7 +25457,7 @@
 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/do-not-paint-outline-into-composited-scrolling-contents.html [ Crash Failure ]
 crbug.com/591099 virtual/prefer_compositing_to_lcd_text/compositing/overflow/fixed-element-escape-fixed-overflow-clip.html [ Failure Pass ]
 crbug.com/591099 virtual/prefer_compositing_to_lcd_text/compositing/overflow/fixed-position-ancestor-clip.html [ Failure ]
 crbug.com/591099 virtual/prefer_compositing_to_lcd_text/compositing/overflow/fractional-sized-scrolling-layer.html [ Failure ]
@@ -22497,7 +25481,8 @@
 crbug.com/591099 virtual/prefer_compositing_to_lcd_text/compositing/overflow/overflow-clip-with-accelerated-scrolling-ancestor.html [ Failure ]
 crbug.com/591099 virtual/prefer_compositing_to_lcd_text/compositing/overflow/overflow-compositing-descendant.html [ Failure ]
 crbug.com/591099 virtual/prefer_compositing_to_lcd_text/compositing/overflow/overflow-overlay-with-touch.html [ Failure ]
-crbug.com/591099 virtual/prefer_compositing_to_lcd_text/compositing/overflow/overflow-scaled-descendant-overlapping.html [ Failure ]
+crbug.com/591099 virtual/prefer_compositing_to_lcd_text/compositing/overflow/overflow-positioning.html [ Failure Pass ]
+crbug.com/591099 virtual/prefer_compositing_to_lcd_text/compositing/overflow/overflow-scaled-descendant-overlapping.html [ Failure Pass ]
 crbug.com/591099 virtual/prefer_compositing_to_lcd_text/compositing/overflow/overflow-scrollbar-layers.html [ Failure ]
 crbug.com/591099 virtual/prefer_compositing_to_lcd_text/compositing/overflow/overflow-scroll.html [ Failure ]
 crbug.com/591099 virtual/prefer_compositing_to_lcd_text/compositing/overflow/overflow-scroll-with-local-background-and-child.html [ Failure ]
@@ -22512,7 +25497,7 @@
 crbug.com/591099 virtual/prefer_compositing_to_lcd_text/compositing/overflow/paint-neg-z-order-descendants-into-scrolling-contents-layer.html [ Failure ]
 crbug.com/591099 virtual/prefer_compositing_to_lcd_text/compositing/overflow/parent-overflow.html [ Failure ]
 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/repaint-after-losing-scrollbars.html [ Failure Pass ]
 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 ]
@@ -22533,10 +25518,10 @@
 crbug.com/591099 virtual/prefer_compositing_to_lcd_text/compositing/overflow/siblings-composited-with-border-radius-ancestor.html [ Failure ]
 crbug.com/591099 virtual/prefer_compositing_to_lcd_text/compositing/overflow/siblings-composited-with-border-radius-ancestor-one-clipped.html [ Failure ]
 crbug.com/591099 virtual/prefer_compositing_to_lcd_text/compositing/overflow/siblings-with-border-radius-ancestor.html [ Failure ]
-crbug.com/591099 virtual/prefer_compositing_to_lcd_text/compositing/overflow/textarea-scroll-touch.html [ Failure ]
+crbug.com/591099 virtual/prefer_compositing_to_lcd_text/compositing/overflow/textarea-scroll-touch.html [ Crash Failure ]
 crbug.com/591099 virtual/prefer_compositing_to_lcd_text/compositing/overflow/theme-affects-visual-overflow.html [ Failure ]
 crbug.com/591099 virtual/prefer_compositing_to_lcd_text/compositing/overflow/tiled-mask.html [ Failure ]
-crbug.com/591099 virtual/prefer_compositing_to_lcd_text/compositing/overflow/transform-in-empty-container.html [ Failure ]
+crbug.com/591099 virtual/prefer_compositing_to_lcd_text/compositing/overflow/transform-in-empty-container.html [ Failure Pass ]
 crbug.com/591099 virtual/prefer_compositing_to_lcd_text/compositing/overflow/transform-should-update-container-overflow.html [ Failure ]
 crbug.com/591099 virtual/prefer_compositing_to_lcd_text/compositing/overflow/universal-accelerated-overflow-scroll.html [ Failure ]
 crbug.com/591099 virtual/prefer_compositing_to_lcd_text/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers.html [ Failure ]
@@ -22600,12 +25585,14 @@
 crbug.com/591099 virtual/rootlayerscrolls/fast/scrolling/overflow-scrollability.html [ Failure ]
 crbug.com/591099 virtual/rootlayerscrolls/fast/scrolling/overlay-scrollbars.html [ Failure ]
 crbug.com/591099 virtual/rootlayerscrolls/fast/scrolling/scrollable-area-dynamic-overflow.html [ Failure ]
-crbug.com/591099 virtual/rootlayerscrolls/fast/scrolling/scrollable-area-frame.html [ Failure ]
-crbug.com/591099 virtual/rootlayerscrolls/fast/scrolling/scrollable-area-frame-overflow-hidden.html [ Failure ]
-crbug.com/591099 virtual/rootlayerscrolls/fast/scrolling/scrollable-area-frame-overried-inherited-visibility-hidden.html [ Failure ]
-crbug.com/591099 virtual/rootlayerscrolls/fast/scrolling/scrollable-area-frame-scrolling-no.html [ Failure ]
-crbug.com/591099 virtual/rootlayerscrolls/fast/scrolling/scrollable-area-frame-scrolling-no-overried-inherited-visibility-hidden.html [ Failure ]
-crbug.com/591099 virtual/rootlayerscrolls/fast/scrolling/scrollable-area-frame-scrolling-yes.html [ Failure ]
+crbug.com/591099 virtual/rootlayerscrolls/fast/scrolling/scrollable-area-frame.html [ Crash Failure ]
+crbug.com/591099 virtual/rootlayerscrolls/fast/scrolling/scrollable-area-frame-overflow-hidden.html [ Crash Failure ]
+crbug.com/591099 virtual/rootlayerscrolls/fast/scrolling/scrollable-area-frame-overried-inherited-visibility-hidden.html [ Crash Failure ]
+crbug.com/591099 virtual/rootlayerscrolls/fast/scrolling/scrollable-area-frame-scrolling-no.html [ Crash Failure ]
+crbug.com/591099 virtual/rootlayerscrolls/fast/scrolling/scrollable-area-frame-scrolling-no-overried-inherited-visibility-hidden.html [ Crash Failure ]
+crbug.com/591099 virtual/rootlayerscrolls/fast/scrolling/scrollable-area-frame-scrolling-no-visibility-hidden-child.html [ Crash Pass ]
+crbug.com/591099 virtual/rootlayerscrolls/fast/scrolling/scrollable-area-frame-scrolling-yes.html [ Crash Failure ]
+crbug.com/591099 virtual/rootlayerscrolls/fast/scrolling/scrollable-area-frame-visibility-hidden-child.html [ Crash Pass ]
 crbug.com/591099 virtual/rootlayerscrolls/fast/scrolling/scrollable-area-overflow-auto.html [ Failure ]
 crbug.com/591099 virtual/rootlayerscrolls/fast/scrolling/scrollable-area-overflow-auto-visibility-override.html [ Failure ]
 crbug.com/591099 virtual/rootlayerscrolls/fast/scrolling/scrollable-area-overflow-auto-visibility-visible.html [ Failure ]
@@ -22620,7 +25607,7 @@
 crbug.com/591099 virtual/rootlayerscrolls/fast/scrolling/scrolling-apis-subpixel.html [ Failure ]
 crbug.com/591099 virtual/rootlayerscrolls/fast/scrolling/scroll-into-view-collapsed-div.html [ Failure ]
 crbug.com/591099 virtual/rootlayerscrolls/fast/scrolling/scroll-into-view-small-size-ancestor.html [ Crash ]
-crbug.com/591099 virtual/rootlayerscrolls/fast/scrolling/scroll-max-value.html [ Failure ]
+crbug.com/591099 virtual/rootlayerscrolls/fast/scrolling/scroll-max-value.html [ Crash Failure ]
 crbug.com/591099 virtual/rootlayerscrolls/fast/scrolling/scroll-non-descendant-of-root-scroller.html [ Failure Pass ]
 crbug.com/591099 virtual/rootlayerscrolls/fast/scrolling/scroll-to-origin-with-options-no-layout.html [ Failure ]
 crbug.com/591099 virtual/rootlayerscrolls/fast/scrolling/set-root-scroller.html [ Failure ]
@@ -22671,22 +25658,23 @@
 crbug.com/591099 virtual/rootlayerscrolls/scrollingcoordinator/non-fast-scrollable-visibility-change.html [ Failure ]
 crbug.com/591099 virtual/rootlayerscrolls/scrollingcoordinator/plugin-with-wheel-handler.html [ Failure ]
 crbug.com/591099 virtual/scalefactor150/fast/hidpi/static/calendar-picker-appearance.html [ Failure ]
-crbug.com/591099 virtual/scalefactor150/fast/hidpi/static/data-suggestion-picker-appearance.html [ Failure ]
+crbug.com/591099 virtual/scalefactor150/fast/hidpi/static/data-suggestion-picker-appearance.html [ Crash Failure ]
 crbug.com/591099 virtual/scalefactor150/fast/hidpi/static/drag-image.html [ Failure ]
 crbug.com/591099 virtual/scalefactor150/fast/hidpi/static/popup-menu-appearance.html [ Failure ]
 crbug.com/591099 virtual/scalefactor150/fast/hidpi/static/popup-menu-with-scrollbar-appearance.html [ Failure ]
 crbug.com/591099 virtual/scalefactor200/fast/hidpi/static/calendar-picker-appearance.html [ Failure ]
-crbug.com/591099 virtual/scalefactor200/fast/hidpi/static/data-suggestion-picker-appearance.html [ Failure ]
+crbug.com/591099 virtual/scalefactor200/fast/hidpi/static/data-suggestion-picker-appearance.html [ Crash Failure ]
 crbug.com/591099 virtual/scalefactor200/fast/hidpi/static/drag-image.html [ Failure ]
 crbug.com/591099 virtual/scalefactor200/fast/hidpi/static/popup-menu-appearance.html [ Failure ]
 crbug.com/591099 virtual/scalefactor200/fast/hidpi/static/popup-menu-with-scrollbar-appearance.html [ Failure ]
 crbug.com/591099 virtual/scalefactor200withzoom/fast/hidpi/static/calendar-picker-appearance.html [ Failure ]
-crbug.com/591099 virtual/scalefactor200withzoom/fast/hidpi/static/data-suggestion-picker-appearance.html [ Failure ]
+crbug.com/591099 virtual/scalefactor200withzoom/fast/hidpi/static/data-suggestion-picker-appearance.html [ Crash Failure ]
 crbug.com/591099 virtual/scalefactor200withzoom/fast/hidpi/static/drag-image.html [ Failure ]
 crbug.com/591099 virtual/scalefactor200withzoom/fast/hidpi/static/gesture-scroll-amount.html [ Failure ]
 crbug.com/591099 virtual/scalefactor200withzoom/fast/hidpi/static/mousewheel-scroll-amount.html [ Failure ]
 crbug.com/591099 virtual/scalefactor200withzoom/fast/hidpi/static/popup-menu-appearance.html [ Failure ]
 crbug.com/591099 virtual/scalefactor200withzoom/fast/hidpi/static/popup-menu-with-scrollbar-appearance.html [ Failure ]
+crbug.com/591099 virtual/scroll_customization/fast/events/touch/touch-handler-iframe-plugin-assert.html [ Pass Timeout ]
 crbug.com/591099 virtual/service-worker-navigation-preload-disabled/webexposed/custom-elements.html [ Failure ]
 crbug.com/591099 virtual/service-worker-navigation-preload-disabled/webexposed/element-instance-property-listing.html [ Timeout ]
 crbug.com/591099 virtual/service-worker-navigation-preload-disabled/webexposed/event-target-in-prototype.html [ Failure ]
@@ -22711,23 +25699,27 @@
 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/cookie-document-to-ws.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/spv2/compositing/geometry/outline-change.html [ Failure Pass ]
+crbug.com/591099 virtual/spv2/paint/invalidation/margin.html [ Failure Pass ]
 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 ]
-crbug.com/591099 virtual/stable/http/tests/navigation/anchor-basic.html [ Failure ]
+crbug.com/591099 virtual/stable/http/tests/navigation/anchor-basic.html [ Crash Failure ]
 crbug.com/591099 virtual/stable/http/tests/navigation/anchor-frames-cross-origin.html [ Failure ]
 crbug.com/591099 virtual/stable/http/tests/navigation/anchor-frames-gbk.html [ Failure ]
 crbug.com/591099 virtual/stable/http/tests/navigation/anchor-frames.html [ Failure ]
 crbug.com/591099 virtual/stable/http/tests/navigation/anchor-frames-same-origin.html [ Failure ]
-crbug.com/591099 virtual/stable/http/tests/navigation/anchor-goback.html [ Failure ]
+crbug.com/591099 virtual/stable/http/tests/navigation/anchor-goback.html [ Crash Failure ]
+crbug.com/591099 virtual/stable/http/tests/navigation/anchor-subframeload.html [ Crash Pass ]
 crbug.com/591099 virtual/stable/http/tests/navigation/back-to-slow-frame.html [ Failure ]
 crbug.com/591099 virtual/stable/http/tests/navigation/cross-origin-fragment-navigation-is-async.html [ Failure ]
 crbug.com/591099 virtual/stable/http/tests/navigation/fallback-anchor-reload.html [ Crash ]
-crbug.com/591099 virtual/stable/http/tests/navigation/form-targets-cross-site-frame-get.html [ Failure ]
-crbug.com/591099 virtual/stable/http/tests/navigation/form-targets-cross-site-frame-no-referrer.html [ Failure ]
-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/form-targets-cross-site-frame-get.html [ Crash Failure ]
+crbug.com/591099 virtual/stable/http/tests/navigation/form-targets-cross-site-frame-no-referrer.html [ Crash Failure ]
+crbug.com/591099 virtual/stable/http/tests/navigation/form-targets-cross-site-frame-post.html [ Crash Failure ]
+crbug.com/591099 virtual/stable/http/tests/navigation/form-with-enctype-targets-cross-site-frame.html [ Crash 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 [ Crash Failure ]
 crbug.com/591099 virtual/stable/http/tests/navigation/history-back-across-form-submission-to-fragment.html [ Failure ]
@@ -22738,10 +25730,13 @@
 crbug.com/591099 virtual/stable/http/tests/navigation/javascriptlink-goback.html [ Timeout ]
 crbug.com/591099 virtual/stable/http/tests/navigation/javascriptlink-subframeload.html [ Timeout ]
 crbug.com/591099 virtual/stable/http/tests/navigation/lockedhistory-iframe.html [ Failure ]
-crbug.com/591099 virtual/stable/http/tests/navigation/metaredirect-basic.html [ Failure ]
-crbug.com/591099 virtual/stable/http/tests/navigation/metaredirect-goback.html [ Failure ]
+crbug.com/591099 virtual/stable/http/tests/navigation/metaredirect-basic.html [ Crash Failure ]
+crbug.com/591099 virtual/stable/http/tests/navigation/metaredirect-frames.html [ Crash Pass ]
+crbug.com/591099 virtual/stable/http/tests/navigation/metaredirect-goback.html [ Crash Failure ]
+crbug.com/591099 virtual/stable/http/tests/navigation/metaredirect-subframeload.html [ Crash Pass ]
 crbug.com/591099 virtual/stable/http/tests/navigation/navigate-during-commit.html [ Crash ]
-crbug.com/591099 virtual/stable/http/tests/navigation/navigation-with-detached-origin-document.html [ Crash ]
+crbug.com/591099 virtual/stable/http/tests/navigation/navigation-redirect-schedule-crash.html [ Crash Pass ]
+crbug.com/591099 virtual/stable/http/tests/navigation/navigation-with-detached-origin-document.html [ Crash Pass ]
 crbug.com/591099 virtual/stable/http/tests/navigation/no-referrer-reset.html [ Timeout ]
 crbug.com/591099 virtual/stable/http/tests/navigation/no-referrer-same-window.html [ Timeout ]
 crbug.com/591099 virtual/stable/http/tests/navigation/no-referrer-subframe.html [ Timeout ]
@@ -22751,37 +25746,53 @@
 crbug.com/591099 virtual/stable/http/tests/navigation/ping-cross-origin-from-https.html [ Crash Timeout ]
 crbug.com/591099 virtual/stable/http/tests/navigation/ping-cross-origin.html [ Crash 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 ]
-crbug.com/591099 virtual/stable/http/tests/navigation/post-goback1.html [ Failure ]
-crbug.com/591099 virtual/stable/http/tests/navigation/post-goback2.html [ Failure ]
-crbug.com/591099 virtual/stable/http/tests/navigation/post-goback-same-url.html [ Failure ]
-crbug.com/591099 virtual/stable/http/tests/navigation/postredirect-frames-goback1.html [ Failure ]
-crbug.com/591099 virtual/stable/http/tests/navigation/postredirect-goback2.html [ Failure ]
-crbug.com/591099 virtual/stable/http/tests/navigation/redirect302-basic.html [ Failure ]
-crbug.com/591099 virtual/stable/http/tests/navigation/redirect302-goback.html [ Failure ]
+crbug.com/591099 virtual/stable/http/tests/navigation/post-301-response.html [ Crash Pass ]
+crbug.com/591099 virtual/stable/http/tests/navigation/post-302-response.html [ Crash Pass ]
+crbug.com/591099 virtual/stable/http/tests/navigation/post-303-response.html [ Crash Pass ]
+crbug.com/591099 virtual/stable/http/tests/navigation/post-307-response.html [ Crash Pass ]
+crbug.com/591099 virtual/stable/http/tests/navigation/post-basic.html [ Crash Failure ]
+crbug.com/591099 virtual/stable/http/tests/navigation/post-frames-goback1.html [ Crash Failure ]
+crbug.com/591099 virtual/stable/http/tests/navigation/post-frames.html [ Crash Failure ]
+crbug.com/591099 virtual/stable/http/tests/navigation/post-goback1.html [ Crash Failure ]
+crbug.com/591099 virtual/stable/http/tests/navigation/post-goback2.html [ Crash Failure ]
+crbug.com/591099 virtual/stable/http/tests/navigation/post-goback-same-url.html [ Crash Failure ]
+crbug.com/591099 virtual/stable/http/tests/navigation/postredirect-basic.html [ Crash Pass ]
+crbug.com/591099 virtual/stable/http/tests/navigation/postredirect-frames-goback1.html [ Crash Failure ]
+crbug.com/591099 virtual/stable/http/tests/navigation/postredirect-frames.html [ Crash Pass ]
+crbug.com/591099 virtual/stable/http/tests/navigation/postredirect-goback1.html [ Crash Pass ]
+crbug.com/591099 virtual/stable/http/tests/navigation/postredirect-goback2.html [ Crash Failure ]
+crbug.com/591099 virtual/stable/http/tests/navigation/redirect302-basic.html [ Crash Failure ]
+crbug.com/591099 virtual/stable/http/tests/navigation/redirect302-frames.html [ Crash Pass ]
+crbug.com/591099 virtual/stable/http/tests/navigation/redirect302-goback.html [ Crash Failure ]
+crbug.com/591099 virtual/stable/http/tests/navigation/redirect302-subframeload.html [ Crash Pass ]
+crbug.com/591099 virtual/stable/http/tests/navigation/redirect-load-no-form-restoration.html [ Crash Pass ]
 crbug.com/591099 virtual/stable/http/tests/navigation/redirect-preserves-referrer.html [ Timeout ]
-crbug.com/591099 virtual/stable/http/tests/navigation/relativeanchor-basic.html [ Failure ]
-crbug.com/591099 virtual/stable/http/tests/navigation/relativeanchor-goback.html [ Failure ]
-crbug.com/591099 virtual/stable/http/tests/navigation/rename-subframe-goback.html [ Failure ]
+crbug.com/591099 virtual/stable/http/tests/navigation/relativeanchor-basic.html [ Crash Failure ]
+crbug.com/591099 virtual/stable/http/tests/navigation/relativeanchor-frames.html [ Crash Pass ]
+crbug.com/591099 virtual/stable/http/tests/navigation/relativeanchor-goback.html [ Crash Failure ]
+crbug.com/591099 virtual/stable/http/tests/navigation/rename-subframe-goback.html [ Crash Failure ]
 crbug.com/591099 virtual/stable/http/tests/navigation/replacestate-base-illegal.html [ Failure ]
-crbug.com/591099 virtual/stable/http/tests/navigation/restore-form-state-https.html [ Failure ]
+crbug.com/591099 virtual/stable/http/tests/navigation/restore-form-state-https.html [ Crash Failure ]
 crbug.com/591099 virtual/stable/http/tests/navigation/same-document-scroll-position-restore.html [ Timeout ]
 crbug.com/591099 virtual/stable/http/tests/navigation/same-origin-fragment-navigation-is-sync.html [ Failure ]
 crbug.com/591099 virtual/stable/http/tests/navigation/scrollstate-after-http-equiv-refresh-fragment-identifier-2.html [ Timeout ]
 crbug.com/591099 virtual/stable/http/tests/navigation/scrollstate-after-http-equiv-refresh-fragment-identifier.html [ Timeout ]
 crbug.com/591099 virtual/stable/http/tests/navigation/scrollstate-after-http-equiv-refresh.html [ Timeout ]
 crbug.com/591099 virtual/stable/http/tests/navigation/scrollstate-after-location-reload.html [ Timeout ]
-crbug.com/591099 virtual/stable/http/tests/navigation/slowmetaredirect-basic.html [ Failure ]
-crbug.com/591099 virtual/stable/http/tests/navigation/slowtimerredirect-basic.html [ Failure ]
-crbug.com/591099 virtual/stable/http/tests/navigation/success200-basic.html [ Failure ]
-crbug.com/591099 virtual/stable/http/tests/navigation/success200-goback.html [ Failure ]
-crbug.com/591099 virtual/stable/http/tests/navigation/success200-loadsame.html [ Failure ]
-crbug.com/591099 virtual/stable/http/tests/navigation/success200-reload.html [ Failure ]
+crbug.com/591099 virtual/stable/http/tests/navigation/slowmetaredirect-basic.html [ Crash Failure ]
+crbug.com/591099 virtual/stable/http/tests/navigation/slowtimerredirect-basic.html [ Crash Failure Timeout ]
+crbug.com/591099 virtual/stable/http/tests/navigation/success200-basic.html [ Crash Failure ]
+crbug.com/591099 virtual/stable/http/tests/navigation/success200-frames.html [ Crash Pass ]
+crbug.com/591099 virtual/stable/http/tests/navigation/success200-frames-loadsame.html [ Crash Pass ]
+crbug.com/591099 virtual/stable/http/tests/navigation/success200-goback.html [ Crash Failure ]
+crbug.com/591099 virtual/stable/http/tests/navigation/success200-loadsame.html [ Crash Failure ]
+crbug.com/591099 virtual/stable/http/tests/navigation/success200-reload.html [ Crash Failure ]
+crbug.com/591099 virtual/stable/http/tests/navigation/success200-subframeload.html [ Crash Pass ]
 crbug.com/591099 virtual/stable/http/tests/navigation/targeted-navigation-in-unload-handler.html [ Crash ]
-crbug.com/591099 virtual/stable/http/tests/navigation/timerredirect-basic.html [ Failure ]
-crbug.com/591099 virtual/stable/http/tests/navigation/timerredirect-goback.html [ Failure ]
+crbug.com/591099 virtual/stable/http/tests/navigation/timerredirect-basic.html [ Crash Failure ]
+crbug.com/591099 virtual/stable/http/tests/navigation/timerredirect-frames.html [ Crash Pass ]
+crbug.com/591099 virtual/stable/http/tests/navigation/timerredirect-goback.html [ Crash Failure ]
+crbug.com/591099 virtual/stable/http/tests/navigation/timerredirect-subframeload.html [ Crash Pass ]
 crbug.com/591099 virtual/stable/http/tests/navigation/useragent.php [ Failure ]
 crbug.com/591099 virtual/stable/http/tests/sendbeacon/beacon-allowance.html [ Failure ]
 crbug.com/591099 virtual/stable/http/tests/sendbeacon/beacon-cookie.html [ Failure ]
@@ -22803,6 +25814,8 @@
 crbug.com/591099 virtual/stable/webexposed/global-interface-listing-shared-worker.html [ Timeout ]
 crbug.com/591099 virtual/stable/webexposed/nonstable-css-properties.html [ Failure ]
 crbug.com/591099 virtual/stable/webexposed/permissions-attribute.html [ Failure ]
+crbug.com/591099 virtual/threaded/animations/3d/change-transform-in-end-event.html [ Failure Pass ]
+crbug.com/591099 virtual/threaded/animations/3d/state-at-end-event-transform.html [ Failure Pass ]
 crbug.com/591099 virtual/threaded/animations/additive-transform-animations.html [ Failure ]
 crbug.com/591099 virtual/threaded/animations/animation-css-rule-types.html [ Failure ]
 crbug.com/591099 virtual/threaded/animations/animation-end-event-destroy-renderer.html [ Failure ]
@@ -22816,14 +25829,16 @@
 crbug.com/591099 virtual/threaded/animations/base-render-style-crash.html [ Crash ]
 crbug.com/591099 virtual/threaded/animations/checkbox-padding-animation-crash.html [ Crash ]
 crbug.com/591099 virtual/threaded/animations/clear-svg-animation-effects.html [ Crash ]
-crbug.com/591099 virtual/threaded/animations/composited-pseudo-element-animation.html [ Failure Pass ]
+crbug.com/591099 virtual/threaded/animations/composited-with-hit-testing.html [ Pass Timeout ]
 crbug.com/591099 virtual/threaded/animations/composition/background-position-composition.html [ Crash ]
 crbug.com/591099 virtual/threaded/animations/composition/caret-color-composition.html [ Crash ]
 crbug.com/591099 virtual/threaded/animations/composition/stroke-dasharray-composition.html [ Crash ]
 crbug.com/591099 virtual/threaded/animations/computed-style.html [ Failure ]
+crbug.com/591099 virtual/threaded/animations/cross-fade-list-style-image.html [ Crash Pass Timeout ]
 crbug.com/591099 virtual/threaded/animations/css-animation-overrides-svg-presentation-attribute-animation.html [ Crash ]
 crbug.com/591099 virtual/threaded/animations/delay-start-event.html [ Failure ]
 crbug.com/591099 virtual/threaded/animations/display-change-does-not-terminate-animation.html [ Crash ]
+crbug.com/591099 virtual/threaded/animations/display-inline-style-adjust.html [ Failure Timeout ]
 crbug.com/591099 virtual/threaded/animations/display-none-cancel-computedstyle.html [ Failure ]
 crbug.com/591099 virtual/threaded/animations/display-none-terminates-animation.html [ Failure ]
 crbug.com/591099 virtual/threaded/animations/empty-keyframe-animation-composited.html [ Failure ]
@@ -22862,6 +25877,7 @@
 crbug.com/591099 virtual/threaded/animations/interpolation/font-weight-interpolation.html [ Crash ]
 crbug.com/591099 virtual/threaded/animations/interpolation/height-interpolation.html [ Crash ]
 crbug.com/591099 virtual/threaded/animations/interpolation/line-height-interpolation.html [ Crash ]
+crbug.com/591099 virtual/threaded/animations/interpolation/list-style-image-interpolation.html [ Crash Pass ]
 crbug.com/591099 virtual/threaded/animations/interpolation/margin-interpolation.html [ Crash ]
 crbug.com/591099 virtual/threaded/animations/interpolation/max-height-interpolation.html [ Crash ]
 crbug.com/591099 virtual/threaded/animations/interpolation/min-height-interpolation.html [ Crash ]
@@ -22936,6 +25952,7 @@
 crbug.com/591099 virtual/threaded/animations/responsive-neutral-keyframe.html [ Failure ]
 crbug.com/591099 virtual/threaded/animations/rotate-transform-equivalent.html [ Failure ]
 crbug.com/591099 virtual/threaded/animations/skew-notsequential-compositor.html [ Failure ]
+crbug.com/591099 virtual/threaded/animations/state-at-end-event.html [ Failure Pass ]
 crbug.com/591099 virtual/threaded/animations/svg-attribute-composition/svg-amplitude-composition.html [ Crash ]
 crbug.com/591099 virtual/threaded/animations/svg-attribute-composition/svg-azimuth-composition.html [ Crash ]
 crbug.com/591099 virtual/threaded/animations/svg-attribute-composition/svg-baseFrequency-composition.html [ Crash ]
@@ -23094,6 +26111,8 @@
 crbug.com/591099 virtual/threaded/compositing/visibility/compositing-and-visibility-turned-off-together.html [ Failure ]
 crbug.com/591099 virtual/threaded/compositing/visibility/hidden-iframe.html [ Failure ]
 crbug.com/591099 virtual/threaded/compositing/visibility/layer-visible-content.html [ Failure ]
+crbug.com/591099 virtual/threaded/compositing/visibility/visibility-composited.html [ Failure Pass ]
+crbug.com/591099 virtual/threaded/compositing/visibility/visibility-composited-transforms.html [ Failure Pass ]
 crbug.com/591099 virtual/threaded/compositing/visibility/visibility-image-layers-dynamic.html [ Failure ]
 crbug.com/591099 virtual/threaded/compositing/visibility/visibility-image-layers.html [ Failure ]
 crbug.com/591099 virtual/threaded/compositing/visibility/visibility-on-distant-descendant.html [ Failure ]
@@ -23107,9 +26126,6 @@
 crbug.com/591099 virtual/threaded/fast/compositorworker/basic-plumbing-main-to-worker.html [ Failure ]
 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 [ Pass Timeout ]
-crbug.com/591099 virtual/threaded/fast/idleToBlob/OffscreenCanvas-convertToBlob-webgl-main.html [ Pass Timeout ]
-crbug.com/591099 virtual/threaded/fast/idleToBlob/OffscreenCanvas-convertToBlob-webgl-worker.html [ Pass 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 ]
@@ -23143,8 +26159,8 @@
 crbug.com/591099 virtual/threaded/fast/scroll-behavior/scroll-over-resizer.html [ Crash ]
 crbug.com/591099 virtual/threaded/fast/scroll-behavior/smooth-scroll/fixed-background-in-iframe.html [ Failure ]
 crbug.com/591099 virtual/threaded/fast/scroll-behavior/smooth-scroll/keyboard-scroll.html [ Failure ]
-crbug.com/591099 virtual/threaded/fast/scroll-behavior/smooth-scroll/main-thread-scrolling-reason-added.html [ Failure Timeout ]
-crbug.com/591099 virtual/threaded/fast/scroll-behavior/smooth-scroll/main-thread-scrolling-reason-correctness.html [ Failure ]
+crbug.com/591099 virtual/threaded/fast/scroll-behavior/smooth-scroll/main-thread-scrolling-reason-added.html [ Failure ]
+crbug.com/591099 virtual/threaded/fast/scroll-behavior/smooth-scroll/main-thread-scrolling-reason-correctness.html [ Failure Timeout ]
 crbug.com/591099 virtual/threaded/fast/scroll-behavior/smooth-scroll/ongoing-smooth-scroll-anchors.html [ Timeout ]
 crbug.com/591099 virtual/threaded/fast/scroll-behavior/smooth-scroll/ongoing-smooth-scroll-vertical-rl-anchors.html [ Timeout ]
 crbug.com/591099 virtual/threaded/fast/scroll-behavior/subframe-element-scrollBy.html [ Timeout ]
@@ -23185,6 +26201,7 @@
 crbug.com/591099 virtual/threaded/inspector/tracing/timeline-misc/timeline-auto-zoom.html [ Crash ]
 crbug.com/591099 virtual/threaded/inspector/tracing/timeline-misc/timeline-bound-function.html [ Crash ]
 crbug.com/591099 virtual/threaded/inspector/tracing/timeline-misc/timeline-event-causes.html [ Crash ]
+crbug.com/591099 virtual/threaded/inspector/tracing/timeline-misc/timeline-event-details.html [ Failure ]
 crbug.com/591099 virtual/threaded/inspector/tracing/timeline-misc/timeline-event-dispatch.html [ Crash ]
 crbug.com/591099 virtual/threaded/inspector/tracing/timeline-misc/timeline-filtering.html [ Failure ]
 crbug.com/591099 virtual/threaded/inspector/tracing/timeline-misc/timeline-flame-chart-automatically-size-window.html [ Crash ]
@@ -23242,7 +26259,7 @@
 crbug.com/591099 virtual/threaded/printing/fixed-positioned.html [ Failure ]
 crbug.com/591099 virtual/threaded/printing/forced-break-tree-dump-only.html [ Failure ]
 crbug.com/591099 virtual/threaded/printing/iframe-print.html [ Failure ]
-crbug.com/591099 virtual/threaded/printing/list-item-with-empty-first-line.html [ Failure ]
+crbug.com/591099 virtual/threaded/printing/list-item-with-empty-first-line.html [ Crash Failure ]
 crbug.com/591099 virtual/threaded/printing/multicol-2-pages.html [ Failure ]
 crbug.com/591099 virtual/threaded/printing/multicol.html [ Failure ]
 crbug.com/591099 virtual/threaded/printing/no-content-empty-pages.html [ Failure ]
@@ -23273,11 +26290,15 @@
 crbug.com/591099 virtual/threaded/printing/return-from-printing-mode.html [ Failure ]
 crbug.com/591099 virtual/threaded/printing/simultaneous-position-float-change.html [ Failure ]
 crbug.com/591099 virtual/threaded/printing/single-line-must-not-be-split-into-two-pages.html [ Timeout ]
+crbug.com/591099 virtual/threaded/printing/standards-percentage-heights.html [ Failure Pass ]
 crbug.com/591099 virtual/threaded/printing/stretch-to-view-height.html [ Failure ]
+crbug.com/591099 virtual/threaded/printing/subframes-percentage-height.html [ Failure Pass ]
+crbug.com/591099 virtual/threaded/printing/text-color-adjust.html [ Crash Pass ]
 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 Pass ]
+crbug.com/591099 virtual/threaded/printing/webgl-repeated-printing-preservedrawingbuffer.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 ]
@@ -23288,15 +26309,19 @@
 crbug.com/591099 virtual/threaded/transitions/interrupted-immediately.html [ Failure ]
 crbug.com/591099 virtual/threaded/transitions/matched-transform-functions.html [ Failure ]
 crbug.com/591099 virtual/threaded/transitions/mismatched-shadow-styles.html [ Crash ]
+crbug.com/591099 virtual/threaded/transitions/move-after-transition.html [ Pass Timeout ]
 crbug.com/591099 virtual/threaded/transitions/no-transition-on-implicit-margins.html [ Crash ]
 crbug.com/591099 virtual/threaded/transitions/object-position-transition.html [ Crash ]
-crbug.com/591099 virtual/threaded/transitions/opacity-transform-transitions-inside-iframe.html [ Failure ]
+crbug.com/591099 virtual/threaded/transitions/opacity-transform-transitions-inside-iframe.html [ Failure Timeout ]
+crbug.com/591099 virtual/threaded/transitions/opacity-transition-zindex.html [ Failure Pass Timeout ]
 crbug.com/591099 virtual/threaded/transitions/override-transition-crash.html [ Failure ]
+crbug.com/591099 virtual/threaded/transitions/position-background-transition.html [ Pass Timeout ]
 crbug.com/591099 virtual/threaded/transitions/retargetted-transition.html [ Failure ]
 crbug.com/591099 virtual/threaded/transitions/shadow.html [ Failure ]
 crbug.com/591099 virtual/threaded/transitions/svg-layout-transition.html [ Crash ]
 crbug.com/591099 virtual/threaded/transitions/svg-layout-transition-zoom.html [ Crash ]
 crbug.com/591099 virtual/threaded/transitions/svg-transitions.html [ Crash ]
+crbug.com/591099 virtual/threaded/transitions/svg-visited-link-transitions.html [ Pass Timeout ]
 crbug.com/591099 virtual/threaded/transitions/transition-end-event-all-properties.html [ Failure ]
 crbug.com/591099 virtual/threaded/transitions/transition-end-event-attributes.html [ Failure ]
 crbug.com/591099 virtual/threaded/transitions/transition-end-event-container.html [ Failure ]
@@ -23307,9 +26332,10 @@
 crbug.com/591099 virtual/threaded/transitions/transition-end-event-multiple-02.html [ Failure ]
 crbug.com/591099 virtual/threaded/transitions/transition-end-event-multiple-03.html [ Failure ]
 crbug.com/591099 virtual/threaded/transitions/transition-end-event-nested.html [ Failure ]
-crbug.com/591099 virtual/threaded/transitions/transition-end-event-prefixed-01.html [ Failure ]
+crbug.com/591099 virtual/threaded/transitions/transition-end-event-prefixed-01.html [ Failure Timeout ]
 crbug.com/591099 virtual/threaded/transitions/transition-end-event-prefixed-02.html [ Failure ]
-crbug.com/591099 virtual/threaded/transitions/transition-end-event-prefixed-03.html [ Failure ]
+crbug.com/591099 virtual/threaded/transitions/transition-end-event-prefixed-03.html [ Failure Timeout ]
+crbug.com/591099 virtual/threaded/transitions/transition-end-event-rendering.html [ Failure Pass ]
 crbug.com/591099 virtual/threaded/transitions/transition-end-event-set-none.html [ Failure ]
 crbug.com/591099 virtual/threaded/transitions/transition-end-event-transform.html [ Failure ]
 crbug.com/591099 virtual/threaded/transitions/transition-end-event-unprefixed-01.html [ Failure ]
diff --git a/third_party/WebKit/LayoutTests/TestExpectations b/third_party/WebKit/LayoutTests/TestExpectations
index d6f293e..4650d1a2 100644
--- a/third_party/WebKit/LayoutTests/TestExpectations
+++ b/third_party/WebKit/LayoutTests/TestExpectations
@@ -285,7 +285,6 @@
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/floats-clear/clear-applies-to-006.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/floats-clear/clear-applies-to-007.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/floats-clear/clear-applies-to-008.xht [ Skip ]
-crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/floats-clear/clear-applies-to-009.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/floats-clear/clear-applies-to-012.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/floats-clear/clear-applies-to-015.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/floats-clear/clear-float-002.xht [ Skip ]
@@ -328,7 +327,6 @@
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/floats-clear/float-replaced-height-002.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/floats-clear/float-replaced-height-003.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/floats-clear/float-replaced-height-004.xht [ Skip ]
-crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/floats-clear/float-replaced-height-006.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/floats-clear/float-replaced-height-007.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/floats-clear/float-replaced-width-001.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/floats-clear/float-replaced-width-002.xht [ Skip ]
@@ -341,7 +339,6 @@
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/floats-clear/float-replaced-width-009.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/floats-clear/float-replaced-width-011.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/floats-clear/floating-replaced-height-008.xht [ Skip ]
-crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/floats-clear/floats-001.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/floats-clear/floats-002.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/floats-clear/floats-003.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/floats-clear/floats-004.xht [ Skip ]
@@ -436,7 +433,6 @@
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/floats/floats-wrap-top-below-inline-002l.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/floats/floats-wrap-top-below-inline-002r.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/floats/floats-wrap-top-below-inline-003l.xht [ Skip ]
-crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/floats/floats-wrap-top-below-inline-003r.xht [ Skip ]
 
 ### external/wpt/css/CSS2/positioning
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/positioning/absolute-non-replaced-height-002.xht [ Skip ]
@@ -481,12 +477,8 @@
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/positioning/absolute-non-replaced-width-025.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/positioning/absolute-non-replaced-width-026.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/positioning/absolute-replaced-height-001.xht [ Skip ]
-crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/positioning/absolute-replaced-height-002.xht [ Skip ]
-crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/positioning/absolute-replaced-height-003.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/positioning/absolute-replaced-height-004.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/positioning/absolute-replaced-height-005.xht [ Skip ]
-crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/positioning/absolute-replaced-height-006.xht [ Skip ]
-crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/positioning/absolute-replaced-height-007.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/positioning/absolute-replaced-height-011.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/positioning/absolute-replaced-height-012.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/positioning/absolute-replaced-height-018.xht [ Skip ]
@@ -496,9 +488,6 @@
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/positioning/absolute-replaced-height-032.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/positioning/absolute-replaced-height-033.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/positioning/absolute-replaced-height-036.xht [ Skip ]
-crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/positioning/absolute-replaced-width-003a.xht [ Skip ]
-crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/positioning/absolute-replaced-width-003b.xht [ Skip ]
-crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/positioning/absolute-replaced-width-003c.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/positioning/absolute-replaced-width-013.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/positioning/absolute-replaced-width-023.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/positioning/absolute-replaced-width-024.xht [ Skip ]
@@ -520,14 +509,10 @@
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/positioning/abspos-008.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/positioning/abspos-011.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/positioning/abspos-012.xht [ Skip ]
-crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/positioning/abspos-017.xht [ Skip ]
-crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/positioning/abspos-018.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/positioning/abspos-019.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/positioning/abspos-020.xht [ Skip ]
-crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/positioning/abspos-022.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/positioning/abspos-024.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/positioning/abspos-027.xht [ Skip ]
-crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/positioning/abspos-028.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/positioning/abspos-containing-block-001.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/positioning/abspos-containing-block-002.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/positioning/abspos-containing-block-007.xht [ Skip ]
@@ -552,8 +537,6 @@
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/positioning/bottom-applies-to-014.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/positioning/bottom-applies-to-015.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/positioning/bottom-offset-percentage-001.xht [ Skip ]
-crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/positioning/left-applies-to-009.xht [ Skip ]
-crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/positioning/left-applies-to-012.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/positioning/left-offset-001.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/positioning/left-offset-003.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/positioning/left-offset-percentage-001.xht [ Skip ]
@@ -574,7 +557,6 @@
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/positioning/position-applies-to-013.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/positioning/position-applies-to-014.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/positioning/position-applies-to-015.xht [ Skip ]
-crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/positioning/position-fixed-001.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/positioning/position-fixed-003.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/positioning/position-fixed-004.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/positioning/position-fixed-005.xht [ Skip ]
@@ -662,7 +644,6 @@
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/positioning/right-applies-to-013.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/positioning/right-applies-to-014.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/positioning/right-applies-to-015.xht [ Skip ]
-crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/positioning/right-offset-003.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/positioning/right-offset-percentage-001.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/positioning/top-007.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/positioning/top-008.xht [ Skip ]
@@ -706,7 +687,6 @@
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/normal-flow/block-non-replaced-height-005.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/normal-flow/block-non-replaced-width-007.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/normal-flow/block-replaced-height-001.xht [ Skip ]
-crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/normal-flow/block-replaced-height-006.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/normal-flow/block-replaced-width-002.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/normal-flow/block-replaced-width-006.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/normal-flow/blocks-013.xht [ Skip ]
@@ -757,14 +737,12 @@
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/normal-flow/height-104.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/normal-flow/height-114.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/normal-flow/height-applies-to-014.xht [ Skip ]
-crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/normal-flow/height-percentage-004.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/normal-flow/height-percentage-005.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/normal-flow/inline-block-002.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/normal-flow/inline-block-003.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/normal-flow/inline-block-004.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/normal-flow/inline-block-005.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/normal-flow/inline-block-non-replaced-height-002.xht [ Skip ]
-crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/normal-flow/inline-block-replaced-height-006.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/normal-flow/inline-block-replaced-height-008.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/normal-flow/inline-block-replaced-width-001.xht [ Skip ]
 crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/normal-flow/inline-block-replaced-width-002.xht [ Skip ]
@@ -1033,7 +1011,6 @@
 crbug.com/635619 virtual/layout_ng/fast/block/float/add-inline-between-floats-with-preceding-anonymous-box.html [ Skip ]
 crbug.com/635619 virtual/layout_ng/fast/block/float/add-inline-to-block-flow-and-ensure-layout-on-containers-of-removed-floats.html [ Skip ]
 crbug.com/635619 virtual/layout_ng/fast/block/float/add-inline-to-block-flow-with-block-children-that-do-not-need-anonymous-boxes.html [ Skip ]
-crbug.com/635619 virtual/layout_ng/fast/block/float/add-inlines-in-block-children-block.html [ Skip ]
 crbug.com/635619 virtual/layout_ng/fast/block/float/assert-when-moving-float.html [ Skip ]
 crbug.com/635619 virtual/layout_ng/fast/block/float/avoid-floats-when-negative-margin-top-2.html [ Skip ]
 crbug.com/635619 virtual/layout_ng/fast/block/float/avoid-floats-when-negative-margin-top-3.html [ Skip ]
@@ -1049,6 +1026,7 @@
 crbug.com/635619 virtual/layout_ng/fast/block/float/block-with-negative-margin-clears-float.html [ Skip ]
 crbug.com/635619 virtual/layout_ng/fast/block/float/br-with-clear-2.html [ Skip ]
 crbug.com/635619 virtual/layout_ng/fast/block/float/br-with-clear.html [ Skip ]
+crbug.com/635619 virtual/layout_ng/fast/block/float/canvas-with-floats-marked-for-layout.html [ Skip ]
 crbug.com/635619 virtual/layout_ng/fast/block/float/centered-float-avoidance-complexity.html [ Skip ]
 crbug.com/635619 virtual/layout_ng/fast/block/float/checkbox-and-radio-avoid-floats.html [ Skip ]
 crbug.com/635619 virtual/layout_ng/fast/block/float/clamped-right-float.html [ Skip ]
@@ -1107,7 +1085,6 @@
 crbug.com/635619 virtual/layout_ng/fast/block/float/floats-wrap-inside-inline-002.htm [ Skip ]
 crbug.com/635619 virtual/layout_ng/fast/block/float/floats-wrap-inside-inline-003.htm [ Skip ]
 crbug.com/635619 virtual/layout_ng/fast/block/float/floats-wrap-inside-inline-004.htm [ Skip ]
-crbug.com/635619 virtual/layout_ng/fast/block/float/floats-wrap-inside-inline-006.html [ Skip ]
 crbug.com/635619 virtual/layout_ng/fast/block/float/floats-wrap-inside-inline-007.html [ Skip ]
 crbug.com/635619 virtual/layout_ng/fast/block/float/formatting-context-changes.html [ Skip ]
 crbug.com/635619 virtual/layout_ng/fast/block/float/in-margin.html [ Skip ]
@@ -1190,6 +1167,7 @@
 crbug.com/636993 virtual/layout_ng/external/wpt/css/CSS2/linebox/inline-formatting-context-005.xht [ Skip ]
 crbug.com/636993 virtual/layout_ng/external/wpt/css/CSS2/linebox/inline-formatting-context-006.xht [ Skip ]
 crbug.com/636993 virtual/layout_ng/external/wpt/css/CSS2/linebox/inline-formatting-context-007.xht [ Skip ]
+crbug.com/636993 virtual/layout_ng/external/wpt/css/CSS2/linebox/inline-formatting-context-009.xht [ Skip ]
 crbug.com/636993 virtual/layout_ng/external/wpt/css/CSS2/linebox/inline-formatting-context-010b.xht [ Skip ]
 crbug.com/636993 virtual/layout_ng/external/wpt/css/CSS2/linebox/inline-formatting-context-011.xht [ Skip ]
 crbug.com/636993 virtual/layout_ng/external/wpt/css/CSS2/linebox/inline-formatting-context-012.xht [ Skip ]
@@ -3379,3 +3357,8 @@
 crbug.com/717389 [ Win7 Debug ] virtual/gpu/fast/canvas/canvas-clip-rule.html [ Timeout ]
 crbug.com/717389 [ Win7 Debug ] virtual/gpu/fast/canvas/canvas-path-context-clip.html [ Timeout ]
 
+# Layout Tests on Swarming (Windows) - https://crbug.com/717347
+crbug.com/718717 [ Win ] fast/css-grid-layout/grid-self-baseline-two-dimensional.html [ Failure Pass Timeout ]
+crbug.com/718717 [ Win ] fast/css-grid-layout/grid-align-justify-stretch-with-orthogonal-flows.html [ Failure Pass Timeout ]
+crbug.com/719298 [ Win ] fast/dnd/dropEffect-for-effectAllowed.html [ Failure Pass Timeout ]
+crbug.com/719299 [ Win ] external/wpt/css/css-ui-3/outline-004.html [ Failure Pass Timeout ]
diff --git a/third_party/WebKit/LayoutTests/fast/events/before-unload-reloads.html b/third_party/WebKit/LayoutTests/fast/events/before-unload-reloads.html
index 06a2678..cd582af 100644
--- a/third_party/WebKit/LayoutTests/fast/events/before-unload-reloads.html
+++ b/third_party/WebKit/LayoutTests/fast/events/before-unload-reloads.html
@@ -6,6 +6,12 @@
         testRunner.setShouldStayOnPageAfterHandlingBeforeUnload(true);
         testRunner.waitUntilDone();
     }
+    // JavaScript onbeforeunload dialogs require a user gesture.
+    if (window.eventSender) {
+        eventSender.mouseMoveTo(5, 5);
+        eventSender.mouseDown();
+        eventSender.mouseUp();
+    }
     if (sessionStorage.fail) {
         if (window.testRunner)
             testRunner.notifyDone();
diff --git a/third_party/WebKit/LayoutTests/fast/events/before-unload-returnValue.html b/third_party/WebKit/LayoutTests/fast/events/before-unload-returnValue.html
index 979567c4..190cbc40 100644
--- a/third_party/WebKit/LayoutTests/fast/events/before-unload-returnValue.html
+++ b/third_party/WebKit/LayoutTests/fast/events/before-unload-returnValue.html
@@ -6,6 +6,13 @@
 if (window.testRunner)
     testRunner.setShouldStayOnPageAfterHandlingBeforeUnload(true);
 
+// JavaScript onbeforeunload dialogs require a user gesture.
+if (window.eventSender) {
+    eventSender.mouseMoveTo(5, 5);
+    eventSender.mouseDown();
+    eventSender.mouseUp();
+}
+
 window.onload = function() {
     window.location.href = "resources/does-not-exist.html";
     setTimeout(finishJSTest, 0);
diff --git a/third_party/WebKit/LayoutTests/fast/loader/form-submission-after-beforeunload-cancel.html b/third_party/WebKit/LayoutTests/fast/loader/form-submission-after-beforeunload-cancel.html
index 692583f..3d4f3518 100644
--- a/third_party/WebKit/LayoutTests/fast/loader/form-submission-after-beforeunload-cancel.html
+++ b/third_party/WebKit/LayoutTests/fast/loader/form-submission-after-beforeunload-cancel.html
@@ -5,6 +5,13 @@
     testRunner.setShouldStayOnPageAfterHandlingBeforeUnload(true);
 }
 
+// JavaScript onbeforeunload dialogs require a user gesture.
+if (window.eventSender) {
+    eventSender.mouseMoveTo(5, 5);
+    eventSender.mouseDown();
+    eventSender.mouseUp();
+}
+
 _confirmationDialogDisplayedOnce = false;
 
 window.onbeforeunload = function() {
diff --git a/third_party/WebKit/LayoutTests/fast/loader/resources/iframe-with-beforeunload.html b/third_party/WebKit/LayoutTests/fast/loader/resources/iframe-with-beforeunload.html
index 0197c2b..cd2bbb9 100644
--- a/third_party/WebKit/LayoutTests/fast/loader/resources/iframe-with-beforeunload.html
+++ b/third_party/WebKit/LayoutTests/fast/loader/resources/iframe-with-beforeunload.html
@@ -5,6 +5,14 @@
         window.onbeforeunload = function() {
             return "This is beforeunload from an iframe.";
         };
+
+        // JavaScript onbeforeunload dialogs require a user gesture.
+        if (window.eventSender) {
+            eventSender.mouseMoveTo(window.frameElement.offsetLeft + 5,
+                                    window.frameElement.offsetTop + 5);
+            eventSender.mouseDown();
+            eventSender.mouseUp();
+        }
     </script>
 </body>
     <p>This is an iframe with a beforeunload handler.</p>
diff --git a/third_party/WebKit/LayoutTests/fast/loader/show-only-one-beforeunload-dialog.html b/third_party/WebKit/LayoutTests/fast/loader/show-only-one-beforeunload-dialog.html
index 0549739..82a98dc 100644
--- a/third_party/WebKit/LayoutTests/fast/loader/show-only-one-beforeunload-dialog.html
+++ b/third_party/WebKit/LayoutTests/fast/loader/show-only-one-beforeunload-dialog.html
@@ -7,6 +7,13 @@
         testRunner.waitUntilDone();
     }
 
+    // JavaScript onbeforeunload dialogs require a user gesture.
+    if (window.eventSender) {
+        eventSender.mouseMoveTo(5, 5);
+        eventSender.mouseDown();
+        eventSender.mouseUp();
+    }
+
     window.onload = function()
     {
         window.setTimeout("window.location.href = 'resources/notify-done.html';", 0);
diff --git a/third_party/WebKit/LayoutTests/http/tests/inspector/isolated-filesystem-test.js b/third_party/WebKit/LayoutTests/http/tests/inspector/isolated-filesystem-test.js
index 37d72808..e9fdd8c 100644
--- a/third_party/WebKit/LayoutTests/http/tests/inspector/isolated-filesystem-test.js
+++ b/third_party/WebKit/LayoutTests/http/tests/inspector/isolated-filesystem-test.js
@@ -61,11 +61,11 @@
 
     addFileMapping: function(urlPrefix, pathPrefix)
     {
-        var fileSystemMapping = new Workspace.FileSystemMapping(Workspace.isolatedFileSystemManager);
+        var fileSystemMapping = new Persistence.FileSystemMapping(Workspace.isolatedFileSystemManager);
         fileSystemMapping.addFileSystem(this.fileSystemPath);
         fileSystemMapping.addFileMapping(this.fileSystemPath, urlPrefix, pathPrefix);
         fileSystemMapping.dispose();
-        Workspace.fileSystemMapping._loadFromSettings();
+        Persistence.fileSystemMapping._loadFromSettings();
     },
 
     /**
diff --git a/third_party/WebKit/LayoutTests/http/tests/inspector/persistence/persistence-test.js b/third_party/WebKit/LayoutTests/http/tests/inspector/persistence/persistence-test.js
index 37258a8..d2487ff 100644
--- a/third_party/WebKit/LayoutTests/http/tests/inspector/persistence/persistence-test.js
+++ b/third_party/WebKit/LayoutTests/http/tests/inspector/persistence/persistence-test.js
@@ -49,7 +49,7 @@
 
 InspectorTest.forceUseDefaultMapping = function() {
     Persistence.persistence._setMappingForTest((bindingCreated, bindingRemoved) => {
-        return new Persistence.DefaultMapping(Workspace.workspace, Workspace.fileSystemMapping, bindingCreated, bindingRemoved);
+        return new Persistence.DefaultMapping(Workspace.workspace, Persistence.fileSystemMapping, bindingCreated, bindingRemoved);
     });
 }
 
diff --git a/third_party/WebKit/LayoutTests/http/tests/misc/resources/reentrant-beforeunload-helper.html b/third_party/WebKit/LayoutTests/http/tests/misc/resources/reentrant-beforeunload-helper.html
index e0790a7..0b31c37 100644
--- a/third_party/WebKit/LayoutTests/http/tests/misc/resources/reentrant-beforeunload-helper.html
+++ b/third_party/WebKit/LayoutTests/http/tests/misc/resources/reentrant-beforeunload-helper.html
@@ -1,6 +1,13 @@
 <html>
 <body>
 <script>
+// JavaScript onbeforeunload dialogs require a user gesture.
+if (window.eventSender) {
+    eventSender.mouseMoveTo(5, 5);
+    eventSender.mouseDown();
+    eventSender.mouseUp();
+}
+
 window.onbeforeunload = function() {
   window.close();
   return "This should only appear once.";
diff --git a/third_party/WebKit/LayoutTests/http/tests/origin_trials/resources/origintrials.js b/third_party/WebKit/LayoutTests/http/tests/origin_trials/resources/origintrials.js
index 1ab0c07..51fa814a 100644
--- a/third_party/WebKit/LayoutTests/http/tests/origin_trials/resources/origintrials.js
+++ b/third_party/WebKit/LayoutTests/http/tests/origin_trials/resources/origintrials.js
@@ -3,6 +3,57 @@
 // IDL attribute is applied to an entire partial interface, instead of
 // applied to individual IDL members.
 
+// Verify that the given member exists, and returns an actual value
+// (i.e. not undefined).
+expect_member = (member_name, get_value_func) => {
+  var testObject = window.internals.originTrialsTest();
+  assert_idl_attribute(testObject, member_name);
+  assert_true(get_value_func(testObject),
+    'Member should return boolean value');
+}
+
+// Verify that the given static member exists, and returns an actual value
+// (i.e. not undefined).
+expect_static_member = (member_name, get_value_func) => {
+  var testObject = window.internals.originTrialsTest();
+  var testInterface = testObject.constructor;
+  assert_exists(testInterface, member_name);
+  assert_true(get_value_func(testInterface),
+    'Static member should return boolean value');
+}
+
+// Verify that the given constant exists, and returns the expected value, and
+// is not modifiable.
+expect_constant = (constant_name, constant_value, get_value_func) => {
+  var testObject = window.internals.originTrialsTest();
+  var testInterface = testObject.constructor;
+  assert_exists(testInterface, constant_name);
+  assert_equals(get_value_func(testInterface), constant_value,
+    'Constant should return expected value');
+  testInterface[constant_name] = constant_value + 1;
+  assert_equals(get_value_func(testInterface), constant_value,
+    'Constant should not be modifiable');
+}
+
+// Verify that given static member does not exist, and does not provide a value
+// (i.e. is undefined).
+expect_member_fails = (member_name) => {
+  var testObject = window.internals.originTrialsTest();
+  assert_false(member_name in testObject);
+  assert_not_exists(testObject, member_name);
+  assert_equals(testObject[member_name], undefined);
+}
+
+// Verify that given member does not exist, and does not provide a value
+// (i.e. is undefined).
+expect_static_member_fails = (member_name) => {
+  var testObject = window.internals.originTrialsTest();
+  var testInterface = testObject.constructor;
+  assert_false(member_name in testInterface);
+  assert_not_exists(testInterface, member_name);
+  assert_equals(testInterface[member_name], undefined);
+}
+
 // These tests verify that any gated parts of the API are not available.
 expect_failure = (skip_worker) => {
   tests = [{
@@ -25,9 +76,9 @@
     desc: 'Attribute should not exist, with trial disabled',
     code: () => {
         var testObject = window.internals.originTrialsTest();
-        assert_false('bindingsTest' in testObject);
-        assert_not_exists(testObject, 'bindingsTest');
-        assert_equals(testObject['bindingsTest'], undefined);
+        assert_false('normalAttribute' in testObject);
+        assert_not_exists(testObject, 'normalAttribute');
+        assert_equals(testObject['normalAttribute'], undefined);
       }
   }, {
     desc: 'Constant should not exist, with trial disabled',
@@ -92,7 +143,6 @@
   }
 };
 
-
 // These tests verify that the API functions correctly with an enabled trial.
 expect_success = () => {
 test(() => {
@@ -105,8 +155,8 @@
 test(() => {
     assert_idl_attribute(window.internals, 'originTrialsTest');
     var testObject = window.internals.originTrialsTest();
-    assert_idl_attribute(testObject, 'bindingsTest');
-    assert_true(testObject.bindingsTest, 'Attribute should return boolean value');
+    assert_idl_attribute(testObject, 'normalAttribute');
+    assert_true(testObject.normalAttribute, 'Attribute should return boolean value');
   }, 'Attribute should exist and return value');
 
 test(() => {
@@ -150,8 +200,8 @@
 test(() => {
     assert_idl_attribute(window.internals, 'originTrialsTest');
     var testObject = window.internals.originTrialsTest();
-    assert_idl_attribute(testObject, 'methodPartial');
-    assert_true(testObject.methodPartial(), 'Method should return boolean value');
+    assert_idl_attribute(testObject, 'normalMethodPartial');
+    assert_true(testObject.normalMethodPartial(), 'Method should return boolean value');
   }, 'Method should exist on partial interface and return value');
 
 test(() => {
@@ -178,3 +228,254 @@
 
 fetch_tests_from_worker(new Worker('resources/enabled-worker.js'));
 };
+
+// These tests should pass, regardless of the state of the trial. These are
+// control tests for IDL members without the [OriginTrialEnabled] extended
+// attribute. The control tests will vary for secure vs insecure context.
+expect_always_bindings = (insecure_context, opt_description_suffix) => {
+  var description_suffix = opt_description_suffix || '';
+
+  test(() => {
+      assert_idl_attribute(window.internals, 'originTrialsTest');
+    }, 'Test object should exist on window.internals, regardless of trial' + description_suffix);
+
+  test(() => {
+      expect_member('unconditionalAttribute', (testObject) => {
+          return testObject.unconditionalAttribute;
+        });
+    }, 'Attribute should exist and return value, regardless of trial' + description_suffix);
+
+  test(() => {
+      expect_static_member('staticUnconditionalAttribute', (testObject) => {
+          return testObject.staticUnconditionalAttribute;
+        });
+    }, 'Static attribute should exist and return value, regardless of trial' + description_suffix);
+
+  test(() => {
+      expect_member('unconditionalMethod', (testObject) => {
+          return testObject.unconditionalMethod();
+        });
+    }, 'Method should exist and return value, regardless of trial' + description_suffix);
+
+  test(() => {
+      expect_static_member('staticUnconditionalMethod', (testObject) => {
+          return testObject.staticUnconditionalMethod();
+        });
+    }, 'Static method should exist and return value, regardless of trial' + description_suffix);
+
+  test(() => {
+      expect_constant('UNCONDITIONAL_CONSTANT', 99, (testObject) => {
+          return testObject.UNCONDITIONAL_CONSTANT;
+        });
+    }, 'Constant should exist on interface and return value, regardless of trial' + description_suffix);
+
+  if (insecure_context) {
+    // TODO(crbug.com/695123): Uncomment test when fixed so [SecureContext] and
+    //   [OriginTrialEnabled] extended attributes work correctly together.
+    /*
+    test(() => {
+        expect_member_fails('secureUnconditionalAttribute');
+      }, 'Secure attribute should not exist, regardless of trial' + description_suffix);
+    */
+    test(() => {
+        expect_member_fails('secureStaticUnconditionalAttribute');
+      }, 'Secure static attribute should not exist, regardless of trial' + description_suffix);
+    // TODO(crbug.com/695123): Uncomment test when fixed so [SecureContext] and
+    //   [OriginTrialEnabled] extended attributes work correctly together.
+    /*
+    test(() => {
+        expect_member_fails('secureUnconditionalMethod');
+      }, 'Secure method should not exist, regardless of trial' + description_suffix);
+    */
+    test(() => {
+        expect_member_fails('secureStaticUnconditionalMethod');
+      }, 'Secure static method should not exist, regardless of trial' + description_suffix);
+  } else {
+    test(() => {
+        expect_member('secureUnconditionalAttribute', (testObject) => {
+            return testObject.secureUnconditionalAttribute;
+          });
+      }, 'Secure attribute should exist and return value, regardless of trial' + description_suffix);
+
+    test(() => {
+        expect_static_member('secureStaticUnconditionalAttribute', (testObject) => {
+            return testObject.secureStaticUnconditionalAttribute;
+          });
+      }, 'Secure static attribute should exist and return value, regardless of trial' + description_suffix);
+
+    test(() => {
+        expect_member('secureUnconditionalMethod', (testObject) => {
+            return testObject.secureUnconditionalMethod();
+          });
+      }, 'Secure method should exist and return value, regardless of trial' + description_suffix);
+
+    test(() => {
+        expect_static_member('secureStaticUnconditionalMethod', (testObject) => {
+            return testObject.secureStaticUnconditionalMethod();
+          });
+      }, 'Secure static method should exist and return value, regardless of trial' + description_suffix);
+  }
+};
+
+// Verify that all IDL members are correctly exposed with an enabled trial.
+expect_success_bindings = (insecure_context) => {
+  expect_always_bindings(insecure_context);
+
+  if (insecure_context) {
+    // Origin trials only work in secure contexts, so tests cannot distinguish
+    // between [OriginTrialEnabled] or [SecureContext] preventing exposure of
+    // IDL members. These tests at least ensure IDL members are not exposed in
+    // insecure contexts, regardless of reason.
+    test(() => {
+        expect_member_fails('secureAttribute');
+      }, 'Secure attribute should not exist');
+    test(() => {
+        expect_static_member_fails('secureStaticAttribute');
+      }, 'Secure static attribute should not exist');
+    test(() => {
+        expect_member_fails('secureMethod');
+      }, 'Secure method should not exist');
+    test(() => {
+        expect_static_member_fails('secureStaticMethod');
+      }, 'Secure static method should not exist');
+    test(() => {
+        expect_member_fails('secureAttributePartial');
+      }, 'Secure attribute should not exist on partial interface');
+    test(() => {
+        expect_static_member_fails('secureStaticAttributePartial');
+      }, 'Secure static attribute should not exist on partial interface');
+    test(() => {
+        expect_member_fails('secureMethodPartial');
+      }, 'Secure method should not exist on partial interface');
+    test(() => {
+        expect_static_member_fails('secureStaticMethodPartial');
+      }, 'Secure static method should not exist on partial interface');
+  } else {
+    test(() => {
+        expect_member('normalMethod', (testObject) => {
+            return testObject.normalMethod();
+          });
+      }, 'Method should exist and return value');
+
+    test(() => {
+        expect_static_member('staticMethod', (testObject) => {
+            return testObject.staticMethod();
+          });
+      }, 'Static method should exist and return value');
+
+    // Tests for combination of [OriginTrialEnabled] and [SecureContext]
+    test(() => {
+        expect_member('secureAttribute', (testObject) => {
+            return testObject.secureAttribute;
+          });
+      }, 'Secure attribute should exist and return value');
+
+    test(() => {
+        expect_static_member('secureStaticAttribute', (testObject) => {
+            return testObject.secureStaticAttribute;
+          });
+      }, 'Secure static attribute should exist and return value');
+
+    test(() => {
+        expect_member('secureMethod', (testObject) => {
+            return testObject.secureMethod();
+          });
+      }, 'Secure method should exist and return value');
+
+    test(() => {
+        expect_static_member('secureStaticMethod', (testObject) => {
+            return testObject.secureStaticMethod();
+          });
+      }, 'Secure static method should exist and return value');
+
+    test(() => {
+        expect_member('secureAttributePartial', (testObject) => {
+            return testObject.secureAttributePartial;
+          });
+      }, 'Secure attribute should exist on partial interface and return value');
+
+    test(() => {
+        expect_static_member('secureStaticAttributePartial', (testObject) => {
+            return testObject.secureStaticAttributePartial;
+          });
+      }, 'Secure static attribute should exist on partial interface and return value');
+
+    test(() => {
+        expect_member('secureMethodPartial', (testObject) => {
+            return testObject.secureMethodPartial();
+          });
+      }, 'Secure method should exist on partial interface and return value');
+
+    test(() => {
+        expect_static_member('secureStaticMethodPartial', (testObject) => {
+            return testObject.secureStaticMethodPartial();
+          });
+      }, 'Secure static method should exist on partial interface and return value');
+  }
+
+};
+
+// Verify that all IDL members are correctly exposed with an enabled trial, with
+// an insecure context.
+expect_success_bindings_insecure_context = () => {
+  expect_success_bindings(true);
+};
+
+// Verify that all IDL members are not exposed with a disabled trial.
+expect_failure_bindings_impl = (insecure_context, description_suffix) => {
+  expect_always_bindings(insecure_context, description_suffix);
+
+  test(() => {
+      expect_member_fails('normalMethod');
+    }, 'Method should not exist, with trial disabled');
+
+  test(() => {
+      expect_static_member_fails('staticMethod');
+    }, 'Static method should not exist, with trial disabled');
+
+
+  // Tests for combination of [OriginTrialEnabled] and [SecureContext]
+  if (insecure_context) {
+    // Origin trials only work in secure contexts, so tests cannot distinguish
+    // between [OriginTrialEnabled] or [SecureContext] preventing exposure of
+    // IDL members. There are tests to ensure IDL members are not exposed in
+    // insecure contexts in expect_success_bindings().
+    return;
+  }
+  test(() => {
+      expect_member_fails('secureAttribute');
+    }, 'Secure attribute should not exist, with trial disabled');
+  test(() => {
+      expect_static_member_fails('secureStaticAttribute');
+    }, 'Secure static attribute should not exist, with trial disabled');
+  test(() => {
+      expect_member_fails('secureMethod');
+    }, 'Secure method should not exist, with trial disabled');
+  test(() => {
+      expect_static_member_fails('secureStaticMethod');
+    }, 'Secure static method should not exist, with trial disabled');
+  test(() => {
+      expect_member_fails('secureAttributePartial');
+    }, 'Secure attribute should not exist on partial interface, with trial disabled');
+  test(() => {
+      expect_static_member_fails('secureStaticAttributePartial');
+    }, 'Secure static attribute should not exist on partial interface, with trial disabled');
+  test(() => {
+      expect_member_fails('secureMethodPartial');
+    }, 'Secure method should not exist on partial interface, with trial disabled');
+  test(() => {
+      expect_static_member_fails('secureStaticMethodPartial');
+    }, 'Secure static method should not exist on partial interface, with trial disabled');
+};
+
+// Verify that all IDL members are not exposed with a disabled trial.
+// Assumes a secure context.
+expect_failure_bindings = (description_suffix) => {
+  expect_failure_bindings_impl(false, description_suffix);
+};
+
+// Verify that all IDL members are not exposed with a disabled trial, with an
+// insecure context
+expect_failure_bindings_insecure_context = (description_suffix) => {
+  expect_failure_bindings_impl(true, description_suffix);
+};
diff --git a/third_party/WebKit/LayoutTests/http/tests/origin_trials/sample-api-disabled-insecure-context.html b/third_party/WebKit/LayoutTests/http/tests/origin_trials/sample-api-disabled-insecure-context.html
new file mode 100644
index 0000000..b98b2148
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/http/tests/origin_trials/sample-api-disabled-insecure-context.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Test Sample API when trial is disabled (no token), in insecure context</title>
+<script src="../resources/testharness.js"></script>
+<script src="../resources/testharnessreport.js"></script>
+<script src="../resources/get-host-info.js"></script>
+<script src="resources/origintrials.js"></script>
+<script>
+
+if (window.location.origin != get_host_info().UNAUTHENTICATED_ORIGIN) {
+  window.location = get_host_info().UNAUTHENTICATED_ORIGIN +
+                    window.location.pathname;
+} else {
+  // The trial is not enabled, as no token is provided.
+  expect_failure_bindings_insecure_context();
+}
+</script>
diff --git a/third_party/WebKit/LayoutTests/http/tests/origin_trials/sample-api-disabled.html b/third_party/WebKit/LayoutTests/http/tests/origin_trials/sample-api-disabled.html
index 5b74c98..7f6476e 100644
--- a/third_party/WebKit/LayoutTests/http/tests/origin_trials/sample-api-disabled.html
+++ b/third_party/WebKit/LayoutTests/http/tests/origin_trials/sample-api-disabled.html
@@ -8,5 +8,6 @@
 
 // The trial is not enabled, as no token is provided.
 expect_failure();
+expect_failure_bindings();
 
 </script>
diff --git a/third_party/WebKit/LayoutTests/http/tests/origin_trials/sample-api-enabled-insecure-context.html b/third_party/WebKit/LayoutTests/http/tests/origin_trials/sample-api-enabled-insecure-context.html
new file mode 100644
index 0000000..7989241
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/http/tests/origin_trials/sample-api-enabled-insecure-context.html
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Test Sample API when trial is enabled, in insecure context</title>
+<!-- TODO(iclelland): Generate this sample token during the build. The token
+  below will expire in 2033, but it would be better to always have a token which
+  is guaranteed to be valid when the tests are run. -->
+<!-- Generate this token with the command:
+generate_token.py http://127.0.0.1:8000 Frobulate -expire-timestamp=2000000000
+-->
+<meta http-equiv="origin-trial" content="AlCoOPbezqtrGMzSzbLQC4c+oPqO6yuioemcBPjgcXajF8jtmZr4B8tJRPAARPbsX6hDeVyXCKHzEJfpBXvZgQEAAABReyJvcmlnaW4iOiAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIiwgImZlYXR1cmUiOiAiRnJvYnVsYXRlIiwgImV4cGlyeSI6IDIwMDAwMDAwMDB9" />
+<script src="../resources/testharness.js"></script>
+<script src="../resources/testharnessreport.js"></script>
+<script src="../resources/get-host-info.js"></script>
+<script src="resources/origintrials.js"></script>
+<script>
+
+if (window.location.origin != get_host_info().UNAUTHENTICATED_ORIGIN) {
+  window.location = get_host_info().UNAUTHENTICATED_ORIGIN +
+                    window.location.pathname;
+} else {
+  // The trial is enabled by the token above in the meta tag.
+  expect_success_bindings_insecure_context();
+}
+</script>
diff --git a/third_party/WebKit/LayoutTests/http/tests/origin_trials/sample-api-enabled.html b/third_party/WebKit/LayoutTests/http/tests/origin_trials/sample-api-enabled.html
index 6af7eef..5bd19fb 100644
--- a/third_party/WebKit/LayoutTests/http/tests/origin_trials/sample-api-enabled.html
+++ b/third_party/WebKit/LayoutTests/http/tests/origin_trials/sample-api-enabled.html
@@ -14,5 +14,6 @@
 
 // The trial is enabled by the token above in the meta tag.
 expect_success();
+expect_success_bindings();
 
 </script>
diff --git a/third_party/WebKit/LayoutTests/http/tests/origin_trials/sample-api-script-added.html b/third_party/WebKit/LayoutTests/http/tests/origin_trials/sample-api-script-added.html
index 3d3a197..8874ae5 100644
--- a/third_party/WebKit/LayoutTests/http/tests/origin_trials/sample-api-script-added.html
+++ b/third_party/WebKit/LayoutTests/http/tests/origin_trials/sample-api-script-added.html
@@ -19,11 +19,13 @@
 //    token is added below.
 var skip_worker = true;
 expect_failure(skip_worker);
+expect_failure_bindings(' [disabled]');
 
 // Add the token to enable the trial
 OriginTrialsHelper.add_token(token);
 
 // The trial is now enabled, by the token added via script.
 expect_success();
+expect_success_bindings();
 
 </script>
diff --git a/third_party/WebKit/LayoutTests/http/tests/serviceworker/webexposed/global-interface-listing-service-worker-expected.txt b/third_party/WebKit/LayoutTests/http/tests/serviceworker/webexposed/global-interface-listing-service-worker-expected.txt
index 6af047d..5b12075 100644
--- a/third_party/WebKit/LayoutTests/http/tests/serviceworker/webexposed/global-interface-listing-service-worker-expected.txt
+++ b/third_party/WebKit/LayoutTests/http/tests/serviceworker/webexposed/global-interface-listing-service-worker-expected.txt
@@ -1360,7 +1360,6 @@
     attribute STENCIL_CLEAR_VALUE
     attribute STENCIL_FAIL
     attribute STENCIL_FUNC
-    attribute STENCIL_INDEX
     attribute STENCIL_INDEX8
     attribute STENCIL_PASS_DEPTH_FAIL
     attribute STENCIL_PASS_DEPTH_PASS
@@ -1961,7 +1960,6 @@
     attribute STENCIL_CLEAR_VALUE
     attribute STENCIL_FAIL
     attribute STENCIL_FUNC
-    attribute STENCIL_INDEX
     attribute STENCIL_INDEX8
     attribute STENCIL_PASS_DEPTH_FAIL
     attribute STENCIL_PASS_DEPTH_PASS
diff --git a/third_party/WebKit/LayoutTests/inspector-protocol/page/javascriptDialogEvents.html b/third_party/WebKit/LayoutTests/inspector-protocol/page/javascriptDialogEvents.html
index 87c7f08..4e002c7 100644
--- a/third_party/WebKit/LayoutTests/inspector-protocol/page/javascriptDialogEvents.html
+++ b/third_party/WebKit/LayoutTests/inspector-protocol/page/javascriptDialogEvents.html
@@ -5,6 +5,13 @@
 
 testRunner.setShouldStayOnPageAfterHandlingBeforeUnload(true);
 
+// JavaScript onbeforeunload dialogs require a user gesture.
+if (window.eventSender) {
+    eventSender.mouseMoveTo(5, 5);
+    eventSender.mouseDown();
+    eventSender.mouseUp();
+}
+
 window.onbeforeunload = onBeforeUnload;
 
 function onBeforeUnload()
diff --git a/third_party/WebKit/LayoutTests/inspector/coverage/coverage-test.js b/third_party/WebKit/LayoutTests/inspector/coverage/coverage-test.js
index 1277fe3b..a3d9aba 100644
--- a/third_party/WebKit/LayoutTests/inspector/coverage/coverage-test.js
+++ b/third_party/WebKit/LayoutTests/inspector/coverage/coverage-test.js
@@ -18,7 +18,7 @@
 InspectorTest.sourceDecorated = async function(source)
 {
     await UI.inspectorView.showPanel("sources");
-    var decoratePromise = InspectorTest.addSnifferPromise(Coverage.CoverageView.LineDecorator.prototype, "decorate");
+    var decoratePromise = InspectorTest.addSnifferPromise(Coverage.CoverageView.LineDecorator.prototype, "_innerDecorate");
     var sourceFrame = await new Promise(fulfill => InspectorTest.showScriptSource(source, fulfill));
     await decoratePromise;
     return sourceFrame;
@@ -43,7 +43,7 @@
 
 InspectorTest.dumpDecorationsInSourceFrame = function(sourceFrame)
 {
-    var markerMap = new Map([['used', '+'], ['unused', '-'], ['mixed', '*']]);
+    var markerMap = new Map([['used', '+'], ['unused', '-']]);
 
     var codeMirror = sourceFrame.textEditor.codeMirror();
     for (var line = 0; line < codeMirror.lineCount(); ++line) {
diff --git a/third_party/WebKit/LayoutTests/inspector/coverage/decorations-after-inplace-formatter-expected.txt b/third_party/WebKit/LayoutTests/inspector/coverage/decorations-after-inplace-formatter-expected.txt
deleted file mode 100644
index 3e042ee..0000000
--- a/third_party/WebKit/LayoutTests/inspector/coverage/decorations-after-inplace-formatter-expected.txt
+++ /dev/null
@@ -1,30 +0,0 @@
-PASS
-
-Tests the CSS highlight in sources after the Pretty print formatting.
-
-0: + body {
-1: +     background-color: lightblue;
-2: * }
-3: - 
-4: - .class {
-5: -     color: red;
-6: - }
-7: - 
-8: - .class2 {
-9: -     color: green;
-10: -     font-style: italic;
-11: - }
-12: - 
-13: * #id {
-14: +     color: blue
-15: * }
-16: - 
-17: - notUsed {
-18: -     color: black
-19: - }
-20: - 
-21: - notUsed2 {
-22: -     color: white
-23: - }
-24: - 
-
diff --git a/third_party/WebKit/LayoutTests/inspector/coverage/decorations-after-inplace-formatter.html b/third_party/WebKit/LayoutTests/inspector/coverage/decorations-after-inplace-formatter.html
deleted file mode 100644
index 21ac8a47..0000000
--- a/third_party/WebKit/LayoutTests/inspector/coverage/decorations-after-inplace-formatter.html
+++ /dev/null
@@ -1,41 +0,0 @@
-<html>
-<head>
-<script src="../../http/tests/inspector/inspector-test.js"></script>
-<script src="../../http/tests/inspector/debugger-test.js"></script>
-<script src="../../http/tests/inspector/sources-test.js"></script>
-<script src="coverage-test.js"></script>
-
-<link rel="stylesheet" type="text/css" href="resources/decorations-after-inplace-formatter.css">
-
-<script>
-async function test()
-{
-    InspectorTest.startCoverage();
-    await InspectorTest.evaluateInPagePromise("performActions()");
-    await InspectorTest.stopCoverage();
-    await UI.inspectorView.showPanel("sources");
-    var formatter = await inplaceFormatter();
-    var sourceFrame = await InspectorTest.sourceDecorated("decorations-after-inplace-formatter.css");
-    var decoratorPromise = InspectorTest.addSnifferPromise(Coverage.CoverageView.LineDecorator.prototype, "decorate");
-    formatter._formatSourceInPlace();
-    await decoratorPromise;
-
-    InspectorTest.dumpDecorationsInSourceFrame(sourceFrame);
-    InspectorTest.completeTest();
-
-    async function inplaceFormatter()
-    {
-        var editorActions = await self.runtime.allInstances(Sources.SourcesView.EditorAction);
-        for (var i = 0; i < editorActions.length; ++i) {
-            if (editorActions[i] instanceof Sources.InplaceFormatterEditorAction)
-                return editorActions[i];
-        }
-    }
-}
-</script>
-</head>
-<p id="id">PASS</p>
-<body onload="runTest()">
-<p>Tests the CSS highlight in sources after the Pretty print formatting.</p>
-</body>
-</html>
\ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/inspector/coverage/decorations-after-script-formatter-expected.txt b/third_party/WebKit/LayoutTests/inspector/coverage/decorations-after-script-formatter-expected.txt
index da3f8121..378b26c 100644
--- a/third_party/WebKit/LayoutTests/inspector/coverage/decorations-after-script-formatter-expected.txt
+++ b/third_party/WebKit/LayoutTests/inspector/coverage/decorations-after-script-formatter-expected.txt
@@ -3,31 +3,31 @@
 Tests the gutter decorations in target source code after ScriptFormatterEditorAction
 
 0: + function outer(index) {
-1: + 
-2: *     function inner1(a) {
+1: - 
+2: -     function inner1(a) {
 3: -         return a + 1;
-4: *     }
-5: + 
+4: -     }
+5: - 
 6: +     function inner2(a) {
 7: +         return a + 2;
 8: +     }
-9: + 
-10: *     function inner3(a) {
+9: - 
+10: -     function inner3(a) {
 11: -         return a + 3;
-12: *     }
+12: -     }
 13: +     function inner4(a) {
 14: +         return a + 4;
 15: +     }
-16: *     function inner5(a) {
+16: -     function inner5(a) {
 17: -         return a + 5;
-18: *     }
-19: + 
+18: -     }
+19: - 
 20: +     return [inner1, inner2, inner3, inner4, inner5][index];
-21: * }
+21: + }
 22: - 
-23: * function performActions() {
+23: + function performActions() {
 24: +     return outer(1)(0) + outer(3)(0);
-25: * }
+25: + }
 26: - function outer2() {
 27: -     return outer(0)(0);
 28: - }
diff --git a/third_party/WebKit/LayoutTests/inspector/coverage/decorations-after-script-formatter.html b/third_party/WebKit/LayoutTests/inspector/coverage/decorations-after-script-formatter.html
index c150e40..3a69971 100644
--- a/third_party/WebKit/LayoutTests/inspector/coverage/decorations-after-script-formatter.html
+++ b/third_party/WebKit/LayoutTests/inspector/coverage/decorations-after-script-formatter.html
@@ -16,7 +16,7 @@
     await UI.inspectorView.showPanel("sources");
     await InspectorTest.sourceDecorated("coverage.js");
 
-    var decoratorPromise = InspectorTest.addSnifferPromise(Coverage.CoverageView.LineDecorator.prototype, "decorate");
+    var decoratorPromise = InspectorTest.addSnifferPromise(Coverage.CoverageView.LineDecorator.prototype, "_innerDecorate");
     var editorActions = await self.runtime.allInstances(Sources.SourcesView.EditorAction);
     for (action of editorActions) {
         if (action instanceof Sources.ScriptFormatterEditorAction) {
diff --git a/third_party/WebKit/LayoutTests/inspector/coverage/gutter-css-expected.txt b/third_party/WebKit/LayoutTests/inspector/coverage/gutter-css-expected.txt
index 74e966b..e350ac9 100644
--- a/third_party/WebKit/LayoutTests/inspector/coverage/gutter-css-expected.txt
+++ b/third_party/WebKit/LayoutTests/inspector/coverage/gutter-css-expected.txt
@@ -4,7 +4,7 @@
 
 0: + body {
 1: +     background-color: lightblue;
-2: * }
+2: + }
 3: - 
 4: - .class {
 5: -     color: red;
@@ -15,9 +15,9 @@
 10: -     font-style: italic;
 11: - }
 12: - 
-13: * #id {
+13: + #id {
 14: +     color: blue
-15: * }
+15: + }
 16: - 
 17: - notUsed {
 18: -     color: black
diff --git a/third_party/WebKit/LayoutTests/inspector/coverage/gutter-js-expected.txt b/third_party/WebKit/LayoutTests/inspector/coverage/gutter-js-expected.txt
index 42a4818..31e646be 100644
--- a/third_party/WebKit/LayoutTests/inspector/coverage/gutter-js-expected.txt
+++ b/third_party/WebKit/LayoutTests/inspector/coverage/gutter-js-expected.txt
@@ -3,23 +3,23 @@
 Tests the coverage highlight in sources after the recording finishes.
 
 0: + function outer(index) {
-1: + 
-2: *   function inner1(a) {
+1: - 
+2: -   function inner1(a) {
 3: -     return a + 1;
-4: *   }
-5: + 
+4: -   }
+5: - 
 6: +   function inner2(a) {
 7: +     return a + 2;
 8: +   }
-9: + 
-10: *   function inner3(a) { return a + 3; } function inner4(a) { return a + 4; } function inner5(a) { return a + 5; }
-11: + 
+9: - 
+10: +   function inner3(a) { return a + 3; } function inner4(a) { return a + 4; } function inner5(a) { return a + 5; }
+11: - 
 12: +   return [inner1, inner2, inner3, inner4, inner5][index];
-13: * }
+13: + }
 14: - 
-15: * function performActions() {
+15: + function performActions() {
 16: +   return outer(1)(0) + outer(3)(0);
-17: * } function outer2() {
+17: + } function outer2() {
 18: -   return outer(0)(0);
 19: - }
 20: - 
diff --git a/third_party/WebKit/LayoutTests/inspector/coverage/multiple-instances-merge-expected.txt b/third_party/WebKit/LayoutTests/inspector/coverage/multiple-instances-merge-expected.txt
index df4d6c1b..a347ff25 100644
--- a/third_party/WebKit/LayoutTests/inspector/coverage/multiple-instances-merge-expected.txt
+++ b/third_party/WebKit/LayoutTests/inspector/coverage/multiple-instances-merge-expected.txt
@@ -5,20 +5,20 @@
 .../inspector/coverage/resources/highlight-in-source.css CSS used: 90 unused: 119 total: 209
 0: + body {
 1: +     background-color: lightblue;
-2: * }
+2: + }
 3: - 
-4: * .class {
+4: + .class {
 5: +     color: red;
-6: * }
+6: + }
 7: - 
 8: - .class2 {
 9: -     color:green;
 10: -     font-style: italic;
 11: - }
 12: - 
-13: * #id {
+13: + #id {
 14: +     color: blue
-15: * }
+15: + }
 16: - 
 17: - notUsed {
 18: -     color: black
@@ -28,23 +28,23 @@
 22: -     color: white
 23: - }
 0: + function outer(index) {
-1: + 
-2: *   function inner1(a) {
+1: - 
+2: -   function inner1(a) {
 3: -     return a + 1;
-4: *   }
-5: + 
+4: -   }
+5: - 
 6: +   function inner2(a) {
 7: +     return a + 2;
 8: +   }
-9: + 
-10: *   function inner3(a) { return a + 3; } function inner4(a) { return a + 4; } function inner5(a) { return a + 5; }
-11: + 
+9: - 
+10: +   function inner3(a) { return a + 3; } function inner4(a) { return a + 4; } function inner5(a) { return a + 5; }
+11: - 
 12: +   return [inner1, inner2, inner3, inner4, inner5][index];
-13: * }
+13: + }
 14: - 
-15: * function performActions() {
+15: + function performActions() {
 16: +   return outer(1)(0) + outer(3)(0);
-17: * } function outer2() {
+17: + } function outer2() {
 18: -   return outer(0)(0);
 19: - }
 20: - 
diff --git a/third_party/WebKit/LayoutTests/inspector/coverage/reveal-autoformat-expected.txt b/third_party/WebKit/LayoutTests/inspector/coverage/reveal-autoformat-expected.txt
index dc0dfc3a..2288877 100644
--- a/third_party/WebKit/LayoutTests/inspector/coverage/reveal-autoformat-expected.txt
+++ b/third_party/WebKit/LayoutTests/inspector/coverage/reveal-autoformat-expected.txt
@@ -6,9 +6,9 @@
 0: - .this-line-needs-to-be-longer-than-five-hundred-symbols {
 1: - }
 2: - 
-3: * body {
+3: + body {
 4: +     background-color: lightblue;
-5: * }
+5: + }
 6: - 
 7: - .class {
 8: -     color: red;
@@ -19,9 +19,9 @@
 13: -     font-style: italic;
 14: - }
 15: - 
-16: * #id {
+16: + #id {
 17: +     color: blue
-18: * }
+18: + }
 19: - 
 20: - notUsed {
 21: -     color: black
@@ -41,7 +41,7 @@
 The below should NOT be formatted
 0: + body {
 1: +     background-color: lightblue;
-2: * }
+2: + }
 3: - 
 4: - .class {
 5: -     color: red;
@@ -50,8 +50,8 @@
 8: - .class2 {    color:green;font-style: italic;
 9: - }
 10: - 
-11: * #id {  color: blue
-12: * }
+11: + #id {  color: blue
+12: + }
 13: - 
 14: - notUsed {color: black}
 15: - 
diff --git a/third_party/WebKit/LayoutTests/inspector/coverage/reveal-autoformat.html b/third_party/WebKit/LayoutTests/inspector/coverage/reveal-autoformat.html
index 0d1ee9e9..2961a11 100644
--- a/third_party/WebKit/LayoutTests/inspector/coverage/reveal-autoformat.html
+++ b/third_party/WebKit/LayoutTests/inspector/coverage/reveal-autoformat.html
@@ -16,7 +16,7 @@
     await InspectorTest.stopCoverage();
     var node = InspectorTest.findCoverageNodeForURL("long-mangled.css");
     var coverageListView = self.runtime.sharedInstance(Coverage.CoverageView)._listView;
-    var decoratePromise = InspectorTest.addSnifferPromise(Coverage.CoverageView.LineDecorator.prototype, "decorate");
+    var decoratePromise = InspectorTest.addSnifferPromise(Coverage.CoverageView.LineDecorator.prototype, "_innerDecorate");
     coverageListView._revealSourceForNode(node);
     await decoratePromise;
     InspectorTest.addResult("The below should be formatted");
@@ -24,7 +24,7 @@
 
 
     node = InspectorTest.findCoverageNodeForURL("decorations-after-inplace-formatter.css");
-    decoratePromise = InspectorTest.addSnifferPromise(Coverage.CoverageView.LineDecorator.prototype, "decorate");
+    decoratePromise = InspectorTest.addSnifferPromise(Coverage.CoverageView.LineDecorator.prototype, "_innerDecorate");
     coverageListView._revealSourceForNode(node);
     await decoratePromise;
     InspectorTest.addResult("The below should NOT be formatted");
diff --git a/third_party/WebKit/LayoutTests/inspector/file-system-mapping.html b/third_party/WebKit/LayoutTests/inspector/file-system-mapping.html
index 620664d28..a34a2443 100644
--- a/third_party/WebKit/LayoutTests/inspector/file-system-mapping.html
+++ b/third_party/WebKit/LayoutTests/inspector/file-system-mapping.html
@@ -87,7 +87,7 @@
     }
 
     // At first create file system mapping and clear it.
-    var fileSystemMapping = new Workspace.FileSystemMapping(Workspace.isolatedFileSystemManager);
+    var fileSystemMapping = new Persistence.FileSystemMapping(Workspace.isolatedFileSystemManager);
     var fileSystemPaths = Object.keys(fileSystemMapping._fileSystemMappings);
     for (var i = 0; i < fileSystemPaths.length; ++i)
         fileSystemMapping.removeFileSystem(fileSystemPaths[i]);
@@ -131,7 +131,7 @@
     // Then create another file mapping to make sure it is correctly restored from the settings.
     InspectorTest.addResult("Creating another file system mapping.");
     fileSystemMapping.dispose();
-    var fileSystemMapping = new Workspace.FileSystemMapping(Workspace.isolatedFileSystemManager);
+    var fileSystemMapping = new Persistence.FileSystemMapping(Workspace.isolatedFileSystemManager);
     checkAndDumpFileSystemMapping(fileSystemMapping);
 
     // Now remove file mappings.
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/stable/webexposed/global-interface-listing-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/stable/webexposed/global-interface-listing-expected.txt
index f140d79..bbee8ef2 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/virtual/stable/webexposed/global-interface-listing-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/mac/virtual/stable/webexposed/global-interface-listing-expected.txt
@@ -6351,7 +6351,6 @@
     attribute STENCIL_CLEAR_VALUE
     attribute STENCIL_FAIL
     attribute STENCIL_FUNC
-    attribute STENCIL_INDEX
     attribute STENCIL_INDEX8
     attribute STENCIL_PASS_DEPTH_FAIL
     attribute STENCIL_PASS_DEPTH_PASS
@@ -6977,7 +6976,6 @@
     attribute STENCIL_CLEAR_VALUE
     attribute STENCIL_FAIL
     attribute STENCIL_FUNC
-    attribute STENCIL_INDEX
     attribute STENCIL_INDEX8
     attribute STENCIL_PASS_DEPTH_FAIL
     attribute STENCIL_PASS_DEPTH_PASS
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/stable/webexposed/global-interface-listing-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/stable/webexposed/global-interface-listing-expected.txt
index 553df8b..27df4cb6 100644
--- a/third_party/WebKit/LayoutTests/platform/win/virtual/stable/webexposed/global-interface-listing-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/virtual/stable/webexposed/global-interface-listing-expected.txt
@@ -6280,7 +6280,6 @@
     attribute STENCIL_CLEAR_VALUE
     attribute STENCIL_FAIL
     attribute STENCIL_FUNC
-    attribute STENCIL_INDEX
     attribute STENCIL_INDEX8
     attribute STENCIL_PASS_DEPTH_FAIL
     attribute STENCIL_PASS_DEPTH_PASS
@@ -6906,7 +6905,6 @@
     attribute STENCIL_CLEAR_VALUE
     attribute STENCIL_FAIL
     attribute STENCIL_FUNC
-    attribute STENCIL_INDEX
     attribute STENCIL_INDEX8
     attribute STENCIL_PASS_DEPTH_FAIL
     attribute STENCIL_PASS_DEPTH_PASS
diff --git a/third_party/WebKit/LayoutTests/virtual/service-worker-navigation-preload-disabled/http/tests/serviceworker/webexposed/global-interface-listing-service-worker-expected.txt b/third_party/WebKit/LayoutTests/virtual/service-worker-navigation-preload-disabled/http/tests/serviceworker/webexposed/global-interface-listing-service-worker-expected.txt
index 918d5d1..e2c37d6 100644
--- a/third_party/WebKit/LayoutTests/virtual/service-worker-navigation-preload-disabled/http/tests/serviceworker/webexposed/global-interface-listing-service-worker-expected.txt
+++ b/third_party/WebKit/LayoutTests/virtual/service-worker-navigation-preload-disabled/http/tests/serviceworker/webexposed/global-interface-listing-service-worker-expected.txt
@@ -1352,7 +1352,6 @@
     attribute STENCIL_CLEAR_VALUE
     attribute STENCIL_FAIL
     attribute STENCIL_FUNC
-    attribute STENCIL_INDEX
     attribute STENCIL_INDEX8
     attribute STENCIL_PASS_DEPTH_FAIL
     attribute STENCIL_PASS_DEPTH_PASS
@@ -1953,7 +1952,6 @@
     attribute STENCIL_CLEAR_VALUE
     attribute STENCIL_FAIL
     attribute STENCIL_FUNC
-    attribute STENCIL_INDEX
     attribute STENCIL_INDEX8
     attribute STENCIL_PASS_DEPTH_FAIL
     attribute STENCIL_PASS_DEPTH_PASS
diff --git a/third_party/WebKit/LayoutTests/virtual/service-worker-navigation-preload-disabled/webexposed/global-interface-listing-dedicated-worker-expected.txt b/third_party/WebKit/LayoutTests/virtual/service-worker-navigation-preload-disabled/webexposed/global-interface-listing-dedicated-worker-expected.txt
index 4e45ce1..6ce3baf 100644
--- a/third_party/WebKit/LayoutTests/virtual/service-worker-navigation-preload-disabled/webexposed/global-interface-listing-dedicated-worker-expected.txt
+++ b/third_party/WebKit/LayoutTests/virtual/service-worker-navigation-preload-disabled/webexposed/global-interface-listing-dedicated-worker-expected.txt
@@ -1353,7 +1353,6 @@
 [Worker]     attribute STENCIL_CLEAR_VALUE
 [Worker]     attribute STENCIL_FAIL
 [Worker]     attribute STENCIL_FUNC
-[Worker]     attribute STENCIL_INDEX
 [Worker]     attribute STENCIL_INDEX8
 [Worker]     attribute STENCIL_PASS_DEPTH_FAIL
 [Worker]     attribute STENCIL_PASS_DEPTH_PASS
@@ -1955,7 +1954,6 @@
 [Worker]     attribute STENCIL_CLEAR_VALUE
 [Worker]     attribute STENCIL_FAIL
 [Worker]     attribute STENCIL_FUNC
-[Worker]     attribute STENCIL_INDEX
 [Worker]     attribute STENCIL_INDEX8
 [Worker]     attribute STENCIL_PASS_DEPTH_FAIL
 [Worker]     attribute STENCIL_PASS_DEPTH_PASS
diff --git a/third_party/WebKit/LayoutTests/virtual/service-worker-navigation-preload-disabled/webexposed/global-interface-listing-expected.txt b/third_party/WebKit/LayoutTests/virtual/service-worker-navigation-preload-disabled/webexposed/global-interface-listing-expected.txt
index 170a860..b345a412 100644
--- a/third_party/WebKit/LayoutTests/virtual/service-worker-navigation-preload-disabled/webexposed/global-interface-listing-expected.txt
+++ b/third_party/WebKit/LayoutTests/virtual/service-worker-navigation-preload-disabled/webexposed/global-interface-listing-expected.txt
@@ -7558,7 +7558,6 @@
     attribute STENCIL_CLEAR_VALUE
     attribute STENCIL_FAIL
     attribute STENCIL_FUNC
-    attribute STENCIL_INDEX
     attribute STENCIL_INDEX8
     attribute STENCIL_PASS_DEPTH_FAIL
     attribute STENCIL_PASS_DEPTH_PASS
@@ -8185,7 +8184,6 @@
     attribute STENCIL_CLEAR_VALUE
     attribute STENCIL_FAIL
     attribute STENCIL_FUNC
-    attribute STENCIL_INDEX
     attribute STENCIL_INDEX8
     attribute STENCIL_PASS_DEPTH_FAIL
     attribute STENCIL_PASS_DEPTH_PASS
diff --git a/third_party/WebKit/LayoutTests/virtual/service-worker-navigation-preload-disabled/webexposed/global-interface-listing-shared-worker-expected.txt b/third_party/WebKit/LayoutTests/virtual/service-worker-navigation-preload-disabled/webexposed/global-interface-listing-shared-worker-expected.txt
index adee98cd..64f2970bb 100644
--- a/third_party/WebKit/LayoutTests/virtual/service-worker-navigation-preload-disabled/webexposed/global-interface-listing-shared-worker-expected.txt
+++ b/third_party/WebKit/LayoutTests/virtual/service-worker-navigation-preload-disabled/webexposed/global-interface-listing-shared-worker-expected.txt
@@ -1353,7 +1353,6 @@
 [Worker]     attribute STENCIL_CLEAR_VALUE
 [Worker]     attribute STENCIL_FAIL
 [Worker]     attribute STENCIL_FUNC
-[Worker]     attribute STENCIL_INDEX
 [Worker]     attribute STENCIL_INDEX8
 [Worker]     attribute STENCIL_PASS_DEPTH_FAIL
 [Worker]     attribute STENCIL_PASS_DEPTH_PASS
@@ -1955,7 +1954,6 @@
 [Worker]     attribute STENCIL_CLEAR_VALUE
 [Worker]     attribute STENCIL_FAIL
 [Worker]     attribute STENCIL_FUNC
-[Worker]     attribute STENCIL_INDEX
 [Worker]     attribute STENCIL_INDEX8
 [Worker]     attribute STENCIL_PASS_DEPTH_FAIL
 [Worker]     attribute STENCIL_PASS_DEPTH_PASS
diff --git a/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-dedicated-worker-expected.txt b/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-dedicated-worker-expected.txt
index a9b52f5f..9d7798e 100644
--- a/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-dedicated-worker-expected.txt
+++ b/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-dedicated-worker-expected.txt
@@ -1361,7 +1361,6 @@
 [Worker]     attribute STENCIL_CLEAR_VALUE
 [Worker]     attribute STENCIL_FAIL
 [Worker]     attribute STENCIL_FUNC
-[Worker]     attribute STENCIL_INDEX
 [Worker]     attribute STENCIL_INDEX8
 [Worker]     attribute STENCIL_PASS_DEPTH_FAIL
 [Worker]     attribute STENCIL_PASS_DEPTH_PASS
@@ -1963,7 +1962,6 @@
 [Worker]     attribute STENCIL_CLEAR_VALUE
 [Worker]     attribute STENCIL_FAIL
 [Worker]     attribute STENCIL_FUNC
-[Worker]     attribute STENCIL_INDEX
 [Worker]     attribute STENCIL_INDEX8
 [Worker]     attribute STENCIL_PASS_DEPTH_FAIL
 [Worker]     attribute STENCIL_PASS_DEPTH_PASS
diff --git a/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt b/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt
index 04605c5..7cc3128 100644
--- a/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt
+++ b/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt
@@ -7566,7 +7566,6 @@
     attribute STENCIL_CLEAR_VALUE
     attribute STENCIL_FAIL
     attribute STENCIL_FUNC
-    attribute STENCIL_INDEX
     attribute STENCIL_INDEX8
     attribute STENCIL_PASS_DEPTH_FAIL
     attribute STENCIL_PASS_DEPTH_PASS
@@ -8193,7 +8192,6 @@
     attribute STENCIL_CLEAR_VALUE
     attribute STENCIL_FAIL
     attribute STENCIL_FUNC
-    attribute STENCIL_INDEX
     attribute STENCIL_INDEX8
     attribute STENCIL_PASS_DEPTH_FAIL
     attribute STENCIL_PASS_DEPTH_PASS
diff --git a/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-shared-worker-expected.txt b/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-shared-worker-expected.txt
index 79ddbf95..3561759 100644
--- a/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-shared-worker-expected.txt
+++ b/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-shared-worker-expected.txt
@@ -1361,7 +1361,6 @@
 [Worker]     attribute STENCIL_CLEAR_VALUE
 [Worker]     attribute STENCIL_FAIL
 [Worker]     attribute STENCIL_FUNC
-[Worker]     attribute STENCIL_INDEX
 [Worker]     attribute STENCIL_INDEX8
 [Worker]     attribute STENCIL_PASS_DEPTH_FAIL
 [Worker]     attribute STENCIL_PASS_DEPTH_PASS
@@ -1963,7 +1962,6 @@
 [Worker]     attribute STENCIL_CLEAR_VALUE
 [Worker]     attribute STENCIL_FAIL
 [Worker]     attribute STENCIL_FUNC
-[Worker]     attribute STENCIL_INDEX
 [Worker]     attribute STENCIL_INDEX8
 [Worker]     attribute STENCIL_PASS_DEPTH_FAIL
 [Worker]     attribute STENCIL_PASS_DEPTH_PASS
diff --git a/third_party/WebKit/Source/core/dom/Document.cpp b/third_party/WebKit/Source/core/dom/Document.cpp
index a2dafdd21..e59fd92 100644
--- a/third_party/WebKit/Source/core/dom/Document.cpp
+++ b/third_party/WebKit/Source/core/dom/Document.cpp
@@ -3171,6 +3171,15 @@
   if (!GetFrame() || before_unload_event->returnValue().IsNull())
     return true;
 
+  if (!GetFrame()->HasReceivedUserGesture()) {
+    AddConsoleMessage(ConsoleMessage::Create(
+        kJSMessageSource, kErrorMessageLevel,
+        "Blocked attempt to show a 'beforeunload' confirmation panel for a "
+        "frame that never had a user gesture since its load. "
+        "https://www.chromestatus.com/feature/5082396709879808"));
+    return true;
+  }
+
   if (did_allow_navigation) {
     AddConsoleMessage(ConsoleMessage::Create(
         kJSMessageSource, kErrorMessageLevel,
diff --git a/third_party/WebKit/Source/core/html/canvas/README.md b/third_party/WebKit/Source/core/html/canvas/README.md
new file mode 100644
index 0000000..4fea9d4
--- /dev/null
+++ b/third_party/WebKit/Source/core/html/canvas/README.md
@@ -0,0 +1,16 @@
+# `Source/core/html/canvas`
+
+Contains canvas-related support classes, including:
+
+- the base class for all `CanvasRenderingContext`
+- the base class for all elements that can host a rendering context
+ (`CanvasRenderingContextHost`), namely `HTMLCanvasElement` and
+ `OffscreenCanvas`
+- canvas font cache
+- canvas async blob creator
+- base class for `CanvasImageSource` (used as source for `drawImage`)
+- base class for `ImageElements` (`HTMLImageElement` and `SVGImageElement`) that
+can be both a `CanvasImageSource` and a `ImageBitmapSource`
+
+For more information on the structure of canvas-related classes, check
+[Source/modules/canvas/README.md](../../../modules/canvas/README.md).
diff --git a/third_party/WebKit/Source/core/layout/ng/inline/ng_inline_layout_algorithm.cc b/third_party/WebKit/Source/core/layout/ng/inline/ng_inline_layout_algorithm.cc
index 742f692c..d99a083a 100644
--- a/third_party/WebKit/Source/core/layout/ng/inline/ng_inline_layout_algorithm.cc
+++ b/third_party/WebKit/Source/core/layout/ng/inline/ng_inline_layout_algorithm.cc
@@ -72,6 +72,7 @@
     Initialize(break_token->ItemIndex(), break_token->TextOffset());
   else
     Initialize(0, 0);
+  container_builder_.MutableUnpositionedFloats() = space->UnpositionedFloats();
 }
 
 bool NGInlineLayoutAlgorithm::IsFirstLine() const {
@@ -250,6 +251,8 @@
     bfc_offset.block_offset += ConstraintSpace().MarginStrut().Sum();
     MaybeUpdateFragmentBfcOffset(ConstraintSpace(), bfc_offset,
                                  &container_builder_);
+    PositionPendingFloats(bfc_offset.block_offset, &container_builder_,
+                          MutableConstraintSpace());
   }
 
   // Create a list of LineItemChunk from |start| and |last_break_opportunity|.
diff --git a/third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.cc b/third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.cc
index 017e0a7..01fe88e8 100644
--- a/third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.cc
+++ b/third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.cc
@@ -182,6 +182,8 @@
   container_builder_.SetDirection(constraint_space_->Direction());
   container_builder_.SetWritingMode(constraint_space_->WritingMode());
   container_builder_.SetSize(size);
+  container_builder_.MutableUnpositionedFloats() =
+      constraint_space_->UnpositionedFloats();
 
   NGBlockChildIterator child_iterator(Node()->FirstChild(), BreakToken());
   NGBlockChildIterator::Entry entry = child_iterator.NextChild();
@@ -221,10 +223,14 @@
     if (child->IsBlock()) {
       EPosition position = child->Style().GetPosition();
       if (position == EPosition::kAbsolute || position == EPosition::kFixed) {
-        // TODO(ikilpatrick): curr_margin_strut_ shouldn't be included if there
-        // is no content size yet? See floats-wrap-inside-inline-006.
         NGLogicalOffset offset = {border_and_padding_.inline_start,
-                                  content_size_ + curr_margin_strut_.Sum()};
+                                  content_size_};
+
+        // We only include the margin strut in the OOF static-position if we
+        // know we aren't going to be a zero-block-size fragment.
+        if (container_builder_.BfcOffset())
+          offset.block_offset += curr_margin_strut_.Sum();
+
         container_builder_.AddOutOfFlowChildCandidate(ToNGBlockNode(child),
                                                       offset);
         NGBlockChildIterator::Entry entry = child_iterator.NextChild();
@@ -389,7 +395,7 @@
   else if (IsLegacyBlock(*child))
     child_bfc_offset = PositionLegacy(child_space);
   else if (container_builder_.BfcOffset())
-    child_bfc_offset = PositionWithParentBfc();
+    child_bfc_offset = PositionWithParentBfc(fragment);
 
   NGLogicalOffset logical_offset = CalculateLogicalOffset(child_bfc_offset);
 
@@ -471,10 +477,19 @@
   return fragment.BfcOffset().value();
 }
 
-NGLogicalOffset NGBlockLayoutAlgorithm::PositionWithParentBfc() {
+NGLogicalOffset NGBlockLayoutAlgorithm::PositionWithParentBfc(
+    const NGBoxFragment& fragment) {
+  // The child must be an in-flow zero-block-size fragment, use its end margin
+  // strut for positioning.
+  DCHECK(!fragment.BfcOffset());
+  DCHECK_EQ(fragment.BlockSize(), LayoutUnit());
+
+  NGMarginStrut margin_strut = fragment.EndMarginStrut();
+  margin_strut.Append(curr_child_margins_.block_end);
+
   curr_bfc_offset_ +=
       {border_and_padding_.inline_start + curr_child_margins_.inline_start,
-       curr_margin_strut_.Sum()};
+       margin_strut.Sum()};
   return curr_bfc_offset_;
 }
 
@@ -584,6 +599,11 @@
   space_builder_.SetMarginStrut(child->IsFloating() ? NGMarginStrut()
                                                     : curr_margin_strut_);
 
+  if (!is_new_bfc) {
+    space_builder_.SetUnpositionedFloats(
+        container_builder_.MutableUnpositionedFloats());
+  }
+
   if (child->IsInline()) {
     // TODO(kojii): Setup space_builder_ appropriately for inline child.
     space_builder_.SetClearanceOffset(ConstraintSpace().ClearanceOffset());
diff --git a/third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.h b/third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.h
index 870d2bc..d1bf12a1 100644
--- a/third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.h
+++ b/third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.h
@@ -95,7 +95,7 @@
   //   BFC Offset is known here because of the padding.
   //   <div style="padding: 1px">
   //     <div id="empty-div" style="margins: 1px"></div>
-  NGLogicalOffset PositionWithParentBfc();
+  NGLogicalOffset PositionWithParentBfc(const NGBoxFragment&);
 
   NGLogicalOffset PositionLegacy(const NGConstraintSpace& child_space);
 
diff --git a/third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm_test.cc b/third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm_test.cc
index 6a43153e..9344257 100644
--- a/third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm_test.cc
+++ b/third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm_test.cc
@@ -986,7 +986,10 @@
   auto* container_fragment =
       ToNGPhysicalBoxFragment(body_fragment->Children()[0].Get());
   ASSERT_EQ(1UL, container_fragment->Children().size());
-  ASSERT_EQ(4UL, container_fragment->PositionedFloats().size());
+  auto* regular_fragment =
+      ToNGPhysicalBoxFragment(container_fragment->Children()[0].Get());
+  ASSERT_EQ(2UL, container_fragment->PositionedFloats().size());
+  ASSERT_EQ(2UL, regular_fragment->PositionedFloats().size());
 
   // ** Verify layout tree **
   Element* left_float = GetDocument().getElementById("left-float");
@@ -994,7 +997,7 @@
   int left_float_block_offset = 8;
   EXPECT_EQ(left_float_block_offset, left_float->OffsetTop());
   auto left_float_fragment =
-      container_fragment->PositionedFloats().at(0)->fragment;
+      regular_fragment->PositionedFloats().at(0)->fragment;
   EXPECT_THAT(LayoutUnit(), left_float_fragment->TopOffset());
 
   Element* left_wide_float = GetDocument().getElementById("left-wide-float");
@@ -1004,7 +1007,7 @@
   int left_wide_float_block_offset = 38;
   EXPECT_EQ(left_wide_float_block_offset, left_wide_float->OffsetTop());
   auto left_wide_float_fragment =
-      container_fragment->PositionedFloats().at(1)->fragment;
+      regular_fragment->PositionedFloats().at(1)->fragment;
   // 30 = left-float's height.
   EXPECT_THAT(LayoutUnit(30), left_wide_float_fragment->TopOffset());
 
@@ -1025,7 +1028,7 @@
   EXPECT_EQ(right_float_inline_offset, right_float->OffsetLeft());
   EXPECT_EQ(right_float_block_offset, right_float->OffsetTop());
   auto right_float_fragment =
-      container_fragment->PositionedFloats().at(2)->fragment;
+      container_fragment->PositionedFloats().at(0)->fragment;
   // 60 = right_float_block_offset(68) - body's margin(8)
   EXPECT_THAT(LayoutUnit(right_float_block_offset - 8),
               right_float_fragment->TopOffset());
@@ -1045,7 +1048,7 @@
   EXPECT_EQ(left_float_with_margin_block_offset,
             left_float_with_margin->OffsetTop());
   auto left_float_with_margin_fragment =
-      container_fragment->PositionedFloats().at(3)->fragment;
+      container_fragment->PositionedFloats().at(1)->fragment;
   // 70 = left_float_with_margin_block_offset(78) - body's margin(8)
   EXPECT_THAT(LayoutUnit(left_float_with_margin_block_offset - 8),
               left_float_with_margin_fragment->TopOffset());
diff --git a/third_party/WebKit/Source/core/layout/ng/ng_constraint_space.cc b/third_party/WebKit/Source/core/layout/ng/ng_constraint_space.cc
index d8bc3d283..4f232bc2 100644
--- a/third_party/WebKit/Source/core/layout/ng/ng_constraint_space.cc
+++ b/third_party/WebKit/Source/core/layout/ng/ng_constraint_space.cc
@@ -29,6 +29,7 @@
     const NGMarginStrut& margin_strut,
     const NGLogicalOffset& bfc_offset,
     const std::shared_ptr<NGExclusions>& exclusions,
+    Vector<RefPtr<NGFloatingObject>>& unpositioned_floats,
     const WTF::Optional<LayoutUnit>& clearance_offset)
     : available_size_(available_size),
       percentage_resolution_size_(percentage_resolution_size),
@@ -50,7 +51,9 @@
       bfc_offset_(bfc_offset),
       exclusions_(exclusions),
       clearance_offset_(clearance_offset),
-      layout_opp_iter_(nullptr) {}
+      layout_opp_iter_(nullptr) {
+  unpositioned_floats_.swap(unpositioned_floats);
+}
 
 RefPtr<NGConstraintSpace> NGConstraintSpace::CreateFromLayoutObject(
     const LayoutBox& box) {
diff --git a/third_party/WebKit/Source/core/layout/ng/ng_constraint_space.h b/third_party/WebKit/Source/core/layout/ng/ng_constraint_space.h
index f608317..7b62d17 100644
--- a/third_party/WebKit/Source/core/layout/ng/ng_constraint_space.h
+++ b/third_party/WebKit/Source/core/layout/ng/ng_constraint_space.h
@@ -11,6 +11,7 @@
 #include "core/layout/ng/geometry/ng_margin_strut.h"
 #include "core/layout/ng/geometry/ng_physical_size.h"
 #include "core/layout/ng/ng_exclusion.h"
+#include "core/layout/ng/ng_floating_object.h"
 #include "core/layout/ng/ng_layout_opportunity_iterator.h"
 #include "core/layout/ng/ng_writing_mode.h"
 #include "platform/heap/Handle.h"
@@ -124,6 +125,10 @@
 
   NGLogicalOffset BfcOffset() const { return bfc_offset_; }
 
+  Vector<RefPtr<NGFloatingObject>>& UnpositionedFloats() {
+    return unpositioned_floats_;
+  }
+
   WTF::Optional<LayoutUnit> ClearanceOffset() const {
     return clearance_offset_;
   }
@@ -150,6 +155,7 @@
                     const NGMarginStrut& margin_strut,
                     const NGLogicalOffset& bfc_offset,
                     const std::shared_ptr<NGExclusions>& exclusions,
+                    Vector<RefPtr<NGFloatingObject>>& unpositioned_floats,
                     const WTF::Optional<LayoutUnit>& clearance_offset);
 
   NGPhysicalSize InitialContainingBlockSize() const {
@@ -186,6 +192,7 @@
   const std::shared_ptr<NGExclusions> exclusions_;
   WTF::Optional<LayoutUnit> clearance_offset_;
   std::unique_ptr<NGLayoutOpportunityIterator> layout_opp_iter_;
+  Vector<RefPtr<NGFloatingObject>> unpositioned_floats_;
 };
 
 inline std::ostream& operator<<(std::ostream& stream,
diff --git a/third_party/WebKit/Source/core/layout/ng/ng_constraint_space_builder.cc b/third_party/WebKit/Source/core/layout/ng/ng_constraint_space_builder.cc
index a708809..59cbb0a4 100644
--- a/third_party/WebKit/Source/core/layout/ng/ng_constraint_space_builder.cc
+++ b/third_party/WebKit/Source/core/layout/ng/ng_constraint_space_builder.cc
@@ -137,6 +137,12 @@
   return *this;
 }
 
+NGConstraintSpaceBuilder& NGConstraintSpaceBuilder::SetUnpositionedFloats(
+    Vector<RefPtr<NGFloatingObject>>& unpositioned_floats) {
+  unpositioned_floats_.swap(unpositioned_floats);
+  return *this;
+}
+
 RefPtr<NGConstraintSpace> NGConstraintSpaceBuilder::ToConstraintSpace(
     NGWritingMode out_writing_mode) {
   // Whether the child and the containing block are parallel to each other.
@@ -176,6 +182,8 @@
   // Reset things that do not pass the Formatting Context boundary.
   std::shared_ptr<NGExclusions> exclusions(
       is_new_fc_ ? std::make_shared<NGExclusions>() : exclusions_);
+  if (is_new_fc_)
+    DCHECK(unpositioned_floats_.IsEmpty());
   NGLogicalOffset bfc_offset = is_new_fc_ ? NGLogicalOffset() : bfc_offset_;
   NGMarginStrut margin_strut = is_new_fc_ ? NGMarginStrut() : margin_strut_;
   WTF::Optional<LayoutUnit> clearance_offset =
@@ -191,7 +199,8 @@
         is_inline_direction_triggers_scrollbar_,
         is_block_direction_triggers_scrollbar_,
         static_cast<NGFragmentationType>(fragmentation_type_), is_new_fc_,
-        is_anonymous_, margin_strut, bfc_offset, exclusions, clearance_offset));
+        is_anonymous_, margin_strut, bfc_offset, exclusions,
+        unpositioned_floats_, clearance_offset));
   }
   return AdoptRef(new NGConstraintSpace(
       out_writing_mode, static_cast<TextDirection>(text_direction_),
@@ -201,7 +210,8 @@
       is_block_direction_triggers_scrollbar_,
       is_inline_direction_triggers_scrollbar_,
       static_cast<NGFragmentationType>(fragmentation_type_), is_new_fc_,
-      is_anonymous_, margin_strut, bfc_offset, exclusions, clearance_offset));
+      is_anonymous_, margin_strut, bfc_offset, exclusions, unpositioned_floats_,
+      clearance_offset));
 }
 
 }  // namespace blink
diff --git a/third_party/WebKit/Source/core/layout/ng/ng_constraint_space_builder.h b/third_party/WebKit/Source/core/layout/ng/ng_constraint_space_builder.h
index 2af3482..f424cd1 100644
--- a/third_party/WebKit/Source/core/layout/ng/ng_constraint_space_builder.h
+++ b/third_party/WebKit/Source/core/layout/ng/ng_constraint_space_builder.h
@@ -6,6 +6,7 @@
 #define NGConstraintSpaceBuilder_h
 
 #include "core/layout/ng/ng_constraint_space.h"
+#include "core/layout/ng/ng_floating_object.h"
 #include "platform/wtf/Allocator.h"
 #include "platform/wtf/Optional.h"
 
@@ -47,6 +48,9 @@
   NGConstraintSpaceBuilder& SetIsNewFormattingContext(bool is_new_fc);
   NGConstraintSpaceBuilder& SetIsAnonymous(bool is_anonymous);
 
+  NGConstraintSpaceBuilder& SetUnpositionedFloats(
+      Vector<RefPtr<NGFloatingObject>>& unpositioned_floats);
+
   NGConstraintSpaceBuilder& SetMarginStrut(const NGMarginStrut& margin_strut);
 
   NGConstraintSpaceBuilder& SetBfcOffset(const NGLogicalOffset& offset);
@@ -87,6 +91,7 @@
   NGLogicalOffset bfc_offset_;
   std::shared_ptr<NGExclusions> exclusions_;
   WTF::Optional<LayoutUnit> clearance_offset_;
+  Vector<RefPtr<NGFloatingObject>> unpositioned_floats_;
 };
 
 }  // namespace blink
diff --git a/third_party/WebKit/Source/core/layout/ng/ng_floating_object.h b/third_party/WebKit/Source/core/layout/ng/ng_floating_object.h
index 619f9cf..bf8e009 100644
--- a/third_party/WebKit/Source/core/layout/ng/ng_floating_object.h
+++ b/third_party/WebKit/Source/core/layout/ng/ng_floating_object.h
@@ -8,7 +8,6 @@
 #include "core/layout/ng/geometry/ng_box_strut.h"
 #include "core/layout/ng/geometry/ng_logical_size.h"
 #include "core/layout/ng/ng_block_node.h"
-#include "core/layout/ng/ng_constraint_space.h"
 #include "core/layout/ng/ng_exclusion.h"
 #include "core/layout/ng/ng_physical_fragment.h"
 #include "core/style/ComputedStyle.h"
diff --git a/third_party/WebKit/Source/core/layout/ng/ng_space_utils_test.cc b/third_party/WebKit/Source/core/layout/ng/ng_space_utils_test.cc
index bed78790..ad76fa3441 100644
--- a/third_party/WebKit/Source/core/layout/ng/ng_space_utils_test.cc
+++ b/third_party/WebKit/Source/core/layout/ng/ng_space_utils_test.cc
@@ -5,6 +5,7 @@
 #include "core/layout/ng/ng_space_utils.h"
 
 #include "core/layout/ng/ng_base_layout_algorithm_test.h"
+#include "core/layout/ng/ng_block_node.h"
 #include "core/style/ComputedStyle.h"
 
 namespace blink {
diff --git a/third_party/WebKit/Source/core/testing/OriginTrialsTest.cpp b/third_party/WebKit/Source/core/testing/OriginTrialsTest.cpp
index d2e920b..52d08db 100644
--- a/third_party/WebKit/Source/core/testing/OriginTrialsTest.cpp
+++ b/third_party/WebKit/Source/core/testing/OriginTrialsTest.cpp
@@ -11,15 +11,6 @@
 
 namespace blink {
 
-bool OriginTrialsTest::normalAttribute() {
-  return true;
-}
-
-// static
-bool OriginTrialsTest::staticAttribute() {
-  return true;
-}
-
 bool OriginTrialsTest::throwingAttribute(ScriptState* script_state,
                                          ExceptionState& exception_state) {
   String error_message;
@@ -33,10 +24,6 @@
   return unconditionalAttribute();
 }
 
-bool OriginTrialsTest::unconditionalAttribute() {
-  return true;
-}
-
 DEFINE_TRACE(OriginTrialsTest) {}
 
 }  // namespace blink
diff --git a/third_party/WebKit/Source/core/testing/OriginTrialsTest.h b/third_party/WebKit/Source/core/testing/OriginTrialsTest.h
index ae800bc2..3dac470 100644
--- a/third_party/WebKit/Source/core/testing/OriginTrialsTest.h
+++ b/third_party/WebKit/Source/core/testing/OriginTrialsTest.h
@@ -24,13 +24,29 @@
   static OriginTrialsTest* Create() { return new OriginTrialsTest(); }
   virtual ~OriginTrialsTest() = default;
 
-  bool normalAttribute();
-  static bool staticAttribute();
+  bool normalAttribute() { return true; }
+  static bool staticAttribute() { return true; }
+  bool normalMethod() { return true; }
+  static bool staticMethod() { return true; }
+  static const unsigned short kConstant = 1;
 
   bool throwingAttribute(ScriptState*, ExceptionState&);
-  bool unconditionalAttribute();
 
-  static const unsigned short kConstant = 1;
+  bool unconditionalAttribute() { return true; }
+  static bool staticUnconditionalAttribute() { return true; }
+  bool unconditionalMethod() { return true; }
+  static bool staticUnconditionalMethod() { return true; }
+  static const unsigned short kUnconditionalConstant = 99;
+
+  bool secureUnconditionalAttribute() { return true; }
+  static bool secureStaticUnconditionalAttribute() { return true; }
+  bool secureUnconditionalMethod() { return true; }
+  static bool secureStaticUnconditionalMethod() { return true; }
+
+  bool secureAttribute() { return true; }
+  static bool secureStaticAttribute() { return true; }
+  bool secureMethod() { return true; }
+  static bool secureStaticMethod() { return true; }
 
   DECLARE_TRACE();
 
diff --git a/third_party/WebKit/Source/core/testing/OriginTrialsTest.idl b/third_party/WebKit/Source/core/testing/OriginTrialsTest.idl
index 626b421..27b0573d 100644
--- a/third_party/WebKit/Source/core/testing/OriginTrialsTest.idl
+++ b/third_party/WebKit/Source/core/testing/OriginTrialsTest.idl
@@ -5,16 +5,37 @@
 interface OriginTrialsTest {
     [OriginTrialEnabled=OriginTrialsSampleAPI] readonly attribute boolean normalAttribute;
     [OriginTrialEnabled=OriginTrialsSampleAPI] static readonly attribute boolean staticAttribute;
+    [OriginTrialEnabled=OriginTrialsSampleAPI] boolean normalMethod();
+    [OriginTrialEnabled=OriginTrialsSampleAPI] static boolean staticMethod();
     [OriginTrialEnabled=OriginTrialsSampleAPI] const unsigned short CONSTANT = 1;
 
     // This attribute uses native code to test whether the trial is enabled,
     // and throws an exception in JavaScript if it is not.
     [CallWith=ScriptState, RaisesException] readonly attribute boolean throwingAttribute;
 
-    // This attribute is available whether or not the trial is enabled.
+    // These are available whether or not the trial is enabled.
     readonly attribute boolean unconditionalAttribute;
+    static readonly attribute boolean staticUnconditionalAttribute;
+    boolean unconditionalMethod();
+    static boolean staticUnconditionalMethod();
+    const unsigned short UNCONDITIONAL_CONSTANT = 99;
 
-    // This attribute mirrors |unconditionalAttribute| above, but should only be
-    // available if the trial is enabled.
-    [OriginTrialEnabled=OriginTrialsSampleAPI, ImplementedAs=unconditionalAttribute] readonly attribute boolean bindingsTest;
+    // These are available whether or not the trial is enabled, but only in a
+    // secure context
+    // TODO(crbug.com/695123): Add [SecureContext] extended attribute when fixed
+    //   to work with [OriginTrialEnabled]
+    readonly attribute boolean secureUnconditionalAttribute;
+    static readonly attribute boolean secureStaticUnconditionalAttribute;
+    boolean secureUnconditionalMethod();
+    static boolean secureStaticUnconditionalMethod();
+
+    // These are only available if the trial is enabled, as well as in secure
+    // context.
+    // TODO(crbug.com/695123): Add [SecureContext] extended attribute when fixed
+    //   to work with [OriginTrialEnabled]
+    //   e.g. [SecureContext, OriginTrialEnabled=OriginTrialsSampleAPI]
+    [OriginTrialEnabled=OriginTrialsSampleAPI] readonly attribute boolean secureAttribute;
+    [OriginTrialEnabled=OriginTrialsSampleAPI] static readonly attribute boolean secureStaticAttribute;
+    [OriginTrialEnabled=OriginTrialsSampleAPI] boolean secureMethod();
+    [OriginTrialEnabled=OriginTrialsSampleAPI] static boolean secureStaticMethod();
 };
diff --git a/third_party/WebKit/Source/core/testing/OriginTrialsTestPartial.h b/third_party/WebKit/Source/core/testing/OriginTrialsTestPartial.h
index 16cbb512..b0d673a 100644
--- a/third_party/WebKit/Source/core/testing/OriginTrialsTestPartial.h
+++ b/third_party/WebKit/Source/core/testing/OriginTrialsTestPartial.h
@@ -19,9 +19,13 @@
  public:
   static bool normalAttributePartial(OriginTrialsTest&) { return true; }
   static bool staticAttributePartial() { return true; }
-  static bool methodPartial(OriginTrialsTest&) { return true; }
+  static bool normalMethodPartial(OriginTrialsTest&) { return true; }
   static bool staticMethodPartial() { return true; }
   static const unsigned kConstantPartial = 2;
+  static bool secureAttributePartial(OriginTrialsTest&) { return true; }
+  static bool secureStaticAttributePartial() { return true; }
+  static bool secureMethodPartial(OriginTrialsTest&) { return true; }
+  static bool secureStaticMethodPartial() { return true; }
 };
 
 }  // namespace blink
diff --git a/third_party/WebKit/Source/core/testing/OriginTrialsTestPartial.idl b/third_party/WebKit/Source/core/testing/OriginTrialsTestPartial.idl
index 7d929b7..bd4fb366 100644
--- a/third_party/WebKit/Source/core/testing/OriginTrialsTestPartial.idl
+++ b/third_party/WebKit/Source/core/testing/OriginTrialsTestPartial.idl
@@ -9,7 +9,14 @@
     const unsigned short CONSTANT_PARTIAL = 2;
     readonly attribute boolean normalAttributePartial;
     static readonly attribute boolean staticAttributePartial;
-    boolean methodPartial();
+    boolean normalMethodPartial();
     static boolean staticMethodPartial();
-};
 
+    // These are only available in a secure context.
+    // TODO(crbug.com/695123): Add [SecureContext] extended attribute when fixed
+    //   to work with [OriginTrialEnabled]
+    readonly attribute boolean secureAttributePartial;
+    static readonly attribute boolean secureStaticAttributePartial;
+    boolean secureMethodPartial();
+    static boolean secureStaticMethodPartial();
+};
diff --git a/third_party/WebKit/Source/devtools/BUILD.gn b/third_party/WebKit/Source/devtools/BUILD.gn
index 895a750a..afcc9d2e 100644
--- a/third_party/WebKit/Source/devtools/BUILD.gn
+++ b/third_party/WebKit/Source/devtools/BUILD.gn
@@ -150,6 +150,7 @@
   "front_end/cookie_table/CookiesTable.js",
   "front_end/cookie_table/module.json",
   "front_end/coverage/coverageListView.css",
+  "front_end/coverage/CoverageDecorationManager.js",
   "front_end/coverage/CoverageListView.js",
   "front_end/coverage/CoverageModel.js",
   "front_end/coverage/coverageView.css",
@@ -376,6 +377,9 @@
   "front_end/perf_ui/TimelineOverviewPane.js",
   "front_end/persistence/Automapping.js",
   "front_end/persistence/DefaultMapping.js",
+  "front_end/persistence/editFileSystemView.css",
+  "front_end/persistence/EditFileSystemView.js",
+  "front_end/persistence/FileSystemMapping.js",
   "front_end/persistence/FileSystemWorkspaceBinding.js",
   "front_end/persistence/Persistence.js",
   "front_end/persistence/PersistenceUtils.js",
@@ -506,8 +510,6 @@
   "front_end/security/SecurityPanel.js",
   "front_end/security/sidebar.css",
   "front_end/services/ServiceManager.js",
-  "front_end/settings/editFileSystemView.css",
-  "front_end/settings/EditFileSystemView.js",
   "front_end/settings/frameworkBlackboxSettingsTab.css",
   "front_end/settings/FrameworkBlackboxSettingsTab.js",
   "front_end/settings/module.json",
@@ -715,7 +717,6 @@
   "front_end/utility_shared_worker/TempStorage.js",
   "front_end/worker_service/ServiceDispatcher.js",
   "front_end/workspace/FileManager.js",
-  "front_end/workspace/FileSystemMapping.js",
   "front_end/workspace/IsolatedFileSystem.js",
   "front_end/workspace/IsolatedFileSystemManager.js",
   "front_end/workspace/module.json",
diff --git a/third_party/WebKit/Source/devtools/front_end/audits/module.json b/third_party/WebKit/Source/devtools/front_end/audits/module.json
index 71b1e8b..8459091 100644
--- a/third_party/WebKit/Source/devtools/front_end/audits/module.json
+++ b/third_party/WebKit/Source/devtools/front_end/audits/module.json
@@ -4,10 +4,20 @@
             "type": "view",
             "location": "panel",
             "id": "audits",
+            "title": "Audits",
+            "order": 90,
+            "className": "Audits.AuditsPanel",
+            "experiment": "!audits2"
+        },
+        {
+            "type": "view",
+            "location": "panel",
+            "id": "audits",
             "title": "Legacy Audits",
             "order": 90,
             "persistence": "closeable",
-            "className": "Audits.AuditsPanel"
+            "className": "Audits.AuditsPanel",
+            "experiment": "audits2"
         }
     ],
     "dependencies": [
diff --git a/third_party/WebKit/Source/devtools/front_end/audits2/module.json b/third_party/WebKit/Source/devtools/front_end/audits2/module.json
index 1806d3b1c..640c195 100644
--- a/third_party/WebKit/Source/devtools/front_end/audits2/module.json
+++ b/third_party/WebKit/Source/devtools/front_end/audits2/module.json
@@ -6,7 +6,8 @@
             "id": "audits2",
             "title": "Audits",
             "order": 90,
-            "className": "Audits2.Audits2Panel"
+            "className": "Audits2.Audits2Panel",
+            "experiment": "audits2"
         }
     ],
     "dependencies": [
diff --git a/third_party/WebKit/Source/devtools/front_end/coverage/CoverageDecorationManager.js b/third_party/WebKit/Source/devtools/front_end/coverage/CoverageDecorationManager.js
new file mode 100644
index 0000000..351cfa1
--- /dev/null
+++ b/third_party/WebKit/Source/devtools/front_end/coverage/CoverageDecorationManager.js
@@ -0,0 +1,218 @@
+// 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.
+
+/**
+ * @typedef {!{
+ *    id: string,
+ *    contentProvider: !Common.ContentProvider,
+ *    line: number,
+ *    column: number
+ * }}
+ */
+Coverage.RawLocation;
+
+Coverage.CoverageDecorationManager = class {
+  /**
+   * @param {!Coverage.CoverageModel} coverageModel
+   */
+  constructor(coverageModel) {
+    this._coverageModel = coverageModel;
+    /** @type {!Map<!Common.ContentProvider, ?TextUtils.Text>} */
+    this._textByProvider = new Map();
+    /** @type {!Multimap<!Common.ContentProvider, !Workspace.UISourceCode>} */
+    this._uiSourceCodeByContentProvider = new Multimap();
+
+    for (var uiSourceCode of Workspace.workspace.uiSourceCodes())
+      uiSourceCode.addLineDecoration(0, Coverage.CoverageDecorationManager._decoratorType, this);
+    Workspace.workspace.addEventListener(Workspace.Workspace.Events.UISourceCodeAdded, this._onUISourceCodeAdded, this);
+  }
+
+  dispose() {
+    for (var uiSourceCode of Workspace.workspace.uiSourceCodes())
+      uiSourceCode.removeDecorationsForType(Coverage.CoverageDecorationManager._decoratorType);
+    Workspace.workspace.removeEventListener(
+        Workspace.Workspace.Events.UISourceCodeAdded, this._onUISourceCodeAdded, this);
+  }
+
+  /**
+   * @param {!Array<!Coverage.CoverageInfo>} updatedEntries
+   */
+  update(updatedEntries) {
+    for (var entry of updatedEntries) {
+      for (var uiSourceCode of this._uiSourceCodeByContentProvider.get(entry.contentProvider())) {
+        uiSourceCode.removeDecorationsForType(Coverage.CoverageDecorationManager._decoratorType);
+        uiSourceCode.addLineDecoration(0, Coverage.CoverageDecorationManager._decoratorType, this);
+      }
+    }
+  }
+
+  /**
+   * @param {!Workspace.UISourceCode} uiSourceCode
+   * @return {!Promise<!Array<boolean>>}
+   */
+  async usageByLine(uiSourceCode) {
+    var result = [];
+    var sourceText = new TextUtils.Text(uiSourceCode.content() || '');
+    await this._updateTexts(uiSourceCode, sourceText);
+    var lineEndings = sourceText.lineEndings();
+    for (var line = 0; line < sourceText.lineCount(); ++line) {
+      var lineLength = lineEndings[line] - (line ? lineEndings[line - 1] : 0) - 1;
+      if (!lineLength) {
+        result.push(false);
+        continue;
+      }
+      var startLocations = this._rawLocationsForSourceLocation(uiSourceCode, line, 0);
+      var endLocations = this._rawLocationsForSourceLocation(uiSourceCode, line, lineLength);
+      var used = false;
+      for (var startIndex = 0, endIndex = 0; startIndex < startLocations.length; ++startIndex) {
+        var start = startLocations[startIndex];
+        while (endIndex < endLocations.length &&
+               Coverage.CoverageDecorationManager._compareLocations(start, endLocations[endIndex]) >= 0)
+          ++endIndex;
+        if (endIndex >= endLocations.length || endLocations[endIndex].id !== start.id)
+          continue;
+        var end = endLocations[endIndex++];
+        var text = this._textByProvider.get(end.contentProvider);
+        if (!text)
+          continue;
+        var textValue = text.value();
+        var startOffset = text.offsetFromPosition(start.line, start.column);
+        var endOffset = text.offsetFromPosition(end.line, end.column);
+        while (startOffset <= endOffset && /\s/.test(textValue[startOffset]))
+          ++startOffset;
+        while (startOffset <= endOffset && /\s/.test(textValue[endOffset]))
+          --endOffset;
+        used =
+            startOffset <= endOffset && this._coverageModel.usageForRange(end.contentProvider, startOffset, endOffset);
+        if (used)
+          break;
+      }
+      result.push(used);
+    }
+    return result;
+  }
+
+  /**
+   * @param {!Workspace.UISourceCode} uiSourceCode
+   * @param {!TextUtils.Text} text
+   * @return {!Promise}
+   */
+  _updateTexts(uiSourceCode, text) {
+    var promises = [];
+    for (var line = 0; line < text.lineCount(); ++line) {
+      for (var entry of this._rawLocationsForSourceLocation(uiSourceCode, line, 0)) {
+        if (this._textByProvider.has(entry.contentProvider))
+          continue;
+        this._textByProvider.set(entry.contentProvider, null);
+        this._uiSourceCodeByContentProvider.set(entry.contentProvider, uiSourceCode);
+        promises.push(this._updateTextForProvider(entry.contentProvider));
+      }
+    }
+    return Promise.all(promises);
+  }
+
+  /**
+   * @param {!Common.ContentProvider} contentProvider
+   * @return {!Promise}
+   */
+  async _updateTextForProvider(contentProvider) {
+    var content = await contentProvider.requestContent();
+    this._textByProvider.set(contentProvider, new TextUtils.Text(content));
+  }
+
+  /**
+   * @param {!Workspace.UISourceCode} uiSourceCode
+   * @param {number} line
+   * @param {number} column
+   * @return {!Array<!Coverage.RawLocation>}
+   */
+  _rawLocationsForSourceLocation(uiSourceCode, line, column) {
+    var result = [];
+    var contentType = uiSourceCode.contentType();
+    if (contentType.hasScripts()) {
+      var location = Bindings.debuggerWorkspaceBinding.uiLocationToRawLocation(uiSourceCode, line, column);
+      if (location && location.script()) {
+        result.push({
+          id: `js:${location.scriptId}`,
+          contentProvider: location.script(),
+          line: location.lineNumber,
+          column: location.columnNumber
+        });
+      }
+    }
+    if (contentType.isStyleSheet() || contentType.isDocument()) {
+      var rawStyleLocations =
+          Bindings.cssWorkspaceBinding.uiLocationToRawLocations(new Workspace.UILocation(uiSourceCode, line, column));
+      for (var location of rawStyleLocations) {
+        if (!location.header())
+          continue;
+        result.push({
+          id: `css:${location.styleSheetId}`,
+          contentProvider: location.header(),
+          line: location.lineNumber,
+          column: location.columnNumber
+        });
+      }
+    }
+    result.sort(Coverage.CoverageDecorationManager._compareLocations);
+    return result;
+  }
+
+  /**
+   * @param {!Coverage.RawLocation} a
+   * @param {!Coverage.RawLocation} b
+   */
+  static _compareLocations(a, b) {
+    return a.id.localeCompare(b.id) || a.line - b.line || a.column - b.column;
+  }
+
+  /**
+   * @param {!Common.Event} event
+   */
+  _onUISourceCodeAdded(event) {
+    var uiSourceCode = /** @type !Workspace.UISourceCode */ (event.data);
+    uiSourceCode.addLineDecoration(0, Coverage.CoverageDecorationManager._decoratorType, this);
+  }
+};
+
+Coverage.CoverageDecorationManager._decoratorType = 'coverage';
+
+/**
+ * @implements {SourceFrame.UISourceCodeFrame.LineDecorator}
+ */
+Coverage.CoverageView.LineDecorator = class {
+  /**
+   * @override
+   * @param {!Workspace.UISourceCode} uiSourceCode
+   * @param {!TextEditor.CodeMirrorTextEditor} textEditor
+   */
+  decorate(uiSourceCode, textEditor) {
+    var decorations = uiSourceCode.decorationsForType(Coverage.CoverageDecorationManager._decoratorType);
+    if (!decorations.size) {
+      textEditor.uninstallGutter(Coverage.CoverageView.LineDecorator._gutterType);
+      return;
+    }
+    var decorationManager =
+        /** @type {!Coverage.CoverageDecorationManager} */ (decorations.values().next().value.data());
+    decorationManager.usageByLine(uiSourceCode).then(lineUsage => {
+      textEditor.operation(() => this._innerDecorate(textEditor, lineUsage));
+    });
+  }
+
+  /**
+   * @param {!TextEditor.CodeMirrorTextEditor} textEditor
+   * @param {!Array<boolean>} lineUsage
+   */
+  _innerDecorate(textEditor, lineUsage) {
+    var gutterType = Coverage.CoverageView.LineDecorator._gutterType;
+    textEditor.uninstallGutter(gutterType);
+    textEditor.installGutter(gutterType, false);
+    for (var line = 0; line < lineUsage.length; ++line) {
+      var className = lineUsage[line] ? 'text-editor-coverage-used-marker' : 'text-editor-coverage-unused-marker';
+      textEditor.setGutterDecoration(line, gutterType, createElementWithClass('div', className));
+    }
+  }
+};
+
+Coverage.CoverageView.LineDecorator._gutterType = 'CodeMirror-gutter-coverage';
\ No newline at end of file
diff --git a/third_party/WebKit/Source/devtools/front_end/coverage/CoverageListView.js b/third_party/WebKit/Source/devtools/front_end/coverage/CoverageListView.js
index a7fe3ff1..654120e1 100644
--- a/third_party/WebKit/Source/devtools/front_end/coverage/CoverageListView.js
+++ b/third_party/WebKit/Source/devtools/front_end/coverage/CoverageListView.js
@@ -5,6 +5,8 @@
 Coverage.CoverageListView = class extends UI.VBox {
   constructor() {
     super(true);
+    /** @type {!Map<!Coverage.URLCoverageInfo, !Coverage.CoverageListView.GridNode>} */
+    this._nodeForCoverageInfo = new Map();
     this.registerRequiredCSS('coverage/coverageListView.css');
     var columns = [
       {id: 'url', title: Common.UIString('URL'), width: '300px', fixedWidth: false, sortable: true},
@@ -42,12 +44,27 @@
    * @param {!Array<!Coverage.URLCoverageInfo>} coverageInfo
    */
   update(coverageInfo) {
+    var hadUpdates = false;
     var maxSize = coverageInfo.reduce((acc, entry) => Math.max(acc, entry.size()), 0);
     var rootNode = this._dataGrid.rootNode();
-    rootNode.removeChildren();
-    for (var entry of coverageInfo)
-      rootNode.appendChild(new Coverage.CoverageListView.GridNode(entry, maxSize));
-    this._sortingChanged();
+    for (var entry of coverageInfo) {
+      var node = this._nodeForCoverageInfo.get(entry);
+      if (node) {
+        hadUpdates = node._refreshIfNeeded(maxSize) || hadUpdates;
+        continue;
+      }
+      hadUpdates = true;
+      node = new Coverage.CoverageListView.GridNode(entry, maxSize);
+      this._nodeForCoverageInfo.set(entry, node);
+      rootNode.appendChild(node);
+    }
+    if (hadUpdates)
+      this._sortingChanged();
+  }
+
+  reset() {
+    this._nodeForCoverageInfo.clear();
+    this._dataGrid.rootNode().removeChildren();
   }
 
   /**
@@ -135,7 +152,7 @@
       var nodeA = /** @type {!Coverage.CoverageListView.GridNode} */ (a);
       var nodeB = /** @type {!Coverage.CoverageListView.GridNode} */ (b);
 
-      return nodeA._coverageInfo[fieldName]() - nodeB._coverageInfo[fieldName]();
+      return nodeA._coverageInfo[fieldName]() - nodeB._coverageInfo[fieldName]() || compareURL(a, b);
     }
 
     /**
@@ -148,7 +165,7 @@
       var nodeB = /** @type {!Coverage.CoverageListView.GridNode} */ (b);
       var typeA = Coverage.CoverageListView._typeToString(nodeA._coverageInfo.type());
       var typeB = Coverage.CoverageListView._typeToString(nodeB._coverageInfo.type());
-      return typeA.localeCompare(typeB);
+      return typeA.localeCompare(typeB) || compareURL(a, b);
     }
   }
 
@@ -173,12 +190,27 @@
   constructor(coverageInfo, maxSize) {
     super();
     this._coverageInfo = coverageInfo;
+    /** @type {number|undefined} */
+    this._lastUsedSize;
     this._url = coverageInfo.url();
     this._displayURL = new Common.ParsedURL(this._url).displayName;
     this._maxSize = maxSize;
   }
 
   /**
+   * @param {number} maxSize
+   * @return {boolean}
+   */
+  _refreshIfNeeded(maxSize) {
+    if (this._lastUsedSize === this._coverageInfo.usedSize() && maxSize === this._maxSize)
+      return false;
+    this._lastUsedSize = this._coverageInfo.usedSize();
+    this._maxSize = maxSize;
+    this.refresh();
+    return true;
+  }
+
+  /**
    * @override
    * @param {string} columnId
    * @return {!Element}
diff --git a/third_party/WebKit/Source/devtools/front_end/coverage/CoverageModel.js b/third_party/WebKit/Source/devtools/front_end/coverage/CoverageModel.js
index 8f339c92..c322243 100644
--- a/third_party/WebKit/Source/devtools/front_end/coverage/CoverageModel.js
+++ b/third_party/WebKit/Source/devtools/front_end/coverage/CoverageModel.js
@@ -28,6 +28,8 @@
 
     /** @type {!Map<string, !Coverage.URLCoverageInfo>} */
     this._coverageByURL = new Map();
+    /** @type {!Map<!Common.ContentProvider, !Coverage.CoverageInfo>} */
+    this._coverageByContentProvider = new Map();
   }
 
   /**
@@ -36,33 +38,66 @@
   start() {
     this._coverageByURL.clear();
     if (this._cssModel)
-      this._cssModel.startRuleUsageTracking();
+      this._cssModel.startCoverage();
     if (this._cpuProfilerModel)
       this._cpuProfilerModel.startPreciseCoverage();
     return !!(this._cssModel || this._cpuProfilerModel);
   }
 
   /**
-   * @return {!Promise<!Array<!Coverage.URLCoverageInfo>>}
+   * @return {!Promise<!Array<!Coverage.CoverageInfo>>}
    */
-  async stop() {
-    await Promise.all([this._stopCSSCoverage(), this._stopJSCoverage()]);
+  stop() {
+    var pollPromise = this.poll();
+    if (this._cpuProfilerModel)
+      this._cpuProfilerModel.stopPreciseCoverage();
+    if (this._cssModel)
+      this._cssModel.stopCoverage();
+    return pollPromise;
+  }
+
+  /**
+   * @return {!Promise<!Array<!Coverage.CoverageInfo>>}
+   */
+  async poll() {
+    var updates = await Promise.all([this._takeCSSCoverage(), this._takeJSCoverage()]);
+    return updates[0].concat(updates[1]);
+  }
+
+  /**
+   * @return {!Array<!Coverage.URLCoverageInfo>}
+   */
+  entries() {
     return Array.from(this._coverageByURL.values());
   }
 
-  async _stopJSCoverage() {
+  /**
+   * @param {!Common.ContentProvider} contentProvider
+   * @param {number} startOffset
+   * @param {number} endOffset
+   * @return {boolean|undefined}
+   */
+  usageForRange(contentProvider, startOffset, endOffset) {
+    var coverageInfo = this._coverageByContentProvider.get(contentProvider);
+    return coverageInfo && coverageInfo.usageForRange(startOffset, endOffset);
+  }
+
+  /**
+   * @return {!Promise<!Array<!Coverage.CoverageInfo>>}
+   */
+  async _takeJSCoverage() {
     if (!this._cpuProfilerModel)
-      return;
-    var coveragePromise = this._cpuProfilerModel.takePreciseCoverage();
-    this._cpuProfilerModel.stopPreciseCoverage();
-    var rawCoverageData = await coveragePromise;
-    this._processJSCoverage(rawCoverageData);
+      return [];
+    var rawCoverageData = await this._cpuProfilerModel.takePreciseCoverage();
+    return this._processJSCoverage(rawCoverageData);
   }
 
   /**
    * @param {!Array<!Protocol.Profiler.ScriptCoverage>} scriptsCoverage
+   * @return {!Array<!Coverage.CoverageInfo>}
    */
   _processJSCoverage(scriptsCoverage) {
+    var updatedEntries = [];
     for (var entry of scriptsCoverage) {
       var script = this._debuggerModel.scriptForId(entry.scriptId);
       if (!script)
@@ -72,8 +107,52 @@
         for (var range of func.ranges)
           ranges.push(range);
       }
-      this._addCoverage(script, script.contentLength, script.lineOffset, script.columnOffset, ranges);
+      var entry = this._addCoverage(script, script.contentLength, script.lineOffset, script.columnOffset, ranges);
+      if (entry)
+        updatedEntries.push(entry);
     }
+    return updatedEntries;
+  }
+
+  /**
+   * @return {!Promise<!Array<!Coverage.CoverageInfo>>}
+   */
+  async _takeCSSCoverage() {
+    if (!this._cssModel)
+      return [];
+    var rawCoverageData = await this._cssModel.takeCoverageDelta();
+    return this._processCSSCoverage(rawCoverageData);
+  }
+
+  /**
+   * @param {!Array<!Protocol.CSS.RuleUsage>} ruleUsageList
+   * @return {!Array<!Coverage.CoverageInfo>}
+   */
+  _processCSSCoverage(ruleUsageList) {
+    var updatedEntries = [];
+    /** @type {!Map<!SDK.CSSStyleSheetHeader, !Array<!Coverage.RangeUseCount>>} */
+    var rulesByStyleSheet = new Map();
+    for (var rule of ruleUsageList) {
+      var styleSheetHeader = this._cssModel.styleSheetHeaderForId(rule.styleSheetId);
+      if (!styleSheetHeader)
+        continue;
+      var ranges = rulesByStyleSheet.get(styleSheetHeader);
+      if (!ranges) {
+        ranges = [];
+        rulesByStyleSheet.set(styleSheetHeader, ranges);
+      }
+      ranges.push({startOffset: rule.startOffset, endOffset: rule.endOffset, count: Number(rule.used)});
+    }
+    for (var entry of rulesByStyleSheet) {
+      var styleSheetHeader = /** @type {!SDK.CSSStyleSheetHeader} */ (entry[0]);
+      var ranges = /** @type {!Array<!Coverage.RangeUseCount>} */ (entry[1]);
+      var entry = this._addCoverage(
+          styleSheetHeader, styleSheetHeader.contentLength, styleSheetHeader.startLine, styleSheetHeader.startColumn,
+          ranges);
+      if (entry)
+        updatedEntries.push(entry);
+    }
+    return updatedEntries;
   }
 
   /**
@@ -121,60 +200,34 @@
     return result;
   }
 
-  async _stopCSSCoverage() {
-    if (!this._cssModel)
-      return [];
-
-    var rawCoverageData = await this._cssModel.ruleListPromise();
-    this._processCSSCoverage(rawCoverageData);
-  }
-
-  /**
-   * @param {!Array<!Protocol.CSS.RuleUsage>} ruleUsageList
-   */
-  _processCSSCoverage(ruleUsageList) {
-    /** @type {!Map<!SDK.CSSStyleSheetHeader, !Array<!Coverage.RangeUseCount>>} */
-    var rulesByStyleSheet = new Map();
-    for (var rule of ruleUsageList) {
-      var styleSheetHeader = this._cssModel.styleSheetHeaderForId(rule.styleSheetId);
-      if (!styleSheetHeader)
-        continue;
-      var ranges = rulesByStyleSheet.get(styleSheetHeader);
-      if (!ranges) {
-        ranges = [];
-        rulesByStyleSheet.set(styleSheetHeader, ranges);
-      }
-      ranges.push({startOffset: rule.startOffset, endOffset: rule.endOffset, count: Number(rule.used)});
-    }
-    for (var entry of rulesByStyleSheet) {
-      var styleSheetHeader = /** @type {!SDK.CSSStyleSheetHeader} */ (entry[0]);
-      var ranges = /** @type {!Array<!Coverage.RangeUseCount>} */ (entry[1]);
-      this._addCoverage(
-          styleSheetHeader, styleSheetHeader.contentLength, styleSheetHeader.startLine, styleSheetHeader.startColumn,
-          ranges);
-    }
-  }
-
   /**
    * @param {!Common.ContentProvider} contentProvider
    * @param {number} contentLength
    * @param {number} startLine
    * @param {number} startColumn
    * @param {!Array<!Coverage.RangeUseCount>} ranges
+   * @return {?Coverage.CoverageInfo}
    */
   _addCoverage(contentProvider, contentLength, startLine, startColumn, ranges) {
     var url = contentProvider.contentURL();
     if (!url)
-      return;
-    var entry = this._coverageByURL.get(url);
-    if (!entry) {
-      entry = new Coverage.URLCoverageInfo(url);
-      this._coverageByURL.set(url, entry);
+      return null;
+    var urlCoverage = this._coverageByURL.get(url);
+    if (!urlCoverage) {
+      urlCoverage = new Coverage.URLCoverageInfo(url);
+      this._coverageByURL.set(url, urlCoverage);
     }
+    var coverageInfo = urlCoverage._ensureEntry(contentProvider, contentLength, startLine, startColumn);
+    this._coverageByContentProvider.set(contentProvider, coverageInfo);
     var segments = Coverage.CoverageModel._convertToDisjointSegments(ranges);
     if (segments.length && segments.peekLast().end < contentLength)
       segments.push({end: contentLength});
-    entry.update(contentProvider, contentLength, startLine, startColumn, segments);
+    var oldUsedSize = coverageInfo._usedSize;
+    coverageInfo.mergeCoverage(segments);
+    if (coverageInfo._usedSize === oldUsedSize)
+      return null;
+    urlCoverage._usedSize += coverageInfo._usedSize - oldUsedSize;
+    return coverageInfo;
   }
 };
 
@@ -193,28 +246,6 @@
   }
 
   /**
-   * @param {!Common.ContentProvider} contentProvider
-   * @param {number} contentLength
-   * @param {number} lineOffset
-   * @param {number} columnOffset
-   * @param {!Array<!Coverage.CoverageSegment>} segments
-   */
-  update(contentProvider, contentLength, lineOffset, columnOffset, segments) {
-    var key = `${lineOffset}:${columnOffset}`;
-    var entry = this._coverageInfoByLocation.get(key);
-
-    if (!entry) {
-      entry = new Coverage.CoverageInfo(contentProvider, lineOffset, columnOffset);
-      this._coverageInfoByLocation.set(key, entry);
-      this._size += contentLength;
-      this._type |= entry.type();
-    }
-    this._usedSize -= entry._usedSize;
-    entry.mergeCoverage(segments);
-    this._usedSize += entry._usedSize;
-  }
-
-  /**
    * @return {string}
    */
   url() {
@@ -250,14 +281,23 @@
   }
 
   /**
-   * @return {!Promise<!Array<!{range: !TextUtils.TextRange, count: number}>>}
+   * @param {!Common.ContentProvider} contentProvider
+   * @param {number} contentLength
+   * @param {number} lineOffset
+   * @param {number} columnOffset
+   * @return {!Coverage.CoverageInfo}
    */
-  async buildTextRanges() {
-    var textRangePromises = [];
-    for (var coverageInfo of this._coverageInfoByLocation.values())
-      textRangePromises.push(coverageInfo.buildTextRanges());
-    var allTextRanges = await Promise.all(textRangePromises);
-    return [].concat(...allTextRanges);
+  _ensureEntry(contentProvider, contentLength, lineOffset, columnOffset) {
+    var key = `${lineOffset}:${columnOffset}`;
+    var entry = this._coverageInfoByLocation.get(key);
+
+    if (!entry) {
+      entry = new Coverage.CoverageInfo(contentProvider, lineOffset, columnOffset);
+      this._coverageInfoByLocation.set(key, entry);
+      this._size += contentLength;
+      this._type |= entry.type();
+    }
+    return entry;
   }
 };
 
@@ -286,6 +326,20 @@
   }
 
   /**
+   * @return {!Common.ContentProvider}
+   */
+  contentProvider() {
+    return this._contentProvider;
+  }
+
+  /**
+   * @return {string}
+   */
+  url() {
+    return this._contentProvider.contentURL();
+  }
+
+  /**
    * @return {!Coverage.CoverageType}
    */
   type() {
@@ -301,6 +355,20 @@
   }
 
   /**
+   * @param {number} start
+   * @param {number} end
+   * @return {boolean}
+   */
+  usageForRange(start, end) {
+    var index = this._segments.upperBound(start, (position, segment) => position - segment.end);
+    for (; index < this._segments.length && this._segments[index].end < end; ++index) {
+      if (this._segments[index].count)
+        return true;
+    }
+    return index < this._segments.length && this._segments[index].count;
+  }
+
+  /**
    * @param {!Array<!Coverage.CoverageSegment>} segmentsA
    * @param {!Array<!Coverage.CoverageSegment>} segmentsB
    */
@@ -333,35 +401,6 @@
     return result;
   }
 
-  /**
-   * @return {!Promise<!Array<!{range: !TextUtils.TextRange, count: number}>>}
-   */
-  async buildTextRanges() {
-    var contents = await this._contentProvider.requestContent();
-    if (!contents)
-      return [];
-    var text = new TextUtils.Text(contents);
-    var lastOffset = 0;
-    var result = [];
-    for (var segment of this._segments) {
-      if (!segment.end)
-        continue;
-      var startPosition = text.positionFromOffset(lastOffset);
-      var endPosition = text.positionFromOffset(segment.end);
-      if (!startPosition.lineNumber)
-        startPosition.columnNumber += this._columnOffset;
-      startPosition.lineNumber += this._lineOffset;
-      if (!endPosition.lineNumber)
-        endPosition.columnNumber += this._columnOffset;
-      endPosition.lineNumber += this._lineOffset;
-      var range = new TextUtils.TextRange(
-          startPosition.lineNumber, startPosition.columnNumber, endPosition.lineNumber, endPosition.columnNumber);
-      result.push({count: segment.count || 0, range: range});
-      lastOffset = segment.end;
-    }
-    return result;
-  }
-
   _updateStats() {
     this._usedSize = 0;
 
diff --git a/third_party/WebKit/Source/devtools/front_end/coverage/CoverageView.js b/third_party/WebKit/Source/devtools/front_end/coverage/CoverageView.js
index 66a6f35..084d40a 100644
--- a/third_party/WebKit/Source/devtools/front_end/coverage/CoverageView.js
+++ b/third_party/WebKit/Source/devtools/front_end/coverage/CoverageView.js
@@ -8,6 +8,11 @@
 
     /** @type {?Coverage.CoverageModel} */
     this._model = null;
+    /** @type {number|undefined} */
+    this._pollTimer;
+    /** @type {?Coverage.CoverageDecorationManager} */
+    this._decorationManager = null;
+
     this.registerRequiredCSS('coverage/coverageView.css');
 
     var toolbarContainer = this.contentElement.createChild('div', 'coverage-toolbar-container');
@@ -37,9 +42,11 @@
   }
 
   _reset() {
-    Workspace.workspace.uiSourceCodes().forEach(
-        uiSourceCode => uiSourceCode.removeDecorationsForType(Coverage.CoverageView.LineDecorator.type));
-
+    if (this._decorationManager) {
+      this._decorationManager.dispose();
+      this._decorationManager = null;
+    }
+    this._listView.reset();
     this._listView.detach();
     this._coverageResultsElement.removeChildren();
     this._showHelpScreen();
@@ -91,32 +98,43 @@
     if (!model.start())
       return;
     this._model = model;
+    this._decorationManager = new Coverage.CoverageDecorationManager(model);
     this._toggleRecordAction.setToggled(true);
     this._clearButton.setEnabled(false);
     this._startWithReloadButton.setEnabled(false);
-    this._progressElement.textContent = Common.UIString('Recording...');
+    this._coverageResultsElement.removeChildren();
+    this._listView.show(this._coverageResultsElement);
+    this._poll();
+  }
+
+  async _poll() {
+    delete this._pollTimer;
+    var updates = await this._model.poll();
+    this._updateViews(updates);
+    this._pollTimer = setTimeout(() => this._poll(), 700);
   }
 
   async _stopRecording() {
-    this._toggleRecordAction.setToggled(false);
-    this._progressElement.textContent = Common.UIString('Fetching results...');
-
-    var coverageInfo = await this._model.stop();
+    if (this._pollTimer) {
+      clearTimeout(this._pollTimer);
+      delete this._pollTimer;
+    }
+    var updatedEntries = await this._model.stop();
+    this._updateViews(updatedEntries);
     this._model = null;
-    await this._updateViews(coverageInfo);
+    this._toggleRecordAction.setToggled(false);
     this._startWithReloadButton.setEnabled(true);
     this._clearButton.setEnabled(true);
   }
 
   /**
-   * @param {!Array<!Coverage.URLCoverageInfo>} coverageInfo
+   * @param {!Array<!Coverage.CoverageInfo>} updatedEntries
    */
-  async _updateViews(coverageInfo) {
-    this._updateStats(coverageInfo);
-    this._coverageResultsElement.removeChildren();
-    this._listView.update(coverageInfo);
-    this._listView.show(this._coverageResultsElement);
-    await Promise.all(coverageInfo.map(entry => Coverage.CoverageView._updateGutter(entry)));
+  async _updateViews(updatedEntries) {
+    var urlEntries = this._model.entries();
+    this._updateStats(urlEntries);
+    this._listView.update(urlEntries);
+    this._decorationManager.update(updatedEntries);
   }
 
   /**
@@ -135,65 +153,9 @@
         '%s of %s bytes are not used. (%d%%)', Number.bytesToString(unused), Number.bytesToString(total),
         percentUnused);
   }
-
-  /**
-   * @param {!Coverage.URLCoverageInfo} coverageInfo
-   */
-  static async _updateGutter(coverageInfo) {
-    var uiSourceCode = Workspace.workspace.uiSourceCodeForURL(coverageInfo.url());
-    if (!uiSourceCode)
-      return;
-    // FIXME: gutter should be set in terms of offsets and therefore should not require contents.
-    var ranges = await coverageInfo.buildTextRanges();
-    for (var r of ranges)
-      uiSourceCode.addDecoration(r.range, Coverage.CoverageView.LineDecorator.type, r.count);
-  }
 };
 
 /**
- * @implements {SourceFrame.UISourceCodeFrame.LineDecorator}
- */
-Coverage.CoverageView.LineDecorator = class {
-  /**
-   * @override
-   * @param {!Workspace.UISourceCode} uiSourceCode
-   * @param {!TextEditor.CodeMirrorTextEditor} textEditor
-   */
-  decorate(uiSourceCode, textEditor) {
-    var gutterType = 'CodeMirror-gutter-coverage';
-
-    var decorations = uiSourceCode.decorationsForType(Coverage.CoverageView.LineDecorator.type);
-    textEditor.uninstallGutter(gutterType);
-    if (!decorations || !decorations.size)
-      return;
-
-    textEditor.installGutter(gutterType, false);
-    var lastLine = 0;
-    var lastData = undefined;
-    for (var decoration of decorations) {
-      var range = decoration.range();
-      var startLine = range.startLine;
-      if (lastLine && lastLine === startLine && lastData !== !!decoration.data()) {
-        var element = createElementWithClass('div', 'text-editor-coverage-mixed-marker');
-        textEditor.setGutterDecoration(startLine, gutterType, element);
-        startLine++;
-      } else {
-        startLine = Math.max(startLine, lastLine);
-      }
-      lastLine = range.endLine;
-      lastData = !!decoration.data();
-      var className = lastData ? 'text-editor-coverage-used-marker' : 'text-editor-coverage-unused-marker';
-      for (var line = startLine; line <= lastLine; ++line) {
-        var element = createElementWithClass('div', className);
-        textEditor.setGutterDecoration(line, gutterType, element);
-      }
-    }
-  }
-};
-
-Coverage.CoverageView.LineDecorator.type = 'coverage';
-
-/**
  * @implements {UI.ActionDelegate}
  */
 Coverage.CoverageView.ActionDelegate = class {
diff --git a/third_party/WebKit/Source/devtools/front_end/coverage/module.json b/third_party/WebKit/Source/devtools/front_end/coverage/module.json
index 1f0c946..aef6c93 100644
--- a/third_party/WebKit/Source/devtools/front_end/coverage/module.json
+++ b/third_party/WebKit/Source/devtools/front_end/coverage/module.json
@@ -52,7 +52,8 @@
     "scripts": [
         "CoverageModel.js",
         "CoverageListView.js",
-        "CoverageView.js"
+        "CoverageView.js",
+        "CoverageDecorationManager.js"
     ],
     "resources": [
         "coverageListView.css",
diff --git a/third_party/WebKit/Source/devtools/front_end/help/features.txt b/third_party/WebKit/Source/devtools/front_end/help/features.txt
index f9db2ec7..feab1dad 100644
--- a/third_party/WebKit/Source/devtools/front_end/help/features.txt
+++ b/third_party/WebKit/Source/devtools/front_end/help/features.txt
@@ -1,2 +1 @@
 Full-size screenshots in Device Mode.
-New audits panel.
diff --git a/third_party/WebKit/Source/devtools/front_end/main/Main.js b/third_party/WebKit/Source/devtools/front_end/main/Main.js
index bd0f5f4c..fcd42dc4 100644
--- a/third_party/WebKit/Source/devtools/front_end/main/Main.js
+++ b/third_party/WebKit/Source/devtools/front_end/main/Main.js
@@ -93,6 +93,7 @@
     // Keep this sorted alphabetically: both keys and values.
     Runtime.experiments.register('accessibilityInspection', 'Accessibility Inspection');
     Runtime.experiments.register('applyCustomStylesheet', 'Allow custom UI themes');
+    Runtime.experiments.register('audits2', 'Audits 2.0');
     Runtime.experiments.register('autoAttachToCrossProcessSubframes', 'Auto-attach to cross-process subframes', true);
     Runtime.experiments.register('blackboxJSFramesOnTimeline', 'Blackbox JavaScript frames on Timeline', true);
     Runtime.experiments.register('changesDrawer', 'Changes drawer', true);
@@ -126,7 +127,9 @@
       // Enable experiments for testing.
       if (testPath.indexOf('accessibility/') !== -1)
         Runtime.experiments.enableForTest('accessibilityInspection');
-      if (testPath.indexOf('coverage') !== -1)
+      if (testPath.indexOf('audits2/') !== -1)
+        Runtime.experiments.enableForTest('audits2');
+      if (testPath.indexOf('coverage/') !== -1)
         Runtime.experiments.enableForTest('cssTrackerPanel');
       if (testPath.indexOf('changes/') !== -1)
         Runtime.experiments.enableForTest('changesDrawer');
@@ -180,7 +183,7 @@
     Workspace.fileManager = new Workspace.FileManager();
     Workspace.workspace = new Workspace.Workspace();
     Common.formatterWorkerPool = new Common.FormatterWorkerPool();
-    Workspace.fileSystemMapping = new Workspace.FileSystemMapping(Workspace.isolatedFileSystemManager);
+    Persistence.fileSystemMapping = new Persistence.FileSystemMapping(Workspace.isolatedFileSystemManager);
 
     Main.networkProjectManager = new Bindings.NetworkProjectManager(SDK.targetManager, Workspace.workspace);
     Bindings.presentationConsoleMessageHelper = new Bindings.PresentationConsoleMessageHelper(Workspace.workspace);
@@ -192,7 +195,7 @@
 
     new Persistence.FileSystemWorkspaceBinding(Workspace.isolatedFileSystemManager, Workspace.workspace);
     Persistence.persistence =
-        new Persistence.Persistence(Workspace.workspace, Bindings.breakpointManager, Workspace.fileSystemMapping);
+        new Persistence.Persistence(Workspace.workspace, Bindings.breakpointManager, Persistence.fileSystemMapping);
 
     new Main.ExecutionContextSelector(SDK.targetManager, UI.context);
     Bindings.blackboxManager = new Bindings.BlackboxManager(Bindings.debuggerWorkspaceBinding);
diff --git a/third_party/WebKit/Source/devtools/front_end/perf_ui/ChartViewport.js b/third_party/WebKit/Source/devtools/front_end/perf_ui/ChartViewport.js
index d6e942f..3ce93a8 100644
--- a/third_party/WebKit/Source/devtools/front_end/perf_ui/ChartViewport.js
+++ b/third_party/WebKit/Source/devtools/front_end/perf_ui/ChartViewport.js
@@ -16,7 +16,7 @@
     this.viewportElement.addEventListener('keydown', this._onChartKeyDown.bind(this), false);
     this.viewportElement.addEventListener('keyup', this._onChartKeyUp.bind(this), false);
 
-    UI.installInertialDragHandle(
+    UI.installDragHandle(
         this.viewportElement, this._startDragging.bind(this), this._dragging.bind(this), this._endDragging.bind(this),
         '-webkit-grabbing', null);
     UI.installDragHandle(
@@ -162,21 +162,18 @@
   }
 
   /**
-   * @param {number} x
-   * @param {number} y
    * @param {!MouseEvent} event
-   * @private
    * @return {boolean}
    */
-  _startDragging(x, y, event) {
+  _startDragging(event) {
     if (event.shiftKey)
       return false;
     if (this._windowRight === Infinity)
       return false;
     this._isDragging = true;
     this._initMaxDragOffset(event);
-    this._dragStartPointX = x;
-    this._dragStartPointY = y;
+    this._dragStartPointX = event.offsetX;
+    this._dragStartPointY = event.offsetY;
     this._dragStartScrollTop = this._vScrollElement.scrollTop;
     this.viewportElement.style.cursor = '';
     this.hideHighlight();
@@ -184,20 +181,17 @@
   }
 
   /**
-   * @param {number} x
-   * @param {number} y
-   * @private
+   * @param {!MouseEvent} event
    */
-  _dragging(x, y) {
-    var pixelShift = this._dragStartPointX - x;
-    this._dragStartPointX = x;
+  _dragging(event) {
+    var pixelShift = this._dragStartPointX - event.offsetX;
+    this._dragStartPointX = event.offsetX;
     this._muteAnimation = true;
     this._handlePanGesture(pixelShift * this._pixelToTime);
     this._muteAnimation = false;
-
-    var pixelScroll = this._dragStartPointY - y;
+    var pixelScroll = this._dragStartPointY - event.offsetY;
     this._vScrollElement.scrollTop = this._dragStartScrollTop + pixelScroll;
-    this._updateMaxDragOffset(x, y);
+    this._updateMaxDragOffset(event.offsetX, event.offsetY);
   }
 
   /**
diff --git a/third_party/WebKit/Source/devtools/front_end/persistence/Automapping.js b/third_party/WebKit/Source/devtools/front_end/persistence/Automapping.js
index 87c40a1..fc4196a8 100644
--- a/third_party/WebKit/Source/devtools/front_end/persistence/Automapping.js
+++ b/third_party/WebKit/Source/devtools/front_end/persistence/Automapping.js
@@ -1,7 +1,9 @@
 // Copyright 2016 The Chromium Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
+
 /**
+ * @implements {Persistence.MappingSystem}
  * @unrestricted
  */
 Persistence.Automapping = class {
@@ -300,6 +302,9 @@
     });
   }
 
+  /**
+   * @override
+   */
   dispose() {
     if (this._disposed)
       return;
diff --git a/third_party/WebKit/Source/devtools/front_end/persistence/DefaultMapping.js b/third_party/WebKit/Source/devtools/front_end/persistence/DefaultMapping.js
index a5612b41..761c21e 100644
--- a/third_party/WebKit/Source/devtools/front_end/persistence/DefaultMapping.js
+++ b/third_party/WebKit/Source/devtools/front_end/persistence/DefaultMapping.js
@@ -2,12 +2,13 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 /**
+ * @implements {Persistence.MappingSystem}
  * @unrestricted
  */
 Persistence.DefaultMapping = class {
   /**
    * @param {!Workspace.Workspace} workspace
-   * @param {!Workspace.FileSystemMapping} fileSystemMapping
+   * @param {!Persistence.FileSystemMapping} fileSystemMapping
    * @param {function(!Persistence.PersistenceBinding)} onBindingCreated
    * @param {function(!Persistence.PersistenceBinding)} onBindingRemoved
    */
@@ -23,8 +24,10 @@
       workspace.addEventListener(Workspace.Workspace.Events.UISourceCodeAdded, this._onUISourceCodeAdded, this),
       workspace.addEventListener(Workspace.Workspace.Events.UISourceCodeRemoved, this._onUISourceCodeRemoved, this),
       workspace.addEventListener(Workspace.Workspace.Events.ProjectRemoved, this._onProjectRemoved, this),
-      this._fileSystemMapping.addEventListener(Workspace.FileSystemMapping.Events.FileMappingAdded, this._remap, this),
-      this._fileSystemMapping.addEventListener(Workspace.FileSystemMapping.Events.FileMappingRemoved, this._remap, this)
+      this._fileSystemMapping.addEventListener(
+          Persistence.FileSystemMapping.Events.FileMappingAdded, this._remap, this),
+      this._fileSystemMapping.addEventListener(
+          Persistence.FileSystemMapping.Events.FileMappingRemoved, this._remap, this)
     ];
     this._remap();
   }
@@ -133,6 +136,9 @@
     this._bind(binding.network);
   }
 
+  /**
+   * @override
+   */
   dispose() {
     for (var binding of this._bindings.valuesArray())
       this._unbind(binding.network);
diff --git a/third_party/WebKit/Source/devtools/front_end/settings/EditFileSystemView.js b/third_party/WebKit/Source/devtools/front_end/persistence/EditFileSystemView.js
similarity index 86%
rename from third_party/WebKit/Source/devtools/front_end/settings/EditFileSystemView.js
rename to third_party/WebKit/Source/devtools/front_end/persistence/EditFileSystemView.js
index ad02bc0..13d0d7a 100644
--- a/third_party/WebKit/Source/devtools/front_end/settings/EditFileSystemView.js
+++ b/third_party/WebKit/Source/devtools/front_end/persistence/EditFileSystemView.js
@@ -31,20 +31,20 @@
  * @implements {UI.ListWidget.Delegate}
  * @unrestricted
  */
-Settings.EditFileSystemView = class extends UI.VBox {
+Persistence.EditFileSystemView = class extends UI.VBox {
   /**
    * @param {string} fileSystemPath
    */
   constructor(fileSystemPath) {
     super(true);
-    this.registerRequiredCSS('settings/editFileSystemView.css');
+    this.registerRequiredCSS('persistence/editFileSystemView.css');
     this._fileSystemPath = fileSystemPath;
 
     this._eventListeners = [
-      Workspace.fileSystemMapping.addEventListener(
-          Workspace.FileSystemMapping.Events.FileMappingAdded, this._update, this),
-      Workspace.fileSystemMapping.addEventListener(
-          Workspace.FileSystemMapping.Events.FileMappingRemoved, this._update, this),
+      Persistence.fileSystemMapping.addEventListener(
+          Persistence.FileSystemMapping.Events.FileMappingAdded, this._update, this),
+      Persistence.fileSystemMapping.addEventListener(
+          Persistence.FileSystemMapping.Events.FileMappingRemoved, this._update, this),
       Workspace.isolatedFileSystemManager.addEventListener(
           Workspace.IsolatedFileSystemManager.Events.ExcludedFolderAdded, this._update, this),
       Workspace.isolatedFileSystemManager.addEventListener(
@@ -55,7 +55,7 @@
     if (!Runtime.experiments.isEnabled('persistence2')) {
       this._mappingsList = new UI.ListWidget(this);
       this._mappingsList.element.classList.add('file-system-list');
-      this._mappingsList.registerRequiredCSS('settings/editFileSystemView.css');
+      this._mappingsList.registerRequiredCSS('persistence/editFileSystemView.css');
       var mappingsPlaceholder = createElementWithClass('div', 'file-system-list-empty');
       var mappingsHeader = this.contentElement.createChild('div', 'file-system-header');
       mappingsHeader.createChild('div', 'file-system-header-text').textContent = Common.UIString('Mappings');
@@ -73,7 +73,7 @@
         UI.createTextButton(Common.UIString('Add'), this._addExcludedFolderButtonClicked.bind(this), 'add-button'));
     this._excludedFoldersList = new UI.ListWidget(this);
     this._excludedFoldersList.element.classList.add('file-system-list');
-    this._excludedFoldersList.registerRequiredCSS('settings/editFileSystemView.css');
+    this._excludedFoldersList.registerRequiredCSS('persistence/editFileSystemView.css');
     var excludedFoldersPlaceholder = createElementWithClass('div', 'file-system-list-empty');
     excludedFoldersPlaceholder.textContent = Common.UIString('None');
     this._excludedFoldersList.setEmptyPlaceholder(excludedFoldersPlaceholder);
@@ -106,7 +106,7 @@
       return;
 
     this._mappingsList.clear();
-    var mappings = Workspace.fileSystemMapping.mappingEntries(this._fileSystemPath);
+    var mappings = Persistence.fileSystemMapping.mappingEntries(this._fileSystemPath);
     for (var entry of mappings) {
       this._mappingsList.appendItem(entry, true);
       this._mappings.push(entry);
@@ -114,7 +114,7 @@
   }
 
   _addMappingButtonClicked() {
-    var entry = new Workspace.FileSystemMapping.Entry(this._fileSystemPath, '', '');
+    var entry = new Persistence.FileSystemMapping.Entry(this._fileSystemPath, '', '');
     this._mappingsList.addNewItem(0, entry);
   }
 
@@ -130,8 +130,8 @@
    */
   renderItem(item, editable) {
     var element = createElementWithClass('div', 'file-system-list-item');
-    if (item instanceof Workspace.FileSystemMapping.Entry) {
-      var entry = /** @type {!Workspace.FileSystemMapping.Entry} */ (item);
+    if (item instanceof Persistence.FileSystemMapping.Entry) {
+      var entry = /** @type {!Persistence.FileSystemMapping.Entry} */ (item);
       var urlPrefixElement = element.createChild('div', 'file-system-value');
       urlPrefixElement.textContent = entry.urlPrefix;
       urlPrefixElement.title = entry.urlPrefix;
@@ -154,9 +154,9 @@
    * @param {number} index
    */
   removeItemRequested(item, index) {
-    if (item instanceof Workspace.FileSystemMapping.Entry) {
+    if (item instanceof Persistence.FileSystemMapping.Entry) {
       var entry = this._mappings[index];
-      Workspace.fileSystemMapping.removeFileMapping(entry.fileSystemPath, entry.urlPrefix, entry.pathPrefix);
+      Persistence.fileSystemMapping.removeFileMapping(entry.fileSystemPath, entry.urlPrefix, entry.pathPrefix);
     } else {
       Workspace.isolatedFileSystemManager.fileSystem(this._fileSystemPath)
           .removeExcludedFolder(this._excludedFolders[index]);
@@ -171,11 +171,11 @@
    */
   commitEdit(item, editor, isNew) {
     this._muteUpdate = true;
-    if (item instanceof Workspace.FileSystemMapping.Entry) {
-      var entry = /** @type {!Workspace.FileSystemMapping.Entry} */ (item);
+    if (item instanceof Persistence.FileSystemMapping.Entry) {
+      var entry = /** @type {!Persistence.FileSystemMapping.Entry} */ (item);
       if (!isNew)
-        Workspace.fileSystemMapping.removeFileMapping(this._fileSystemPath, entry.urlPrefix, entry.pathPrefix);
-      Workspace.fileSystemMapping.addFileMapping(
+        Persistence.fileSystemMapping.removeFileMapping(this._fileSystemPath, entry.urlPrefix, entry.pathPrefix);
+      Persistence.fileSystemMapping.addFileMapping(
           this._fileSystemPath, this._normalizePrefix(editor.control('urlPrefix').value),
           this._normalizePrefix(editor.control('pathPrefix').value));
     } else {
@@ -196,8 +196,8 @@
    * @return {!UI.ListWidget.Editor}
    */
   beginEdit(item) {
-    if (item instanceof Workspace.FileSystemMapping.Entry) {
-      var entry = /** @type {!Workspace.FileSystemMapping.Entry} */ (item);
+    if (item instanceof Persistence.FileSystemMapping.Entry) {
+      var entry = /** @type {!Persistence.FileSystemMapping.Entry} */ (item);
       var editor = this._createMappingEditor();
       editor.control('urlPrefix').value = entry.urlPrefix;
       editor.control('pathPrefix').value = entry.pathPrefix;
@@ -240,7 +240,7 @@
      * @param {number} index
      * @param {!HTMLInputElement|!HTMLSelectElement} input
      * @return {boolean}
-     * @this {Settings.EditFileSystemView}
+     * @this {Persistence.EditFileSystemView}
      */
     function urlPrefixValidator(item, index, input) {
       var prefix = this._normalizePrefix(input.value);
@@ -256,7 +256,7 @@
      * @param {number} index
      * @param {!HTMLInputElement|!HTMLSelectElement} input
      * @return {boolean}
-     * @this {Settings.EditFileSystemView}
+     * @this {Persistence.EditFileSystemView}
      */
     function pathPrefixValidator(item, index, input) {
       var prefix = this._normalizePrefix(input.value);
@@ -293,7 +293,7 @@
      * @param {number} index
      * @param {!HTMLInputElement|!HTMLSelectElement} input
      * @return {boolean}
-     * @this {Settings.EditFileSystemView}
+     * @this {Persistence.EditFileSystemView}
      */
     function pathPrefixValidator(item, index, input) {
       var prefix = this._normalizePrefix(input.value);
diff --git a/third_party/WebKit/Source/devtools/front_end/workspace/FileSystemMapping.js b/third_party/WebKit/Source/devtools/front_end/persistence/FileSystemMapping.js
similarity index 91%
rename from third_party/WebKit/Source/devtools/front_end/workspace/FileSystemMapping.js
rename to third_party/WebKit/Source/devtools/front_end/persistence/FileSystemMapping.js
index 3f6b8672..3a66682 100644
--- a/third_party/WebKit/Source/devtools/front_end/workspace/FileSystemMapping.js
+++ b/third_party/WebKit/Source/devtools/front_end/persistence/FileSystemMapping.js
@@ -31,14 +31,14 @@
 /**
  * @unrestricted
  */
-Workspace.FileSystemMapping = class extends Common.Object {
+Persistence.FileSystemMapping = class extends Common.Object {
   /**
    * @param {!Workspace.IsolatedFileSystemManager} fileSystemManager
    */
   constructor(fileSystemManager) {
     super();
     this._fileSystemMappingSetting = Common.settings.createLocalSetting('fileSystemMapping', {});
-    /** @type {!Object.<string, !Array.<!Workspace.FileSystemMapping.Entry>>} */
+    /** @type {!Object.<string, !Array.<!Persistence.FileSystemMapping.Entry>>} */
     this._fileSystemMappings = {};
     this._loadFromSettings();
 
@@ -86,7 +86,8 @@
 
       for (var i = 0; i < savedFileSystemMappings.length; ++i) {
         var savedEntry = savedFileSystemMappings[i];
-        var entry = new Workspace.FileSystemMapping.Entry(fileSystemPath, savedEntry.urlPrefix, savedEntry.pathPrefix);
+        var entry =
+            new Persistence.FileSystemMapping.Entry(fileSystemPath, savedEntry.urlPrefix, savedEntry.pathPrefix);
         fileSystemMappings.push(entry);
       }
     }
@@ -165,10 +166,10 @@
    * @param {string} pathPrefix
    */
   _innerAddFileMapping(fileSystemPath, urlPrefix, pathPrefix) {
-    var entry = new Workspace.FileSystemMapping.Entry(fileSystemPath, urlPrefix, pathPrefix);
+    var entry = new Persistence.FileSystemMapping.Entry(fileSystemPath, urlPrefix, pathPrefix);
     this._fileSystemMappings[fileSystemPath].push(entry);
     this._rebuildIndexes();
-    this.dispatchEventToListeners(Workspace.FileSystemMapping.Events.FileMappingAdded, entry);
+    this.dispatchEventToListeners(Persistence.FileSystemMapping.Events.FileMappingAdded, entry);
   }
 
   /**
@@ -183,12 +184,12 @@
     this._fileSystemMappings[fileSystemPath].remove(entry);
     this._rebuildIndexes();
     this._saveToSettings();
-    this.dispatchEventToListeners(Workspace.FileSystemMapping.Events.FileMappingRemoved, entry);
+    this.dispatchEventToListeners(Persistence.FileSystemMapping.Events.FileMappingRemoved, entry);
   }
 
   /**
    * @param {string} url
-   * @return {?Workspace.FileSystemMapping.Entry}
+   * @return {?Persistence.FileSystemMapping.Entry}
    */
   _mappingEntryForURL(url) {
     for (var i = this._urlPrefixes.length - 1; i >= 0; --i) {
@@ -202,7 +203,7 @@
   /**
    * @param {string} fileSystemPath
    * @param {string} filePath
-   * @return {?Workspace.FileSystemMapping.Entry}
+   * @return {?Persistence.FileSystemMapping.Entry}
    */
   _mappingEntryForPath(fileSystemPath, filePath) {
     var entries = this._fileSystemMappings[fileSystemPath];
@@ -224,7 +225,7 @@
   /**
    * @param {string} fileSystemPath
    * @param {string} pathPrefix
-   * @return {?Workspace.FileSystemMapping.Entry}
+   * @return {?Persistence.FileSystemMapping.Entry}
    */
   _configurableMappingEntryForPathPrefix(fileSystemPath, pathPrefix) {
     var entries = this._fileSystemMappings[fileSystemPath];
@@ -237,7 +238,7 @@
 
   /**
    * @param {string} fileSystemPath
-   * @return {!Array.<!Workspace.FileSystemMapping.Entry>}
+   * @return {!Array.<!Persistence.FileSystemMapping.Entry>}
    */
   mappingEntries(fileSystemPath) {
     return this._fileSystemMappings[fileSystemPath].slice();
@@ -324,7 +325,7 @@
 };
 
 /** @enum {symbol} */
-Workspace.FileSystemMapping.Events = {
+Persistence.FileSystemMapping.Events = {
   FileMappingAdded: Symbol('FileMappingAdded'),
   FileMappingRemoved: Symbol('FileMappingRemoved')
 };
@@ -332,7 +333,7 @@
 /**
  * @unrestricted
  */
-Workspace.FileSystemMapping.Entry = class {
+Persistence.FileSystemMapping.Entry = class {
   /**
    * @param {string} fileSystemPath
    * @param {string} urlPrefix
@@ -346,6 +347,6 @@
 };
 
 /**
- * @type {!Workspace.FileSystemMapping}
+ * @type {!Persistence.FileSystemMapping}
  */
-Workspace.fileSystemMapping;
+Persistence.fileSystemMapping;
diff --git a/third_party/WebKit/Source/devtools/front_end/persistence/Persistence.js b/third_party/WebKit/Source/devtools/front_end/persistence/Persistence.js
index 9c0d80b..830ae477 100644
--- a/third_party/WebKit/Source/devtools/front_end/persistence/Persistence.js
+++ b/third_party/WebKit/Source/devtools/front_end/persistence/Persistence.js
@@ -1,6 +1,7 @@
 // Copyright 2016 The Chromium Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
+
 /**
  * @unrestricted
  */
@@ -8,7 +9,7 @@
   /**
    * @param {!Workspace.Workspace} workspace
    * @param {!Bindings.BreakpointManager} breakpointManager
-   * @param {!Workspace.FileSystemMapping} fileSystemMapping
+   * @param {!Persistence.FileSystemMapping} fileSystemMapping
    */
   constructor(workspace, breakpointManager, fileSystemMapping) {
     super();
@@ -32,7 +33,7 @@
   }
 
   /**
-   * @param {function(function(!Persistence.PersistenceBinding), function(!Persistence.PersistenceBinding)):{dispose: function()}} mappingFactory
+   * @param {function(function(!Persistence.PersistenceBinding), function(!Persistence.PersistenceBinding)):!Persistence.MappingSystem} mappingFactory
    */
   _setMappingForTest(mappingFactory) {
     this._mapping.dispose();
@@ -390,5 +391,14 @@
   }
 };
 
+/**
+ * @interface
+ */
+Persistence.MappingSystem = function() {};
+
+Persistence.MappingSystem.prototype = {
+  dispose: function() {}
+};
+
 /** @type {!Persistence.Persistence} */
 Persistence.persistence;
diff --git a/third_party/WebKit/Source/devtools/front_end/persistence/WorkspaceSettingsTab.js b/third_party/WebKit/Source/devtools/front_end/persistence/WorkspaceSettingsTab.js
new file mode 100644
index 0000000..7a75995
--- /dev/null
+++ b/third_party/WebKit/Source/devtools/front_end/persistence/WorkspaceSettingsTab.js
@@ -0,0 +1,156 @@
+// 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.
+
+/**
+ * @unrestricted
+ */
+Persistence.WorkspaceSettingsTab = class extends UI.VBox {
+  constructor() {
+    super();
+    this.registerRequiredCSS('persistence/workspaceSettingsTab.css');
+
+    var header = this.element.createChild('header');
+    header.createChild('h3').createTextChild(Common.UIString('Workspace'));
+
+    this.containerElement = this.element.createChild('div', 'help-container-wrapper')
+                                .createChild('div', 'settings-tab help-content help-container');
+
+    Workspace.isolatedFileSystemManager.addEventListener(
+        Workspace.IsolatedFileSystemManager.Events.FileSystemAdded, this._fileSystemAdded, this);
+    Workspace.isolatedFileSystemManager.addEventListener(
+        Workspace.IsolatedFileSystemManager.Events.FileSystemRemoved, this._fileSystemRemoved, this);
+
+    var folderExcludePatternInput = this._createFolderExcludePatternInput();
+    folderExcludePatternInput.classList.add('folder-exclude-pattern');
+    this.containerElement.appendChild(folderExcludePatternInput);
+
+    if (Runtime.experiments.isEnabled('persistence2')) {
+      var div = this.containerElement.createChild('div', 'settings-info-message');
+      div.createTextChild(Common.UIString('Mappings are inferred automatically. Please '));
+      div.appendChild(UI.createExternalLink(
+          'https://bugs.chromium.org/p/chromium/issues/entry?template=Defect%20report%20from%20user&components=Platform%3EDevTools%3EAuthoring&comment=DevTools%20failed%20to%20link%20network%20resource%20to%20filesystem.%0A%0APlatform%3A%20%3CLinux%2FWin%2FMac%3E%0AChrome%20version%3A%20%3Cyour%20chrome%20version%3E%0A%0AWhat%20are%20the%20details%20of%20your%20project%3F%0A-%20Source%20code%20(if%20any)%3A%20http%3A%2F%2Fgithub.com%2Fexample%2Fexample%0A-%20Build%20System%3A%20gulp%2Fgrunt%2Fwebpack%2Frollup%2F...%0A-%20HTTP%20server%3A%20node%20HTTP%2Fnginx%2Fapache...%0A%0AAssets%20failed%20to%20link%20(or%20incorrectly%20linked)%3A%0A1.%0A2.%0A3.%0A%0AIf%20possible%2C%20please%20attach%20a%20screenshot%20of%20network%20sources%20navigator%20which%20should%0Ashow%20which%20resources%20failed%20to%20map',
+          Common.UIString('report')));
+      div.createTextChild(Common.UIString(' any bugs.'));
+    }
+
+    this._fileSystemsListContainer = this.containerElement.createChild('div', '');
+
+    this.containerElement.appendChild(
+        UI.createTextButton(Common.UIString('Add folder\u2026'), this._addFileSystemClicked.bind(this)));
+
+    /** @type {!Map<string, !Element>} */
+    this._elementByPath = new Map();
+
+    /** @type {!Map<string, !Persistence.EditFileSystemView>} */
+    this._mappingViewByPath = new Map();
+
+    var fileSystems = Workspace.isolatedFileSystemManager.fileSystems();
+    for (var i = 0; i < fileSystems.length; ++i)
+      this._addItem(fileSystems[i]);
+  }
+
+  /**
+   * @return {!Element}
+   */
+  _createFolderExcludePatternInput() {
+    var p = createElement('p');
+    var labelElement = p.createChild('label');
+    labelElement.textContent = Common.UIString('Folder exclude pattern');
+    var inputElement = p.createChild('input');
+    inputElement.type = 'text';
+    inputElement.style.width = '270px';
+    var folderExcludeSetting = Workspace.isolatedFileSystemManager.workspaceFolderExcludePatternSetting();
+    var setValue =
+        UI.bindInput(inputElement, folderExcludeSetting.set.bind(folderExcludeSetting), regexValidator, false);
+    folderExcludeSetting.addChangeListener(() => setValue.call(null, folderExcludeSetting.get()));
+    setValue(folderExcludeSetting.get());
+    return p;
+
+    /**
+     * @param {string} value
+     * @return {boolean}
+     */
+    function regexValidator(value) {
+      var regex;
+      try {
+        regex = new RegExp(value);
+      } catch (e) {
+      }
+      return !!regex;
+    }
+  }
+
+  /**
+   * @param {!Workspace.IsolatedFileSystem} fileSystem
+   */
+  _addItem(fileSystem) {
+    var element = this._renderFileSystem(fileSystem);
+    this._elementByPath.set(fileSystem.path(), element);
+
+    this._fileSystemsListContainer.appendChild(element);
+
+    var mappingView = new Persistence.EditFileSystemView(fileSystem.path());
+    this._mappingViewByPath.set(fileSystem.path(), mappingView);
+    mappingView.element.classList.add('file-system-mapping-view');
+    mappingView.show(element);
+  }
+
+  /**
+   * @param {!Workspace.IsolatedFileSystem} fileSystem
+   * @return {!Element}
+   */
+  _renderFileSystem(fileSystem) {
+    var fileSystemPath = fileSystem.path();
+    var lastIndexOfSlash = fileSystemPath.lastIndexOf(Host.isWin() ? '\\' : '/');
+    var folderName = fileSystemPath.substr(lastIndexOfSlash + 1);
+
+    var element = createElementWithClass('div', 'file-system-container');
+    var header = element.createChild('div', 'file-system-header');
+
+    header.createChild('div', 'file-system-name').textContent = folderName;
+    var path = header.createChild('div', 'file-system-path');
+    path.textContent = fileSystemPath;
+    path.title = fileSystemPath;
+
+    var toolbar = new UI.Toolbar('');
+    var button = new UI.ToolbarButton(Common.UIString('Remove'), 'largeicon-delete');
+    button.addEventListener(UI.ToolbarButton.Events.Click, this._removeFileSystemClicked.bind(this, fileSystem));
+    toolbar.appendToolbarItem(button);
+    header.appendChild(toolbar.element);
+
+    return element;
+  }
+
+  /**
+   * @param {!Workspace.IsolatedFileSystem} fileSystem
+   */
+  _removeFileSystemClicked(fileSystem) {
+    Workspace.isolatedFileSystemManager.removeFileSystem(fileSystem);
+  }
+
+  _addFileSystemClicked() {
+    Workspace.isolatedFileSystemManager.addFileSystem();
+  }
+
+  _fileSystemAdded(event) {
+    var fileSystem = /** @type {!Workspace.IsolatedFileSystem} */ (event.data);
+    this._addItem(fileSystem);
+  }
+
+  _fileSystemRemoved(event) {
+    var fileSystem = /** @type {!Workspace.IsolatedFileSystem} */ (event.data);
+
+    var mappingView = this._mappingViewByPath.get(fileSystem.path());
+    if (mappingView) {
+      mappingView.dispose();
+      this._mappingViewByPath.delete(fileSystem.path());
+    }
+
+    var element = this._elementByPath.get(fileSystem.path());
+    if (element) {
+      this._elementByPath.delete(fileSystem.path());
+      element.remove();
+    }
+  }
+};
diff --git a/third_party/WebKit/Source/devtools/front_end/settings/editFileSystemView.css b/third_party/WebKit/Source/devtools/front_end/persistence/editFileSystemView.css
similarity index 100%
rename from third_party/WebKit/Source/devtools/front_end/settings/editFileSystemView.css
rename to third_party/WebKit/Source/devtools/front_end/persistence/editFileSystemView.css
diff --git a/third_party/WebKit/Source/devtools/front_end/persistence/module.json b/third_party/WebKit/Source/devtools/front_end/persistence/module.json
index 2a5fa60..6f11be5 100644
--- a/third_party/WebKit/Source/devtools/front_end/persistence/module.json
+++ b/third_party/WebKit/Source/devtools/front_end/persistence/module.json
@@ -1,10 +1,31 @@
 {
-    "dependencies": ["bindings", "workspace", "components"],
+    "dependencies": [
+        "bindings",
+        "workspace",
+        "components"
+    ],
+    "extensions": [
+        {
+            "type": "view",
+            "location": "settings-view",
+            "id": "workspace",
+            "title": "Workspace",
+            "order": "1",
+            "className": "Persistence.WorkspaceSettingsTab"
+        }
+    ],
     "scripts": [
         "FileSystemWorkspaceBinding.js",
         "DefaultMapping.js",
         "Automapping.js",
         "Persistence.js",
-        "PersistenceUtils.js"
+        "PersistenceUtils.js",
+        "FileSystemMapping.js",
+        "EditFileSystemView.js",
+        "WorkspaceSettingsTab.js"
+    ],
+    "resources": [
+        "editFileSystemView.css",
+        "workspaceSettingsTab.css"
     ]
 }
diff --git a/third_party/WebKit/Source/devtools/front_end/persistence/workspaceSettingsTab.css b/third_party/WebKit/Source/devtools/front_end/persistence/workspaceSettingsTab.css
new file mode 100644
index 0000000..736c105
--- /dev/null
+++ b/third_party/WebKit/Source/devtools/front_end/persistence/workspaceSettingsTab.css
@@ -0,0 +1,118 @@
+/*
+ * 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.
+ */
+
+header {
+    padding: 0 0 6px;
+    border-bottom: 1px solid #EEEEEE;
+}
+
+header > h3 {
+    font-size: 18px;
+    font-weight: normal;
+    margin: 0;
+    padding-bottom: 3px;
+}
+
+.help-content {
+    overflow-y: auto;
+    overflow-x: hidden;
+    margin: 8px 8px 8px 0;
+    padding: 0 4px;
+    flex: auto;
+}
+
+.help-container {
+    width: 100%;
+    -webkit-user-select: auto;
+    -webkit-column-width: 288px;
+}
+
+
+.settings-tab.help-container {
+    -webkit-column-width: 308px;
+}
+
+.settings-tab label {
+    padding-right: 4px;
+    display: inline-flex;
+}
+
+.help-container-wrapper {
+    position: absolute;
+    top: 31px;
+    left: 0px;
+    right: 0;
+    bottom: 0;
+    overflow: auto;
+    padding-top: 9px;
+}
+
+.settings-tab.help-content {
+    margin: 0;
+    padding: 0;
+}
+
+.settings-tab input:not([type]),
+.settings-tab input[type="text"] {
+    border: 1px solid rgb(213, 213, 213);
+    border-radius: 2px;
+    color: #444444;
+    padding: 3px;
+}
+
+.settings-tab p {
+    margin: 12px 0;
+}
+
+p.folder-exclude-pattern {
+    display: flex;
+    align-items: center;
+}
+
+p.folder-exclude-pattern > input {
+    flex: auto;
+}
+
+.settings-tab .file-system-container {
+    border-top: 1px solid #aaa;
+    padding: 19px 0 10px;
+    margin: 20px 0;
+}
+
+.settings-tab .file-system-header {
+    display: flex;
+    flex-direction: row;
+    align-items: center;
+}
+
+.settings-tab .file-system-name {
+    font-weight: bold;
+    flex: none;
+    margin-right: 10px;
+    font-size: 15px;
+    overflow: hidden;
+    text-overflow: ellipsis;
+    max-width: 70%;
+}
+
+.settings-tab .file-system-path {
+    white-space: nowrap;
+    overflow: hidden;
+    text-overflow: ellipsis;
+    flex: auto;
+}
+
+.settings-info-message {
+    background-color: #eee;
+    padding: 10px;
+    margin: 20px 0;
+}
+
+.settings-tab.help-content.help-container {
+    -webkit-column-width: initial;
+    overflow: hidden;
+    padding-right: 10px;
+}
diff --git a/third_party/WebKit/Source/devtools/front_end/sdk/CSSModel.js b/third_party/WebKit/Source/devtools/front_end/sdk/CSSModel.js
index 41688ed..13c1d7b3 100644
--- a/third_party/WebKit/Source/devtools/front_end/sdk/CSSModel.js
+++ b/third_party/WebKit/Source/devtools/front_end/sdk/CSSModel.js
@@ -295,27 +295,22 @@
         .catchException(false);
   }
 
-  startRuleUsageTracking() {
+  startCoverage() {
     this._agent.startRuleUsageTracking();
   }
 
   /**
    * @return {!Promise<!Array<!Protocol.CSS.RuleUsage>>}
    */
-  ruleListPromise() {
-    /**
-     * @param {?string} error
-     * @param {!Array<!Protocol.CSS.RuleUsage>=} ruleUsage
-     * @return {!Array<!Protocol.CSS.RuleUsage>}
-     */
-    function usedRulesCallback(error, ruleUsage) {
-      if (error || !ruleUsage)
-        return [];
+  takeCoverageDelta() {
+    return this._agent.takeCoverageDelta((error, ruleUsage) => error || !ruleUsage ? [] : ruleUsage);
+  }
 
-      return ruleUsage;
-    }
-
-    return this._agent.stopRuleUsageTracking(usedRulesCallback);
+  /**
+   * @return {!Promise}
+   */
+  stopCoverage() {
+    return this._agent.stopRuleUsageTracking();
   }
 
   /**
diff --git a/third_party/WebKit/Source/devtools/front_end/settings/SettingsScreen.js b/third_party/WebKit/Source/devtools/front_end/settings/SettingsScreen.js
index 9847196..0b949eae 100644
--- a/third_party/WebKit/Source/devtools/front_end/settings/SettingsScreen.js
+++ b/third_party/WebKit/Source/devtools/front_end/settings/SettingsScreen.js
@@ -271,152 +271,6 @@
   }
 };
 
-
-/**
- * @unrestricted
- */
-Settings.WorkspaceSettingsTab = class extends Settings.SettingsTab {
-  constructor() {
-    super(Common.UIString('Workspace'), 'workspace-tab-content');
-    Workspace.isolatedFileSystemManager.addEventListener(
-        Workspace.IsolatedFileSystemManager.Events.FileSystemAdded, this._fileSystemAdded, this);
-    Workspace.isolatedFileSystemManager.addEventListener(
-        Workspace.IsolatedFileSystemManager.Events.FileSystemRemoved, this._fileSystemRemoved, this);
-
-    var folderExcludePatternInput = this._createFolderExcludePatternInput();
-    folderExcludePatternInput.classList.add('folder-exclude-pattern');
-    this.containerElement.appendChild(folderExcludePatternInput);
-
-    if (Runtime.experiments.isEnabled('persistence2')) {
-      var div = this.containerElement.createChild('div', 'settings-info-message');
-      div.createTextChild(Common.UIString('Mappings are inferred automatically. Please '));
-      div.appendChild(UI.createExternalLink(
-          'https://bugs.chromium.org/p/chromium/issues/entry?template=Defect%20report%20from%20user&components=Platform%3EDevTools%3EAuthoring&comment=DevTools%20failed%20to%20link%20network%20resource%20to%20filesystem.%0A%0APlatform%3A%20%3CLinux%2FWin%2FMac%3E%0AChrome%20version%3A%20%3Cyour%20chrome%20version%3E%0A%0AWhat%20are%20the%20details%20of%20your%20project%3F%0A-%20Source%20code%20(if%20any)%3A%20http%3A%2F%2Fgithub.com%2Fexample%2Fexample%0A-%20Build%20System%3A%20gulp%2Fgrunt%2Fwebpack%2Frollup%2F...%0A-%20HTTP%20server%3A%20node%20HTTP%2Fnginx%2Fapache...%0A%0AAssets%20failed%20to%20link%20(or%20incorrectly%20linked)%3A%0A1.%0A2.%0A3.%0A%0AIf%20possible%2C%20please%20attach%20a%20screenshot%20of%20network%20sources%20navigator%20which%20should%0Ashow%20which%20resources%20failed%20to%20map',
-          Common.UIString('report')));
-      div.createTextChild(Common.UIString(' any bugs.'));
-    }
-
-    this._fileSystemsListContainer = this.containerElement.createChild('div', '');
-
-    this.containerElement.appendChild(
-        UI.createTextButton(Common.UIString('Add folder\u2026'), this._addFileSystemClicked.bind(this)));
-
-    /** @type {!Map<string, !Element>} */
-    this._elementByPath = new Map();
-
-    /** @type {!Map<string, !Settings.EditFileSystemView>} */
-    this._mappingViewByPath = new Map();
-
-    var fileSystems = Workspace.isolatedFileSystemManager.fileSystems();
-    for (var i = 0; i < fileSystems.length; ++i)
-      this._addItem(fileSystems[i]);
-  }
-
-  /**
-   * @return {!Element}
-   */
-  _createFolderExcludePatternInput() {
-    var p = createElement('p');
-    var labelElement = p.createChild('label');
-    labelElement.textContent = Common.UIString('Folder exclude pattern');
-    var inputElement = p.createChild('input');
-    inputElement.type = 'text';
-    inputElement.style.width = '270px';
-    var folderExcludeSetting = Workspace.isolatedFileSystemManager.workspaceFolderExcludePatternSetting();
-    var setValue =
-        UI.bindInput(inputElement, folderExcludeSetting.set.bind(folderExcludeSetting), regexValidator, false);
-    folderExcludeSetting.addChangeListener(() => setValue.call(null, folderExcludeSetting.get()));
-    setValue(folderExcludeSetting.get());
-    return p;
-
-    /**
-     * @param {string} value
-     * @return {boolean}
-     */
-    function regexValidator(value) {
-      var regex;
-      try {
-        regex = new RegExp(value);
-      } catch (e) {
-      }
-      return !!regex;
-    }
-  }
-
-  /**
-   * @param {!Workspace.IsolatedFileSystem} fileSystem
-   */
-  _addItem(fileSystem) {
-    var element = this._renderFileSystem(fileSystem);
-    this._elementByPath.set(fileSystem.path(), element);
-
-    this._fileSystemsListContainer.appendChild(element);
-
-    var mappingView = new Settings.EditFileSystemView(fileSystem.path());
-    this._mappingViewByPath.set(fileSystem.path(), mappingView);
-    mappingView.element.classList.add('file-system-mapping-view');
-    mappingView.show(element);
-  }
-
-  /**
-   * @param {!Workspace.IsolatedFileSystem} fileSystem
-   * @return {!Element}
-   */
-  _renderFileSystem(fileSystem) {
-    var fileSystemPath = fileSystem.path();
-    var lastIndexOfSlash = fileSystemPath.lastIndexOf(Host.isWin() ? '\\' : '/');
-    var folderName = fileSystemPath.substr(lastIndexOfSlash + 1);
-
-    var element = createElementWithClass('div', 'file-system-container');
-    var header = element.createChild('div', 'file-system-header');
-
-    header.createChild('div', 'file-system-name').textContent = folderName;
-    var path = header.createChild('div', 'file-system-path');
-    path.textContent = fileSystemPath;
-    path.title = fileSystemPath;
-
-    var toolbar = new UI.Toolbar('');
-    var button = new UI.ToolbarButton(Common.UIString('Remove'), 'largeicon-delete');
-    button.addEventListener(UI.ToolbarButton.Events.Click, this._removeFileSystemClicked.bind(this, fileSystem));
-    toolbar.appendToolbarItem(button);
-    header.appendChild(toolbar.element);
-
-    return element;
-  }
-
-  /**
-   * @param {!Workspace.IsolatedFileSystem} fileSystem
-   */
-  _removeFileSystemClicked(fileSystem) {
-    Workspace.isolatedFileSystemManager.removeFileSystem(fileSystem);
-  }
-
-  _addFileSystemClicked() {
-    Workspace.isolatedFileSystemManager.addFileSystem();
-  }
-
-  _fileSystemAdded(event) {
-    var fileSystem = /** @type {!Workspace.IsolatedFileSystem} */ (event.data);
-    this._addItem(fileSystem);
-  }
-
-  _fileSystemRemoved(event) {
-    var fileSystem = /** @type {!Workspace.IsolatedFileSystem} */ (event.data);
-
-    var mappingView = this._mappingViewByPath.get(fileSystem.path());
-    if (mappingView) {
-      mappingView.dispose();
-      this._mappingViewByPath.delete(fileSystem.path());
-    }
-
-    var element = this._elementByPath.get(fileSystem.path());
-    if (element) {
-      this._elementByPath.delete(fileSystem.path());
-      element.remove();
-    }
-  }
-};
-
 /**
  * @unrestricted
  */
diff --git a/third_party/WebKit/Source/devtools/front_end/settings/module.json b/third_party/WebKit/Source/devtools/front_end/settings/module.json
index f73e1ba..aeae371 100644
--- a/third_party/WebKit/Source/devtools/front_end/settings/module.json
+++ b/third_party/WebKit/Source/devtools/front_end/settings/module.json
@@ -28,7 +28,9 @@
         },
         {
             "type": "@Common.Revealer",
-            "contextTypes": ["Common.Setting"],
+            "contextTypes": [
+                "Common.Setting"
+            ],
             "className": "Settings.SettingsScreen.Revealer"
         },
         {
@@ -54,14 +56,6 @@
         {
             "type": "view",
             "location": "settings-view",
-            "id": "workspace",
-            "title": "Workspace",
-            "order": "1",
-            "className": "Settings.WorkspaceSettingsTab"
-        },
-        {
-            "type": "view",
-            "location": "settings-view",
             "id": "experiments",
             "title": "Experiments",
             "order": "2",
@@ -87,12 +81,10 @@
         "components"
     ],
     "scripts": [
-        "EditFileSystemView.js",
         "SettingsScreen.js",
         "FrameworkBlackboxSettingsTab.js"
     ],
     "resources": [
-        "editFileSystemView.css",
         "frameworkBlackboxSettingsTab.css",
         "settingsScreen.css"
     ]
diff --git a/third_party/WebKit/Source/devtools/front_end/settings/settingsScreen.css b/third_party/WebKit/Source/devtools/front_end/settings/settingsScreen.css
index c08a944..6387a4c 100644
--- a/third_party/WebKit/Source/devtools/front_end/settings/settingsScreen.css
+++ b/third_party/WebKit/Source/devtools/front_end/settings/settingsScreen.css
@@ -10,13 +10,6 @@
     padding: 11px 0 0 0;
 }
 
-.help-window-caption {
-    border-bottom: solid 1px rgb(153, 153, 153);
-    margin: 0 8px;
-    padding: 0 2px;
-    line-height: 28px;
-}
-
 .help-content {
     overflow-y: auto;
     overflow-x: hidden;
@@ -37,10 +30,6 @@
     -webkit-column-width: 288px;
 }
 
-.help-no-columns {
-    -webkit-column-width: initial !important;
-}
-
 .help-block {
     display: block;
     padding-bottom: 9px;
@@ -230,68 +219,6 @@
     margin-left: 10px;
 }
 
-#workspace-tab-content .settings-tab.help-content.help-container {
-    -webkit-column-width: initial;
-    overflow: hidden;
-    padding-right: 10px;
-}
-
-
-#workspace-tab-content .button:hover {
-    opacity: 1.0 !important;
-}
-
-#workspace-tab-content .help-block {
-    width: auto;
-    margin-right: 20px;
-}
-
-p.folder-exclude-pattern {
-    display: flex;
-    align-items: center;
-}
-
-p.folder-exclude-pattern > input {
-    flex: auto;
-}
-
-.file-system-mapping-view {
-}
-
-.settings-tab .file-system-container {
-    border-top: 1px solid #aaa;
-    padding: 19px 0 10px;
-    margin: 20px 0;
-}
-
-.settings-tab .file-system-header {
-    display: flex;
-    flex-direction: row;
-    align-items: center;
-}
-
-.settings-tab .file-system-name {
-    font-weight: bold;
-    flex: none;
-    margin-right: 10px;
-    font-size: 15px;
-    overflow: hidden;
-    text-overflow: ellipsis;
-    max-width: 70%;
-}
-
-.settings-tab .file-system-path {
-    white-space: nowrap;
-    overflow: hidden;
-    text-overflow: ellipsis;
-    flex: auto;
-}
-
-.settings-tab .file-system-remove {
-    flex: none;
-    margin-left: 10px;
-}
-
 .help-indent-labels label {
     padding-left: 10px;
 }
@@ -307,9 +234,3 @@
 .settings-developer-mode .settings-experiment-hidden {
     display: block;
 }
-
-.settings-info-message {
-    background-color: #eee;
-    padding: 10px;
-    margin: 20px 0;
-}
\ No newline at end of file
diff --git a/third_party/WebKit/Source/devtools/front_end/sources/InplaceFormatterEditorAction.js b/third_party/WebKit/Source/devtools/front_end/sources/InplaceFormatterEditorAction.js
index 0ac3c14..5b8ca74d 100644
--- a/third_party/WebKit/Source/devtools/front_end/sources/InplaceFormatterEditorAction.js
+++ b/third_party/WebKit/Source/devtools/front_end/sources/InplaceFormatterEditorAction.js
@@ -101,31 +101,8 @@
         start = formatterMapping.originalToFormatted(selection.startLine, selection.startColumn);
       }
       uiSourceCode.setWorkingCopy(formattedContent);
-      this._formatDecorations(uiSourceCode, formatterMapping);
 
       this._sourcesView.showSourceLocation(uiSourceCode, start[0], start[1]);
     }
   }
-
-  /**
-   * @param {!Workspace.UISourceCode} uiSourceCode
-   * @param {!Sources.FormatterSourceMapping} sourceMapping
-   */
-  _formatDecorations(uiSourceCode, sourceMapping) {
-    var decorations = uiSourceCode.allDecorations();
-    if (!decorations.length)
-      return;
-
-    uiSourceCode.removeAllDecorations();
-
-    for (var decoration of decorations) {
-      var range = decoration.range();
-      var startLocation = sourceMapping.originalToFormatted(range.startLine, range.startColumn);
-      var endLocation = sourceMapping.originalToFormatted(range.endLine, range.endColumn);
-
-      uiSourceCode.addDecoration(
-          new TextUtils.TextRange(startLocation[0], startLocation[1], endLocation[0], endLocation[1]),
-          /** @type {string} */ (decoration.type()), decoration.data());
-    }
-  }
 };
diff --git a/third_party/WebKit/Source/devtools/front_end/sources/SourcesPanel.js b/third_party/WebKit/Source/devtools/front_end/sources/SourcesPanel.js
index 09cf0a8..3b9f345 100644
--- a/third_party/WebKit/Source/devtools/front_end/sources/SourcesPanel.js
+++ b/third_party/WebKit/Source/devtools/front_end/sources/SourcesPanel.js
@@ -735,7 +735,8 @@
       if (!networkUISourceCode)
         return;
       var fileSystemPath = Persistence.FileSystemWorkspaceBinding.fileSystemPath(uiSourceCode.project().id());
-      Workspace.fileSystemMapping.addMappingForResource(networkUISourceCode.url(), fileSystemPath, uiSourceCode.url());
+      Persistence.fileSystemMapping.addMappingForResource(
+          networkUISourceCode.url(), fileSystemPath, uiSourceCode.url());
     }
   }
 
@@ -753,7 +754,8 @@
       if (!uiSourceCode)
         return;
       var fileSystemPath = Persistence.FileSystemWorkspaceBinding.fileSystemPath(uiSourceCode.project().id());
-      Workspace.fileSystemMapping.addMappingForResource(networkUISourceCode.url(), fileSystemPath, uiSourceCode.url());
+      Persistence.fileSystemMapping.addMappingForResource(
+          networkUISourceCode.url(), fileSystemPath, uiSourceCode.url());
     }
   }
 
@@ -761,7 +763,7 @@
    * @param {!Workspace.UISourceCode} uiSourceCode
    */
   _removeNetworkMapping(uiSourceCode) {
-    Workspace.fileSystemMapping.removeMappingForURL(uiSourceCode.url());
+    Persistence.fileSystemMapping.removeMappingForURL(uiSourceCode.url());
   }
 
   /**
diff --git a/third_party/WebKit/Source/devtools/front_end/text_editor/cmdevtools.css b/third_party/WebKit/Source/devtools/front_end/text_editor/cmdevtools.css
index cdf3bdb..e3d0183 100644
--- a/third_party/WebKit/Source/devtools/front_end/text_editor/cmdevtools.css
+++ b/third_party/WebKit/Source/devtools/front_end/text_editor/cmdevtools.css
@@ -364,8 +364,7 @@
     content: " ";
 }
 
-.CodeMirror .text-editor-coverage-used-marker,
-.CodeMirror .text-editor-coverage-mixed-marker {
+.CodeMirror .text-editor-coverage-used-marker {
     text-align: right;
     padding-right: 2px;
     background-color: #81C784;
@@ -375,10 +374,6 @@
     content: " ";
 }
 
-.CodeMirror .text-editor-coverage-mixed-marker::after {
-    content: " ";
-}
-
 .CodeMirror .text-editor-line-decoration {
     position: absolute;
 }
diff --git a/third_party/WebKit/Source/devtools/front_end/ui/UIUtils.js b/third_party/WebKit/Source/devtools/front_end/ui/UIUtils.js
index 1eeb4144..26d1f97 100644
--- a/third_party/WebKit/Source/devtools/front_end/ui/UIUtils.js
+++ b/third_party/WebKit/Source/devtools/front_end/ui/UIUtils.js
@@ -228,80 +228,6 @@
 UI.DragHandler._glassPaneUsageCount = 0;
 
 /**
- * @param {!Element} element
- * @param {function(number, number, !MouseEvent): boolean} elementDragStart
- * @param {function(number, number)} elementDrag
- * @param {function(number, number)} elementDragEnd
- * @param {string} cursor
- * @param {?string=} hoverCursor
- * @param {number=} startDelay
- * @param {number=} friction
- */
-UI.installInertialDragHandle = function(
-    element, elementDragStart, elementDrag, elementDragEnd, cursor, hoverCursor, startDelay, friction) {
-  UI.installDragHandle(
-      element, drag.bind(null, elementDragStart), drag.bind(null, elementDrag), dragEnd, cursor, hoverCursor,
-      startDelay);
-  if (typeof friction !== 'number')
-    friction = 50;
-  var lastX;
-  var lastY;
-  var lastTime;
-  var velocityX;
-  var velocityY;
-  var holding = false;
-
-  /**
-   * @param {function(number, number, !MouseEvent): boolean} callback
-   * @param {!MouseEvent} event
-   * @return {boolean}
-   */
-  function drag(callback, event) {
-    lastTime = window.performance.now();
-    lastX = event.pageX;
-    lastY = event.pageY;
-    holding = true;
-    return callback(lastX, lastY, event);
-  }
-
-  /**
-   * @param {!MouseEvent} event
-   */
-  function dragEnd(event) {
-    var now = window.performance.now();
-    var duration = now - lastTime || 1;
-    const maxVelocity = 4;  // 4px per millisecond.
-    velocityX = Number.constrain((event.pageX - lastX) / duration, -maxVelocity, maxVelocity);
-    velocityY = Number.constrain((event.pageY - lastY) / duration, -maxVelocity, maxVelocity);
-    lastX = event.pageX;
-    lastY = event.pageY;
-    lastTime = now;
-    holding = false;
-    animationStep();
-  }
-
-  function animationStep() {
-    var v2 = velocityX * velocityX + velocityY * velocityY;
-    if (v2 < 0.001 || holding) {
-      elementDragEnd(lastX, lastY);
-      return;
-    }
-    element.window().requestAnimationFrame(animationStep);
-    var now = window.performance.now();
-    var duration = now - lastTime;
-    if (!duration)
-      return;
-    lastTime = now;
-    lastX += velocityX * duration;
-    lastY += velocityY * duration;
-    var k = Math.pow(1 / (1 + friction), duration / 1000);
-    velocityX *= k;
-    velocityY *= k;
-    elementDrag(lastX, lastY);
-  }
-};
-
-/**
  * @param {?Node=} node
  * @return {boolean}
  */
diff --git a/third_party/WebKit/Source/devtools/front_end/workspace/module.json b/third_party/WebKit/Source/devtools/front_end/workspace/module.json
index 87ef11d..08396cbc 100644
--- a/third_party/WebKit/Source/devtools/front_end/workspace/module.json
+++ b/third_party/WebKit/Source/devtools/front_end/workspace/module.json
@@ -1,8 +1,11 @@
 {
-    "dependencies": ["common", "host", "platform"],
+    "dependencies": [
+        "common",
+        "host",
+        "platform"
+    ],
     "scripts": [
         "FileManager.js",
-        "FileSystemMapping.js",
         "IsolatedFileSystem.js",
         "IsolatedFileSystemManager.js",
         "SearchConfig.js",
diff --git a/third_party/WebKit/Source/modules/canvas/README.md b/third_party/WebKit/Source/modules/canvas/README.md
new file mode 100644
index 0000000..9345380
--- /dev/null
+++ b/third_party/WebKit/Source/modules/canvas/README.md
@@ -0,0 +1,45 @@
+# `Source/modules/canvas`
+
+Contains context creation for HTML canvas element,
+
+## Class structure of Canvas-related objects
+
+The classes on this structure are divided between all directories that are used
+by canvas: `modules/canvas`, `modules/canvas2d`, `modules/offscreencanvas`,
+`modules/offscreencanvas2d`, `core/html/canvas`, `core/html`, `modules/webgl`,
+`modules/imagebitmap` and `modules/csspaint`.
+
+### Virtual classes
+
+`CanvasRenderingContextHost` : All elements that provides rendering contexts
+(`HTMLCanvasElement` and `OffscreenCanvas`) This is the main interface that a
+`CanvasRenderingContext` uses.
+
+`CanvasRenderingContext` - Base class for everything that exposes a rendering
+context API. This includes `2d`, `webgl`, `webgl2`, `imagebitmap` contexts.
+
+`BaseRenderingContext2D` - Class for `2D` canvas contexts. Implements most 2D
+rendering context API. Used by `CanvasRenderingContext2D`,
+`OffscreenCanvasRenderingContext2D` and `PaintRenderingContext2D`.
+
+`WebGLRenderingContextBase` - Base class for `webgl` contexts.
+
+
+### Final classes
+
+`CanvasRenderingContext2D` - 2D context for HTML Canvas element. [[spec](https://html.spec.whatwg.org/multipage/scripting.html#2dcontext)]
+
+`OffscreenCanvasRenderingContext2D` - 2D context for OffscreenCanvas.
+[[spec](https://html.spec.whatwg.org/multipage/scripting.html#the-offscreen-2d-rendering-context)]
+
+`WebGLRenderingContext` - WebGL context for both HTML and Offscreen canvas.
+[[spec](https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14)]
+
+`WebGL2RenderingContext` - WebGL2 context for both HTML and Offscreen canvas.
+[[spec](https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7)]
+
+`ImageBitmapRenderingContext` - The rendering context provided by `ImageBitmap`.
+[[spec](https://html.spec.whatwg.org/multipage/scripting.html#the-imagebitmap-rendering-context)]
+
+`PaintRenderingContext2D` - Rendering context for CSS Painting.
+[[spec](https://www.w3.org/TR/css-paint-api-1/)]
diff --git a/third_party/WebKit/Source/modules/canvas2d/README.md b/third_party/WebKit/Source/modules/canvas2d/README.md
new file mode 100644
index 0000000..7892b29
--- /dev/null
+++ b/third_party/WebKit/Source/modules/canvas2d/README.md
@@ -0,0 +1,7 @@
+# `Source/modules/canvas2d`
+
+Contains base class for 2D rendering contexts and `CanvasRenderingContext2D`
+related classes.
+
+For more information on the structure of canvas-related classes, check
+[Source/modules/canvas/README.md](../canvas/README.md).
diff --git a/third_party/WebKit/Source/modules/indexeddb/IDBObjectStore.cpp b/third_party/WebKit/Source/modules/indexeddb/IDBObjectStore.cpp
index 5362645..1c67e1e5 100644
--- a/third_party/WebKit/Source/modules/indexeddb/IDBObjectStore.cpp
+++ b/third_party/WebKit/Source/modules/indexeddb/IDBObjectStore.cpp
@@ -379,6 +379,8 @@
   Vector<WebBlobInfo> blob_info;
   SerializedScriptValue::SerializeOptions options;
   options.blob_info = &blob_info;
+
+  // TODO(crbug.com/719053): This wasm behavior differs from other browsers.
   options.write_wasm_to_stream =
       ExecutionContext::From(script_state)->IsSecureContext();
   options.for_storage = true;
diff --git a/third_party/WebKit/Source/modules/offscreencanvas/README.md b/third_party/WebKit/Source/modules/offscreencanvas/README.md
new file mode 100644
index 0000000..89912a82
--- /dev/null
+++ b/third_party/WebKit/Source/modules/offscreencanvas/README.md
@@ -0,0 +1,6 @@
+# `Source/modules/offscreencanvas`
+
+Contains offscreencanvas object.
+
+For more information on the structure of canvas-related classes, check
+[Source/modules/canvas/README.md](../canvas/README.md).
diff --git a/third_party/WebKit/Source/modules/offscreencanvas2d/README.md b/third_party/WebKit/Source/modules/offscreencanvas2d/README.md
new file mode 100644
index 0000000..583a4d7
--- /dev/null
+++ b/third_party/WebKit/Source/modules/offscreencanvas2d/README.md
@@ -0,0 +1,6 @@
+# `Source/modules/offscreencanvas2d`
+
+Contains offscreencanvas 2D rendering context.
+
+For more information on the structure of canvas-related classes, check
+[Source/modules/canvas/README.md](../canvas/README.md).
diff --git a/third_party/WebKit/Source/modules/webgl/README.md b/third_party/WebKit/Source/modules/webgl/README.md
new file mode 100644
index 0000000..a54d16f1
--- /dev/null
+++ b/third_party/WebKit/Source/modules/webgl/README.md
@@ -0,0 +1,6 @@
+# `Source/modules/webgl`
+
+Contains WebGL and WebGL2 rendering context.
+
+For more information on the structure of canvas-related classes, check
+[Source/modules/canvas/README.md](../canvas/README.md).
diff --git a/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.idl b/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.idl
index 71a3a55..157297bb 100644
--- a/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.idl
+++ b/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.idl
@@ -423,7 +423,6 @@
     const GLenum RGB5_A1                        = 0x8057;
     const GLenum RGB565                         = 0x8D62;
     const GLenum DEPTH_COMPONENT16              = 0x81A5;
-    const GLenum STENCIL_INDEX                  = 0x1901;
     const GLenum STENCIL_INDEX8                 = 0x8D48;
     const GLenum DEPTH_STENCIL                  = 0x84F9;
 
diff --git a/third_party/zlib/google/compression_utils.cc b/third_party/zlib/google/compression_utils.cc
index 575aa12..477f97f2 100644
--- a/third_party/zlib/google/compression_utils.cc
+++ b/third_party/zlib/google/compression_utils.cc
@@ -114,17 +114,6 @@
   return err;
 }
 
-// Returns the uncompressed size from GZIP-compressed |compressed_data|.
-uint32_t GetUncompressedSize(const std::string& compressed_data) {
-  // The uncompressed size is stored in the last 4 bytes of |input| in LE.
-  uint32_t size;
-  if (compressed_data.length() < sizeof(size))
-    return 0;
-  memcpy(&size, &compressed_data[compressed_data.length() - sizeof(size)],
-         sizeof(size));
-  return base::ByteSwapToLE32(size);
-}
-
 }  // namespace
 
 namespace compression {
@@ -162,4 +151,25 @@
   return false;
 }
 
+bool GzipUncompress(base::StringPiece input, base::StringPiece output) {
+  uLongf uncompressed_size = GetUncompressedSize(input);
+  if (uncompressed_size > output.size())
+    return false;
+  return GzipUncompressHelper(bit_cast<Bytef*>(output.data()),
+                              &uncompressed_size,
+                              bit_cast<const Bytef*>(input.data()),
+                              static_cast<uLongf>(input.length())) == Z_OK;
+}
+
+uint32_t GetUncompressedSize(base::StringPiece compressed_data) {
+  // The uncompressed size is stored in the last 4 bytes of |input| in LE.
+  uint32_t size;
+  if (compressed_data.length() < sizeof(size))
+    return 0;
+  memcpy(&size,
+         &compressed_data.data()[compressed_data.length() - sizeof(size)],
+         sizeof(size));
+  return base::ByteSwapToLE32(size);
+}
+
 }  // namespace compression
diff --git a/third_party/zlib/google/compression_utils.h b/third_party/zlib/google/compression_utils.h
index 3bd68c5..d496ef1 100644
--- a/third_party/zlib/google/compression_utils.h
+++ b/third_party/zlib/google/compression_utils.h
@@ -7,6 +7,8 @@
 
 #include <string>
 
+#include "base/strings/string_piece.h"
+
 namespace compression {
 
 // Compresses the data in |input| using gzip, storing the result in |output|.
@@ -17,6 +19,14 @@
 // |input| and |output| are allowed to be the same string (in-place operation).
 bool GzipUncompress(const std::string& input, std::string* output);
 
+// Like the above method, but uses base::StringPiece to avoid allocations if
+// needed. |output|'s size must be at least as large as the return value from
+// GetUncompressedSize.
+bool GzipUncompress(base::StringPiece input, base::StringPiece output);
+
+// Returns the uncompressed size from GZIP-compressed |compressed_data|.
+uint32_t GetUncompressedSize(base::StringPiece compressed_data);
+
 }  // namespace compression
 
 #endif  // THIRD_PARTY_ZLIB_GOOGLE_COMPRESSION_UTILS_H_
diff --git a/tools/binary_size/README.md b/tools/binary_size/README.md
index 85bf49b..efe92fe0 100644
--- a/tools/binary_size/README.md
+++ b/tools/binary_size/README.md
@@ -1,5 +1,24 @@
 # Tools for analyzing Chrome's binary size
 
+# diagnose_bloat.py
+
+Determine the cause of binary size bloat between two commits. Works for Android
+and partially works for Linux (crbug/717550).
+
+## Example Usage:
+
+    # Build and diff HEAD^ and HEAD.
+    tools/binary_size/diagnose_bloat.py HEAD
+
+    # Diff OTHERREV and REV using downloaded build artifacts.
+    tools/binary_size/diagnose_bloat.py REV --reference-rev OTHERREV --cloud
+
+    # Build and diff all contiguous revs in range OTHERREV..REV for src/v8.
+    tools/binary_size/diagnose_bloat.py REV --reference-rev OTHERREV --subrepo v8 --all
+
+    # Display detailed usage info (there are many options).
+    tools/binary_size/diagnose_bloat.py -h
+
 # Super Size
 
 Collect, archive, and analyze Chrome's binary size.
@@ -60,34 +79,15 @@
 
     tools/binary_size/supersize diff before.size after.size --all
 
-# diagnose_bloat.py
-
-Determine the cause of binary size bloat between two commits. Works for Android
-and partially works for Linux (crbug/717550).
-
-## Example Usage:
-
-    # Build and diff HEAD^ and HEAD.
-    tools/binary_size/diagnose_bloat.py HEAD
-
-    # Diff OTHERREV and REV using downloaded build artifacts.
-    tools/binary_size/diagnose_bloat.py REV --reference-rev OTHERREV --cloud
-
-    # Build and diff all contiguous revs in range OTHERREV..REV for src/v8.
-    tools/binary_size/diagnose_bloat.py REV --reference-rev OTHERREV --subrepo v8 --all
-
-    # Display detailed usage info (there are many options).
-    tools/binary_size/diagnose_bloat.py -h
-
 # Roadmap for Super Size:
 
 Tracked in https://crbug.com/681694
 
+1. Better Linux support (clang/lld).
 1. More `archive` features:
 
   * Find out more about 0xffffffffffffffff addresses, and why such large
     gaps exist after them.
-  * Use nm to get the full list of symbols that share the same address.
   * Collect java symbol information
   * Collect .pak file information (using .o.whitelist files)
   * Collect .apk entry information
@@ -98,19 +98,16 @@
   * Duplicate Symbols - shows when statics in headers are an issue.
   * Overloaded Symbols - shows when overloads are excessive.
   * Per-class / namespace size (no way to distinguish class vs namespace).
-  * Per-Chrome package (Chrome-specific grouping. e.g. name prefixes).
   * CSV output (for pasting into a spreadsheet).
+  * Make Where\*() methods filter recursively on already-grouped SymbolGroups.
+  * Add symbols.SplitByNamespace() - which will be like GroupByNamespace, but be
+    recursive.
 
 1. More `html_report` features:
 
-  * Break down by other groupings (e.g. create from nested `SymbolGroups`)
+  * Break down by other groupings (Create from result of SplitByNamespace())
+  * Render as simple tree view rather than 2d boxes
 
 1. Integrate with `resource_sizes.py` so that it tracks size of major
    components separately: chrome vs blink vs skia vs v8.
-1. Speed up some steps (like normalizing names) via multiprocessing.
 1. Add dependency graph info, perhaps just on a per-file basis.
-
-# Roadmap for diagnose_bloat.py:
-1. More `diagnose_bloat.py` features:
-
-  * Add more diff types (pak files, Java symbols).
diff --git a/tools/binary_size/libsupersize/archive.py b/tools/binary_size/libsupersize/archive.py
index 77e4c92..3016dd9 100644
--- a/tools/binary_size/libsupersize/archive.py
+++ b/tools/binary_size/libsupersize/archive.py
@@ -143,22 +143,24 @@
 
 
 def _NormalizeSourcePath(path):
+  """Returns (is_generated, normalized_path)"""
   if path.startswith('gen/'):
     # Convert gen/third_party/... -> third_party/...
-    return path[4:]
+    return True, path[4:]
   if path.startswith('../../'):
     # Convert ../../third_party/... -> third_party/...
-    return path[6:]
-  return path
+    return False, path[6:]
+  return True, path
 
 
 def _SourcePathForObjectPath(object_path, source_mapper):
+  """Returns (is_generated, normalized_path)"""
   # We don't have source info for prebuilt .a files.
   if not os.path.isabs(object_path) and not object_path.startswith('..'):
     source_path = source_mapper.FindSourceForPath(object_path)
     if source_path:
       return _NormalizeSourcePath(source_path)
-  return ''
+  return False, ''
 
 
 def _ExtractSourcePaths(raw_symbols, source_mapper):
@@ -167,7 +169,8 @@
   for symbol in raw_symbols:
     object_path = symbol.object_path
     if object_path and not symbol.source_path:
-      symbol.source_path = _SourcePathForObjectPath(object_path, source_mapper)
+      symbol.generated_source, symbol.source_path = (
+          _SourcePathForObjectPath(object_path, source_mapper))
 
 
 def _ComputeAnscestorPath(path_list):
@@ -231,9 +234,10 @@
       num_path_mismatches += 1
 
     if source_mapper:
-      source_paths = [
+      tups = [
           _SourcePathForObjectPath(p, source_mapper) for p in object_paths]
-      symbol.source_path = _ComputeAnscestorPath(source_paths)
+      symbol.source_path = _ComputeAnscestorPath(t[1] for t in tups)
+      symbol.generated_source = all(t[0] for t in tups)
 
     object_paths = [_NormalizeObjectPath(p) for p in object_paths]
     symbol.object_path = _ComputeAnscestorPath(object_paths)
diff --git a/tools/binary_size/libsupersize/canned_queries.py b/tools/binary_size/libsupersize/canned_queries.py
new file mode 100644
index 0000000..84a0612
--- /dev/null
+++ b/tools/binary_size/libsupersize/canned_queries.py
@@ -0,0 +1,141 @@
+# 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.
+
+"""Contains a set of Chrome-specific size queries."""
+
+import logging
+import models
+
+
+class _Grouper(object):
+  def __init__(self):
+    self.groups = []
+
+  def Add(self, name, group):
+    logging.debug('Computed %s', name)
+    group.name = name
+    self.groups.append(group)
+    return group.Inverted()
+
+  def Finalize(self, remaining):
+    self.groups.sort(key=lambda s:(s.name.startswith('Other'), -s.pss))
+    if remaining:
+      stars = remaining.Filter(lambda s: s.name.startswith('*'))
+      if stars:
+        remaining = stars.Inverted()
+        stars.name = '** Merged Symbols'
+        self.groups.append(stars)
+      remaining.name = 'Other'
+      self.groups.append(remaining)
+
+    logging.debug('Finalized')
+    return models.SymbolGroup(self.groups, is_sorted=True)
+
+
+def _CategorizeByChromeComponent(symbols):
+  g = _Grouper()
+
+  # Put things that filter out a lot of symbols at the beginning where possible
+  # to optimize speed.
+  symbols = g.Add('WebRTC', symbols.WhereMatches(r'(?i)webrtc'))
+  symbols = g.Add('Skia', symbols.Filter(lambda s: 'skia/' in s.source_path))
+  symbols = g.Add('V8', symbols.Filter(
+      lambda s: s.source_path.startswith('v8/')))
+
+  # Next, put non-regex queries, since they're a bit faster.
+  symbols = g.Add('ICU', symbols.Filter(lambda s: '/icu/' in s.source_path))
+  symbols = g.Add('Prefetch', symbols.Filter(
+      lambda s: 'resource_prefetch' in s.source_path))
+  symbols = g.Add('Password Manager', symbols.Filter(
+      lambda s: 'password_manager' in s.source_path))
+  symbols = g.Add('Internals Pages', symbols.Filter(
+      lambda s: '_internals' in s.source_path))
+  symbols = g.Add('Autofill', symbols.WhereSourcePathMatches(r'(?i)autofill'))
+  symbols = g.Add('WebGL', symbols.WhereMatches(r'(?i)webgl'))
+  symbols = g.Add('WebBluetooth', symbols.WhereMatches(r'(?i)bluetooth'))
+  symbols = g.Add('WebUSB', symbols.WhereMatches(r'(?i)webusb|(\b|_)usb(\b|_)'))
+  symbols = g.Add('WebVR', symbols.WhereMatches(
+      r'{{_gvr_}}|{{_cwebvr_}}|{{_vr_}}'))
+  symbols = g.Add('FileSystem', symbols.WhereSourcePathMatches(
+      r'content/.*/fileapi|WebKit/.*/filesystem'))
+  symbols = g.Add('WebCrypto', symbols.WhereMatches(r'(?i)webcrypto'))
+  symbols = g.Add('Printing', symbols.WhereMatches(r'printing'))
+  symbols = g.Add('Cast', symbols.WhereSourcePathMatches(
+      r'(?i)(\b|_)cast(\b|_)'))
+  symbols = g.Add('Media Source', symbols.WhereMatches(
+      r'(?i)mediasource|blink::.*TrackDefault|blink::.*SourceBuffer'))
+
+  # XSLT must come before libxml.
+  symbols = g.Add('XSLT', symbols.WhereMatches(r'(?i)xslt'))
+  symbols = g.Add('libxml', symbols.Filter(
+      lambda s: 'libxml' in s.source_path))
+
+  # These have some overlap with above, so need to come afterwards.
+  blink_syms = symbols.WhereSourcePathMatches(r'\b(blink|WebKit)\b')
+  symbols = blink_syms.Inverted()
+  blink_generated = blink_syms.WhereSourceIsGenerated()
+  g.Add('Blink (generated)', blink_generated)
+  g.Add('Blink (non-generated)', blink_generated.Inverted())
+
+  symbols = g.Add('Codecs', symbols.WhereSourcePathMatches(
+      r'^third_party/(libweb[mp]|libpng|libjpeg_turbo|opus|ffmpeg|libvpx)/'))
+  symbols = g.Add('Other Third-Party', symbols.Filter(
+      lambda s: 'third_party' in s.source_path))
+
+  return g.Finalize(symbols)
+
+
+def _CategorizeGenerated(symbols):
+  g = _Grouper()
+
+  # JNI is generated into .h files then #included, so the symbols don't actaully
+  # appear as "SourceIsGenerated".
+  # Note: String literals within symbols like "kBaseRegisteredMethods" are not
+  #     being accounted for here because they end up within "** merge strings".
+  #     This could be fixed by assigning them all to proper variables rather
+  #     than having them be inline.
+  symbols = g.Add('RegisterJNI', symbols.WhereFullNameMatches(
+      r'Register.*JNIEnv\*\)|RegisteredMethods$'))
+
+  symbols = symbols.WhereSourceIsGenerated()
+  symbols = g.Add('Protocol Buffers', symbols.Filter(lambda s: (
+      '/protobuf/' in s.object_path or
+      s.object_path.endswith('.pbzero.o') or
+      s.object_path.endswith('.pb.o'))))
+  symbols = g.Add('Mojo', symbols.Filter(lambda s: (
+      '.mojom' in s.source_path or  # Blink uses .mojom-blink.cc
+      s.source_path.startswith('mojo/') or
+      s.name.startswith('mojo::'))))
+  symbols = g.Add('DevTools', symbols.WhereSourcePathMatches(
+      r'\b(?:protocol|devtools)\b'))
+  symbols = g.Add('Blink (bindings)', symbols.Filter(lambda s: (
+      'blink/bindings' in s.source_path or
+      ('WebKit/' in s.object_path and '/bindings/' in s.object_path))))
+  symbols = g.Add('Blink (IDL)', symbols.Filter(lambda s: (
+      'WebKit/Source/core' in s.object_path)))
+  symbols = g.Add('Blink (Other)', symbols.Filter(lambda s: (
+      'WebKit' in s.object_path or 'blink/' in s.object_path)))
+
+  return g.Finalize(symbols)
+
+
+class CannedQueries(object):
+  """A set of pre-written queries."""
+
+  def __init__(self, size_infos):
+    self._size_infos = size_infos
+
+  def _SymbolsArg(self, arg):
+    arg = arg if arg is not None else self._size_infos[-1]
+    if isinstance(arg, models.SizeInfo):
+      arg = arg.symbols
+    return arg
+
+  def CategorizeGenerated(self, symbols=None):
+    """Categorizes symbols that come from generated source files."""
+    return _CategorizeGenerated(self._SymbolsArg(symbols))
+
+  def CategorizeByChromeComponent(self, symbols=None):
+    """Groups symbols by component using predefined queries."""
+    return _CategorizeByChromeComponent(self._SymbolsArg(symbols))
diff --git a/tools/binary_size/libsupersize/console.py b/tools/binary_size/libsupersize/console.py
index 40a8746..a25839a 100644
--- a/tools/binary_size/libsupersize/console.py
+++ b/tools/binary_size/libsupersize/console.py
@@ -16,6 +16,7 @@
 import sys
 
 import archive
+import canned_queries
 import describe
 import diff
 import file_format
@@ -25,7 +26,7 @@
 
 
 # Number of lines before using less for Print().
-_THRESHOLD_FOR_PAGER = 30
+_THRESHOLD_FOR_PAGER = 50
 
 
 @contextlib.contextmanager
@@ -68,10 +69,11 @@
   def __init__(self, size_infos, lazy_paths):
     self._variables = {
         'Print': self._PrintFunc,
-        'Diff': diff.Diff,
+        'Diff': self._DiffFunc,
         'Disassemble': self._DisassembleFunc,
         'ExpandRegex': match_util.ExpandRegexIdentifierPlaceholder,
         'ShowExamples': self._ShowExamplesFunc,
+        'canned_queries': canned_queries.CannedQueries(size_infos),
     }
     self._lazy_paths = lazy_paths
     self._size_infos = size_infos
@@ -82,18 +84,32 @@
       for i, size_info in enumerate(size_infos):
         self._variables['size_info%d' % (i + 1)] = size_info
 
-  def _PrintFunc(self, obj, verbose=False, recursive=False, use_pager=None,
+  def _DiffFunc(self, before=None, after=None, cluster=True):
+    """Diffs two SizeInfo objects. Returns a SizeInfoDiff.
+
+    Args:
+      before: Defaults to first size_infos[0].
+      after: Defaults to second size_infos[1].
+      cluster: When True, calls SymbolGroup.Cluster() after diffing. This
+          generally reduces noise.
+    """
+    before = before if before is not None else self._size_infos[0]
+    after = after if after is not None else self._size_infos[1]
+    return diff.Diff(before, after, cluster=cluster)
+
+  def _PrintFunc(self, obj=None, verbose=False, recursive=False, use_pager=None,
                  to_file=None):
     """Prints out the given Symbol / SymbolGroup / SymbolDiff / SizeInfo.
 
     Args:
-      obj: The object to be printed.
+      obj: The object to be printed. Defaults to size_infos[-1].
       verbose: Show more detailed output.
       recursive: Print children of nested SymbolGroups.
       use_pager: Pipe output through `less`. Ignored when |obj| is a Symbol.
           default is to automatically pipe when output is long.
       to_file: Rather than print to stdio, write to the given file.
     """
+    obj = obj if obj is not None else self._size_infos[-1]
     lines = describe.GenerateLines(obj, verbose=verbose, recursive=recursive)
     _WriteToStream(lines, use_pager=use_pager, to_file=to_file)
 
@@ -140,6 +156,7 @@
     proc.kill()
 
   def _ShowExamplesFunc(self):
+    print self._CreateBanner()
     print '\n'.join([
         '# Show pydoc for main types:',
         'import models',
@@ -150,12 +167,12 @@
         '',
         '# Show two levels of .text, grouped by first two subdirectories',
         'text_syms = size_info.symbols.WhereInSection("t")',
-        'by_path = text_syms.GroupBySourcePath(depth=2)',
+        'by_path = text_syms.GroupByPath(depth=2)',
         'Print(by_path.WhereBiggerThan(1024))',
         '',
         '# Show all non-vtable generated symbols',
-        'generated_syms = size_info.symbols.WhereIsGenerated()',
-        'Print(generated_syms.WhereNameMatches(r"vtable").Inverted())',
+        'generated_syms = size_info.symbols.WhereGeneratedByToolchain()',
+        'Print(generated_syms.WhereNameMatches(r"vtable").Inverted().Sorted())',
         '',
         '# Show all symbols that have "print" in their name or path, except',
         '# those within components/.',
@@ -167,6 +184,13 @@
         '# Diff two .size files and save result to a file:',
         'Print(Diff(size_info1, size_info2), to_file="output.txt")',
         '',
+        '# View per-component breakdowns, then drill into the last entry.',
+        'c = canned_queries.CategorizeByChromeComponent()',
+        'Print(c)',
+        'Print(c[-1].GroupByPath(depth=2).Sorted())',
+        '',
+        '# For even more inspiration, look at canned_queries.py',
+        '# (and feel free to add your own!).',
     ])
 
   def _CreateBanner(self):
@@ -177,6 +201,8 @@
                               if m[0] != '_' and m not in symbol_group_keys)
     symbol_group_keys = sorted(m for m in symbol_group_keys
                                if m not in symbol_keys)
+    canned_queries_keys = sorted(m for m in dir(canned_queries.CannedQueries)
+                                 if m[0] != '_')
     functions = sorted(k for k in self._variables if k[0].isupper())
     variables = sorted(k for k in self._variables if k[0].islower())
     return '\n'.join([
@@ -185,9 +211,13 @@
         '',
         'SizeInfo: %s' % ', '.join(symbol_info_keys),
         'Symbol: %s' % ', '.join(symbol_keys),
+        '',
         'SymbolGroup (extends Symbol): %s' % ', '.join(symbol_group_keys),
+        '',
         'SymbolDiff (extends SymbolGroup): %s' % ', '.join(symbol_diff_keys),
         '',
+        'canned_queries: %s' % ', '.join(canned_queries_keys),
+        '',
         'Functions: %s' % ', '.join('%s()' % f for f in functions),
         'Variables: %s' % ', '.join(variables),
         '*' * 80,
diff --git a/tools/binary_size/libsupersize/describe.py b/tools/binary_size/libsupersize/describe.py
index 876f1e1..f2bc65cb 100644
--- a/tools/binary_size/libsupersize/describe.py
+++ b/tools/binary_size/libsupersize/describe.py
@@ -29,6 +29,17 @@
   return '%.1fmb' % size
 
 
+def _FormatPss(pss):
+  # Shows a decimal for small numbers to make it clear that a shared symbol has
+  # a non-zero pss.
+  if pss > 10:
+    return str(int(pss))
+  ret = str(round(pss, 1))
+  if ret.endswith('.0'):
+    ret = ret[:-2]
+  return ret
+
+
 def _DiffPrefix(diff, sym):
   if diff.IsAdded(sym):
     return '+ '
@@ -68,7 +79,7 @@
       for name in section_names:
         yield '    {}: {:,} bytes'.format(name, section_sizes[name])
 
-  def _DescribeSymbol(self, sym):
+  def _DescribeSymbol(self, sym, single_line=False):
     if sym.IsGroup():
       address = 'Group'
     else:
@@ -76,20 +87,24 @@
     if self.verbose:
       count_part = '  count=%d' % len(sym) if sym.IsGroup() else ''
       yield '{}@{:<9s}  pss={}  padding={}  size_without_padding={}{}'.format(
-          sym.section, address, int(sym.pss), sym.padding,
+          sym.section, address, _FormatPss(sym.pss), sym.padding,
           sym.size_without_padding, count_part)
       yield '    source_path={} \tobject_path={}'.format(
           sym.source_path, sym.object_path)
       if sym.name:
         yield '    flags={}  name={}'.format(sym.FlagsString(), sym.name)
         if sym.full_name:
-          yield '               full_name={}'.format(sym.full_name)
+          yield '         full_name={}'.format(sym.full_name)
       elif sym.full_name:
         yield '    flags={}  full_name={}'.format(
             sym.FlagsString(), sym.full_name)
+    elif single_line:
+      count_part = ' (count=%d)' % len(sym) if sym.IsGroup() else ''
+      yield '{}@{:<9s}  {:<7} {}{}'.format(
+          sym.section, address, _FormatPss(sym.pss), sym.name, count_part)
     else:
       yield '{}@{:<9s}  {:<7} {}'.format(
-          sym.section, address, int(sym.pss),
+          sym.section, address, _FormatPss(sym.pss),
           sym.source_path or sym.object_path or '{no path}')
       if sym.name:
         count_part = ' (count=%d)' % len(sym) if sym.IsGroup() else ''
@@ -97,23 +112,27 @@
 
   def _DescribeSymbolGroupChildren(self, group, indent=0):
     running_total = 0
-    sorted_syms = group if group.is_sorted else group.Sorted()
+    running_percent = 0
     is_diff = isinstance(group, models.SymbolDiff)
+    all_groups = all(s.IsGroup() for s in group)
 
     indent_prefix = '> ' * indent
     diff_prefix = ''
-    for s in sorted_syms:
+    total = group.pss
+    for index, s in enumerate(group):
       if group.IsBss() or not s.IsBss():
         running_total += s.pss
-      for l in self._DescribeSymbol(s):
+        running_percent = running_total / total
+      for l in self._DescribeSymbol(s, single_line=all_groups):
         if l[:4].isspace():
           indent_size = 8 + len(indent_prefix) + len(diff_prefix)
           yield '{} {}'.format(' ' * indent_size, l)
         else:
           if is_diff:
             diff_prefix = _DiffPrefix(group, s)
-          yield '{}{}{:8} {}'.format(indent_prefix, diff_prefix,
-                                     int(running_total), l)
+          yield '{}{}{:<4} {:>8} {:7} {}'.format(
+              indent_prefix, diff_prefix, str(index) + ')',
+              _FormatPss(running_total), '({:.1%})'.format(running_percent), l)
 
       if self.recursive and s.IsGroup():
         for l in self._DescribeSymbolGroupChildren(s, indent=indent + 1):
@@ -121,10 +140,15 @@
 
   def _DescribeSymbolGroup(self, group):
     total_size = group.pss
-    code_syms = group.WhereInSection('t')
-    code_size = code_syms.pss
-    ro_size = code_syms.Inverted().WhereInSection('r').pss
-    unique_paths = set(s.object_path for s in group)
+    code_size = 0
+    ro_size = 0
+    unique_paths = set()
+    for s in group.IterLeafSymbols():
+      if s.section == 't':
+        code_size += s.pss
+      elif s.section == 'r':
+        ro_size += s.pss
+      unique_paths.add(s.object_path)
     header_desc = [
         'Showing {:,} symbols ({:,} unique) with total pss: {} bytes'.format(
             len(group), group.CountUniqueSymbols(), int(total_size)),
@@ -134,7 +158,8 @@
             _PrettySize(int(total_size))),
         'Number of object files: {}'.format(len(unique_paths)),
         '',
-        'First columns are: running total, address, pss',
+        'Index, Running Total, Section@Address, PSS',
+        '-' * 60
     ]
     children_desc = self._DescribeSymbolGroupChildren(group)
     return itertools.chain(header_desc, children_desc)
diff --git a/tools/binary_size/libsupersize/file_format.py b/tools/binary_size/libsupersize/file_format.py
index e58494d..63c44b6 100644
--- a/tools/binary_size/libsupersize/file_format.py
+++ b/tools/binary_size/libsupersize/file_format.py
@@ -53,8 +53,8 @@
   _LogSize(file_obj, 'paths')  # For libchrome, adds 200kb.
 
   # Symbol counts by section.
-  by_section = models.SymbolGroup(size_info.symbols)
-  by_section = by_section.GroupBySectionName().SortedByName()
+  by_section = size_info.symbols.GroupBySectionName().Sorted(
+      key=lambda s:(s[0].IsBss(), s[0].address, s.name))
   file_obj.write('%s\n' % '\t'.join(g.name for g in by_section))
   file_obj.write('%s\n' % '\t'.join(str(len(g)) for g in by_section))
 
diff --git a/tools/binary_size/libsupersize/integration_test.py b/tools/binary_size/libsupersize/integration_test.py
index 777a09cc..1c7deef 100755
--- a/tools/binary_size/libsupersize/integration_test.py
+++ b/tools/binary_size/libsupersize/integration_test.py
@@ -157,6 +157,8 @@
       query = [
           'ShowExamples()',
           'ExpandRegex("_foo_")',
+          'canned_queries.CategorizeGenerated()',
+          'canned_queries.CategorizeByChromeComponent()',
           'Print(size_info, to_file=%r)' % output_file.name,
       ]
       ret = _RunApp('console', [size_file.name, '--query', '; '.join(query)])
diff --git a/tools/binary_size/libsupersize/main.py b/tools/binary_size/libsupersize/main.py
index 41dbd4a..3fe14da 100755
--- a/tools/binary_size/libsupersize/main.py
+++ b/tools/binary_size/libsupersize/main.py
@@ -48,8 +48,7 @@
     args.output_directory = None
     args.tool_prefix = None
     args.inputs = [args.before, args.after]
-    args.query = ('Print(Diff(size_info1, size_info2), verbose=%s)' %
-                  bool(args.all))
+    args.query = ('Print(Diff(), verbose=%s)' % bool(args.all))
     console.Run(args, parser)
 
 
@@ -65,7 +64,7 @@
       'Starts an interactive Python console for analyzing .size files.')
   actions['diff'] = (
       _DiffAction(),
-      'Shorthand for console --query "Print(Diff(size_info1, size_info2))"')
+      'Shorthand for console --query "Print(Diff())"')
 
   for name, tup in actions.iteritems():
     sub_parser = sub_parsers.add_parser(name, help=tup[1])
diff --git a/tools/binary_size/libsupersize/models.py b/tools/binary_size/libsupersize/models.py
index 1828016..026a8ec 100644
--- a/tools/binary_size/libsupersize/models.py
+++ b/tools/binary_size/libsupersize/models.py
@@ -55,6 +55,7 @@
 FLAG_UNLIKELY = 4
 FLAG_REL = 8
 FLAG_REL_LOCAL = 16
+FLAG_GENERATED_SOURCE = 32
 
 
 class SizeInfo(object):
@@ -136,6 +137,17 @@
     return bool(self.flags & FLAG_ANONYMOUS)
 
   @property
+  def generated_source(self):
+    return bool(self.flags & FLAG_GENERATED_SOURCE)
+
+  @generated_source.setter
+  def generated_source(self, value):
+    if value:
+      self.flags |= FLAG_GENERATED_SOURCE
+    else:
+      self.flags &= ~FLAG_GENERATED_SOURCE
+
+  @property
   def num_aliases(self):
     return len(self.aliases) if self.aliases else 1
 
@@ -155,6 +167,8 @@
       parts.append('rel')
     if flags & FLAG_REL_LOCAL:
       parts.append('rel.loc')
+    if flags & FLAG_GENERATED_SOURCE:
+      parts.append('gen')
     # Not actually a part of flags, but useful to show it here.
     if self.aliases:
       parts.append('{} aliases'.format(self.num_aliases))
@@ -166,10 +180,9 @@
   def IsGroup(self):
     return False
 
-  def IsGenerated(self):
-    # TODO(agrieve): Also match generated functions such as:
-    #     startup._GLOBAL__sub_I_page_allocator.cc
-    return self.name.endswith(']') and not self.name.endswith('[]')
+  def IsGeneratedByToolchain(self):
+    return '.' in self.name or (
+        self.name.endswith(']') and not self.name.endswith('[]'))
 
 
 class Symbol(BaseSymbol):
@@ -302,36 +315,24 @@
 
   @property
   def address(self):
-    first = self._symbols[0].address
+    first = self._symbols[0].address if self else 0
     return first if all(s.address == first for s in self._symbols) else 0
 
   @property
   def flags(self):
-    first = self._symbols[0].flags
+    first = self._symbols[0].flags if self else 0
     return first if all(s.flags == first for s in self._symbols) else 0
 
   @property
   def object_path(self):
-    first = self._symbols[0].object_path
+    first = self._symbols[0].object_path if self else ''
     return first if all(s.object_path == first for s in self._symbols) else ''
 
   @property
   def source_path(self):
-    first = self._symbols[0].source_path
+    first = self._symbols[0].source_path if self else ''
     return first if all(s.source_path == first for s in self._symbols) else ''
 
-  def IterUniqueSymbols(self):
-    seen_aliases_lists = set()
-    for s in self:
-      if not s.aliases:
-        yield s
-      elif id(s.aliases) not in seen_aliases_lists:
-        seen_aliases_lists.add(id(s.aliases))
-        yield s
-
-  def CountUniqueSymbols(self):
-    return sum(1 for s in self.IterUniqueSymbols())
-
   @property
   def size(self):
     if self._size is None:
@@ -363,6 +364,28 @@
   def IsGroup(self):
     return True
 
+  def IterUniqueSymbols(self):
+    """Yields all symbols, but only one from each alias group."""
+    seen_aliases_lists = set()
+    for s in self:
+      if not s.aliases:
+        yield s
+      elif id(s.aliases) not in seen_aliases_lists:
+        seen_aliases_lists.add(id(s.aliases))
+        yield s
+
+  def IterLeafSymbols(self):
+    """Yields all symbols, recursing into subgroups."""
+    for s in self:
+      if s.IsGroup():
+        for x in s.IterLeafSymbols():
+          yield x
+      else:
+        yield s
+
+  def CountUniqueSymbols(self):
+    return sum(1 for s in self.IterUniqueSymbols())
+
   def _CreateTransformed(self, symbols, filtered_symbols=None, name=None,
                          full_name=None, section_name=None, is_sorted=None):
     if is_sorted is None:
@@ -384,10 +407,9 @@
     return self._CreateTransformed(cluster_symbols.ClusterSymbols(self))
 
   def Sorted(self, cmp_func=None, key=None, reverse=False):
-    # Default to sorting by abs(size) then name.
     if cmp_func is None and key is None:
-      cmp_func = lambda a, b: cmp((a.IsBss(), abs(b.size), a.name),
-                                  (b.IsBss(), abs(a.size), b.name))
+      cmp_func = lambda a, b: cmp((a.IsBss(), abs(b.pss), a.name),
+                                  (b.IsBss(), abs(a.pss), b.name))
 
     after_symbols = sorted(self._symbols, cmp_func, key, reverse)
     return self._CreateTransformed(
@@ -398,7 +420,8 @@
     return self.Sorted(key=(lambda s:s.name), reverse=reverse)
 
   def SortedByAddress(self, reverse=False):
-    return self.Sorted(key=(lambda s:s.address), reverse=reverse)
+    return self.Sorted(key=(lambda s:(s.address, s.object_path, s.name)),
+                       reverse=reverse)
 
   def SortedByCount(self, reverse=False):
     return self.Sorted(key=(lambda s:len(s) if s.IsGroup() else 1),
@@ -430,13 +453,20 @@
       ret.section_name = section
     return ret
 
-  def WhereIsGenerated(self):
-    return self.Filter(lambda s: s.IsGenerated())
+  def WhereSourceIsGenerated(self):
+    return self.Filter(lambda s: s.generated_source)
+
+  def WhereGeneratedByToolchain(self):
+    return self.Filter(lambda s: s.IsGeneratedByToolchain())
 
   def WhereNameMatches(self, pattern):
     regex = re.compile(match_util.ExpandRegexIdentifierPlaceholder(pattern))
     return self.Filter(lambda s: regex.search(s.name))
 
+  def WhereFullNameMatches(self, pattern):
+    regex = re.compile(match_util.ExpandRegexIdentifierPlaceholder(pattern))
+    return self.Filter(lambda s: regex.search(s.full_name or s.name))
+
   def WhereObjectPathMatches(self, pattern):
     regex = re.compile(match_util.ExpandRegexIdentifierPlaceholder(pattern))
     return self.Filter(lambda s: regex.search(s.object_path))
@@ -469,6 +499,9 @@
       end = start + 1
     return self.Filter(lambda s: s.address >= start and s.address < end)
 
+  def WhereHasPath(self):
+    return self.Filter(lambda s: s.source_path or s.object_path)
+
   def WhereHasAnyAttribution(self):
     return self.Filter(lambda s: s.name or s.source_path or s.object_path)
 
@@ -489,6 +522,8 @@
   def GroupBy(self, func, min_count=0):
     """Returns a SymbolGroup of SymbolGroups, indexed by |func|.
 
+    Symbols within each subgroup maintain their relative ordering.
+
     Args:
       func: Grouping function. Passed a symbol and returns a string for the
             name of the subgroup to put the symbol in. If None is returned, the
@@ -519,9 +554,10 @@
         after_syms.extend(symbols)
       else:
         filtered_symbols.extend(symbols)
-    return self._CreateTransformed(
+    grouped = self._CreateTransformed(
         after_syms, filtered_symbols=filtered_symbols,
         section_name=self.section_name, is_sorted=False)
+    return grouped
 
   def GroupBySectionName(self):
     return self.GroupBy(lambda s: s.section_name)
@@ -556,8 +592,8 @@
       return _ExtractPrefixBeforeSeparator(name, '::', depth)
     return self.GroupBy(extract_namespace, min_count=min_count)
 
-  def GroupBySourcePath(self, depth=0, fallback='{no path}',
-                        fallback_to_object_path=True, min_count=0):
+  def GroupByPath(self, depth=0, fallback='{no path}',
+                  fallback_to_object_path=True, min_count=0):
     """Groups by source_path.
 
     Args:
@@ -579,23 +615,6 @@
       return _ExtractPrefixBeforeSeparator(path, os.path.sep, depth)
     return self.GroupBy(extract_path, min_count=min_count)
 
-  def GroupByObjectPath(self, depth=0, fallback='{no path}', min_count=0):
-    """Groups by object_path.
-
-    Args:
-      depth: When 0 (default), groups by entire path. When 1, groups by
-             top-level directory, when 2, groups by top 2 directories, etc.
-      fallback: Use this value when no namespace exists.
-      min_count: Miniumum number of symbols for a group. If fewer than this many
-                 symbols end up in a group, they will not be put within a group.
-                 Use a negative value to omit symbols entirely rather than
-                 include them outside of a group.
-    """
-    def extract_path(symbol):
-      path = symbol.object_path or fallback
-      return _ExtractPrefixBeforeSeparator(path, os.path.sep, depth)
-    return self.GroupBy(extract_path, min_count=min_count)
-
 
 class SymbolDiff(SymbolGroup):
   """A SymbolGroup subclass representing a diff of two other SymbolGroups.
diff --git a/tools/binary_size/libsupersize/testdata/Archive.golden b/tools/binary_size/libsupersize/testdata/Archive.golden
index 4280ddd..56709328 100644
--- a/tools/binary_size/libsupersize/testdata/Archive.golden
+++ b/tools/binary_size/libsupersize/testdata/Archive.golden
@@ -14,36 +14,6 @@
 * 3 placeholders (symbols that start with **) account for 35830760.0 bytes (99.8%)
 * Contains 0 aliases
 * 0 symbols have shared ownership
-.bss@0(size_without_padding=262144,padding=0,name=ff_cos_131072,object_path=third_party/ffmpeg/libffmpeg_internal.a/fft_float.o,source_path=,flags={})
-.bss@0(size_without_padding=131072,padding=0,name=ff_cos_131072_fixed,object_path=third_party/ffmpeg/libffmpeg_internal.a/fft_fixed.o,source_path=,flags={})
-.bss@0(size_without_padding=131072,padding=0,name=ff_cos_65536,object_path=third_party/ffmpeg/libffmpeg_internal.a/fft_float.o,source_path=,flags={})
-.bss@2dffda0(size_without_padding=28,padding=0,name=g_chrome_content_browser_client,object_path=third_party/icu/icuuc/ucnv_ext.o,source_path=,flags={})
-.bss@2dffe80(size_without_padding=4,padding=196,name=SaveHistogram::atomic_histogram_pointer,object_path=third_party/icu/icuuc/ucnv_ext.o,source_path=,flags={})
-.bss@2dffe84(size_without_padding=4,padding=0,name=g_AnimationFrameTimeHistogram_clazz,object_path=third_party/icu/icuuc/ucnv_ext.o,source_path=,flags={anon})
-.data@2de7000(size_without_padding=4,padding=0,name=google::protobuf::internal::pLinuxKernelCmpxchg,object_path=base/base/page_allocator.o,source_path=,flags={})
-.data@2de7004(size_without_padding=4,padding=0,name=google::protobuf::internal::pLinuxKernelMemoryBarrier,object_path=third_party/WebKit.a/ContiguousContainer.o,source_path=,flags={})
-.data@2de7008(size_without_padding=152,padding=0,name=base::android::kBaseRegisteredMethods,object_path=third_party/WebKit.a/ContiguousContainer.o,source_path=,flags={rel})
-.data@2de70a0(size_without_padding=4,padding=0,name=base::android::g_renderer_histogram_code,object_path=third_party/WebKit.a/ContiguousContainer.o,source_path=,flags={anon})
-.data@2de70a4(size_without_padding=4,padding=0,name=base::android::g_library_version_number,object_path=third_party/WebKit.a/ContiguousContainer.o,source_path=,flags={anon,rel.loc})
-.data@2dffd88(size_without_padding=0,padding=101600,name=** symbol gap 3 (end of section),object_path=,source_path=,flags={})
-.data.rel.ro@2cd8500(size_without_padding=56,padding=0,name=ChromeMainDelegateAndroid [vtable],object_path=third_party/WebKit.a/PaintChunker.o,source_path=,flags={})
-.data.rel.ro@2cd8538(size_without_padding=24,padding=0,name=mojo::MessageReceiver [vtable],object_path=base/base/page_allocator.o,source_path=,flags={})
-.data.rel.ro@2cd8550(size_without_padding=12,padding=0,name=kMethodsAnimationFrameTimeHistogram,object_path=base/base/page_allocator.o,source_path=,flags={})
-.data.rel.ro@2ddc608(size_without_padding=0,padding=1065132,name=** symbol gap 3 (end of section),object_path=,source_path=,flags={})
-.data.rel.ro.local@2c176f0(size_without_padding=56,padding=0,name=ChromeMainDelegate [vtable],object_path=third_party/icu/icuuc/ucnv_ext.o,source_path=,flags={})
-.data.rel.ro.local@2c17728(size_without_padding=24,padding=0,name=chrome::mojom::FieldTrialRecorder [vtable],object_path=third_party/icu/icuuc/ucnv_ext.o,source_path=,flags={})
-.data.rel.ro.local@2c17740(size_without_padding=789904,padding=0,name=chrome::mojom::FieldTrialRecorderProxy [vtable],object_path=third_party/WebKit.a/ContiguousContainer.o,source_path=,flags={})
-.data.rel.ro.local@2cd84e0(size_without_padding=16,padding=16,name=.Lswitch.table.45,object_path=third_party/gvr-android-sdk/libgvr_shim_static_arm.a/libcontroller_api_impl.a_controller_api_impl.o,source_path=,flags={})
-.data.rel.ro.local@2cd84f0(size_without_padding=8,padding=0,name=kSystemClassPrefixes,object_path=third_party/gvr-android-sdk/libgvr_shim_static_arm.a/libport_android_jni.a_jni_utils.o,source_path=,flags={anon})
-.rodata@266e600(size_without_padding=1965409,padding=0,name=** merge strings,object_path=,source_path=,flags={})
-.rodata@284e364(size_without_padding=0,padding=3,name=** symbol gap 2,object_path=,source_path=,flags={})
-.rodata@284e364(size_without_padding=8,padding=0,name=,object_path=base/base/page_allocator.o,source_path=,flags={})
-.rodata@284e370(size_without_padding=40,padding=4,name=Name,object_path=base/base/page_allocator.o,source_path=,flags={})
-.rodata@284e398(size_without_padding=32,padding=0,name=chrome::mojom::FilePatcher::Name_,object_path=third_party/WebKit.a/ContiguousContainer.o,source_path=,flags={})
-.rodata@284e518(size_without_padding=675633,padding=352,name=** merge strings,object_path=,source_path=,flags={})
-.rodata@28f3450(size_without_padding=48,padding=7,name=kAnimationFrameTimeHistogramClassPath,object_path=third_party/WebKit.a/PaintChunker.o,source_path=,flags={anon})
-.rodata@28f3480(size_without_padding=4,padding=0,name=blink::CSSValueKeywordsHash::findValueImpl::value_word_list,object_path=third_party/WebKit.a/PaintChunker.o,source_path=,flags={anon})
-.rodata@2c158e4(size_without_padding=0,padding=3286112,name=** symbol gap 3 (end of section),object_path=,source_path=,flags={})
 .text@28d900(size_without_padding=16,padding=0,name=_GLOBAL__sub_I_page_allocator.cc,object_path=base/base/page_allocator.o,source_path=,flags={startup})
 .text@28d910(size_without_padding=56,padding=0,name=_GLOBAL__sub_I_bbr_sender.cc,object_path=base/base/page_allocator.o,source_path=,flags={startup})
 .text@28d948(size_without_padding=28,padding=0,name=_GLOBAL__sub_I_pacing_sender.cc,object_path=base/base/page_allocator.o,source_path=,flags={startup})
@@ -59,3 +29,33 @@
 .text@2a1000(size_without_padding=0,padding=4040,name=** symbol gap 1,object_path=,source_path=,flags={})
 .text@2a1000(size_without_padding=94,padding=0,name=blink::PaintChunker::releasePaintChunks [clone .part.1],object_path=third_party/WebKit.a/ContiguousContainer.o,source_path=,flags={anon})
 .text@24ca628(size_without_padding=0,padding=35821002,name=** symbol gap 2 (end of section),object_path=,source_path=,flags={})
+.rodata@266e600(size_without_padding=1965409,padding=0,name=** merge strings,object_path=,source_path=,flags={})
+.rodata@284e364(size_without_padding=0,padding=3,name=** symbol gap 2,object_path=,source_path=,flags={})
+.rodata@284e364(size_without_padding=8,padding=0,name=,object_path=base/base/page_allocator.o,source_path=,flags={})
+.rodata@284e370(size_without_padding=40,padding=4,name=Name,object_path=base/base/page_allocator.o,source_path=,flags={})
+.rodata@284e398(size_without_padding=32,padding=0,name=chrome::mojom::FilePatcher::Name_,object_path=third_party/WebKit.a/ContiguousContainer.o,source_path=,flags={})
+.rodata@284e518(size_without_padding=675633,padding=352,name=** merge strings,object_path=,source_path=,flags={})
+.rodata@28f3450(size_without_padding=48,padding=7,name=kAnimationFrameTimeHistogramClassPath,object_path=third_party/WebKit.a/PaintChunker.o,source_path=,flags={anon})
+.rodata@28f3480(size_without_padding=4,padding=0,name=blink::CSSValueKeywordsHash::findValueImpl::value_word_list,object_path=third_party/WebKit.a/PaintChunker.o,source_path=,flags={anon})
+.rodata@2c158e4(size_without_padding=0,padding=3286112,name=** symbol gap 3 (end of section),object_path=,source_path=,flags={})
+.data.rel.ro.local@2c176f0(size_without_padding=56,padding=0,name=ChromeMainDelegate [vtable],object_path=third_party/icu/icuuc/ucnv_ext.o,source_path=,flags={})
+.data.rel.ro.local@2c17728(size_without_padding=24,padding=0,name=chrome::mojom::FieldTrialRecorder [vtable],object_path=third_party/icu/icuuc/ucnv_ext.o,source_path=,flags={})
+.data.rel.ro.local@2c17740(size_without_padding=789904,padding=0,name=chrome::mojom::FieldTrialRecorderProxy [vtable],object_path=third_party/WebKit.a/ContiguousContainer.o,source_path=,flags={})
+.data.rel.ro.local@2cd84e0(size_without_padding=16,padding=16,name=.Lswitch.table.45,object_path=third_party/gvr-android-sdk/libgvr_shim_static_arm.a/libcontroller_api_impl.a_controller_api_impl.o,source_path=,flags={})
+.data.rel.ro.local@2cd84f0(size_without_padding=8,padding=0,name=kSystemClassPrefixes,object_path=third_party/gvr-android-sdk/libgvr_shim_static_arm.a/libport_android_jni.a_jni_utils.o,source_path=,flags={anon})
+.data.rel.ro@2cd8500(size_without_padding=56,padding=0,name=ChromeMainDelegateAndroid [vtable],object_path=third_party/WebKit.a/PaintChunker.o,source_path=,flags={})
+.data.rel.ro@2cd8538(size_without_padding=24,padding=0,name=mojo::MessageReceiver [vtable],object_path=base/base/page_allocator.o,source_path=,flags={})
+.data.rel.ro@2cd8550(size_without_padding=12,padding=0,name=kMethodsAnimationFrameTimeHistogram,object_path=base/base/page_allocator.o,source_path=,flags={})
+.data.rel.ro@2ddc608(size_without_padding=0,padding=1065132,name=** symbol gap 3 (end of section),object_path=,source_path=,flags={})
+.data@2de7000(size_without_padding=4,padding=0,name=google::protobuf::internal::pLinuxKernelCmpxchg,object_path=base/base/page_allocator.o,source_path=,flags={})
+.data@2de7004(size_without_padding=4,padding=0,name=google::protobuf::internal::pLinuxKernelMemoryBarrier,object_path=third_party/WebKit.a/ContiguousContainer.o,source_path=,flags={})
+.data@2de7008(size_without_padding=152,padding=0,name=base::android::kBaseRegisteredMethods,object_path=third_party/WebKit.a/ContiguousContainer.o,source_path=,flags={rel})
+.data@2de70a0(size_without_padding=4,padding=0,name=base::android::g_renderer_histogram_code,object_path=third_party/WebKit.a/ContiguousContainer.o,source_path=,flags={anon})
+.data@2de70a4(size_without_padding=4,padding=0,name=base::android::g_library_version_number,object_path=third_party/WebKit.a/ContiguousContainer.o,source_path=,flags={anon,rel.loc})
+.data@2dffd88(size_without_padding=0,padding=101600,name=** symbol gap 3 (end of section),object_path=,source_path=,flags={})
+.bss@0(size_without_padding=262144,padding=0,name=ff_cos_131072,object_path=third_party/ffmpeg/libffmpeg_internal.a/fft_float.o,source_path=,flags={})
+.bss@0(size_without_padding=131072,padding=0,name=ff_cos_131072_fixed,object_path=third_party/ffmpeg/libffmpeg_internal.a/fft_fixed.o,source_path=,flags={})
+.bss@0(size_without_padding=131072,padding=0,name=ff_cos_65536,object_path=third_party/ffmpeg/libffmpeg_internal.a/fft_float.o,source_path=,flags={})
+.bss@2dffda0(size_without_padding=28,padding=0,name=g_chrome_content_browser_client,object_path=third_party/icu/icuuc/ucnv_ext.o,source_path=,flags={})
+.bss@2dffe80(size_without_padding=4,padding=196,name=SaveHistogram::atomic_histogram_pointer,object_path=third_party/icu/icuuc/ucnv_ext.o,source_path=,flags={})
+.bss@2dffe84(size_without_padding=4,padding=0,name=g_AnimationFrameTimeHistogram_clazz,object_path=third_party/icu/icuuc/ucnv_ext.o,source_path=,flags={anon})
diff --git a/tools/binary_size/libsupersize/testdata/Archive_Elf.golden b/tools/binary_size/libsupersize/testdata/Archive_Elf.golden
index c1d0694..90de66a 100644
--- a/tools/binary_size/libsupersize/testdata/Archive_Elf.golden
+++ b/tools/binary_size/libsupersize/testdata/Archive_Elf.golden
@@ -21,27 +21,24 @@
 * 3 placeholders (symbols that start with **) account for 35830760.0 bytes (99.8%)
 * Contains 5 aliases, mapped to 2 unique addresses (60 bytes)
 * 1 symbols have shared ownership (12 bytes)
-.bss@0(size_without_padding=262144,padding=0,name=ff_cos_131072,object_path=third_party/ffmpeg/libffmpeg_internal.a/fft_float.o,source_path=third_party/fft_float.cc,flags={})
-.bss@0(size_without_padding=131072,padding=0,name=ff_cos_131072_fixed,object_path=third_party/ffmpeg/libffmpeg_internal.a/fft_fixed.o,source_path=third_party/fft_fixed.cc,flags={})
-.bss@0(size_without_padding=131072,padding=0,name=ff_cos_65536,object_path=third_party/ffmpeg/libffmpeg_internal.a/fft_float.o,source_path=third_party/fft_float.cc,flags={})
-.bss@2dffda0(size_without_padding=28,padding=0,name=g_chrome_content_browser_client,object_path=third_party/icu/icuuc/ucnv_ext.o,source_path=third_party/icu/ucnv_ext.c,flags={})
-.bss@2dffe80(size_without_padding=4,padding=196,name=SaveHistogram::atomic_histogram_pointer,object_path=third_party/icu/icuuc/ucnv_ext.o,source_path=third_party/icu/ucnv_ext.c,flags={})
-.bss@2dffe84(size_without_padding=4,padding=0,name=g_AnimationFrameTimeHistogram_clazz,object_path=third_party/icu/icuuc/ucnv_ext.o,source_path=third_party/icu/ucnv_ext.c,flags={anon})
-.data@2de7000(size_without_padding=4,padding=0,name=google::protobuf::internal::pLinuxKernelCmpxchg,object_path=base/base/page_allocator.o,source_path=base/page_allocator.cc,flags={})
-.data@2de7004(size_without_padding=4,padding=0,name=google::protobuf::internal::pLinuxKernelMemoryBarrier,object_path=third_party/WebKit.a/ContiguousContainer.o,source_path=third_party/container.c,flags={})
-.data@2de7008(size_without_padding=152,padding=0,name=base::android::kBaseRegisteredMethods,object_path=third_party/WebKit.a/ContiguousContainer.o,source_path=third_party/container.c,flags={rel})
-.data@2de70a0(size_without_padding=4,padding=0,name=base::android::g_renderer_histogram_code,object_path=third_party/WebKit.a/ContiguousContainer.o,source_path=third_party/container.c,flags={anon})
-.data@2de70a4(size_without_padding=4,padding=0,name=base::android::g_library_version_number,object_path=third_party/WebKit.a/ContiguousContainer.o,source_path=third_party/container.c,flags={anon,rel.loc})
-.data@2dffd88(size_without_padding=0,padding=101600,name=** symbol gap 3 (end of section),object_path=,source_path=,flags={})
-.data.rel.ro@2cd8500(size_without_padding=56,padding=0,name=ChromeMainDelegateAndroid [vtable],object_path=third_party/WebKit.a/PaintChunker.o,source_path=third_party/paint.cc,flags={})
-.data.rel.ro@2cd8538(size_without_padding=24,padding=0,name=mojo::MessageReceiver [vtable],object_path=base/base/page_allocator.o,source_path=base/page_allocator.cc,flags={})
-.data.rel.ro@2cd8550(size_without_padding=12,padding=0,name=kMethodsAnimationFrameTimeHistogram,object_path=base/base/page_allocator.o,source_path=base/page_allocator.cc,flags={})
-.data.rel.ro@2ddc608(size_without_padding=0,padding=1065132,name=** symbol gap 3 (end of section),object_path=,source_path=,flags={})
-.data.rel.ro.local@2c176f0(size_without_padding=56,padding=0,name=ChromeMainDelegate [vtable],object_path=third_party/icu/icuuc/ucnv_ext.o,source_path=third_party/icu/ucnv_ext.c,flags={})
-.data.rel.ro.local@2c17728(size_without_padding=24,padding=0,name=chrome::mojom::FieldTrialRecorder [vtable],object_path=third_party/icu/icuuc/ucnv_ext.o,source_path=third_party/icu/ucnv_ext.c,flags={})
-.data.rel.ro.local@2c17740(size_without_padding=789904,padding=0,name=chrome::mojom::FieldTrialRecorderProxy [vtable],object_path=third_party/WebKit.a/ContiguousContainer.o,source_path=third_party/container.c,flags={})
-.data.rel.ro.local@2cd84e0(size_without_padding=16,padding=16,name=.Lswitch.table.45,object_path=third_party/gvr-android-sdk/libgvr_shim_static_arm.a/libcontroller_api_impl.a_controller_api_impl.o,source_path=,flags={})
-.data.rel.ro.local@2cd84f0(size_without_padding=8,padding=0,name=kSystemClassPrefixes,object_path=third_party/gvr-android-sdk/libgvr_shim_static_arm.a/libport_android_jni.a_jni_utils.o,source_path=,flags={anon})
+.text@28d900(size_without_padding=16,padding=0,name=_GLOBAL__sub_I_page_allocator.cc,object_path=base/base/page_allocator.o,source_path=base/page_allocator.cc,flags={startup})
+.text@28d910(size_without_padding=56,padding=0,name=_GLOBAL__sub_I_bbr_sender.cc,object_path=base/base/page_allocator.o,source_path=base/page_allocator.cc,flags={startup})
+.text@28d948(size_without_padding=28,padding=0,name=_GLOBAL__sub_I_pacing_sender.cc,object_path=base/base/page_allocator.o,source_path=base/page_allocator.cc,flags={startup})
+.text@28d964(size_without_padding=38,padding=0,name=extFromUUseMapping,object_path=base/base/page_allocator.o,source_path=base/page_allocator.cc,flags={})
+.text@28d98a(size_without_padding=32,padding=0,name=extFromUUseMapping,object_path=base/base/page_allocator.o,source_path=base/page_allocator.cc,flags={})
+.text@28f000(size_without_padding=0,padding=5718,name=** symbol gap 0,object_path=,source_path=,flags={})
+.text@28f000(size_without_padding=448,padding=0,name=ucnv_extMatchFromU,object_path=third_party/icu/icuuc/ucnv_ext.o,source_path=third_party/icu/ucnv_ext.c,flags={gen})
+.text@28f1c8(size_without_padding=20,padding=8,name=_GLOBAL__sub_I_SkDeviceProfile.cpp,object_path=third_party/icu/icuuc/ucnv_ext.o,source_path=third_party/icu/ucnv_ext.c,flags={startup,gen})
+.text@28f1e0(size_without_padding=69120,padding=4,name=foo_bar,object_path=third_party/icu/icuuc/ucnv_ext.o,source_path=third_party/icu/ucnv_ext.c,flags={unlikely,gen})
+.text@2a0000(size_without_padding=16,padding=32,name=blink::ContiguousContainerBase::shrinkToFit,object_path=,source_path=,flags={2 aliases})
+.text@2a0000(size_without_padding=16,padding=32,name=BazAlias,object_path=third_party/icu/icuuc/ucnv_ext.o,source_path=third_party/icu/ucnv_ext.c,flags={gen,2 aliases})
+.text@2a0010(size_without_padding=12,padding=0,name=blink::ContiguousContainerBase::shrinkToFit [clone .part.1234] [clone .isra.2],object_path=third_party/{shared}/2,source_path=third_party/{shared}/2,flags={3 aliases})
+.text@2a0010(size_without_padding=12,padding=0,name=FooAlias,object_path=third_party/ffmpeg/libffmpeg_internal.a/fft_float.o,source_path=third_party/fft_float.cc,flags={3 aliases})
+.text@2a0010(size_without_padding=12,padding=0,name=BarAlias,object_path=third_party/ffmpeg/libffmpeg_internal.a/fft_float.o,source_path=third_party/fft_float.cc,flags={3 aliases})
+.text@2a0020(size_without_padding=24,padding=4,name=blink::ContiguousContainerBase::ContiguousContainerBase,object_path=third_party/WebKit.a/ContiguousContainer.o,source_path=third_party/container.c,flags={})
+.text@2a1000(size_without_padding=0,padding=4040,name=** symbol gap 1,object_path=,source_path=,flags={})
+.text@2a1000(size_without_padding=94,padding=0,name=blink::PaintChunker::releasePaintChunks [clone .part.1],object_path=third_party/WebKit.a/ContiguousContainer.o,source_path=third_party/container.c,flags={anon})
+.text@24ca628(size_without_padding=0,padding=35821002,name=** symbol gap 2 (end of section),object_path=,source_path=,flags={})
 .rodata@266e600(size_without_padding=1965409,padding=0,name=** merge strings,object_path=,source_path=,flags={})
 .rodata@284e364(size_without_padding=0,padding=3,name=** symbol gap 2,object_path=,source_path=,flags={})
 .rodata@284e364(size_without_padding=8,padding=0,name=,object_path=base/base/page_allocator.o,source_path=base/page_allocator.cc,flags={})
@@ -51,21 +48,24 @@
 .rodata@28f3450(size_without_padding=48,padding=7,name=kAnimationFrameTimeHistogramClassPath,object_path=third_party/WebKit.a/PaintChunker.o,source_path=third_party/paint.cc,flags={anon})
 .rodata@28f3480(size_without_padding=4,padding=0,name=blink::CSSValueKeywordsHash::findValueImpl::value_word_list,object_path=third_party/WebKit.a/PaintChunker.o,source_path=third_party/paint.cc,flags={anon})
 .rodata@2c158e4(size_without_padding=0,padding=3286112,name=** symbol gap 3 (end of section),object_path=,source_path=,flags={})
-.text@28d900(size_without_padding=16,padding=0,name=_GLOBAL__sub_I_page_allocator.cc,object_path=base/base/page_allocator.o,source_path=base/page_allocator.cc,flags={startup})
-.text@28d910(size_without_padding=56,padding=0,name=_GLOBAL__sub_I_bbr_sender.cc,object_path=base/base/page_allocator.o,source_path=base/page_allocator.cc,flags={startup})
-.text@28d948(size_without_padding=28,padding=0,name=_GLOBAL__sub_I_pacing_sender.cc,object_path=base/base/page_allocator.o,source_path=base/page_allocator.cc,flags={startup})
-.text@28d964(size_without_padding=38,padding=0,name=extFromUUseMapping,object_path=base/base/page_allocator.o,source_path=base/page_allocator.cc,flags={})
-.text@28d98a(size_without_padding=32,padding=0,name=extFromUUseMapping,object_path=base/base/page_allocator.o,source_path=base/page_allocator.cc,flags={})
-.text@28f000(size_without_padding=0,padding=5718,name=** symbol gap 0,object_path=,source_path=,flags={})
-.text@28f000(size_without_padding=448,padding=0,name=ucnv_extMatchFromU,object_path=third_party/icu/icuuc/ucnv_ext.o,source_path=third_party/icu/ucnv_ext.c,flags={})
-.text@28f1c8(size_without_padding=20,padding=8,name=_GLOBAL__sub_I_SkDeviceProfile.cpp,object_path=third_party/icu/icuuc/ucnv_ext.o,source_path=third_party/icu/ucnv_ext.c,flags={startup})
-.text@28f1e0(size_without_padding=69120,padding=4,name=foo_bar,object_path=third_party/icu/icuuc/ucnv_ext.o,source_path=third_party/icu/ucnv_ext.c,flags={unlikely})
-.text@2a0000(size_without_padding=16,padding=32,name=blink::ContiguousContainerBase::shrinkToFit,object_path=,source_path=,flags={2 aliases})
-.text@2a0000(size_without_padding=16,padding=32,name=BazAlias,object_path=third_party/icu/icuuc/ucnv_ext.o,source_path=third_party/icu/ucnv_ext.c,flags={2 aliases})
-.text@2a0010(size_without_padding=12,padding=0,name=blink::ContiguousContainerBase::shrinkToFit [clone .part.1234] [clone .isra.2],object_path=third_party/{shared}/2,source_path=third_party/{shared}/2,flags={3 aliases})
-.text@2a0010(size_without_padding=12,padding=0,name=FooAlias,object_path=third_party/ffmpeg/libffmpeg_internal.a/fft_float.o,source_path=third_party/fft_float.cc,flags={3 aliases})
-.text@2a0010(size_without_padding=12,padding=0,name=BarAlias,object_path=third_party/ffmpeg/libffmpeg_internal.a/fft_float.o,source_path=third_party/fft_float.cc,flags={3 aliases})
-.text@2a0020(size_without_padding=24,padding=4,name=blink::ContiguousContainerBase::ContiguousContainerBase,object_path=third_party/WebKit.a/ContiguousContainer.o,source_path=third_party/container.c,flags={})
-.text@2a1000(size_without_padding=0,padding=4040,name=** symbol gap 1,object_path=,source_path=,flags={})
-.text@2a1000(size_without_padding=94,padding=0,name=blink::PaintChunker::releasePaintChunks [clone .part.1],object_path=third_party/WebKit.a/ContiguousContainer.o,source_path=third_party/container.c,flags={anon})
-.text@24ca628(size_without_padding=0,padding=35821002,name=** symbol gap 2 (end of section),object_path=,source_path=,flags={})
+.data.rel.ro.local@2c176f0(size_without_padding=56,padding=0,name=ChromeMainDelegate [vtable],object_path=third_party/icu/icuuc/ucnv_ext.o,source_path=third_party/icu/ucnv_ext.c,flags={gen})
+.data.rel.ro.local@2c17728(size_without_padding=24,padding=0,name=chrome::mojom::FieldTrialRecorder [vtable],object_path=third_party/icu/icuuc/ucnv_ext.o,source_path=third_party/icu/ucnv_ext.c,flags={gen})
+.data.rel.ro.local@2c17740(size_without_padding=789904,padding=0,name=chrome::mojom::FieldTrialRecorderProxy [vtable],object_path=third_party/WebKit.a/ContiguousContainer.o,source_path=third_party/container.c,flags={})
+.data.rel.ro.local@2cd84e0(size_without_padding=16,padding=16,name=.Lswitch.table.45,object_path=third_party/gvr-android-sdk/libgvr_shim_static_arm.a/libcontroller_api_impl.a_controller_api_impl.o,source_path=,flags={})
+.data.rel.ro.local@2cd84f0(size_without_padding=8,padding=0,name=kSystemClassPrefixes,object_path=third_party/gvr-android-sdk/libgvr_shim_static_arm.a/libport_android_jni.a_jni_utils.o,source_path=,flags={anon})
+.data.rel.ro@2cd8500(size_without_padding=56,padding=0,name=ChromeMainDelegateAndroid [vtable],object_path=third_party/WebKit.a/PaintChunker.o,source_path=third_party/paint.cc,flags={})
+.data.rel.ro@2cd8538(size_without_padding=24,padding=0,name=mojo::MessageReceiver [vtable],object_path=base/base/page_allocator.o,source_path=base/page_allocator.cc,flags={})
+.data.rel.ro@2cd8550(size_without_padding=12,padding=0,name=kMethodsAnimationFrameTimeHistogram,object_path=base/base/page_allocator.o,source_path=base/page_allocator.cc,flags={})
+.data.rel.ro@2ddc608(size_without_padding=0,padding=1065132,name=** symbol gap 3 (end of section),object_path=,source_path=,flags={})
+.data@2de7000(size_without_padding=4,padding=0,name=google::protobuf::internal::pLinuxKernelCmpxchg,object_path=base/base/page_allocator.o,source_path=base/page_allocator.cc,flags={})
+.data@2de7004(size_without_padding=4,padding=0,name=google::protobuf::internal::pLinuxKernelMemoryBarrier,object_path=third_party/WebKit.a/ContiguousContainer.o,source_path=third_party/container.c,flags={})
+.data@2de7008(size_without_padding=152,padding=0,name=base::android::kBaseRegisteredMethods,object_path=third_party/WebKit.a/ContiguousContainer.o,source_path=third_party/container.c,flags={rel})
+.data@2de70a0(size_without_padding=4,padding=0,name=base::android::g_renderer_histogram_code,object_path=third_party/WebKit.a/ContiguousContainer.o,source_path=third_party/container.c,flags={anon})
+.data@2de70a4(size_without_padding=4,padding=0,name=base::android::g_library_version_number,object_path=third_party/WebKit.a/ContiguousContainer.o,source_path=third_party/container.c,flags={anon,rel.loc})
+.data@2dffd88(size_without_padding=0,padding=101600,name=** symbol gap 3 (end of section),object_path=,source_path=,flags={})
+.bss@0(size_without_padding=262144,padding=0,name=ff_cos_131072,object_path=third_party/ffmpeg/libffmpeg_internal.a/fft_float.o,source_path=third_party/fft_float.cc,flags={})
+.bss@0(size_without_padding=131072,padding=0,name=ff_cos_131072_fixed,object_path=third_party/ffmpeg/libffmpeg_internal.a/fft_fixed.o,source_path=third_party/fft_fixed.cc,flags={})
+.bss@0(size_without_padding=131072,padding=0,name=ff_cos_65536,object_path=third_party/ffmpeg/libffmpeg_internal.a/fft_float.o,source_path=third_party/fft_float.cc,flags={})
+.bss@2dffda0(size_without_padding=28,padding=0,name=g_chrome_content_browser_client,object_path=third_party/icu/icuuc/ucnv_ext.o,source_path=third_party/icu/ucnv_ext.c,flags={gen})
+.bss@2dffe80(size_without_padding=4,padding=196,name=SaveHistogram::atomic_histogram_pointer,object_path=third_party/icu/icuuc/ucnv_ext.o,source_path=third_party/icu/ucnv_ext.c,flags={gen})
+.bss@2dffe84(size_without_padding=4,padding=0,name=g_AnimationFrameTimeHistogram_clazz,object_path=third_party/icu/icuuc/ucnv_ext.o,source_path=third_party/icu/ucnv_ext.c,flags={anon,gen})
diff --git a/tools/binary_size/libsupersize/testdata/Archive_OutputDirectory.golden b/tools/binary_size/libsupersize/testdata/Archive_OutputDirectory.golden
index 93653bb..6fad98a4 100644
--- a/tools/binary_size/libsupersize/testdata/Archive_OutputDirectory.golden
+++ b/tools/binary_size/libsupersize/testdata/Archive_OutputDirectory.golden
@@ -14,27 +14,21 @@
 * 3 placeholders (symbols that start with **) account for 35830760.0 bytes (99.8%)
 * Contains 0 aliases
 * 0 symbols have shared ownership
-.bss@0(size_without_padding=262144,padding=0,name=ff_cos_131072,object_path=third_party/ffmpeg/libffmpeg_internal.a/fft_float.o,source_path=third_party/fft_float.cc,flags={})
-.bss@0(size_without_padding=131072,padding=0,name=ff_cos_131072_fixed,object_path=third_party/ffmpeg/libffmpeg_internal.a/fft_fixed.o,source_path=third_party/fft_fixed.cc,flags={})
-.bss@0(size_without_padding=131072,padding=0,name=ff_cos_65536,object_path=third_party/ffmpeg/libffmpeg_internal.a/fft_float.o,source_path=third_party/fft_float.cc,flags={})
-.bss@2dffda0(size_without_padding=28,padding=0,name=g_chrome_content_browser_client,object_path=third_party/icu/icuuc/ucnv_ext.o,source_path=third_party/icu/ucnv_ext.c,flags={})
-.bss@2dffe80(size_without_padding=4,padding=196,name=SaveHistogram::atomic_histogram_pointer,object_path=third_party/icu/icuuc/ucnv_ext.o,source_path=third_party/icu/ucnv_ext.c,flags={})
-.bss@2dffe84(size_without_padding=4,padding=0,name=g_AnimationFrameTimeHistogram_clazz,object_path=third_party/icu/icuuc/ucnv_ext.o,source_path=third_party/icu/ucnv_ext.c,flags={anon})
-.data@2de7000(size_without_padding=4,padding=0,name=google::protobuf::internal::pLinuxKernelCmpxchg,object_path=base/base/page_allocator.o,source_path=base/page_allocator.cc,flags={})
-.data@2de7004(size_without_padding=4,padding=0,name=google::protobuf::internal::pLinuxKernelMemoryBarrier,object_path=third_party/WebKit.a/ContiguousContainer.o,source_path=third_party/container.c,flags={})
-.data@2de7008(size_without_padding=152,padding=0,name=base::android::kBaseRegisteredMethods,object_path=third_party/WebKit.a/ContiguousContainer.o,source_path=third_party/container.c,flags={rel})
-.data@2de70a0(size_without_padding=4,padding=0,name=base::android::g_renderer_histogram_code,object_path=third_party/WebKit.a/ContiguousContainer.o,source_path=third_party/container.c,flags={anon})
-.data@2de70a4(size_without_padding=4,padding=0,name=base::android::g_library_version_number,object_path=third_party/WebKit.a/ContiguousContainer.o,source_path=third_party/container.c,flags={anon,rel.loc})
-.data@2dffd88(size_without_padding=0,padding=101600,name=** symbol gap 3 (end of section),object_path=,source_path=,flags={})
-.data.rel.ro@2cd8500(size_without_padding=56,padding=0,name=ChromeMainDelegateAndroid [vtable],object_path=third_party/WebKit.a/PaintChunker.o,source_path=third_party/paint.cc,flags={})
-.data.rel.ro@2cd8538(size_without_padding=24,padding=0,name=mojo::MessageReceiver [vtable],object_path=base/base/page_allocator.o,source_path=base/page_allocator.cc,flags={})
-.data.rel.ro@2cd8550(size_without_padding=12,padding=0,name=kMethodsAnimationFrameTimeHistogram,object_path=base/base/page_allocator.o,source_path=base/page_allocator.cc,flags={})
-.data.rel.ro@2ddc608(size_without_padding=0,padding=1065132,name=** symbol gap 3 (end of section),object_path=,source_path=,flags={})
-.data.rel.ro.local@2c176f0(size_without_padding=56,padding=0,name=ChromeMainDelegate [vtable],object_path=third_party/icu/icuuc/ucnv_ext.o,source_path=third_party/icu/ucnv_ext.c,flags={})
-.data.rel.ro.local@2c17728(size_without_padding=24,padding=0,name=chrome::mojom::FieldTrialRecorder [vtable],object_path=third_party/icu/icuuc/ucnv_ext.o,source_path=third_party/icu/ucnv_ext.c,flags={})
-.data.rel.ro.local@2c17740(size_without_padding=789904,padding=0,name=chrome::mojom::FieldTrialRecorderProxy [vtable],object_path=third_party/WebKit.a/ContiguousContainer.o,source_path=third_party/container.c,flags={})
-.data.rel.ro.local@2cd84e0(size_without_padding=16,padding=16,name=.Lswitch.table.45,object_path=third_party/gvr-android-sdk/libgvr_shim_static_arm.a/libcontroller_api_impl.a_controller_api_impl.o,source_path=,flags={})
-.data.rel.ro.local@2cd84f0(size_without_padding=8,padding=0,name=kSystemClassPrefixes,object_path=third_party/gvr-android-sdk/libgvr_shim_static_arm.a/libport_android_jni.a_jni_utils.o,source_path=,flags={anon})
+.text@28d900(size_without_padding=16,padding=0,name=_GLOBAL__sub_I_page_allocator.cc,object_path=base/base/page_allocator.o,source_path=base/page_allocator.cc,flags={startup})
+.text@28d910(size_without_padding=56,padding=0,name=_GLOBAL__sub_I_bbr_sender.cc,object_path=base/base/page_allocator.o,source_path=base/page_allocator.cc,flags={startup})
+.text@28d948(size_without_padding=28,padding=0,name=_GLOBAL__sub_I_pacing_sender.cc,object_path=base/base/page_allocator.o,source_path=base/page_allocator.cc,flags={startup})
+.text@28d964(size_without_padding=38,padding=0,name=extFromUUseMapping,object_path=base/base/page_allocator.o,source_path=base/page_allocator.cc,flags={})
+.text@28d98a(size_without_padding=32,padding=0,name=extFromUUseMapping,object_path=base/base/page_allocator.o,source_path=base/page_allocator.cc,flags={})
+.text@28f000(size_without_padding=0,padding=5718,name=** symbol gap 0,object_path=,source_path=,flags={})
+.text@28f000(size_without_padding=448,padding=0,name=ucnv_extMatchFromU,object_path=third_party/icu/icuuc/ucnv_ext.o,source_path=third_party/icu/ucnv_ext.c,flags={gen})
+.text@28f1c8(size_without_padding=20,padding=8,name=_GLOBAL__sub_I_SkDeviceProfile.cpp,object_path=third_party/icu/icuuc/ucnv_ext.o,source_path=third_party/icu/ucnv_ext.c,flags={startup,gen})
+.text@28f1e0(size_without_padding=69120,padding=4,name=foo_bar,object_path=third_party/icu/icuuc/ucnv_ext.o,source_path=third_party/icu/ucnv_ext.c,flags={unlikely,gen})
+.text@2a0000(size_without_padding=16,padding=32,name=blink::ContiguousContainerBase::shrinkToFit,object_path=third_party/WebKit.a/PaintChunker.o,source_path=third_party/paint.cc,flags={})
+.text@2a0010(size_without_padding=12,padding=0,name=blink::ContiguousContainerBase::shrinkToFit [clone .part.1234] [clone .isra.2],object_path=third_party/WebKit.a/PaintChunker.o,source_path=third_party/paint.cc,flags={})
+.text@2a0020(size_without_padding=24,padding=4,name=blink::ContiguousContainerBase::ContiguousContainerBase,object_path=third_party/WebKit.a/ContiguousContainer.o,source_path=third_party/container.c,flags={})
+.text@2a1000(size_without_padding=0,padding=4040,name=** symbol gap 1,object_path=,source_path=,flags={})
+.text@2a1000(size_without_padding=94,padding=0,name=blink::PaintChunker::releasePaintChunks [clone .part.1],object_path=third_party/WebKit.a/ContiguousContainer.o,source_path=third_party/container.c,flags={anon})
+.text@24ca628(size_without_padding=0,padding=35821002,name=** symbol gap 2 (end of section),object_path=,source_path=,flags={})
 .rodata@266e600(size_without_padding=1965409,padding=0,name=** merge strings,object_path=,source_path=,flags={})
 .rodata@284e364(size_without_padding=0,padding=3,name=** symbol gap 2,object_path=,source_path=,flags={})
 .rodata@284e364(size_without_padding=8,padding=0,name=,object_path=base/base/page_allocator.o,source_path=base/page_allocator.cc,flags={})
@@ -44,18 +38,24 @@
 .rodata@28f3450(size_without_padding=48,padding=7,name=kAnimationFrameTimeHistogramClassPath,object_path=third_party/WebKit.a/PaintChunker.o,source_path=third_party/paint.cc,flags={anon})
 .rodata@28f3480(size_without_padding=4,padding=0,name=blink::CSSValueKeywordsHash::findValueImpl::value_word_list,object_path=third_party/WebKit.a/PaintChunker.o,source_path=third_party/paint.cc,flags={anon})
 .rodata@2c158e4(size_without_padding=0,padding=3286112,name=** symbol gap 3 (end of section),object_path=,source_path=,flags={})
-.text@28d900(size_without_padding=16,padding=0,name=_GLOBAL__sub_I_page_allocator.cc,object_path=base/base/page_allocator.o,source_path=base/page_allocator.cc,flags={startup})
-.text@28d910(size_without_padding=56,padding=0,name=_GLOBAL__sub_I_bbr_sender.cc,object_path=base/base/page_allocator.o,source_path=base/page_allocator.cc,flags={startup})
-.text@28d948(size_without_padding=28,padding=0,name=_GLOBAL__sub_I_pacing_sender.cc,object_path=base/base/page_allocator.o,source_path=base/page_allocator.cc,flags={startup})
-.text@28d964(size_without_padding=38,padding=0,name=extFromUUseMapping,object_path=base/base/page_allocator.o,source_path=base/page_allocator.cc,flags={})
-.text@28d98a(size_without_padding=32,padding=0,name=extFromUUseMapping,object_path=base/base/page_allocator.o,source_path=base/page_allocator.cc,flags={})
-.text@28f000(size_without_padding=0,padding=5718,name=** symbol gap 0,object_path=,source_path=,flags={})
-.text@28f000(size_without_padding=448,padding=0,name=ucnv_extMatchFromU,object_path=third_party/icu/icuuc/ucnv_ext.o,source_path=third_party/icu/ucnv_ext.c,flags={})
-.text@28f1c8(size_without_padding=20,padding=8,name=_GLOBAL__sub_I_SkDeviceProfile.cpp,object_path=third_party/icu/icuuc/ucnv_ext.o,source_path=third_party/icu/ucnv_ext.c,flags={startup})
-.text@28f1e0(size_without_padding=69120,padding=4,name=foo_bar,object_path=third_party/icu/icuuc/ucnv_ext.o,source_path=third_party/icu/ucnv_ext.c,flags={unlikely})
-.text@2a0000(size_without_padding=16,padding=32,name=blink::ContiguousContainerBase::shrinkToFit,object_path=third_party/WebKit.a/PaintChunker.o,source_path=third_party/paint.cc,flags={})
-.text@2a0010(size_without_padding=12,padding=0,name=blink::ContiguousContainerBase::shrinkToFit [clone .part.1234] [clone .isra.2],object_path=third_party/WebKit.a/PaintChunker.o,source_path=third_party/paint.cc,flags={})
-.text@2a0020(size_without_padding=24,padding=4,name=blink::ContiguousContainerBase::ContiguousContainerBase,object_path=third_party/WebKit.a/ContiguousContainer.o,source_path=third_party/container.c,flags={})
-.text@2a1000(size_without_padding=0,padding=4040,name=** symbol gap 1,object_path=,source_path=,flags={})
-.text@2a1000(size_without_padding=94,padding=0,name=blink::PaintChunker::releasePaintChunks [clone .part.1],object_path=third_party/WebKit.a/ContiguousContainer.o,source_path=third_party/container.c,flags={anon})
-.text@24ca628(size_without_padding=0,padding=35821002,name=** symbol gap 2 (end of section),object_path=,source_path=,flags={})
+.data.rel.ro.local@2c176f0(size_without_padding=56,padding=0,name=ChromeMainDelegate [vtable],object_path=third_party/icu/icuuc/ucnv_ext.o,source_path=third_party/icu/ucnv_ext.c,flags={gen})
+.data.rel.ro.local@2c17728(size_without_padding=24,padding=0,name=chrome::mojom::FieldTrialRecorder [vtable],object_path=third_party/icu/icuuc/ucnv_ext.o,source_path=third_party/icu/ucnv_ext.c,flags={gen})
+.data.rel.ro.local@2c17740(size_without_padding=789904,padding=0,name=chrome::mojom::FieldTrialRecorderProxy [vtable],object_path=third_party/WebKit.a/ContiguousContainer.o,source_path=third_party/container.c,flags={})
+.data.rel.ro.local@2cd84e0(size_without_padding=16,padding=16,name=.Lswitch.table.45,object_path=third_party/gvr-android-sdk/libgvr_shim_static_arm.a/libcontroller_api_impl.a_controller_api_impl.o,source_path=,flags={})
+.data.rel.ro.local@2cd84f0(size_without_padding=8,padding=0,name=kSystemClassPrefixes,object_path=third_party/gvr-android-sdk/libgvr_shim_static_arm.a/libport_android_jni.a_jni_utils.o,source_path=,flags={anon})
+.data.rel.ro@2cd8500(size_without_padding=56,padding=0,name=ChromeMainDelegateAndroid [vtable],object_path=third_party/WebKit.a/PaintChunker.o,source_path=third_party/paint.cc,flags={})
+.data.rel.ro@2cd8538(size_without_padding=24,padding=0,name=mojo::MessageReceiver [vtable],object_path=base/base/page_allocator.o,source_path=base/page_allocator.cc,flags={})
+.data.rel.ro@2cd8550(size_without_padding=12,padding=0,name=kMethodsAnimationFrameTimeHistogram,object_path=base/base/page_allocator.o,source_path=base/page_allocator.cc,flags={})
+.data.rel.ro@2ddc608(size_without_padding=0,padding=1065132,name=** symbol gap 3 (end of section),object_path=,source_path=,flags={})
+.data@2de7000(size_without_padding=4,padding=0,name=google::protobuf::internal::pLinuxKernelCmpxchg,object_path=base/base/page_allocator.o,source_path=base/page_allocator.cc,flags={})
+.data@2de7004(size_without_padding=4,padding=0,name=google::protobuf::internal::pLinuxKernelMemoryBarrier,object_path=third_party/WebKit.a/ContiguousContainer.o,source_path=third_party/container.c,flags={})
+.data@2de7008(size_without_padding=152,padding=0,name=base::android::kBaseRegisteredMethods,object_path=third_party/WebKit.a/ContiguousContainer.o,source_path=third_party/container.c,flags={rel})
+.data@2de70a0(size_without_padding=4,padding=0,name=base::android::g_renderer_histogram_code,object_path=third_party/WebKit.a/ContiguousContainer.o,source_path=third_party/container.c,flags={anon})
+.data@2de70a4(size_without_padding=4,padding=0,name=base::android::g_library_version_number,object_path=third_party/WebKit.a/ContiguousContainer.o,source_path=third_party/container.c,flags={anon,rel.loc})
+.data@2dffd88(size_without_padding=0,padding=101600,name=** symbol gap 3 (end of section),object_path=,source_path=,flags={})
+.bss@0(size_without_padding=262144,padding=0,name=ff_cos_131072,object_path=third_party/ffmpeg/libffmpeg_internal.a/fft_float.o,source_path=third_party/fft_float.cc,flags={})
+.bss@0(size_without_padding=131072,padding=0,name=ff_cos_131072_fixed,object_path=third_party/ffmpeg/libffmpeg_internal.a/fft_fixed.o,source_path=third_party/fft_fixed.cc,flags={})
+.bss@0(size_without_padding=131072,padding=0,name=ff_cos_65536,object_path=third_party/ffmpeg/libffmpeg_internal.a/fft_float.o,source_path=third_party/fft_float.cc,flags={})
+.bss@2dffda0(size_without_padding=28,padding=0,name=g_chrome_content_browser_client,object_path=third_party/icu/icuuc/ucnv_ext.o,source_path=third_party/icu/ucnv_ext.c,flags={gen})
+.bss@2dffe80(size_without_padding=4,padding=196,name=SaveHistogram::atomic_histogram_pointer,object_path=third_party/icu/icuuc/ucnv_ext.o,source_path=third_party/icu/ucnv_ext.c,flags={gen})
+.bss@2dffe84(size_without_padding=4,padding=0,name=g_AnimationFrameTimeHistogram_clazz,object_path=third_party/icu/icuuc/ucnv_ext.o,source_path=third_party/icu/ucnv_ext.c,flags={anon,gen})
diff --git a/tools/binary_size/libsupersize/testdata/Console.golden b/tools/binary_size/libsupersize/testdata/Console.golden
index bad6bceb..89a89f62 100644
--- a/tools/binary_size/libsupersize/testdata/Console.golden
+++ b/tools/binary_size/libsupersize/testdata/Console.golden
@@ -1,3 +1,18 @@
+********************************************************************************
+Entering interactive Python shell. Quick reference:
+
+SizeInfo: Cluster, metadata, section_sizes, symbols
+Symbol: FlagsString, IsBss, IsGeneratedByToolchain, IsGroup, address, aliases, end_address, flags, full_name, generated_source, is_anonymous, name, num_aliases, object_path, padding, pss, pss_without_padding, section, section_name, size, size_without_padding, source_path
+
+SymbolGroup (extends Symbol): Cluster, CountUniqueSymbols, Filter, GroupBy, GroupByNamespace, GroupByPath, GroupBySectionName, Inverted, IterLeafSymbols, IterUniqueSymbols, Sorted, SortedByAddress, SortedByCount, SortedByName, WhereAddressInRange, WhereBiggerThan, WhereFullNameMatches, WhereGeneratedByToolchain, WhereHasAnyAttribution, WhereHasPath, WhereInSection, WhereMatches, WhereNameMatches, WhereObjectPathMatches, WherePathMatches, WhereSourceIsGenerated, WhereSourcePathMatches, is_sorted
+
+SymbolDiff (extends SymbolGroup): IsAdded, IsRemoved, IsSimilar, WhereNotUnchanged, added_count, changed_count, removed_count, unchanged_count
+
+canned_queries: CategorizeByChromeComponent, CategorizeGenerated
+
+Functions: Diff(), Disassemble(), ExpandRegex(), Print(), ShowExamples()
+Variables: canned_queries, size_info
+********************************************************************************
 # Show pydoc for main types:
 import models
 help(models)
@@ -7,12 +22,12 @@
 
 # Show two levels of .text, grouped by first two subdirectories
 text_syms = size_info.symbols.WhereInSection("t")
-by_path = text_syms.GroupBySourcePath(depth=2)
+by_path = text_syms.GroupByPath(depth=2)
 Print(by_path.WhereBiggerThan(1024))
 
 # Show all non-vtable generated symbols
-generated_syms = size_info.symbols.WhereIsGenerated()
-Print(generated_syms.WhereNameMatches(r"vtable").Inverted())
+generated_syms = size_info.symbols.WhereGeneratedByToolchain()
+Print(generated_syms.WhereNameMatches(r"vtable").Inverted().Sorted())
 
 # Show all symbols that have "print" in their name or path, except
 # those within components/.
@@ -24,6 +39,13 @@
 # Diff two .size files and save result to a file:
 Print(Diff(size_info1, size_info2), to_file="output.txt")
 
+# View per-component breakdowns, then drill into the last entry.
+c = canned_queries.CategorizeByChromeComponent()
+Print(c)
+Print(c[-1].GroupByPath(depth=2).Sorted())
+
+# For even more inspiration, look at canned_queries.py
+# (and feel free to add your own!).
 Metadata:
     elf_arch=ARM
     elf_build_id=WhatAnAmazingBuildId
@@ -45,99 +67,100 @@
 .text=34.2mb     .rodata=5.65mb     other=2.37mb     total=42.3mb
 Number of object files: 10
 
-First columns are: running total, address, pss
-35821002 t@0x24ca628  35821002 {no path}
-             ** symbol gap 2 (end of section)
-39107114 r@0x2c158e4  3286112 {no path}
-             ** symbol gap 3 (end of section)
-41072523 r@0x266e600  1965409 {no path}
-             ** merge strings
-42137655 d@0x2ddc608  1065132 {no path}
-             ** symbol gap 3 (end of section)
-42927559 d@0x2c17740  789904  third_party/container.c
-             chrome::mojom::FieldTrialRecorderProxy [vtable]
-43603544 r@0x284e518  675985  {no path}
-             ** merge strings
-43705144 d@0x2dffd88  101600  {no path}
-             ** symbol gap 3 (end of section)
-43774268 t@0x28f1e0   69124   third_party/icu/ucnv_ext.c
-             foo_bar
-43779986 t@0x28f000   5718    {no path}
-             ** symbol gap 0
-43784026 t@0x2a1000   4040    {no path}
-             ** symbol gap 1
-43784474 t@0x28f000   448     third_party/icu/ucnv_ext.c
-             ucnv_extMatchFromU
-43784626 d@0x2de7008  152     third_party/container.c
-             base::android::kBaseRegisteredMethods
-43784720 t@0x2a1000   94      third_party/container.c
-             blink::PaintChunker::releasePaintChunks [clone .part.1]
-43784776 d@0x2c176f0  56      third_party/icu/ucnv_ext.c
-             ChromeMainDelegate [vtable]
-43784832 d@0x2cd8500  56      third_party/paint.cc
-             ChromeMainDelegateAndroid [vtable]
-43784888 t@0x28d910   56      base/page_allocator.cc
-             _GLOBAL__sub_I_bbr_sender.cc
-43784943 r@0x28f3450  55      third_party/paint.cc
-             kAnimationFrameTimeHistogramClassPath
-43784967 t@0x2a0000   24      third_party/icu/ucnv_ext.c
-             BazAlias
-43784991 t@0x2a0000   24      {no path}
-             blink::ContiguousContainerBase::shrinkToFit
-43785035 r@0x284e370  44      base/page_allocator.cc
-             Name
-43785073 t@0x28d964   38      base/page_allocator.cc
-             extFromUUseMapping
-43785105 d@0x2cd84e0  32      third_party/gvr-android-sdk/libgvr_shim_static_arm.a/libcontroller_api_impl.a_controller_api_impl.o
-             .Lswitch.table.45
-43785137 r@0x284e398  32      third_party/container.c
-             chrome::mojom::FilePatcher::Name_
-43785169 t@0x28d98a   32      base/page_allocator.cc
-             extFromUUseMapping
-43785197 t@0x28f1c8   28      third_party/icu/ucnv_ext.c
-             _GLOBAL__sub_I_SkDeviceProfile.cpp
-43785225 t@0x28d948   28      base/page_allocator.cc
-             _GLOBAL__sub_I_pacing_sender.cc
-43785253 t@0x2a0020   28      third_party/container.c
-             blink::ContiguousContainerBase::ContiguousContainerBase
-43785277 d@0x2c17728  24      third_party/icu/ucnv_ext.c
-             chrome::mojom::FieldTrialRecorder [vtable]
-43785301 d@0x2cd8538  24      base/page_allocator.cc
-             mojo::MessageReceiver [vtable]
-43785317 t@0x28d900   16      base/page_allocator.cc
+Index, Running Total, Section@Address, PSS
+------------------------------------------------------------
+0)         16 (0.0%)  t@0x28d900   16      base/page_allocator.cc
              _GLOBAL__sub_I_page_allocator.cc
-43785321 t@0x2a0010   4       third_party/fft_float.cc
-             BarAlias
-43785325 t@0x2a0010   4       third_party/fft_float.cc
-             FooAlias
-43785329 t@0x2a0010   4       third_party/{shared}/2
+1)         72 (0.0%)  t@0x28d910   56      base/page_allocator.cc
+             _GLOBAL__sub_I_bbr_sender.cc
+2)        100 (0.0%)  t@0x28d948   28      base/page_allocator.cc
+             _GLOBAL__sub_I_pacing_sender.cc
+3)        138 (0.0%)  t@0x28d964   38      base/page_allocator.cc
+             extFromUUseMapping
+4)        170 (0.0%)  t@0x28d98a   32      base/page_allocator.cc
+             extFromUUseMapping
+5)       5888 (0.0%)  t@0x28f000   5718    {no path}
+             ** symbol gap 0
+6)       6336 (0.0%)  t@0x28f000   448     third_party/icu/ucnv_ext.c
+             ucnv_extMatchFromU
+7)       6364 (0.0%)  t@0x28f1c8   28      third_party/icu/ucnv_ext.c
+             _GLOBAL__sub_I_SkDeviceProfile.cpp
+8)      75488 (0.2%)  t@0x28f1e0   69124   third_party/icu/ucnv_ext.c
+             foo_bar
+9)      75512 (0.2%)  t@0x2a0000   24      {no path}
+             blink::ContiguousContainerBase::shrinkToFit
+10)     75536 (0.2%)  t@0x2a0000   24      third_party/icu/ucnv_ext.c
+             BazAlias
+11)     75540 (0.2%)  t@0x2a0010   4       third_party/{shared}/2
              blink::ContiguousContainerBase::shrinkToFit [clone .part.1234] [clone .isra.2]
-43785341 d@0x2cd8550  12      base/page_allocator.cc
-             kMethodsAnimationFrameTimeHistogram
-43785349 r@0x284e364  8       base/page_allocator.cc
-43785357 d@0x2cd84f0  8       third_party/gvr-android-sdk/libgvr_shim_static_arm.a/libport_android_jni.a_jni_utils.o
-             kSystemClassPrefixes
-43785361 d@0x2de70a4  4       third_party/container.c
-             base::android::g_library_version_number
-43785365 d@0x2de70a0  4       third_party/container.c
-             base::android::g_renderer_histogram_code
-43785369 r@0x28f3480  4       third_party/paint.cc
-             blink::CSSValueKeywordsHash::findValueImpl::value_word_list
-43785373 d@0x2de7000  4       base/page_allocator.cc
-             google::protobuf::internal::pLinuxKernelCmpxchg
-43785377 d@0x2de7004  4       third_party/container.c
-             google::protobuf::internal::pLinuxKernelMemoryBarrier
-43785380 r@0x284e364  3       {no path}
+12)     75544 (0.2%)  t@0x2a0010   4       third_party/fft_float.cc
+             FooAlias
+13)     75548 (0.2%)  t@0x2a0010   4       third_party/fft_float.cc
+             BarAlias
+14)     75576 (0.2%)  t@0x2a0020   28      third_party/container.c
+             blink::ContiguousContainerBase::ContiguousContainerBase
+15)     79616 (0.2%)  t@0x2a1000   4040    {no path}
+             ** symbol gap 1
+16)     79710 (0.2%)  t@0x2a1000   94      third_party/container.c
+             blink::PaintChunker::releasePaintChunks [clone .part.1]
+17)  35900712 (81.0%) t@0x24ca628  35821002 {no path}
+             ** symbol gap 2 (end of section)
+18)  37866121 (85.5%) r@0x266e600  1965409 {no path}
+             ** merge strings
+19)  37866124 (85.5%) r@0x284e364  3       {no path}
              ** symbol gap 2
-43785380 b@0x0        262144  third_party/fft_float.cc
+20)  37866132 (85.5%) r@0x284e364  8       base/page_allocator.cc
+21)  37866176 (85.5%) r@0x284e370  44      base/page_allocator.cc
+             Name
+22)  37866208 (85.5%) r@0x284e398  32      third_party/container.c
+             chrome::mojom::FilePatcher::Name_
+23)  38542193 (87.0%) r@0x284e518  675985  {no path}
+             ** merge strings
+24)  38542248 (87.0%) r@0x28f3450  55      third_party/paint.cc
+             kAnimationFrameTimeHistogramClassPath
+25)  38542252 (87.0%) r@0x28f3480  4       third_party/paint.cc
+             blink::CSSValueKeywordsHash::findValueImpl::value_word_list
+26)  41828364 (94.4%) r@0x2c158e4  3286112 {no path}
+             ** symbol gap 3 (end of section)
+27)  41828420 (94.4%) d@0x2c176f0  56      third_party/icu/ucnv_ext.c
+             ChromeMainDelegate [vtable]
+28)  41828444 (94.4%) d@0x2c17728  24      third_party/icu/ucnv_ext.c
+             chrome::mojom::FieldTrialRecorder [vtable]
+29)  42618348 (96.2%) d@0x2c17740  789904  third_party/container.c
+             chrome::mojom::FieldTrialRecorderProxy [vtable]
+30)  42618380 (96.2%) d@0x2cd84e0  32      third_party/gvr-android-sdk/libgvr_shim_static_arm.a/libcontroller_api_impl.a_controller_api_impl.o
+             .Lswitch.table.45
+31)  42618388 (96.2%) d@0x2cd84f0  8       third_party/gvr-android-sdk/libgvr_shim_static_arm.a/libport_android_jni.a_jni_utils.o
+             kSystemClassPrefixes
+32)  42618444 (96.2%) d@0x2cd8500  56      third_party/paint.cc
+             ChromeMainDelegateAndroid [vtable]
+33)  42618468 (96.2%) d@0x2cd8538  24      base/page_allocator.cc
+             mojo::MessageReceiver [vtable]
+34)  42618480 (96.2%) d@0x2cd8550  12      base/page_allocator.cc
+             kMethodsAnimationFrameTimeHistogram
+35)  43683612 (98.6%) d@0x2ddc608  1065132 {no path}
+             ** symbol gap 3 (end of section)
+36)  43683616 (98.6%) d@0x2de7000  4       base/page_allocator.cc
+             google::protobuf::internal::pLinuxKernelCmpxchg
+37)  43683620 (98.6%) d@0x2de7004  4       third_party/container.c
+             google::protobuf::internal::pLinuxKernelMemoryBarrier
+38)  43683772 (98.6%) d@0x2de7008  152     third_party/container.c
+             base::android::kBaseRegisteredMethods
+39)  43683776 (98.6%) d@0x2de70a0  4       third_party/container.c
+             base::android::g_renderer_histogram_code
+40)  43683780 (98.6%) d@0x2de70a4  4       third_party/container.c
+             base::android::g_library_version_number
+41)  43785380 (98.8%) d@0x2dffd88  101600  {no path}
+             ** symbol gap 3 (end of section)
+42)  43785380 (98.8%) b@0x0        262144  third_party/fft_float.cc
              ff_cos_131072
-43785380 b@0x0        131072  third_party/fft_fixed.cc
+43)  43785380 (98.8%) b@0x0        131072  third_party/fft_fixed.cc
              ff_cos_131072_fixed
-43785380 b@0x0        131072  third_party/fft_float.cc
+44)  43785380 (98.8%) b@0x0        131072  third_party/fft_float.cc
              ff_cos_65536
-43785380 b@0x2dffe80  200     third_party/icu/ucnv_ext.c
-             SaveHistogram::atomic_histogram_pointer
-43785380 b@0x2dffda0  28      third_party/icu/ucnv_ext.c
+45)  43785380 (98.8%) b@0x2dffda0  28      third_party/icu/ucnv_ext.c
              g_chrome_content_browser_client
-43785380 b@0x2dffe84  4       third_party/icu/ucnv_ext.c
+46)  43785380 (98.8%) b@0x2dffe80  200     third_party/icu/ucnv_ext.c
+             SaveHistogram::atomic_histogram_pointer
+47)  43785380 (98.8%) b@0x2dffe84  4       third_party/icu/ucnv_ext.c
              g_AnimationFrameTimeHistogram_clazz
diff --git a/tools/binary_size/libsupersize/testdata/Diff_Basic.golden b/tools/binary_size/libsupersize/testdata/Diff_Basic.golden
index 0b4af48..5f52d2d 100644
--- a/tools/binary_size/libsupersize/testdata/Diff_Basic.golden
+++ b/tools/binary_size/libsupersize/testdata/Diff_Basic.golden
@@ -45,135 +45,136 @@
 .text=82 bytes   .rodata=0 bytes    other=-36 bytes  total=46 bytes
 Number of object files: 9
 
-First columns are: running total, address, pss
-+       56 t@0x28d910   pss=56  padding=0  size_without_padding=56
-               source_path=base/page_allocator.cc 	object_path=base/base/page_allocator.o
-               flags={startup}  name=_GLOBAL__sub_I_bbr_sender.cc
-+       72 t@0x28d900   pss=16  padding=0  size_without_padding=16
+Index, Running Total, Section@Address, PSS
+------------------------------------------------------------
++ 0)         16 (34.8%) t@0x28d900   pss=16  padding=0  size_without_padding=16
                source_path=base/page_allocator.cc 	object_path=base/base/page_allocator.o
                flags={startup}  name=_GLOBAL__sub_I_page_allocator.cc
-~       82 t@0x28d964   pss=10  padding=0  size_without_padding=10
++ 1)         72 (156.5%) t@0x28d910   pss=56  padding=0  size_without_padding=56
                source_path=base/page_allocator.cc 	object_path=base/base/page_allocator.o
-               flags={}  name=extFromUUseMapping
-                          full_name=extFromUUseMapping(signed char, unsigned int, int)
-=       82 r@0x284e364  pss=0  padding=0  size_without_padding=0
-               source_path=base/page_allocator.cc 	object_path=base/base/page_allocator.o
-=       82 r@Group      pss=0  padding=0  size_without_padding=0  count=2
-               source_path= 	object_path=
-               flags={}  name=** merge strings
-=       82 d@0x2ddc608  pss=0  padding=0  size_without_padding=0
-               source_path= 	object_path=
-               flags={}  name=** symbol gap 3 (end of section)
-=       82 d@0x2dffd88  pss=0  padding=0  size_without_padding=0
-               source_path= 	object_path=
-               flags={}  name=** symbol gap 3 (end of section)
-=       82 t@Group      pss=0  padding=0  size_without_padding=0  count=3
-               source_path= 	object_path=
-               flags={}  name=** symbol gaps
-=       82 r@Group      pss=0  padding=0  size_without_padding=0  count=2
-               source_path= 	object_path=
-               flags={}  name=** symbol gaps
-=       82 d@0x2cd84e0  pss=0  padding=0  size_without_padding=0
-               source_path= 	object_path=third_party/gvr-android-sdk/libgvr_shim_static_arm.a/libcontroller_api_impl.a_controller_api_impl.o
-               flags={}  name=.Lswitch.table.45
-=       82 d@0x2c176f0  pss=0  padding=0  size_without_padding=0
+               flags={startup}  name=_GLOBAL__sub_I_bbr_sender.cc
+- 2)         72 (156.5%) b@0x2dffda0  pss=-28  padding=0  size_without_padding=-28
                source_path=third_party/icu/ucnv_ext.c 	object_path=third_party/icu/icuuc/ucnv_ext.o
-               flags={}  name=ChromeMainDelegate [vtable]
-=       82 d@0x2cd8500  pss=0  padding=0  size_without_padding=0
-               source_path=third_party/paint.cc 	object_path=third_party/WebKit.a/PaintChunker.o
-               flags={}  name=ChromeMainDelegateAndroid [vtable]
-=       82 r@0x284e370  pss=0  padding=0  size_without_padding=0
-               source_path=base/page_allocator.cc 	object_path=base/base/page_allocator.o
-               flags={}  name=Name
-=       82 t@0x28f1c8   pss=0  padding=0  size_without_padding=0
+               flags={gen}  name=g_chrome_content_browser_client
+- 3)         72 (156.5%) b@0x2dffe84  pss=-4  padding=0  size_without_padding=-4
                source_path=third_party/icu/ucnv_ext.c 	object_path=third_party/icu/icuuc/ucnv_ext.o
-               flags={startup}  name=_GLOBAL__sub_I_SkDeviceProfile.cpp
-=       82 t@0x28d948   pss=0  padding=0  size_without_padding=0
+               flags={anon,gen}  name=g_AnimationFrameTimeHistogram_clazz
+- 4)         72 (156.5%) b@0x2dffe80  pss=-4  padding=-196  size_without_padding=192
+               source_path=third_party/icu/ucnv_ext.c 	object_path=third_party/icu/icuuc/ucnv_ext.o
+               flags={gen}  name=SaveHistogram::atomic_histogram_pointer
+                    full_name=SaveHistogram(_JNIEnv*, base::android::JavaParamRef<_jobject*> const&, base::android::JavaParamRef<_jstring*> const&, base::android::JavaParamRef<_jlongArray*> const&, int)::atomic_histogram_pointer
+= 5)         72 (156.5%) t@0x28d948   pss=0  padding=0  size_without_padding=0
                source_path=base/page_allocator.cc 	object_path=base/base/page_allocator.o
                flags={startup}  name=_GLOBAL__sub_I_pacing_sender.cc
-=       82 d@0x2de70a4  pss=0  padding=0  size_without_padding=0
-               source_path=third_party/container.c 	object_path=third_party/WebKit.a/ContiguousContainer.o
-               flags={anon,rel.loc}  name=base::android::g_library_version_number
-=       82 d@0x2de70a0  pss=0  padding=0  size_without_padding=0
-               source_path=third_party/container.c 	object_path=third_party/WebKit.a/ContiguousContainer.o
-               flags={anon}  name=base::android::g_renderer_histogram_code
-=       82 d@0x2de7008  pss=0  padding=0  size_without_padding=0
-               source_path=third_party/container.c 	object_path=third_party/WebKit.a/ContiguousContainer.o
-               flags={rel}  name=base::android::kBaseRegisteredMethods
-=       82 r@0x28f3480  pss=0  padding=0  size_without_padding=0
-               source_path=third_party/paint.cc 	object_path=third_party/WebKit.a/PaintChunker.o
-               flags={anon}  name=blink::CSSValueKeywordsHash::findValueImpl::value_word_list
-                          full_name=blink::CSSValueKeywordsHash::findValueImpl(char const*, unsigned int)::value_word_list
-=       82 t@0x2a0020   pss=0  padding=0  size_without_padding=0
-               source_path=third_party/container.c 	object_path=third_party/WebKit.a/ContiguousContainer.o
-               flags={}  name=blink::ContiguousContainerBase::ContiguousContainerBase
-                          full_name=blink::ContiguousContainerBase::ContiguousContainerBase(blink::ContiguousContainerBase&&)
-=       82 t@0x2a0000   pss=0  padding=0  size_without_padding=0
-               source_path=third_party/paint.cc 	object_path=third_party/WebKit.a/PaintChunker.o
-               flags={}  name=blink::ContiguousContainerBase::shrinkToFit
-                          full_name=blink::ContiguousContainerBase::shrinkToFit()
-=       82 t@0x2a0010   pss=0  padding=0  size_without_padding=0
-               source_path=third_party/paint.cc 	object_path=third_party/WebKit.a/PaintChunker.o
-               flags={}  name=blink::ContiguousContainerBase::shrinkToFit [clone .part.1234] [clone .isra.2]
-                          full_name=blink::ContiguousContainerBase::shrinkToFit() [clone .part.1234] [clone .isra.2]
-=       82 t@0x2a1000   pss=0  padding=0  size_without_padding=0
-               source_path=third_party/container.c 	object_path=third_party/WebKit.a/ContiguousContainer.o
-               flags={anon}  name=blink::PaintChunker::releasePaintChunks [clone .part.1]
-                          full_name=blink::PaintChunker::releasePaintChunks() [clone .part.1]
-=       82 d@0x2c17728  pss=0  padding=0  size_without_padding=0
-               source_path=third_party/icu/ucnv_ext.c 	object_path=third_party/icu/icuuc/ucnv_ext.o
-               flags={}  name=chrome::mojom::FieldTrialRecorder [vtable]
-=       82 d@0x2c17740  pss=0  padding=0  size_without_padding=0
-               source_path=third_party/container.c 	object_path=third_party/WebKit.a/ContiguousContainer.o
-               flags={}  name=chrome::mojom::FieldTrialRecorderProxy [vtable]
-=       82 r@0x284e398  pss=0  padding=0  size_without_padding=0
-               source_path=third_party/container.c 	object_path=third_party/WebKit.a/ContiguousContainer.o
-               flags={}  name=chrome::mojom::FilePatcher::Name_
-=       82 t@0x28d98a   pss=0  padding=0  size_without_padding=0
+~ 6)         82 (178.3%) t@0x28d964   pss=10  padding=0  size_without_padding=10
                source_path=base/page_allocator.cc 	object_path=base/base/page_allocator.o
                flags={}  name=extFromUUseMapping
-                          full_name=extFromUUseMapping(aj, int)
-=       82 t@0x28f1e0   pss=0  padding=0  size_without_padding=0
-               source_path=third_party/icu/ucnv_ext.c 	object_path=third_party/icu/icuuc/ucnv_ext.o
-               flags={unlikely}  name=foo_bar
-=       82 d@0x2de7000  pss=0  padding=0  size_without_padding=0
+                    full_name=extFromUUseMapping(signed char, unsigned int, int)
+= 7)         82 (178.3%) t@0x28d98a   pss=0  padding=0  size_without_padding=0
                source_path=base/page_allocator.cc 	object_path=base/base/page_allocator.o
-               flags={}  name=google::protobuf::internal::pLinuxKernelCmpxchg
-=       82 d@0x2de7004  pss=0  padding=0  size_without_padding=0
+               flags={}  name=extFromUUseMapping
+                    full_name=extFromUUseMapping(aj, int)
+= 8)         82 (178.3%) t@Group      pss=0  padding=0  size_without_padding=0  count=3
+               source_path= 	object_path=
+               flags={}  name=** symbol gaps
+= 9)         82 (178.3%) t@0x28f000   pss=0  padding=0  size_without_padding=0
+               source_path=third_party/icu/ucnv_ext.c 	object_path=third_party/icu/icuuc/ucnv_ext.o
+               flags={gen}  name=ucnv_extMatchFromU
+                    full_name=ucnv_extMatchFromU(int const*, int, unsigned short const*, int, unsigned short const*, int, unsigned int*, signed char, signed char)
+= 10)        82 (178.3%) t@0x28f1c8   pss=0  padding=0  size_without_padding=0
+               source_path=third_party/icu/ucnv_ext.c 	object_path=third_party/icu/icuuc/ucnv_ext.o
+               flags={startup,gen}  name=_GLOBAL__sub_I_SkDeviceProfile.cpp
+= 11)        82 (178.3%) t@0x28f1e0   pss=0  padding=0  size_without_padding=0
+               source_path=third_party/icu/ucnv_ext.c 	object_path=third_party/icu/icuuc/ucnv_ext.o
+               flags={unlikely,gen}  name=foo_bar
+= 12)        82 (178.3%) t@0x2a0000   pss=0  padding=0  size_without_padding=0
+               source_path=third_party/paint.cc 	object_path=third_party/WebKit.a/PaintChunker.o
+               flags={}  name=blink::ContiguousContainerBase::shrinkToFit
+                    full_name=blink::ContiguousContainerBase::shrinkToFit()
+= 13)        82 (178.3%) t@0x2a0010   pss=0  padding=0  size_without_padding=0
+               source_path=third_party/paint.cc 	object_path=third_party/WebKit.a/PaintChunker.o
+               flags={}  name=blink::ContiguousContainerBase::shrinkToFit [clone .part.1234] [clone .isra.2]
+                    full_name=blink::ContiguousContainerBase::shrinkToFit() [clone .part.1234] [clone .isra.2]
+= 14)        82 (178.3%) t@0x2a0020   pss=0  padding=0  size_without_padding=0
                source_path=third_party/container.c 	object_path=third_party/WebKit.a/ContiguousContainer.o
-               flags={}  name=google::protobuf::internal::pLinuxKernelMemoryBarrier
-=       82 r@0x28f3450  pss=0  padding=0  size_without_padding=0
+               flags={}  name=blink::ContiguousContainerBase::ContiguousContainerBase
+                    full_name=blink::ContiguousContainerBase::ContiguousContainerBase(blink::ContiguousContainerBase&&)
+= 15)        82 (178.3%) t@0x2a1000   pss=0  padding=0  size_without_padding=0
+               source_path=third_party/container.c 	object_path=third_party/WebKit.a/ContiguousContainer.o
+               flags={anon}  name=blink::PaintChunker::releasePaintChunks [clone .part.1]
+                    full_name=blink::PaintChunker::releasePaintChunks() [clone .part.1]
+= 16)        82 (178.3%) r@Group      pss=0  padding=0  size_without_padding=0  count=2
+               source_path= 	object_path=
+               flags={}  name=** merge strings
+= 17)        82 (178.3%) r@Group      pss=0  padding=0  size_without_padding=0  count=2
+               source_path= 	object_path=
+               flags={}  name=** symbol gaps
+= 18)        82 (178.3%) r@0x284e364  pss=0  padding=0  size_without_padding=0
+               source_path=base/page_allocator.cc 	object_path=base/base/page_allocator.o
+= 19)        82 (178.3%) r@0x284e370  pss=0  padding=0  size_without_padding=0
+               source_path=base/page_allocator.cc 	object_path=base/base/page_allocator.o
+               flags={}  name=Name
+= 20)        82 (178.3%) r@0x284e398  pss=0  padding=0  size_without_padding=0
+               source_path=third_party/container.c 	object_path=third_party/WebKit.a/ContiguousContainer.o
+               flags={}  name=chrome::mojom::FilePatcher::Name_
+= 21)        82 (178.3%) r@0x28f3450  pss=0  padding=0  size_without_padding=0
                source_path=third_party/paint.cc 	object_path=third_party/WebKit.a/PaintChunker.o
                flags={anon}  name=kAnimationFrameTimeHistogramClassPath
-=       82 d@0x2cd8550  pss=0  padding=0  size_without_padding=0
-               source_path=base/page_allocator.cc 	object_path=base/base/page_allocator.o
-               flags={}  name=kMethodsAnimationFrameTimeHistogram
-=       82 d@0x2cd84f0  pss=0  padding=0  size_without_padding=0
+= 22)        82 (178.3%) r@0x28f3480  pss=0  padding=0  size_without_padding=0
+               source_path=third_party/paint.cc 	object_path=third_party/WebKit.a/PaintChunker.o
+               flags={anon}  name=blink::CSSValueKeywordsHash::findValueImpl::value_word_list
+                    full_name=blink::CSSValueKeywordsHash::findValueImpl(char const*, unsigned int)::value_word_list
+= 23)        82 (178.3%) d@0x2c176f0  pss=0  padding=0  size_without_padding=0
+               source_path=third_party/icu/ucnv_ext.c 	object_path=third_party/icu/icuuc/ucnv_ext.o
+               flags={gen}  name=ChromeMainDelegate [vtable]
+= 24)        82 (178.3%) d@0x2c17728  pss=0  padding=0  size_without_padding=0
+               source_path=third_party/icu/ucnv_ext.c 	object_path=third_party/icu/icuuc/ucnv_ext.o
+               flags={gen}  name=chrome::mojom::FieldTrialRecorder [vtable]
+= 25)        82 (178.3%) d@0x2c17740  pss=0  padding=0  size_without_padding=0
+               source_path=third_party/container.c 	object_path=third_party/WebKit.a/ContiguousContainer.o
+               flags={}  name=chrome::mojom::FieldTrialRecorderProxy [vtable]
+= 26)        82 (178.3%) d@0x2cd84e0  pss=0  padding=0  size_without_padding=0
+               source_path= 	object_path=third_party/gvr-android-sdk/libgvr_shim_static_arm.a/libcontroller_api_impl.a_controller_api_impl.o
+               flags={}  name=.Lswitch.table.45
+= 27)        82 (178.3%) d@0x2cd84f0  pss=0  padding=0  size_without_padding=0
                source_path= 	object_path=third_party/gvr-android-sdk/libgvr_shim_static_arm.a/libport_android_jni.a_jni_utils.o
                flags={anon}  name=kSystemClassPrefixes
-=       82 d@0x2cd8538  pss=0  padding=0  size_without_padding=0
+= 28)        82 (178.3%) d@0x2cd8500  pss=0  padding=0  size_without_padding=0
+               source_path=third_party/paint.cc 	object_path=third_party/WebKit.a/PaintChunker.o
+               flags={}  name=ChromeMainDelegateAndroid [vtable]
+= 29)        82 (178.3%) d@0x2cd8538  pss=0  padding=0  size_without_padding=0
                source_path=base/page_allocator.cc 	object_path=base/base/page_allocator.o
                flags={}  name=mojo::MessageReceiver [vtable]
-=       82 t@0x28f000   pss=0  padding=0  size_without_padding=0
-               source_path=third_party/icu/ucnv_ext.c 	object_path=third_party/icu/icuuc/ucnv_ext.o
-               flags={}  name=ucnv_extMatchFromU
-                          full_name=ucnv_extMatchFromU(int const*, int, unsigned short const*, int, unsigned short const*, int, unsigned int*, signed char, signed char)
--       82 b@0x2dffda0  pss=-28  padding=0  size_without_padding=-28
-               source_path=third_party/icu/ucnv_ext.c 	object_path=third_party/icu/icuuc/ucnv_ext.o
-               flags={}  name=g_chrome_content_browser_client
--       82 b@0x2dffe80  pss=-4  padding=-196  size_without_padding=192
-               source_path=third_party/icu/ucnv_ext.c 	object_path=third_party/icu/icuuc/ucnv_ext.o
-               flags={}  name=SaveHistogram::atomic_histogram_pointer
-                          full_name=SaveHistogram(_JNIEnv*, base::android::JavaParamRef<_jobject*> const&, base::android::JavaParamRef<_jstring*> const&, base::android::JavaParamRef<_jlongArray*> const&, int)::atomic_histogram_pointer
--       82 b@0x2dffe84  pss=-4  padding=0  size_without_padding=-4
-               source_path=third_party/icu/ucnv_ext.c 	object_path=third_party/icu/icuuc/ucnv_ext.o
-               flags={anon}  name=g_AnimationFrameTimeHistogram_clazz
-=       82 b@0x0        pss=0  padding=0  size_without_padding=0
+= 30)        82 (178.3%) d@0x2cd8550  pss=0  padding=0  size_without_padding=0
+               source_path=base/page_allocator.cc 	object_path=base/base/page_allocator.o
+               flags={}  name=kMethodsAnimationFrameTimeHistogram
+= 31)        82 (178.3%) d@0x2ddc608  pss=0  padding=0  size_without_padding=0
+               source_path= 	object_path=
+               flags={}  name=** symbol gap 3 (end of section)
+= 32)        82 (178.3%) d@0x2de7000  pss=0  padding=0  size_without_padding=0
+               source_path=base/page_allocator.cc 	object_path=base/base/page_allocator.o
+               flags={}  name=google::protobuf::internal::pLinuxKernelCmpxchg
+= 33)        82 (178.3%) d@0x2de7004  pss=0  padding=0  size_without_padding=0
+               source_path=third_party/container.c 	object_path=third_party/WebKit.a/ContiguousContainer.o
+               flags={}  name=google::protobuf::internal::pLinuxKernelMemoryBarrier
+= 34)        82 (178.3%) d@0x2de7008  pss=0  padding=0  size_without_padding=0
+               source_path=third_party/container.c 	object_path=third_party/WebKit.a/ContiguousContainer.o
+               flags={rel}  name=base::android::kBaseRegisteredMethods
+= 35)        82 (178.3%) d@0x2de70a0  pss=0  padding=0  size_without_padding=0
+               source_path=third_party/container.c 	object_path=third_party/WebKit.a/ContiguousContainer.o
+               flags={anon}  name=base::android::g_renderer_histogram_code
+= 36)        82 (178.3%) d@0x2de70a4  pss=0  padding=0  size_without_padding=0
+               source_path=third_party/container.c 	object_path=third_party/WebKit.a/ContiguousContainer.o
+               flags={anon,rel.loc}  name=base::android::g_library_version_number
+= 37)        82 (178.3%) d@0x2dffd88  pss=0  padding=0  size_without_padding=0
+               source_path= 	object_path=
+               flags={}  name=** symbol gap 3 (end of section)
+= 38)        82 (178.3%) b@0x0        pss=0  padding=0  size_without_padding=0
                source_path=third_party/fft_float.cc 	object_path=third_party/ffmpeg/libffmpeg_internal.a/fft_float.o
                flags={}  name=ff_cos_131072
-=       82 b@0x0        pss=0  padding=0  size_without_padding=0
+= 39)        82 (178.3%) b@0x0        pss=0  padding=0  size_without_padding=0
                source_path=third_party/fft_fixed.cc 	object_path=third_party/ffmpeg/libffmpeg_internal.a/fft_fixed.o
                flags={}  name=ff_cos_131072_fixed
-=       82 b@0x0        pss=0  padding=0  size_without_padding=0
+= 40)        82 (178.3%) b@0x0        pss=0  padding=0  size_without_padding=0
                source_path=third_party/fft_float.cc 	object_path=third_party/ffmpeg/libffmpeg_internal.a/fft_float.o
                flags={}  name=ff_cos_65536
diff --git a/tools/binary_size/libsupersize/testdata/Diff_NullDiff.golden b/tools/binary_size/libsupersize/testdata/Diff_NullDiff.golden
index 2eb8bf13..86f8c9ec 100644
--- a/tools/binary_size/libsupersize/testdata/Diff_NullDiff.golden
+++ b/tools/binary_size/libsupersize/testdata/Diff_NullDiff.golden
@@ -24,4 +24,5 @@
 .text=0 bytes    .rodata=0 bytes    other=0 bytes    total=0 bytes
 Number of object files: 0
 
-First columns are: running total, address, pss
+Index, Running Total, Section@Address, PSS
+------------------------------------------------------------
diff --git a/tools/binary_size/libsupersize/testdata/FullDescription.golden b/tools/binary_size/libsupersize/testdata/FullDescription.golden
index 016ea40..4664322 100644
--- a/tools/binary_size/libsupersize/testdata/FullDescription.golden
+++ b/tools/binary_size/libsupersize/testdata/FullDescription.golden
@@ -60,168 +60,169 @@
 .text=34.2mb     .rodata=5.65mb     other=2.37mb     total=42.3mb
 Number of object files: 10
 
-First columns are: running total, address, pss
-35830760 t@Group      pss=35830760  padding=35830760  size_without_padding=0  count=3
-             source_path= 	object_path=
-             flags={}  name=** symbol gaps
-> 35821002 t@0x24ca628  pss=35821002  padding=35821002  size_without_padding=0
-               source_path= 	object_path=
-               flags={}  name=** symbol gap 2 (end of section)
-> 35826720 t@0x28f000   pss=5718  padding=5718  size_without_padding=0
-               source_path= 	object_path=
-               flags={}  name=** symbol gap 0
-> 35830760 t@0x2a1000   pss=4040  padding=4040  size_without_padding=0
-               source_path= 	object_path=
-               flags={}  name=** symbol gap 1
-39116875 r@Group      pss=3286115  padding=3286115  size_without_padding=0  count=2
-             source_path= 	object_path=
-             flags={}  name=** symbol gaps
->  3286112 r@0x2c158e4  pss=3286112  padding=3286112  size_without_padding=0
-               source_path= 	object_path=
-               flags={}  name=** symbol gap 3 (end of section)
->  3286115 r@0x284e364  pss=3  padding=3  size_without_padding=0
-               source_path= 	object_path=
-               flags={}  name=** symbol gap 2
-41758269 r@Group      pss=2641394  padding=352  size_without_padding=2641042  count=2
-             source_path= 	object_path=
-             flags={}  name=** merge strings
->  1965409 r@0x266e600  pss=1965409  padding=0  size_without_padding=1965409
-               source_path= 	object_path=
-               flags={}  name=** merge strings
->  2641394 r@0x284e518  pss=675985  padding=352  size_without_padding=675633
-               source_path= 	object_path=
-               flags={}  name=** merge strings
-42823401 d@0x2ddc608  pss=1065132  padding=1065132  size_without_padding=0
-             source_path= 	object_path=
-             flags={}  name=** symbol gap 3 (end of section)
-43613305 d@0x2c17740  pss=789904  padding=0  size_without_padding=789904
-             source_path=third_party/container.c 	object_path=third_party/WebKit.a/ContiguousContainer.o
-             flags={}  name=chrome::mojom::FieldTrialRecorderProxy [vtable]
-43714905 d@0x2dffd88  pss=101600  padding=101600  size_without_padding=0
-             source_path= 	object_path=
-             flags={}  name=** symbol gap 3 (end of section)
-43784029 t@0x28f1e0   pss=69124  padding=4  size_without_padding=69120
-             source_path=third_party/icu/ucnv_ext.c 	object_path=third_party/icu/icuuc/ucnv_ext.o
-             flags={unlikely}  name=foo_bar
-43784477 t@0x28f000   pss=448  padding=0  size_without_padding=448
-             source_path=third_party/icu/ucnv_ext.c 	object_path=third_party/icu/icuuc/ucnv_ext.o
-             flags={}  name=ucnv_extMatchFromU
-                        full_name=ucnv_extMatchFromU(int const*, int, unsigned short const*, int, unsigned short const*, int, unsigned int*, signed char, signed char)
-43784629 d@0x2de7008  pss=152  padding=0  size_without_padding=152
-             source_path=third_party/container.c 	object_path=third_party/WebKit.a/ContiguousContainer.o
-             flags={rel}  name=base::android::kBaseRegisteredMethods
-43784723 t@0x2a1000   pss=94  padding=0  size_without_padding=94
-             source_path=third_party/container.c 	object_path=third_party/WebKit.a/ContiguousContainer.o
-             flags={anon}  name=blink::PaintChunker::releasePaintChunks [clone .part.1]
-                        full_name=blink::PaintChunker::releasePaintChunks() [clone .part.1]
-43784779 d@0x2c176f0  pss=56  padding=0  size_without_padding=56
-             source_path=third_party/icu/ucnv_ext.c 	object_path=third_party/icu/icuuc/ucnv_ext.o
-             flags={}  name=ChromeMainDelegate [vtable]
-43784835 d@0x2cd8500  pss=56  padding=0  size_without_padding=56
-             source_path=third_party/paint.cc 	object_path=third_party/WebKit.a/PaintChunker.o
-             flags={}  name=ChromeMainDelegateAndroid [vtable]
-43784891 t@0x28d910   pss=56  padding=0  size_without_padding=56
-             source_path=base/page_allocator.cc 	object_path=base/base/page_allocator.o
-             flags={startup}  name=_GLOBAL__sub_I_bbr_sender.cc
-43784946 r@0x28f3450  pss=55  padding=7  size_without_padding=48
-             source_path=third_party/paint.cc 	object_path=third_party/WebKit.a/PaintChunker.o
-             flags={anon}  name=kAnimationFrameTimeHistogramClassPath
-43784970 t@0x2a0000   pss=24  padding=32  size_without_padding=16
-             source_path=third_party/icu/ucnv_ext.c 	object_path=third_party/icu/icuuc/ucnv_ext.o
-             flags={2 aliases}  name=BazAlias
-                        full_name=BazAlias(bool)
-43784994 t@0x2a0000   pss=24  padding=32  size_without_padding=16
-             source_path= 	object_path=
-             flags={2 aliases}  name=blink::ContiguousContainerBase::shrinkToFit
-                        full_name=blink::ContiguousContainerBase::shrinkToFit()
-43785038 r@0x284e370  pss=44  padding=4  size_without_padding=40
-             source_path=base/page_allocator.cc 	object_path=base/base/page_allocator.o
-             flags={}  name=Name
-43785076 t@0x28d964   pss=38  padding=0  size_without_padding=38
-             source_path=base/page_allocator.cc 	object_path=base/base/page_allocator.o
-             flags={}  name=extFromUUseMapping
-                        full_name=extFromUUseMapping(signed char, unsigned int, int)
-43785108 d@0x2cd84e0  pss=32  padding=16  size_without_padding=16
-             source_path= 	object_path=third_party/gvr-android-sdk/libgvr_shim_static_arm.a/libcontroller_api_impl.a_controller_api_impl.o
-             flags={}  name=.Lswitch.table.45
-43785140 r@0x284e398  pss=32  padding=0  size_without_padding=32
-             source_path=third_party/container.c 	object_path=third_party/WebKit.a/ContiguousContainer.o
-             flags={}  name=chrome::mojom::FilePatcher::Name_
-43785172 t@0x28d98a   pss=32  padding=0  size_without_padding=32
-             source_path=base/page_allocator.cc 	object_path=base/base/page_allocator.o
-             flags={}  name=extFromUUseMapping
-                        full_name=extFromUUseMapping(aj, int)
-43785200 t@0x28f1c8   pss=28  padding=8  size_without_padding=20
-             source_path=third_party/icu/ucnv_ext.c 	object_path=third_party/icu/icuuc/ucnv_ext.o
-             flags={startup}  name=_GLOBAL__sub_I_SkDeviceProfile.cpp
-43785228 t@0x28d948   pss=28  padding=0  size_without_padding=28
-             source_path=base/page_allocator.cc 	object_path=base/base/page_allocator.o
-             flags={startup}  name=_GLOBAL__sub_I_pacing_sender.cc
-43785256 t@0x2a0020   pss=28  padding=4  size_without_padding=24
-             source_path=third_party/container.c 	object_path=third_party/WebKit.a/ContiguousContainer.o
-             flags={}  name=blink::ContiguousContainerBase::ContiguousContainerBase
-                        full_name=blink::ContiguousContainerBase::ContiguousContainerBase(blink::ContiguousContainerBase&&)
-43785280 d@0x2c17728  pss=24  padding=0  size_without_padding=24
-             source_path=third_party/icu/ucnv_ext.c 	object_path=third_party/icu/icuuc/ucnv_ext.o
-             flags={}  name=chrome::mojom::FieldTrialRecorder [vtable]
-43785304 d@0x2cd8538  pss=24  padding=0  size_without_padding=24
-             source_path=base/page_allocator.cc 	object_path=base/base/page_allocator.o
-             flags={}  name=mojo::MessageReceiver [vtable]
-43785320 t@0x28d900   pss=16  padding=0  size_without_padding=16
+Index, Running Total, Section@Address, PSS
+------------------------------------------------------------
+0)         16 (0.0%)  t@0x28d900   pss=16  padding=0  size_without_padding=16
              source_path=base/page_allocator.cc 	object_path=base/base/page_allocator.o
              flags={startup}  name=_GLOBAL__sub_I_page_allocator.cc
-43785324 t@0x2a0010   pss=4  padding=0  size_without_padding=12
-             source_path=third_party/fft_float.cc 	object_path=third_party/ffmpeg/libffmpeg_internal.a/fft_float.o
-             flags={3 aliases}  name=BarAlias
-                        full_name=BarAlias()
-43785328 t@0x2a0010   pss=4  padding=0  size_without_padding=12
-             source_path=third_party/fft_float.cc 	object_path=third_party/ffmpeg/libffmpeg_internal.a/fft_float.o
-             flags={3 aliases}  name=FooAlias
-                        full_name=FooAlias()
-43785332 t@0x2a0010   pss=4  padding=0  size_without_padding=12
+1)         72 (0.0%)  t@0x28d910   pss=56  padding=0  size_without_padding=56
+             source_path=base/page_allocator.cc 	object_path=base/base/page_allocator.o
+             flags={startup}  name=_GLOBAL__sub_I_bbr_sender.cc
+2)        100 (0.0%)  t@0x28d948   pss=28  padding=0  size_without_padding=28
+             source_path=base/page_allocator.cc 	object_path=base/base/page_allocator.o
+             flags={startup}  name=_GLOBAL__sub_I_pacing_sender.cc
+3)        138 (0.0%)  t@0x28d964   pss=38  padding=0  size_without_padding=38
+             source_path=base/page_allocator.cc 	object_path=base/base/page_allocator.o
+             flags={}  name=extFromUUseMapping
+                  full_name=extFromUUseMapping(signed char, unsigned int, int)
+4)        170 (0.0%)  t@0x28d98a   pss=32  padding=0  size_without_padding=32
+             source_path=base/page_allocator.cc 	object_path=base/base/page_allocator.o
+             flags={}  name=extFromUUseMapping
+                  full_name=extFromUUseMapping(aj, int)
+5)   35830930 (80.9%) t@Group      pss=35830760  padding=35830760  size_without_padding=0  count=3
+             source_path= 	object_path=
+             flags={}  name=** symbol gaps
+> 0)       5718 (0.0%)  t@0x28f000   pss=5718  padding=5718  size_without_padding=0
+               source_path= 	object_path=
+               flags={}  name=** symbol gap 0
+> 1)       9758 (0.0%)  t@0x2a1000   pss=4040  padding=4040  size_without_padding=0
+               source_path= 	object_path=
+               flags={}  name=** symbol gap 1
+> 2)   35830760 (100.0%) t@0x24ca628  pss=35821002  padding=35821002  size_without_padding=0
+               source_path= 	object_path=
+               flags={}  name=** symbol gap 2 (end of section)
+6)   35831378 (80.9%) t@0x28f000   pss=448  padding=0  size_without_padding=448
+             source_path=third_party/icu/ucnv_ext.c 	object_path=third_party/icu/icuuc/ucnv_ext.o
+             flags={gen}  name=ucnv_extMatchFromU
+                  full_name=ucnv_extMatchFromU(int const*, int, unsigned short const*, int, unsigned short const*, int, unsigned int*, signed char, signed char)
+7)   35831406 (80.9%) t@0x28f1c8   pss=28  padding=8  size_without_padding=20
+             source_path=third_party/icu/ucnv_ext.c 	object_path=third_party/icu/icuuc/ucnv_ext.o
+             flags={startup,gen}  name=_GLOBAL__sub_I_SkDeviceProfile.cpp
+8)   35900530 (81.0%) t@0x28f1e0   pss=69124  padding=4  size_without_padding=69120
+             source_path=third_party/icu/ucnv_ext.c 	object_path=third_party/icu/icuuc/ucnv_ext.o
+             flags={unlikely,gen}  name=foo_bar
+9)   35900554 (81.0%) t@0x2a0000   pss=24  padding=32  size_without_padding=16
+             source_path= 	object_path=
+             flags={2 aliases}  name=blink::ContiguousContainerBase::shrinkToFit
+                  full_name=blink::ContiguousContainerBase::shrinkToFit()
+10)  35900578 (81.0%) t@0x2a0000   pss=24  padding=32  size_without_padding=16
+             source_path=third_party/icu/ucnv_ext.c 	object_path=third_party/icu/icuuc/ucnv_ext.o
+             flags={gen,2 aliases}  name=BazAlias
+                  full_name=BazAlias(bool)
+11)  35900582 (81.0%) t@0x2a0010   pss=4  padding=0  size_without_padding=12
              source_path=third_party/{shared}/2 	object_path=third_party/{shared}/2
              flags={3 aliases}  name=blink::ContiguousContainerBase::shrinkToFit [clone .part.1234] [clone .isra.2]
-                        full_name=blink::ContiguousContainerBase::shrinkToFit() [clone .part.1234] [clone .isra.2]
-43785344 d@0x2cd8550  pss=12  padding=0  size_without_padding=12
-             source_path=base/page_allocator.cc 	object_path=base/base/page_allocator.o
-             flags={}  name=kMethodsAnimationFrameTimeHistogram
-43785352 r@0x284e364  pss=8  padding=0  size_without_padding=8
-             source_path=base/page_allocator.cc 	object_path=base/base/page_allocator.o
-43785360 d@0x2cd84f0  pss=8  padding=0  size_without_padding=8
-             source_path= 	object_path=third_party/gvr-android-sdk/libgvr_shim_static_arm.a/libport_android_jni.a_jni_utils.o
-             flags={anon}  name=kSystemClassPrefixes
-43785364 d@0x2de70a4  pss=4  padding=0  size_without_padding=4
+                  full_name=blink::ContiguousContainerBase::shrinkToFit() [clone .part.1234] [clone .isra.2]
+12)  35900586 (81.0%) t@0x2a0010   pss=4  padding=0  size_without_padding=12
+             source_path=third_party/fft_float.cc 	object_path=third_party/ffmpeg/libffmpeg_internal.a/fft_float.o
+             flags={3 aliases}  name=FooAlias
+                  full_name=FooAlias()
+13)  35900590 (81.0%) t@0x2a0010   pss=4  padding=0  size_without_padding=12
+             source_path=third_party/fft_float.cc 	object_path=third_party/ffmpeg/libffmpeg_internal.a/fft_float.o
+             flags={3 aliases}  name=BarAlias
+                  full_name=BarAlias()
+14)  35900618 (81.0%) t@0x2a0020   pss=28  padding=4  size_without_padding=24
              source_path=third_party/container.c 	object_path=third_party/WebKit.a/ContiguousContainer.o
-             flags={anon,rel.loc}  name=base::android::g_library_version_number
-43785368 d@0x2de70a0  pss=4  padding=0  size_without_padding=4
+             flags={}  name=blink::ContiguousContainerBase::ContiguousContainerBase
+                  full_name=blink::ContiguousContainerBase::ContiguousContainerBase(blink::ContiguousContainerBase&&)
+15)  35900712 (81.0%) t@0x2a1000   pss=94  padding=0  size_without_padding=94
              source_path=third_party/container.c 	object_path=third_party/WebKit.a/ContiguousContainer.o
-             flags={anon}  name=base::android::g_renderer_histogram_code
-43785372 r@0x28f3480  pss=4  padding=0  size_without_padding=4
+             flags={anon}  name=blink::PaintChunker::releasePaintChunks [clone .part.1]
+                  full_name=blink::PaintChunker::releasePaintChunks() [clone .part.1]
+16)  38542106 (87.0%) r@Group      pss=2641394  padding=352  size_without_padding=2641042  count=2
+             source_path= 	object_path=
+             flags={}  name=** merge strings
+> 0)    1965409 (74.4%) r@0x266e600  pss=1965409  padding=0  size_without_padding=1965409
+               source_path= 	object_path=
+               flags={}  name=** merge strings
+> 1)    2641394 (100.0%) r@0x284e518  pss=675985  padding=352  size_without_padding=675633
+               source_path= 	object_path=
+               flags={}  name=** merge strings
+17)  41828221 (94.4%) r@Group      pss=3286115  padding=3286115  size_without_padding=0  count=2
+             source_path= 	object_path=
+             flags={}  name=** symbol gaps
+> 0)          3 (0.0%)  r@0x284e364  pss=3  padding=3  size_without_padding=0
+               source_path= 	object_path=
+               flags={}  name=** symbol gap 2
+> 1)    3286115 (100.0%) r@0x2c158e4  pss=3286112  padding=3286112  size_without_padding=0
+               source_path= 	object_path=
+               flags={}  name=** symbol gap 3 (end of section)
+18)  41828229 (94.4%) r@0x284e364  pss=8  padding=0  size_without_padding=8
+             source_path=base/page_allocator.cc 	object_path=base/base/page_allocator.o
+19)  41828273 (94.4%) r@0x284e370  pss=44  padding=4  size_without_padding=40
+             source_path=base/page_allocator.cc 	object_path=base/base/page_allocator.o
+             flags={}  name=Name
+20)  41828305 (94.4%) r@0x284e398  pss=32  padding=0  size_without_padding=32
+             source_path=third_party/container.c 	object_path=third_party/WebKit.a/ContiguousContainer.o
+             flags={}  name=chrome::mojom::FilePatcher::Name_
+21)  41828360 (94.4%) r@0x28f3450  pss=55  padding=7  size_without_padding=48
+             source_path=third_party/paint.cc 	object_path=third_party/WebKit.a/PaintChunker.o
+             flags={anon}  name=kAnimationFrameTimeHistogramClassPath
+22)  41828364 (94.4%) r@0x28f3480  pss=4  padding=0  size_without_padding=4
              source_path=third_party/paint.cc 	object_path=third_party/WebKit.a/PaintChunker.o
              flags={anon}  name=blink::CSSValueKeywordsHash::findValueImpl::value_word_list
-                        full_name=blink::CSSValueKeywordsHash::findValueImpl(char const*, unsigned int)::value_word_list
-43785376 d@0x2de7000  pss=4  padding=0  size_without_padding=4
+                  full_name=blink::CSSValueKeywordsHash::findValueImpl(char const*, unsigned int)::value_word_list
+23)  41828420 (94.4%) d@0x2c176f0  pss=56  padding=0  size_without_padding=56
+             source_path=third_party/icu/ucnv_ext.c 	object_path=third_party/icu/icuuc/ucnv_ext.o
+             flags={gen}  name=ChromeMainDelegate [vtable]
+24)  41828444 (94.4%) d@0x2c17728  pss=24  padding=0  size_without_padding=24
+             source_path=third_party/icu/ucnv_ext.c 	object_path=third_party/icu/icuuc/ucnv_ext.o
+             flags={gen}  name=chrome::mojom::FieldTrialRecorder [vtable]
+25)  42618348 (96.2%) d@0x2c17740  pss=789904  padding=0  size_without_padding=789904
+             source_path=third_party/container.c 	object_path=third_party/WebKit.a/ContiguousContainer.o
+             flags={}  name=chrome::mojom::FieldTrialRecorderProxy [vtable]
+26)  42618380 (96.2%) d@0x2cd84e0  pss=32  padding=16  size_without_padding=16
+             source_path= 	object_path=third_party/gvr-android-sdk/libgvr_shim_static_arm.a/libcontroller_api_impl.a_controller_api_impl.o
+             flags={}  name=.Lswitch.table.45
+27)  42618388 (96.2%) d@0x2cd84f0  pss=8  padding=0  size_without_padding=8
+             source_path= 	object_path=third_party/gvr-android-sdk/libgvr_shim_static_arm.a/libport_android_jni.a_jni_utils.o
+             flags={anon}  name=kSystemClassPrefixes
+28)  42618444 (96.2%) d@0x2cd8500  pss=56  padding=0  size_without_padding=56
+             source_path=third_party/paint.cc 	object_path=third_party/WebKit.a/PaintChunker.o
+             flags={}  name=ChromeMainDelegateAndroid [vtable]
+29)  42618468 (96.2%) d@0x2cd8538  pss=24  padding=0  size_without_padding=24
+             source_path=base/page_allocator.cc 	object_path=base/base/page_allocator.o
+             flags={}  name=mojo::MessageReceiver [vtable]
+30)  42618480 (96.2%) d@0x2cd8550  pss=12  padding=0  size_without_padding=12
+             source_path=base/page_allocator.cc 	object_path=base/base/page_allocator.o
+             flags={}  name=kMethodsAnimationFrameTimeHistogram
+31)  43683612 (98.6%) d@0x2ddc608  pss=1065132  padding=1065132  size_without_padding=0
+             source_path= 	object_path=
+             flags={}  name=** symbol gap 3 (end of section)
+32)  43683616 (98.6%) d@0x2de7000  pss=4  padding=0  size_without_padding=4
              source_path=base/page_allocator.cc 	object_path=base/base/page_allocator.o
              flags={}  name=google::protobuf::internal::pLinuxKernelCmpxchg
-43785380 d@0x2de7004  pss=4  padding=0  size_without_padding=4
+33)  43683620 (98.6%) d@0x2de7004  pss=4  padding=0  size_without_padding=4
              source_path=third_party/container.c 	object_path=third_party/WebKit.a/ContiguousContainer.o
              flags={}  name=google::protobuf::internal::pLinuxKernelMemoryBarrier
-43785380 b@0x0        pss=262144  padding=0  size_without_padding=262144
+34)  43683772 (98.6%) d@0x2de7008  pss=152  padding=0  size_without_padding=152
+             source_path=third_party/container.c 	object_path=third_party/WebKit.a/ContiguousContainer.o
+             flags={rel}  name=base::android::kBaseRegisteredMethods
+35)  43683776 (98.6%) d@0x2de70a0  pss=4  padding=0  size_without_padding=4
+             source_path=third_party/container.c 	object_path=third_party/WebKit.a/ContiguousContainer.o
+             flags={anon}  name=base::android::g_renderer_histogram_code
+36)  43683780 (98.6%) d@0x2de70a4  pss=4  padding=0  size_without_padding=4
+             source_path=third_party/container.c 	object_path=third_party/WebKit.a/ContiguousContainer.o
+             flags={anon,rel.loc}  name=base::android::g_library_version_number
+37)  43785380 (98.8%) d@0x2dffd88  pss=101600  padding=101600  size_without_padding=0
+             source_path= 	object_path=
+             flags={}  name=** symbol gap 3 (end of section)
+38)  43785380 (98.8%) b@0x0        pss=262144  padding=0  size_without_padding=262144
              source_path=third_party/fft_float.cc 	object_path=third_party/ffmpeg/libffmpeg_internal.a/fft_float.o
              flags={}  name=ff_cos_131072
-43785380 b@0x0        pss=131072  padding=0  size_without_padding=131072
+39)  43785380 (98.8%) b@0x0        pss=131072  padding=0  size_without_padding=131072
              source_path=third_party/fft_fixed.cc 	object_path=third_party/ffmpeg/libffmpeg_internal.a/fft_fixed.o
              flags={}  name=ff_cos_131072_fixed
-43785380 b@0x0        pss=131072  padding=0  size_without_padding=131072
+40)  43785380 (98.8%) b@0x0        pss=131072  padding=0  size_without_padding=131072
              source_path=third_party/fft_float.cc 	object_path=third_party/ffmpeg/libffmpeg_internal.a/fft_float.o
              flags={}  name=ff_cos_65536
-43785380 b@0x2dffe80  pss=200  padding=196  size_without_padding=4
+41)  43785380 (98.8%) b@0x2dffda0  pss=28  padding=0  size_without_padding=28
              source_path=third_party/icu/ucnv_ext.c 	object_path=third_party/icu/icuuc/ucnv_ext.o
-             flags={}  name=SaveHistogram::atomic_histogram_pointer
-                        full_name=SaveHistogram(_JNIEnv*, base::android::JavaParamRef<_jobject*> const&, base::android::JavaParamRef<_jstring*> const&, base::android::JavaParamRef<_jlongArray*> const&, int)::atomic_histogram_pointer
-43785380 b@0x2dffda0  pss=28  padding=0  size_without_padding=28
+             flags={gen}  name=g_chrome_content_browser_client
+42)  43785380 (98.8%) b@0x2dffe80  pss=200  padding=196  size_without_padding=4
              source_path=third_party/icu/ucnv_ext.c 	object_path=third_party/icu/icuuc/ucnv_ext.o
-             flags={}  name=g_chrome_content_browser_client
-43785380 b@0x2dffe84  pss=4  padding=0  size_without_padding=4
+             flags={gen}  name=SaveHistogram::atomic_histogram_pointer
+                  full_name=SaveHistogram(_JNIEnv*, base::android::JavaParamRef<_jobject*> const&, base::android::JavaParamRef<_jstring*> const&, base::android::JavaParamRef<_jlongArray*> const&, int)::atomic_histogram_pointer
+43)  43785380 (98.8%) b@0x2dffe84  pss=4  padding=0  size_without_padding=4
              source_path=third_party/icu/ucnv_ext.c 	object_path=third_party/icu/icuuc/ucnv_ext.o
-             flags={anon}  name=g_AnimationFrameTimeHistogram_clazz
+             flags={anon,gen}  name=g_AnimationFrameTimeHistogram_clazz
diff --git a/tools/binary_size/libsupersize/testdata/SymbolGroupMethods.golden b/tools/binary_size/libsupersize/testdata/SymbolGroupMethods.golden
index 2fd8ab7..0f03110 100644
--- a/tools/binary_size/libsupersize/testdata/SymbolGroupMethods.golden
+++ b/tools/binary_size/libsupersize/testdata/SymbolGroupMethods.golden
@@ -1,85 +1,66 @@
 GroupByNamespace()
 Showing 10 symbols (10 unique) with total pss: 44309900 bytes
-.text=0 bytes    .rodata=0 bytes    other=42.3mb     total=42.3mb
-Number of object files: 5
+.text=34.2mb     .rodata=5.65mb     other=2.37mb     total=42.3mb
+Number of object files: 10
 
-First columns are: running total, address, pss
-43519394 *@Group      43519394 {no path}
-             {global} (count=33)
-44309322 *@Group      789928  {no path}
-             chrome::mojom (count=2)
-44309522 *@Group      200     third_party/icu/ucnv_ext.c
-             SaveHistogram (count=1)
-44309682 *@Group      160     third_party/container.c
-             base::android (count=3)
-44309776 *@Group      94      third_party/container.c
-             blink::PaintChunker (count=1)
-44309832 *@Group      56      {no path}
-             blink::ContiguousContainerBase (count=3)
-44309864 *@Group      32      third_party/container.c
-             chrome::mojom::FilePatcher (count=1)
-44309888 *@Group      24      base/page_allocator.cc
-             mojo (count=1)
-44309896 *@Group      8       {no path}
-             google::protobuf::internal (count=2)
-44309900 *@Group      4       third_party/paint.cc
-             blink::CSSValueKeywordsHash::findValueImpl (count=1)
+Index, Running Total, Section@Address, PSS
+------------------------------------------------------------
+0)          8 (0.0%)  *@Group      8       google::protobuf::internal (count=2)
+1)         32 (0.0%)  *@Group      24      mojo (count=1)
+2)     789960 (1.8%)  *@Group      789928  chrome::mojom (count=2)
+3)     790120 (1.8%)  *@Group      160     base::android (count=3)
+4)     790320 (1.8%)  *@Group      200     SaveHistogram (count=1)
+5)     790352 (1.8%)  *@Group      32      chrome::mojom::FilePatcher (count=1)
+6)     790408 (1.8%)  *@Group      56      blink::ContiguousContainerBase (count=3)
+7)     790502 (1.8%)  *@Group      94      blink::PaintChunker (count=1)
+8)   44309896 (100.0%) *@Group      43519394 {global} (count=33)
+9)   44309900 (100.0%) *@Group      4       blink::CSSValueKeywordsHash::findValueImpl (count=1)
 GroupByNamespace(depth=1)
 Showing 7 symbols (7 unique) with total pss: 44309900 bytes
-.text=0 bytes    .rodata=0 bytes    other=42.3mb     total=42.3mb
-Number of object files: 4
+.text=34.2mb     .rodata=5.65mb     other=2.37mb     total=42.3mb
+Number of object files: 10
 
-First columns are: running total, address, pss
-43519394 *@Group      43519394 {no path}
-             {global} (count=33)
-44309354 *@Group      789960  {no path}
-             chrome (count=3)
-44309554 *@Group      200     third_party/icu/ucnv_ext.c
-             SaveHistogram (count=1)
-44309708 *@Group      154     {no path}
-             blink (count=5)
-44309868 *@Group      160     third_party/container.c
-             base (count=3)
-44309892 *@Group      24      base/page_allocator.cc
-             mojo (count=1)
-44309900 *@Group      8       {no path}
-             google (count=2)
+Index, Running Total, Section@Address, PSS
+------------------------------------------------------------
+0)          8 (0.0%)  *@Group      8       google (count=2)
+1)     789968 (1.8%)  *@Group      789960  chrome (count=3)
+2)     790168 (1.8%)  *@Group      200     SaveHistogram (count=1)
+3)     790322 (1.8%)  *@Group      154     blink (count=5)
+4)     790482 (1.8%)  *@Group      160     base (count=3)
+5)   44309876 (100.0%) *@Group      43519394 {global} (count=33)
+6)   44309900 (100.0%) *@Group      24      mojo (count=1)
 GroupByNamespace(depth=1, fallback=None)
 Showing 7 symbols (7 unique) with total pss: 44309900 bytes
-.text=0 bytes    .rodata=0 bytes    other=42.3mb     total=42.3mb
-Number of object files: 4
+.text=34.2mb     .rodata=5.65mb     other=2.37mb     total=42.3mb
+Number of object files: 10
 
-First columns are: running total, address, pss
-43519394 *@Group      43519394 {no path}
-44309354 *@Group      789960  {no path}
-             chrome (count=3)
-44309554 *@Group      200     third_party/icu/ucnv_ext.c
-             SaveHistogram (count=1)
-44309708 *@Group      154     {no path}
-             blink (count=5)
-44309868 *@Group      160     third_party/container.c
-             base (count=3)
-44309892 *@Group      24      base/page_allocator.cc
-             mojo (count=1)
-44309900 *@Group      8       {no path}
-             google (count=2)
+Index, Running Total, Section@Address, PSS
+------------------------------------------------------------
+0)          8 (0.0%)  *@Group      8       google (count=2)
+1)     789968 (1.8%)  *@Group      789960  chrome (count=3)
+2)     790168 (1.8%)  *@Group      200     SaveHistogram (count=1)
+3)   44309562 (100.0%) *@Group      43519394  (count=33)
+4)   44309722 (100.0%) *@Group      160     base (count=3)
+5)   44309876 (100.0%) *@Group      154     blink (count=5)
+6)   44309900 (100.0%) *@Group      24      mojo (count=1)
 GroupByNamespace(depth=1, min_count=2)
 Showing 7 symbols (7 unique) with total pss: 44309900 bytes
-.text=0 bytes    .rodata=0 bytes    other=42.3mb     total=42.3mb
-Number of object files: 4
+.text=34.2mb     .rodata=5.65mb     other=2.37mb     total=42.3mb
+Number of object files: 10
 
-First columns are: running total, address, pss
-43519394 *@Group      43519394 {no path}
-             {global} (count=33)
-44309354 *@Group      789960  {no path}
-             chrome (count=3)
-44309508 *@Group      154     {no path}
-             blink (count=5)
-44309668 *@Group      160     third_party/container.c
-             base (count=3)
-44309692 d@0x2cd8538  24      base/page_allocator.cc
-             mojo::MessageReceiver [vtable]
-44309700 *@Group      8       {no path}
+Index, Running Total, Section@Address, PSS
+------------------------------------------------------------
+0)          8 (0.0%)  *@Group      8       {no path}
              google (count=2)
-44309700 b@0x2dffe80  200     third_party/icu/ucnv_ext.c
+1)     789968 (1.8%)  *@Group      789960  {no path}
+             chrome (count=3)
+2)     789968 (1.8%)  b@0x2dffe80  200     third_party/icu/ucnv_ext.c
              SaveHistogram::atomic_histogram_pointer
+3)     790122 (1.8%)  *@Group      154     {no path}
+             blink (count=5)
+4)     790282 (1.8%)  *@Group      160     third_party/container.c
+             base (count=3)
+5)   44309676 (100.0%) *@Group      43519394 {no path}
+             {global} (count=33)
+6)   44309700 (100.0%) d@0x2cd8538  24      base/page_allocator.cc
+             mojo::MessageReceiver [vtable]
diff --git a/tools/gn/bootstrap/bootstrap.py b/tools/gn/bootstrap/bootstrap.py
index 3901dd4..217add2 100755
--- a/tools/gn/bootstrap/bootstrap.py
+++ b/tools/gn/bootstrap/bootstrap.py
@@ -435,6 +435,7 @@
       'base/memory/ref_counted.cc',
       'base/memory/ref_counted_memory.cc',
       'base/memory/singleton.cc',
+      'base/memory/shared_memory_handle.cc',
       'base/memory/shared_memory_helper.cc',
       'base/memory/weak_ptr.cc',
       'base/message_loop/incoming_task_queue.cc',
@@ -563,6 +564,7 @@
       'base/trace_event/tracing_agent.cc',
       'base/tracked_objects.cc',
       'base/tracking_info.cc',
+      'base/unguessable_token.cc',
       'base/values.cc',
       'base/vlog.cc',
   ])
diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums.xml
index f07acdaf..b796bbcd 100644
--- a/tools/metrics/histograms/enums.xml
+++ b/tools/metrics/histograms/enums.xml
@@ -2626,6 +2626,11 @@
   <int value="1" label="Data Reduction Proxy"/>
 </enum>
 
+<enum name="BooleanDeclarativeRules" type="int">
+  <int value="0" label="No declarative rules"/>
+  <int value="1" label="Has declarative rules"/>
+</enum>
+
 <enum name="BooleanDefault" type="int">
   <int value="0" label="Not Default"/>
   <int value="1" label="Default"/>
@@ -6858,6 +6863,18 @@
   <int value="40" label="LargeIconService"/>
 </enum>
 
+<enum name="DeclarativeAPIFunctionType" type="int">
+  <int value="0" label="kDeclarativeContentAddRules"/>
+  <int value="1" label="kDeclarativeContentRemoveRules"/>
+  <int value="2" label="kDeclarativeContentGetRules"/>
+  <int value="3" label="kDeclarativeWebRequestAddRules"/>
+  <int value="4" label="kDeclarativeWebRequestRemoveRules"/>
+  <int value="5" label="kDeclarativeWebRequestGetRules"/>
+  <int value="6" label="kDeclarativeWebRequestWebviewAddRules"/>
+  <int value="7" label="kDeclarativeWebRequestWebviewRemoveRules"/>
+  <int value="8" label="kDeclarativeWebRequestWebviewGetRules"/>
+</enum>
+
 <enum name="DecodedImageOrientation" type="int">
   <int value="0" label="Unknown"/>
   <int value="1" label="Top Left"/>
diff --git a/tools/metrics/histograms/histograms.xml b/tools/metrics/histograms/histograms.xml
index 10726aa4..8b5dd5c 100644
--- a/tools/metrics/histograms/histograms.xml
+++ b/tools/metrics/histograms/histograms.xml
@@ -13951,6 +13951,11 @@
   </summary>
 </histogram>
 
+<histogram name="Download.HttpResponseCode" enum="HttpResponseCode">
+  <owner>xingliu@chromium.org</owner>
+  <summary>The count of HTTP Response codes for download requests.</summary>
+</histogram>
+
 <histogram name="Download.InterruptedAtEndError" enum="NetErrorCodes">
   <owner>asanka@chromium.org</owner>
   <summary>
@@ -18441,11 +18446,32 @@
   </summary>
 </histogram>
 
+<histogram name="Extensions.DeclarativeAPIFunctionCalls"
+    enum="DeclarativeAPIFunctionType">
+  <owner>karandeepb@chromium.org</owner>
+  <summary>
+    Number of calls to the declarative API extension functions. This includes
+    the declarativeContent and declarativeWebRequest APIs. Emitted when the
+    extension function is called.
+  </summary>
+</histogram>
+
 <histogram name="Extensions.DeclarativeRulesStorageInitialization" units="ms">
   <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
   <summary>Time spent until rules storage delegate gets ready.</summary>
 </histogram>
 
+<histogram
+    name="Extensions.DeclarativeWebRequest.WebViewRequestDeclarativeRules"
+    enum="BooleanDeclarativeRules">
+  <owner>karandeepb@chromium.org</owner>
+  <summary>
+    Whether a network request from a guest webview has any declarative web
+    request rules that need to be evaluated. Emitted whenever a network request
+    from a guest webview is received at the network layer.
+  </summary>
+</histogram>
+
 <histogram name="Extensions.DepricatedExternalJsonCount">
   <obsolete>
     Deprecated 04/2016 as doesn't have data nor owner.
diff --git a/tools/perf/core/benchmark_sharding_map.json b/tools/perf/core/benchmark_sharding_map.json
index fc931b7c..4810bb56 100644
--- a/tools/perf/core/benchmark_sharding_map.json
+++ b/tools/perf/core/benchmark_sharding_map.json
@@ -2,7 +2,6 @@
   "Android Nexus5X Perf": {
     "build73-b1--device1": {
       "benchmarks": [
-        "smoothness.key_silk_cases",
         "system_health.memory_desktop",
         "system_health.memory_mobile"
       ]
@@ -25,6 +24,7 @@
     "build73-b1--device4": {
       "benchmarks": [
         "blink_perf.blink_gc",
+        "smoothness.key_silk_cases",
         "system_health.common_desktop",
         "v8.infinite_scroll-turbo_tbmv2"
       ]
@@ -544,7 +544,6 @@
         "thread_times.key_mobile_sites_smooth",
         "thread_times.key_silk_cases",
         "tracing.tracing_with_debug_overhead",
-        "v8.runtime_stats.top_25",
         "webrtc.datachannel",
         "webrtc.getusermedia",
         "webrtc.webrtc_smoothness_tbmv2"
@@ -711,6 +710,7 @@
         "v8.infinite_scroll-classic_tbmv2",
         "v8.key_mobile_sites_smooth",
         "v8.runtimestats.browsing_mobile",
+        "v8.runtime_stats.top_25",
         "webrtc.stress"
       ]
     }
@@ -1132,7 +1132,6 @@
         "thread_times.key_mobile_sites_smooth",
         "thread_times.key_silk_cases",
         "tracing.tracing_with_debug_overhead",
-        "v8.runtime_stats.top_25",
         "webrtc.datachannel",
         "webrtc.getusermedia",
         "webrtc.webrtc_smoothness_tbmv2"
@@ -1299,6 +1298,7 @@
         "v8.infinite_scroll-classic_tbmv2",
         "v8.key_mobile_sites_smooth",
         "v8.runtimestats.browsing_mobile",
+        "v8.runtime_stats.top_25",
         "webrtc.stress"
       ]
     }
@@ -1328,7 +1328,6 @@
         "thread_times.key_mobile_sites_smooth",
         "thread_times.key_silk_cases",
         "tracing.tracing_with_debug_overhead",
-        "v8.runtime_stats.top_25",
         "webrtc.datachannel",
         "webrtc.getusermedia",
         "webrtc.webrtc_smoothness_tbmv2"
@@ -1495,6 +1494,7 @@
         "v8.infinite_scroll-classic_tbmv2",
         "v8.key_mobile_sites_smooth",
         "v8.runtimestats.browsing_mobile",
+        "v8.runtime_stats.top_25",
         "webrtc.stress"
       ]
     }
@@ -4031,6 +4031,7 @@
         "media.tough_video_cases_extra",
         "octane",
         "page_cycler_v2.basic_oopif",
+        "page_cycler_v2.intl_es_fr_pt-BR",
         "page_cycler_v2.intl_ja_zh",
         "page_cycler_v2.top_10_mobile",
         "power.idle_platform",
@@ -4151,7 +4152,6 @@
         "memory.long_running_dual_browser_test",
         "memory.top_10_mobile_stress",
         "oortonline_tbmv2",
-        "page_cycler_v2.intl_es_fr_pt-BR",
         "page_cycler_v2.intl_ko_th_vi",
         "power.steady_state",
         "power.typical_10_mobile_reload",
@@ -4359,4 +4359,4 @@
     "webrtc.webrtc_smoothness",
     "webrtc.webrtc_smoothness_tbmv2"
   ]
-}
\ No newline at end of file
+}
diff --git a/ui/events/BUILD.gn b/ui/events/BUILD.gn
index 873bb19..9b36692 100644
--- a/ui/events/BUILD.gn
+++ b/ui/events/BUILD.gn
@@ -451,6 +451,7 @@
         "ozone/evdev/event_device_info_unittest.cc",
         "ozone/evdev/event_device_test_util.cc",
         "ozone/evdev/event_device_test_util.h",
+        "ozone/evdev/gamepad_event_converter_evdev_unittest.cc",
         "ozone/evdev/input_injector_evdev_unittest.cc",
         "ozone/evdev/tablet_event_converter_evdev_unittest.cc",
         "ozone/evdev/touch_event_converter_evdev_unittest.cc",
diff --git a/ui/events/ozone/BUILD.gn b/ui/events/ozone/BUILD.gn
index 11a7d38..8809831 100644
--- a/ui/events/ozone/BUILD.gn
+++ b/ui/events/ozone/BUILD.gn
@@ -83,6 +83,8 @@
       "evdev/event_thread_evdev.cc",
       "evdev/event_thread_evdev.h",
       "evdev/events_ozone_evdev_export.h",
+      "evdev/gamepad_event_converter_evdev.cc",
+      "evdev/gamepad_event_converter_evdev.h",
       "evdev/input_controller_evdev.cc",
       "evdev/input_controller_evdev.h",
       "evdev/input_device_factory_evdev.cc",
@@ -120,6 +122,14 @@
       "evdev/touch_filter/single_position_touch_noise_filter.cc",
       "evdev/touch_filter/single_position_touch_noise_filter.h",
       "evdev/touch_filter/touch_filter.h",
+      "gamepad/gamepad_event.cc",
+      "gamepad/gamepad_event.h",
+      "gamepad/gamepad_mapping.cc",
+      "gamepad/gamepad_mapping.h",
+      "gamepad/gamepad_observer.h",
+      "gamepad/gamepad_provider_ozone.cc",
+      "gamepad/gamepad_provider_ozone.h",
+      "gamepad/webgamepad_constants.h",
     ]
 
     defines = [ "EVENTS_OZONE_EVDEV_IMPLEMENTATION" ]
diff --git a/ui/events/ozone/evdev/device_event_dispatcher_evdev.h b/ui/events/ozone/evdev/device_event_dispatcher_evdev.h
index 7d5e634..4bf3fdf 100644
--- a/ui/events/ozone/evdev/device_event_dispatcher_evdev.h
+++ b/ui/events/ozone/evdev/device_event_dispatcher_evdev.h
@@ -13,6 +13,7 @@
 #include "ui/events/event.h"
 #include "ui/events/event_constants.h"
 #include "ui/events/ozone/evdev/events_ozone_evdev_export.h"
+#include "ui/events/ozone/gamepad/gamepad_event.h"
 #include "ui/gfx/geometry/point_f.h"
 #include "ui/gfx/geometry/vector2d.h"
 #include "ui/gfx/geometry/vector2d_f.h"
@@ -165,6 +166,7 @@
   virtual void DispatchPinchEvent(const PinchEventParams& params) = 0;
   virtual void DispatchScrollEvent(const ScrollEventParams& params) = 0;
   virtual void DispatchTouchEvent(const TouchEventParams& params) = 0;
+  virtual void DispatchGamepadEvent(const GamepadEvent& event) = 0;
 
   // Device lifecycle events.
   virtual void DispatchKeyboardDevicesUpdated(
@@ -177,6 +179,8 @@
       const std::vector<InputDevice>& devices) = 0;
   virtual void DispatchDeviceListsComplete() = 0;
   virtual void DispatchStylusStateChanged(StylusState stylus_state) = 0;
+  virtual void DispatchGamepadDevicesUpdated(
+      const std::vector<InputDevice>& devices) = 0;
 };
 
 }  // namespace ui
diff --git a/ui/events/ozone/evdev/event_converter_evdev.cc b/ui/events/ozone/evdev/event_converter_evdev.cc
index e3c70d0..d6dbce1 100644
--- a/ui/events/ozone/evdev/event_converter_evdev.cc
+++ b/ui/events/ozone/evdev/event_converter_evdev.cc
@@ -101,6 +101,10 @@
   return false;
 }
 
+bool EventConverterEvdev::HasGamepad() const {
+  return false;
+}
+
 bool EventConverterEvdev::HasCapsLockLed() const {
   return false;
 }
diff --git a/ui/events/ozone/evdev/event_converter_evdev.h b/ui/events/ozone/evdev/event_converter_evdev.h
index 2372fd8..d906520 100644
--- a/ui/events/ozone/evdev/event_converter_evdev.h
+++ b/ui/events/ozone/evdev/event_converter_evdev.h
@@ -80,6 +80,9 @@
   // Returns true if the converter is used for a pen device.
   virtual bool HasPen() const;
 
+  // Returns true if the converter is used for a device with gamepad input.
+  virtual bool HasGamepad() const;
+
   // Returns true if the converter is used for a device with a caps lock LED.
   virtual bool HasCapsLockLed() const;
 
diff --git a/ui/events/ozone/evdev/event_converter_test_util.cc b/ui/events/ozone/evdev/event_converter_test_util.cc
index ba98002..3c762d9 100644
--- a/ui/events/ozone/evdev/event_converter_test_util.cc
+++ b/ui/events/ozone/evdev/event_converter_test_util.cc
@@ -34,6 +34,7 @@
   ~TestDeviceEventDispatcherEvdev() override {}
 
   // DeviceEventDispatcher:
+
   void DispatchKeyEvent(const KeyEventParams& params) override {
     event_factory_evdev_->DispatchKeyEvent(params);
   }
@@ -85,6 +86,15 @@
     event_factory_evdev_->DispatchStylusStateChanged(stylus_state);
   }
 
+  void DispatchGamepadEvent(const GamepadEvent& event) override {
+    event_factory_evdev_->DispatchGamepadEvent(event);
+  }
+
+  void DispatchGamepadDevicesUpdated(
+      const std::vector<InputDevice>& devices) override {
+    event_factory_evdev_->DispatchGamepadDevicesUpdated(devices);
+  }
+
  private:
   EventFactoryEvdev* event_factory_evdev_;
 };
diff --git a/ui/events/ozone/evdev/event_device_info.cc b/ui/events/ozone/evdev/event_device_info.cc
index aa877e0..0366df0 100644
--- a/ui/events/ozone/evdev/event_device_info.cc
+++ b/ui/events/ozone/evdev/event_device_info.cc
@@ -251,6 +251,11 @@
   device_type_ = type;
 }
 
+void EventDeviceInfo::SetId(uint16_t vendor_id, uint16_t product_id) {
+  vendor_id_ = vendor_id;
+  product_id_ = product_id;
+}
+
 bool EventDeviceInfo::HasEventType(unsigned int type) const {
   if (type > EV_MAX)
     return false;
@@ -427,6 +432,23 @@
   return HasAbsXY() && HasDirect();
 }
 
+bool EventDeviceInfo::HasGamepad() const {
+  if (!HasEventType(EV_KEY))
+    return false;
+
+  // If the device has gamepad button, and it's not keyboard or tablet, it will
+  // be considered to be a gamepad. Note: this WILL have false positives and
+  // false negatives. A concrete solution will use ID_INPUT_JOYSTICK with some
+  // patch removing false positives.
+  bool support_gamepad_btn = false;
+  for (int key = BTN_JOYSTICK; key <= BTN_THUMBR; ++key) {
+    if (HasKeyEvent(key))
+      support_gamepad_btn = true;
+  }
+
+  return support_gamepad_btn && !HasTablet() && !HasKeyboard();
+}
+
 EventDeviceInfo::LegacyAbsoluteDeviceType
 EventDeviceInfo::ProbeLegacyAbsoluteDevice() const {
   if (!HasAbsXY())
diff --git a/ui/events/ozone/evdev/event_device_info.h b/ui/events/ozone/evdev/event_device_info.h
index b4ddbcda..0401b64 100644
--- a/ui/events/ozone/evdev/event_device_info.h
+++ b/ui/events/ozone/evdev/event_device_info.h
@@ -69,6 +69,7 @@
   void SetAbsMtSlots(unsigned int code, const std::vector<int32_t>& values);
   void SetAbsMtSlot(unsigned int code, unsigned int slot, uint32_t value);
   void SetDeviceType(InputDeviceType type);
+  void SetId(uint16_t vendor_id, uint16_t product_id);
 
   // Check events this device can generate.
   bool HasEventType(unsigned int type) const;
@@ -139,6 +140,9 @@
   // Determine whether there's a touchscreen on this device.
   bool HasTouchscreen() const;
 
+  // Determine whether there's a gamepad on this device.
+  bool HasGamepad() const;
+
   // The device type (internal or external.)
   InputDeviceType device_type() const { return device_type_; }
 
diff --git a/ui/events/ozone/evdev/event_device_info_unittest.cc b/ui/events/ozone/evdev/event_device_info_unittest.cc
index 0b7019a9..576c488 100644
--- a/ui/events/ozone/evdev/event_device_info_unittest.cc
+++ b/ui/events/ozone/evdev/event_device_info_unittest.cc
@@ -26,6 +26,18 @@
 EventDeviceInfoTest::EventDeviceInfoTest() {
 }
 
+TEST_F(EventDeviceInfoTest, BasicUsbGamepad) {
+  EventDeviceInfo devinfo;
+  EXPECT_TRUE(CapabilitiesToDeviceInfo(kXboxGamepad, &devinfo));
+
+  EXPECT_FALSE(devinfo.HasKeyboard());
+  EXPECT_FALSE(devinfo.HasMouse());
+  EXPECT_FALSE(devinfo.HasTouchpad());
+  EXPECT_FALSE(devinfo.HasTouchscreen());
+  EXPECT_FALSE(devinfo.HasTablet());
+  EXPECT_TRUE(devinfo.HasGamepad());
+}
+
 TEST_F(EventDeviceInfoTest, BasicCrosKeyboard) {
   EventDeviceInfo devinfo;
   EXPECT_TRUE(CapabilitiesToDeviceInfo(kLinkKeyboard, &devinfo));
@@ -35,6 +47,7 @@
   EXPECT_FALSE(devinfo.HasTouchpad());
   EXPECT_FALSE(devinfo.HasTouchscreen());
   EXPECT_FALSE(devinfo.HasTablet());
+  EXPECT_FALSE(devinfo.HasGamepad());
 }
 
 TEST_F(EventDeviceInfoTest, BasicCrosTouchscreen) {
@@ -46,6 +59,7 @@
   EXPECT_FALSE(devinfo.HasTouchpad());
   EXPECT_TRUE(devinfo.HasTouchscreen());
   EXPECT_FALSE(devinfo.HasTablet());
+  EXPECT_FALSE(devinfo.HasGamepad());
 }
 
 TEST_F(EventDeviceInfoTest, BasicCrosTouchpad) {
@@ -57,6 +71,7 @@
   EXPECT_TRUE(devinfo.HasTouchpad());
   EXPECT_FALSE(devinfo.HasTouchscreen());
   EXPECT_FALSE(devinfo.HasTablet());
+  EXPECT_FALSE(devinfo.HasGamepad());
 }
 
 TEST_F(EventDeviceInfoTest, BasicUsbKeyboard) {
@@ -68,6 +83,7 @@
   EXPECT_FALSE(devinfo.HasTouchpad());
   EXPECT_FALSE(devinfo.HasTouchscreen());
   EXPECT_FALSE(devinfo.HasTablet());
+  EXPECT_FALSE(devinfo.HasGamepad());
 }
 
 TEST_F(EventDeviceInfoTest, BasicUsbKeyboard_Extra) {
@@ -79,6 +95,7 @@
   EXPECT_FALSE(devinfo.HasTouchpad());
   EXPECT_FALSE(devinfo.HasTouchscreen());
   EXPECT_FALSE(devinfo.HasTablet());
+  EXPECT_FALSE(devinfo.HasGamepad());
 }
 
 TEST_F(EventDeviceInfoTest, BasicUsbMouse) {
@@ -90,6 +107,7 @@
   EXPECT_FALSE(devinfo.HasTouchpad());
   EXPECT_FALSE(devinfo.HasTouchscreen());
   EXPECT_FALSE(devinfo.HasTablet());
+  EXPECT_FALSE(devinfo.HasGamepad());
 }
 
 TEST_F(EventDeviceInfoTest, BasicUsbTouchscreen) {
@@ -101,6 +119,7 @@
   EXPECT_FALSE(devinfo.HasTouchpad());
   EXPECT_TRUE(devinfo.HasTouchscreen());
   EXPECT_FALSE(devinfo.HasTablet());
+  EXPECT_FALSE(devinfo.HasGamepad());
 }
 
 TEST_F(EventDeviceInfoTest, BasicUsbTablet) {
@@ -112,6 +131,7 @@
   EXPECT_FALSE(devinfo.HasTouchpad());
   EXPECT_FALSE(devinfo.HasTouchscreen());
   EXPECT_TRUE(devinfo.HasTablet());
+  EXPECT_FALSE(devinfo.HasGamepad());
 }
 
 TEST_F(EventDeviceInfoTest, BasicUsbTouchpad) {
@@ -123,6 +143,7 @@
   EXPECT_TRUE(devinfo.HasTouchpad());
   EXPECT_FALSE(devinfo.HasTouchscreen());
   EXPECT_FALSE(devinfo.HasTablet());
+  EXPECT_FALSE(devinfo.HasGamepad());
 }
 
 TEST_F(EventDeviceInfoTest, HybridKeyboardWithMouse) {
@@ -135,6 +156,7 @@
   EXPECT_FALSE(devinfo.HasTouchpad());
   EXPECT_FALSE(devinfo.HasTouchscreen());
   EXPECT_FALSE(devinfo.HasTablet());
+  EXPECT_FALSE(devinfo.HasGamepad());
 }
 
 TEST_F(EventDeviceInfoTest, AbsoluteMouseTouchscreen) {
@@ -147,6 +169,7 @@
   EXPECT_FALSE(devinfo.HasTouchpad());
   EXPECT_TRUE(devinfo.HasTouchscreen());
   EXPECT_FALSE(devinfo.HasTablet());
+  EXPECT_FALSE(devinfo.HasGamepad());
 }
 
 TEST_F(EventDeviceInfoTest, OnScreenStylus) {
@@ -158,6 +181,7 @@
   EXPECT_FALSE(devinfo.HasTouchpad());
   EXPECT_TRUE(devinfo.HasTouchscreen());
   EXPECT_FALSE(devinfo.HasTablet());
+  EXPECT_FALSE(devinfo.HasGamepad());
 }
 
 }  // namespace ui
diff --git a/ui/events/ozone/evdev/event_device_test_util.cc b/ui/events/ozone/evdev/event_device_test_util.cc
index d1d7d24..886fcf4 100644
--- a/ui/events/ozone/evdev/event_device_test_util.cc
+++ b/ui/events/ozone/evdev/event_device_test_util.cc
@@ -79,6 +79,70 @@
 
 }  // namespace
 
+// Captured from Xbox 360 gamepad.
+const DeviceAbsoluteAxis kXboxGamepadAbsAxes[] = {
+    {ABS_X, {0, -32768, 32767, 16, 128}},
+    {ABS_Y, {0, -32768, 32767, 16, 128}},
+    {ABS_Z, {0, 0, 255, 0, 0}},
+    {ABS_RX, {0, -32768, 32767, 16, 128}},
+    {ABS_RY, {0, -32768, 32767, 16, 128}},
+    {ABS_RZ, {0, 0, 255, 0, 0}},
+    {ABS_HAT0X, {0, -1, 1, 0, 0}},
+    {ABS_HAT0Y, {0, -1, 1, 0, 0}}};
+
+const DeviceCapabilities kXboxGamepad = {
+    /* path */
+    "/devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2.2/1-2.2:1.0/"
+    "input/input38/event11",
+    /* name */ "Microsoft X-Box 360 pad",
+    /* phys */ "usb-0000:00:14.0-2.2/input0",
+    /* uniq */ "",
+    /* bustype */ "0011",
+    /* vendor */ "045e",
+    /* product */ "028e",
+    /* version */ "0114",
+    /* prop */ "0",
+    /* ev */ "20000b",
+    /* key */ "7cdb000000000000 0 0 0 0",
+    /* rel */ "0",
+    /* abs */ "3003f",
+    /* msc */ "0",
+    /* sw */ "0",
+    /* led */ "0",
+    /* ff */ "0",
+    kXboxGamepadAbsAxes,
+    arraysize(kXboxGamepadAbsAxes),
+};
+
+// Captured from iBuffalo gamepad.
+const DeviceAbsoluteAxis kiBuffaloGamepadAbsAxes[] = {
+    {ABS_X, {128, 0, 255, 0, 15}},
+    {ABS_Y, {128, 0, 255, 0, 15}}};
+
+const DeviceCapabilities kiBuffaloGamepad = {
+    /* path */
+    "/devices/pci0000:00/0000:00:14.0/usb3/3-14/3-14:1.0/0003:0583:2060.0011/"
+    "input/input30/event14",
+    /* name */ "USB,2-axis 8-button gamepad",
+    /* phys */ "usb-0000:00:14.0-14/input0",
+    /* uniq */ "",
+    /* bustype */ "0011",
+    /* vendor */ "0583",
+    /* product */ "2060",
+    /* version */ "0110",
+    /* prop */ "0",
+    /* ev */ "1b",
+    /* key */ "ff00000000 0 0 0 0",
+    /* rel */ "0",
+    /* abs */ "3",
+    /* msc */ "10",
+    /* sw */ "0",
+    /* led */ "0",
+    /* ff */ "0",
+    kiBuffaloGamepadAbsAxes,
+    arraysize(kiBuffaloGamepadAbsAxes),
+};
+
 // Captured from Chromebook Pixel.
 const DeviceCapabilities kLinkKeyboard = {
     /* path */ "/sys/devices/platform/i8042/serio0/input/input6/event6",
@@ -498,6 +562,13 @@
   sscanf(capabilities.bustype, "%x", &bustype);
   devinfo->SetDeviceType(InputDeviceTypeFromBusType(bustype));
 
+  int vendor_id = 0;
+  int product_id = 0;
+
+  sscanf(capabilities.vendor, "%x", &vendor_id);
+  sscanf(capabilities.product, "%x", &product_id);
+  devinfo->SetId(static_cast<uint16_t>(vendor_id),
+                 static_cast<uint16_t>(product_id));
   return true;
 }
 
diff --git a/ui/events/ozone/evdev/event_device_test_util.h b/ui/events/ozone/evdev/event_device_test_util.h
index 54c1a346..baa8654 100644
--- a/ui/events/ozone/evdev/event_device_test_util.h
+++ b/ui/events/ozone/evdev/event_device_test_util.h
@@ -59,6 +59,8 @@
 bool CapabilitiesToDeviceInfo(const DeviceCapabilities& capabilities,
                               EventDeviceInfo* devinfo);
 
+extern const DeviceCapabilities kXboxGamepad;
+extern const DeviceCapabilities kiBuffaloGamepad;
 extern const DeviceCapabilities kLinkKeyboard;
 extern const DeviceCapabilities kLinkTouchscreen;
 extern const DeviceCapabilities kLinkTouchpad;
diff --git a/ui/events/ozone/evdev/event_factory_evdev.cc b/ui/events/ozone/evdev/event_factory_evdev.cc
index c64b05d..3ea49039 100644
--- a/ui/events/ozone/evdev/event_factory_evdev.cc
+++ b/ui/events/ozone/evdev/event_factory_evdev.cc
@@ -23,6 +23,7 @@
 #include "ui/events/ozone/evdev/input_device_factory_evdev_proxy.h"
 #include "ui/events/ozone/evdev/input_injector_evdev.h"
 #include "ui/events/ozone/evdev/touch_evdev_types.h"
+#include "ui/events/ozone/gamepad/gamepad_provider_ozone.h"
 
 namespace ui {
 
@@ -83,6 +84,12 @@
                               event_factory_evdev_, params));
   }
 
+  void DispatchGamepadEvent(const GamepadEvent& event) override {
+    ui_thread_runner_->PostTask(
+        FROM_HERE, base::Bind(&EventFactoryEvdev::DispatchGamepadEvent,
+                              event_factory_evdev_, event));
+  }
+
   void DispatchKeyboardDevicesUpdated(
       const std::vector<InputDevice>& devices) override {
     ui_thread_runner_->PostTask(
@@ -122,6 +129,13 @@
                               event_factory_evdev_, stylus_state));
   }
 
+  void DispatchGamepadDevicesUpdated(
+      const std::vector<InputDevice>& devices) override {
+    ui_thread_runner_->PostTask(
+        FROM_HERE, base::Bind(&EventFactoryEvdev::DispatchGamepadDevicesUpdated,
+                              event_factory_evdev_, devices));
+  }
+
  private:
   scoped_refptr<base::SingleThreadTaskRunner> ui_thread_runner_;
   base::WeakPtr<EventFactoryEvdev> event_factory_evdev_;
@@ -159,6 +173,7 @@
                                      DeviceManager* device_manager,
                                      KeyboardLayoutEngine* keyboard_layout)
     : device_manager_(device_manager),
+      gamepad_provider_(GamepadProviderOzone::GetInstance()),
       keyboard_(&modifiers_,
                 keyboard_layout,
                 base::Bind(&EventFactoryEvdev::DispatchUiEvent,
@@ -345,6 +360,10 @@
   }
 }
 
+void EventFactoryEvdev::DispatchGamepadEvent(const GamepadEvent& event) {
+  gamepad_provider_->DispatchGamepadEvent(event);
+}
+
 void EventFactoryEvdev::DispatchUiEvent(Event* event) {
   // DispatchEvent takes PlatformEvent which is void*. This function
   // wraps it with the real type.
@@ -397,6 +416,12 @@
   observer->OnStylusStateChanged(stylus_state);
 };
 
+void EventFactoryEvdev::DispatchGamepadDevicesUpdated(
+    const std::vector<InputDevice>& devices) {
+  TRACE_EVENT0("evdev", "EventFactoryEvdev::DispatchGamepadDevicesUpdated");
+  gamepad_provider_->DispatchGamepadDevicesUpdated(devices);
+}
+
 void EventFactoryEvdev::OnDeviceEvent(const DeviceEvent& event) {
   if (event.device_type() != DeviceEvent::INPUT)
     return;
diff --git a/ui/events/ozone/evdev/event_factory_evdev.h b/ui/events/ozone/evdev/event_factory_evdev.h
index 7213204..046aa5bc 100644
--- a/ui/events/ozone/evdev/event_factory_evdev.h
+++ b/ui/events/ozone/evdev/event_factory_evdev.h
@@ -19,6 +19,7 @@
 #include "ui/events/ozone/evdev/input_controller_evdev.h"
 #include "ui/events/ozone/evdev/keyboard_evdev.h"
 #include "ui/events/ozone/evdev/mouse_button_map_evdev.h"
+#include "ui/events/ozone/gamepad/gamepad_event.h"
 #include "ui/events/platform/platform_event_source.h"
 #include "ui/gfx/native_widget_types.h"
 #include "ui/gfx/sequential_id_generator.h"
@@ -35,6 +36,7 @@
 class InputDeviceFactoryEvdev;
 class InputDeviceFactoryEvdevProxy;
 class SystemInputInjector;
+class GamepadProviderOzone;
 enum class DomCode;
 enum class StylusState;
 
@@ -82,6 +84,11 @@
   void DispatchDeviceListsComplete();
   void DispatchStylusStateChanged(StylusState stylus_state);
 
+  // Gamepad event and gamepad device event. These events are dispatched to
+  // GamepadObserver through GamepadProviderOzone.
+  void DispatchGamepadEvent(const GamepadEvent& event);
+  void DispatchGamepadDevicesUpdated(const std::vector<InputDevice>& devices);
+
  protected:
   // DeviceEventObserver overrides:
   //
@@ -108,6 +115,9 @@
   // Interface for scanning & monitoring input devices.
   DeviceManager* device_manager_;  // Not owned.
 
+  // Gamepad provider to dispatch gamepad events.
+  GamepadProviderOzone* gamepad_provider_;
+
   // Proxy for input device factory (manages device I/O objects).
   // The real object lives on a different thread.
   std::unique_ptr<InputDeviceFactoryEvdevProxy> input_device_factory_proxy_;
diff --git a/ui/events/ozone/evdev/gamepad_event_converter_evdev.cc b/ui/events/ozone/evdev/gamepad_event_converter_evdev.cc
new file mode 100644
index 0000000..e1d719a
--- /dev/null
+++ b/ui/events/ozone/evdev/gamepad_event_converter_evdev.cc
@@ -0,0 +1,317 @@
+// 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 "ui/events/ozone/evdev/gamepad_event_converter_evdev.h"
+
+#include <errno.h>
+#include <linux/input.h>
+#include <stddef.h>
+
+#include "base/trace_event/trace_event.h"
+#include "ui/events/event_utils.h"
+#include "ui/events/ozone/evdev/device_event_dispatcher_evdev.h"
+#include "ui/events/ozone/evdev/scoped_input_device.h"
+#include "ui/events/ozone/gamepad/gamepad_event.h"
+#include "ui/events/ozone/gamepad/gamepad_provider_ozone.h"
+#include "ui/events/ozone/gamepad/webgamepad_constants.h"
+
+namespace {
+constexpr double kHatThreshold = 0.5;
+}
+
+namespace ui {
+
+GamepadEventConverterEvdev::Axis::Axis()
+    : last_value_(0.),
+      scale_(0.),
+      offset_(0.),
+      scaled_fuzz_(0.),
+      scaled_flat_(0.),
+      mapped_type_(GamepadEventType::BUTTON),
+      mapped_code_(0.) {}
+
+GamepadEventConverterEvdev::Axis::Axis(const input_absinfo& abs_info,
+                                       GamepadEventType mapped_type,
+                                       uint16_t mapped_code)
+    : mapped_type_(mapped_type), mapped_code_(mapped_code) {
+  double mapped_abs_min = kWebGamepadJoystickMin;
+  double mapped_abs_max = kWebGamepadJoystickMax;
+  // If the mapped event is a trigger, we set the min and max to trigger
+  // min/max.
+  if (mapped_code == WG_BUTTON_LT || mapped_code == WG_BUTTON_RT) {
+    mapped_abs_min = kWebGamepadTriggerMin;
+    mapped_abs_max = kWebGamepadTriggerMax;
+  }
+
+  scale_ =
+      (mapped_abs_max - mapped_abs_min) / (abs_info.maximum - abs_info.minimum);
+  offset_ = (abs_info.maximum + abs_info.minimum) /
+            (mapped_abs_max - mapped_abs_min) * scale_ * mapped_abs_min;
+
+  scaled_flat_ = abs_info.flat * scale_;
+  scaled_fuzz_ = abs_info.fuzz * scale_;
+  double tmp;
+  // Map the current value and it will be set to value_.
+  MapValue(abs_info.value, &tmp);
+}
+
+bool GamepadEventConverterEvdev::Axis::MapValue(uint16_t value,
+                                                double* mapped_value) {
+  *mapped_value = value * scale_ + offset_;
+  // As the definition of linux input_absinfo.flat, value within the range of
+  // flat should be seen as zero.
+  if ((*mapped_value < scaled_flat_) && (*mapped_value > -scaled_flat_)) {
+    *mapped_value = 0.0;
+    // We always send out flat.
+    last_value_ = 0.0;
+    return true;
+  }
+  return ValueChangeSignificantly(*mapped_value);
+}
+
+GamepadEventType GamepadEventConverterEvdev::Axis::mapped_type() {
+  return mapped_type_;
+}
+
+uint16_t GamepadEventConverterEvdev::Axis::mapped_code() {
+  return mapped_code_;
+}
+
+bool GamepadEventConverterEvdev::Axis::ValueChangeSignificantly(
+    double new_value) {
+  // To remove noise, the value must change at least by fuzz.
+  if (new_value >= last_value_ - scaled_fuzz_ &&
+      new_value <= last_value_ + scaled_fuzz_) {
+    return false;
+  }
+  last_value_ = new_value;
+  return true;
+}
+
+GamepadEventConverterEvdev::GamepadEventConverterEvdev(
+    ScopedInputDevice fd,
+    base::FilePath path,
+    int id,
+    const EventDeviceInfo& devinfo,
+    DeviceEventDispatcherEvdev* dispatcher)
+    : EventConverterEvdev(fd.get(),
+                          path,
+                          id,
+                          devinfo.device_type(),
+                          devinfo.name(),
+                          devinfo.vendor_id(),
+                          devinfo.product_id()),
+      will_send_frame_(false),
+      last_hat_left_press_(false),
+      last_hat_right_press_(false),
+      last_hat_up_press_(false),
+      last_hat_down_press_(false),
+      mapper_(GetGamepadMapper(devinfo.vendor_id(), devinfo.product_id())),
+      input_device_fd_(std::move(fd)),
+      dispatcher_(dispatcher) {
+  input_absinfo abs_info;
+  GamepadEventType mapped_type;
+  uint16_t mapped_code;
+  // In order to map gamepad, we have to save the abs_info from device_info
+  // and get the gamepad_mapping.
+  for (int code = 0; code < ABS_CNT; ++code) {
+    abs_info = devinfo.GetAbsInfoByCode(code);
+    if (devinfo.HasAbsEvent(code)) {
+      // If fuzz was reported as zero, it will be set to flat * 0.25f. It is
+      // the same thing done in Android InputReader.cpp. See:
+      // frameworks/native/services/inputflinger/InputReader.cpp line 6988 for
+      // more details.
+      if (abs_info.fuzz == 0) {
+        abs_info.fuzz = abs_info.flat * 0.25f;
+      }
+      mapper_(EV_ABS, code, &mapped_type, &mapped_code);
+      axes_[code] = Axis(abs_info, mapped_type, mapped_code);
+    }
+  }
+}
+
+GamepadEventConverterEvdev::~GamepadEventConverterEvdev() {
+  DCHECK(!enabled_);
+}
+
+bool GamepadEventConverterEvdev::HasGamepad() const {
+  return true;
+}
+
+void GamepadEventConverterEvdev::OnFileCanReadWithoutBlocking(int fd) {
+  TRACE_EVENT1("evdev",
+               "GamepadEventConverterEvdev::OnFileCanReadWithoutBlocking", "fd",
+               fd);
+  while (true) {
+    input_event input;
+    ssize_t read_size = read(fd, &input, sizeof(input));
+    if (read_size != sizeof(input)) {
+      if (errno == EINTR || errno == EAGAIN)
+        return;
+      if (errno != ENODEV)
+        PLOG(ERROR) << "error reading device " << path_.value();
+      Stop();
+      return;
+    }
+
+    if (!enabled_)
+      return;
+
+    ProcessEvent(input);
+  }
+}
+void GamepadEventConverterEvdev::OnDisabled() {
+  ResetGamepad();
+}
+
+void GamepadEventConverterEvdev::ProcessEvent(const input_event& evdev_ev) {
+  base::TimeTicks timestamp = TimeTicksFromInputEvent(evdev_ev);
+  // We may have missed Gamepad releases. Reset everything.
+  // If the event is sync, we send a frame.
+  if (evdev_ev.type == EV_SYN) {
+    if (evdev_ev.code == SYN_DROPPED) {
+      LOG(WARNING) << "kernel dropped input events";
+      ResyncGamepad();
+    } else if (evdev_ev.code == SYN_REPORT) {
+      OnSync(timestamp);
+    }
+  } else if (evdev_ev.type == EV_KEY) {
+    ProcessEvdevKey(evdev_ev.code, evdev_ev.value, timestamp);
+  } else if (evdev_ev.type == EV_ABS) {
+    ProcessEvdevAbs(evdev_ev.code, evdev_ev.value, timestamp);
+  }
+}
+
+void GamepadEventConverterEvdev::ProcessEvdevKey(
+    uint16_t code,
+    uint16_t value,
+    const base::TimeTicks& timestamp) {
+  GamepadEventType mapped_type;
+  uint16_t mapped_code;
+
+  bool found_map = mapper_(EV_KEY, code, &mapped_type, &mapped_code);
+
+  // If we cannot find a map for this event, it will be discarded.
+  if (!found_map) {
+    return;
+  }
+
+  // If it's btn -> btn mapping, we can send the event and return now.
+  OnButtonChange(mapped_code, value, timestamp);
+}
+
+void GamepadEventConverterEvdev::ProcessEvdevAbs(
+    uint16_t code,
+    uint16_t value,
+    const base::TimeTicks& timestamp) {
+  GamepadEventType mapped_type;
+  uint16_t mapped_code;
+
+  double mapped_abs_value;
+  Axis& axis = axes_[code];
+  mapped_type = axis.mapped_type();
+  mapped_code = axis.mapped_code();
+
+  if (!axis.MapValue(value, &mapped_abs_value)) {
+    return;
+  }
+
+  // If the mapped type is abs, we can send it now.
+  if (mapped_type == GamepadEventType::AXIS) {
+    OnAbsChange(mapped_code, mapped_abs_value, timestamp);
+    return;
+  }
+
+  // We need to map HAT to DPAD depend on the state of the axis.
+  if (mapped_code == kHAT_X) {
+    bool hat_left_press = (mapped_abs_value < -kHatThreshold);
+    bool hat_right_press = (mapped_abs_value > kHatThreshold);
+    if (hat_left_press != last_hat_left_press_) {
+      OnButtonChange(WG_BUTTON_DPAD_LEFT, hat_left_press, timestamp);
+      last_hat_left_press_ = hat_left_press;
+    }
+
+    if (hat_right_press != last_hat_right_press_) {
+      OnButtonChange(WG_BUTTON_DPAD_RIGHT, hat_right_press, timestamp);
+      last_hat_right_press_ = hat_right_press;
+    }
+  } else if (mapped_code == kHAT_Y) {
+    bool hat_up_press = (mapped_abs_value < -kHatThreshold);
+    bool hat_down_press = (mapped_abs_value > kHatThreshold);
+    if (hat_up_press != last_hat_up_press_) {
+      OnButtonChange(WG_BUTTON_DPAD_UP, hat_up_press, timestamp);
+      last_hat_up_press_ = hat_up_press;
+    }
+
+    if (hat_down_press != last_hat_down_press_) {
+      OnButtonChange(WG_BUTTON_DPAD_DOWN, hat_down_press, timestamp);
+      last_hat_down_press_ = hat_down_press;
+    }
+  } else {
+    OnButtonChange(mapped_code, mapped_abs_value, timestamp);
+  }
+}
+
+void GamepadEventConverterEvdev::ResetGamepad() {
+  base::TimeTicks timestamp = ui::EventTimeForNow();
+  for (int btn_code = 0; btn_code < WG_BUTTON_COUNT; ++btn_code) {
+    OnButtonChange(btn_code, 0, timestamp);
+  }
+
+  for (int abs_code = 0; abs_code < WG_ABS_COUNT; ++abs_code) {
+    OnAbsChange(abs_code, 0, timestamp);
+  }
+  OnSync(timestamp);
+}
+
+void GamepadEventConverterEvdev::ResyncGamepad() {
+  base::TimeTicks timestamp = ui::EventTimeForNow();
+  // Reset all the buttons to 0.
+  for (int btn_code = 0; btn_code < WG_BUTTON_COUNT; ++btn_code) {
+    OnButtonChange(btn_code, 0, timestamp);
+  }
+  // Read the state of all axis.
+  EventDeviceInfo info;
+  if (!info.Initialize(fd_, path_)) {
+    LOG(ERROR) << "Failed to synchronize state for gamepad device: "
+               << path_.value();
+    Stop();
+    return;
+  }
+  for (int code = 0; code < ABS_CNT; ++code) {
+    if (info.HasAbsEvent(code)) {
+      ProcessEvdevAbs(code, info.GetAbsValue(code), timestamp);
+    }
+  }
+  OnSync(timestamp);
+}
+
+void GamepadEventConverterEvdev::OnButtonChange(
+    unsigned int code,
+    double value,
+    const base::TimeTicks& timestamp) {
+  GamepadEvent event(input_device_.id, GamepadEventType::BUTTON, code, value,
+                     timestamp);
+  dispatcher_->DispatchGamepadEvent(event);
+  will_send_frame_ = true;
+}
+
+void GamepadEventConverterEvdev::OnAbsChange(unsigned int code,
+                                             double value,
+                                             const base::TimeTicks& timestamp) {
+  GamepadEvent event(input_device_.id, GamepadEventType::AXIS, code, value,
+                     timestamp);
+  dispatcher_->DispatchGamepadEvent(event);
+  will_send_frame_ = true;
+}
+
+void GamepadEventConverterEvdev::OnSync(const base::TimeTicks& timestamp) {
+  if (will_send_frame_) {
+    GamepadEvent event(input_device_.id, GamepadEventType::FRAME, 0, 0,
+                       timestamp);
+    dispatcher_->DispatchGamepadEvent(event);
+    will_send_frame_ = false;
+  }
+}
+}  //  namespace ui
diff --git a/ui/events/ozone/evdev/gamepad_event_converter_evdev.h b/ui/events/ozone/evdev/gamepad_event_converter_evdev.h
new file mode 100644
index 0000000..7ec4d2a1
--- /dev/null
+++ b/ui/events/ozone/evdev/gamepad_event_converter_evdev.h
@@ -0,0 +1,123 @@
+// 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 UI_EVENTS_OZONE_GAMEPAD_EVENT_CONVERTER_EVDEV_H_
+#define UI_EVENTS_OZONE_GAMEPAD_EVENT_CONVERTER_EVDEV_H_
+
+#include <vector>
+
+#include "base/files/file_path.h"
+#include "base/macros.h"
+#include "ui/events/devices/input_device.h"
+#include "ui/events/event.h"
+#include "ui/events/ozone/evdev/event_converter_evdev.h"
+#include "ui/events/ozone/evdev/event_device_info.h"
+#include "ui/events/ozone/evdev/events_ozone_evdev_export.h"
+#include "ui/events/ozone/evdev/scoped_input_device.h"
+#include "ui/events/ozone/gamepad/gamepad_mapping.h"
+#include "ui/events/ozone/gamepad/webgamepad_constants.h"
+
+struct input_event;
+
+namespace ui {
+
+class DeviceEventDispatcherEvdev;
+
+class EVENTS_OZONE_EVDEV_EXPORT GamepadEventConverterEvdev
+    : public EventConverterEvdev {
+ public:
+  GamepadEventConverterEvdev(ScopedInputDevice fd,
+                             base::FilePath path,
+                             int id,
+                             const EventDeviceInfo& info,
+                             DeviceEventDispatcherEvdev* dispatcher);
+
+  ~GamepadEventConverterEvdev() override;
+
+  // EventConverterEvdev:
+  void OnFileCanReadWithoutBlocking(int fd) override;
+  bool HasGamepad() const override;
+  void OnDisabled() override;
+
+  // This function processes one input_event from evdev.
+  void ProcessEvent(const struct input_event& input);
+
+ private:
+  // This function processes EV_KEY event from gamepad device.
+  void ProcessEvdevKey(uint16_t code,
+                       uint16_t value,
+                       const base::TimeTicks& timestamp);
+
+  // This function processes EV_ABS event from gamepad device.
+  void ProcessEvdevAbs(uint16_t code,
+                       uint16_t value,
+                       const base::TimeTicks& timestamp);
+
+  // This function releases all the keys and resets all the axises.
+  void ResetGamepad();
+
+  // This function reads current gamepad status and resyncs the gamepad.
+  void ResyncGamepad();
+
+  void OnButtonChange(unsigned int code,
+                      double value,
+                      const base::TimeTicks& timestamp);
+  void OnAbsChange(unsigned int code,
+                   double value,
+                   const base::TimeTicks& timestamp);
+  void OnSync(const base::TimeTicks& timestamp);
+
+  // Sometimes, we want to drop abs values, when we do so, we no longer want to
+  // send gamepad frame event when we see next sync. This flag is set to false
+  // when each frame is sent. It is set to true when Btn or Abs event is sent.
+  bool will_send_frame_;
+
+  // Internal representation of axis information.
+
+  class Axis {
+   public:
+    Axis();
+    Axis(const input_absinfo& abs_info,
+         GamepadEventType mapped_type,
+         uint16_t mapped_code);
+
+    bool MapValue(uint16_t value, double* mapped_value);
+
+    GamepadEventType mapped_type();
+
+    uint16_t mapped_code();
+
+   private:
+    bool ValueChangeSignificantly(double new_value);
+    double last_value_;
+    double scale_;
+    double offset_;
+    double scaled_fuzz_;
+    double scaled_flat_;
+    GamepadEventType mapped_type_;
+    uint16_t mapped_code_;
+  };
+
+  Axis axes_[ABS_CNT];
+
+  // These values keeps the state of previous hat.
+  bool last_hat_left_press_;
+  bool last_hat_right_press_;
+  bool last_hat_up_press_;
+  bool last_hat_down_press_;
+
+  GamepadMapper mapper_;
+
+  // Input device file descriptor.
+  ScopedInputDevice input_device_fd_;
+
+  // Callbacks for dispatching events.
+  DeviceEventDispatcherEvdev* dispatcher_;
+
+  DISALLOW_COPY_AND_ASSIGN(GamepadEventConverterEvdev);
+};
+
+}  // namespace ui
+
+#endif  // UI_EVENTS_OZONE_GAMEPAD_EVENT_CONVERTER_EVDEV_H_
diff --git a/ui/events/ozone/evdev/gamepad_event_converter_evdev_unittest.cc b/ui/events/ozone/evdev/gamepad_event_converter_evdev_unittest.cc
new file mode 100644
index 0000000..a5cabb33
--- /dev/null
+++ b/ui/events/ozone/evdev/gamepad_event_converter_evdev_unittest.cc
@@ -0,0 +1,260 @@
+// 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 "ui/events/ozone/evdev/gamepad_event_converter_evdev.h"
+
+#include <errno.h>
+#include <fcntl.h>
+#include <linux/input.h>
+#include <unistd.h>
+
+#include <memory>
+#include <queue>
+#include <utility>
+#include <vector>
+
+#include "base/bind.h"
+#include "base/files/file_util.h"
+#include "base/macros.h"
+#include "base/memory/ptr_util.h"
+#include "base/posix/eintr_wrapper.h"
+#include "base/run_loop.h"
+#include "base/time/time.h"
+#include "testing/gmock/include/gmock/gmock.h"
+#include "testing/gtest/include/gtest/gtest.h"
+#include "ui/events/event.h"
+#include "ui/events/ozone/device/device_manager.h"
+#include "ui/events/ozone/evdev/event_converter_test_util.h"
+#include "ui/events/ozone/evdev/event_device_test_util.h"
+#include "ui/events/ozone/evdev/event_factory_evdev.h"
+#include "ui/events/ozone/gamepad/gamepad_event.h"
+#include "ui/events/ozone/gamepad/gamepad_observer.h"
+#include "ui/events/ozone/gamepad/gamepad_provider_ozone.h"
+#include "ui/events/ozone/gamepad/webgamepad_constants.h"
+#include "ui/events/ozone/layout/keyboard_layout_engine_manager.h"
+#include "ui/events/platform/platform_event_dispatcher.h"
+#include "ui/events/platform/platform_event_source.h"
+
+namespace {
+
+const char kTestDevicePath[] = "/dev/input/test-device";
+
+class TestGamepadObserver : public ui::GamepadObserver {
+ public:
+  TestGamepadObserver() {
+    ui::GamepadProviderOzone::GetInstance()->AddGamepadObserver(this);
+  }
+
+  ~TestGamepadObserver() override {
+    ui::GamepadProviderOzone::GetInstance()->RemoveGamepadObserver(this);
+  }
+  void OnGamepadEvent(const ui::GamepadEvent& event) override {
+    events.push_back(event);
+  }
+
+  std::vector<ui::GamepadEvent> events;
+};
+
+}  // namespace
+
+namespace ui {
+class GamepadEventConverterEvdevTest : public testing::Test {
+ public:
+  GamepadEventConverterEvdevTest() {}
+
+  // Overriden from testing::Test:
+  void SetUp() override {
+    device_manager_ = ui::CreateDeviceManagerForTest();
+    event_factory_ = ui::CreateEventFactoryEvdevForTest(
+        nullptr, device_manager_.get(),
+        ui::KeyboardLayoutEngineManager::GetKeyboardLayoutEngine(),
+        base::Bind(&GamepadEventConverterEvdevTest::DispatchEventForTest,
+                   base::Unretained(this)));
+    dispatcher_ =
+        ui::CreateDeviceEventDispatcherEvdevForTest(event_factory_.get());
+  }
+
+  ui::GamepadEventConverterEvdev* CreateDevice(
+      const ui::DeviceCapabilities& caps) {
+    int evdev_io[2];
+    if (pipe(evdev_io))
+      PLOG(FATAL) << "failed pipe";
+    ui::ScopedInputDevice events_in(evdev_io[0]);
+    ui::ScopedInputDevice events_out(evdev_io[1]);
+
+    ui::EventDeviceInfo devinfo;
+    CapabilitiesToDeviceInfo(caps, &devinfo);
+    return new ui::GamepadEventConverterEvdev(std::move(events_in),
+                                              base::FilePath(kTestDevicePath),
+                                              1, devinfo, dispatcher_.get());
+  }
+
+ private:
+  void DispatchEventForTest(ui::Event* event) {}
+
+  std::unique_ptr<ui::GamepadEventConverterEvdev> gamepad_evdev_;
+  std::unique_ptr<ui::DeviceManager> device_manager_;
+  std::unique_ptr<ui::EventFactoryEvdev> event_factory_;
+  std::unique_ptr<ui::DeviceEventDispatcherEvdev> dispatcher_;
+
+  DISALLOW_COPY_AND_ASSIGN(GamepadEventConverterEvdevTest);
+};
+
+struct ExpectedEvent {
+  GamepadEventType type;
+  uint16_t code;
+  double value;
+};
+
+// Double value within this range will be considered equal.
+const double axis_delta = 0.00001;
+
+TEST_F(GamepadEventConverterEvdevTest, XboxGamepadEvents) {
+  TestGamepadObserver observer;
+  std::unique_ptr<ui::GamepadEventConverterEvdev> dev =
+      base::WrapUnique(CreateDevice(kXboxGamepad));
+
+  struct input_event mock_kernel_queue[] = {
+      {{1493076826, 766851}, EV_ABS, 0, 19105},
+      {{1493076826, 766851}, EV_SYN, SYN_REPORT},
+      {{1493076826, 774849}, EV_ABS, 0, 17931},
+      {{1493076826, 774849}, EV_SYN, SYN_REPORT},
+      {{1493076826, 782849}, EV_ABS, 0, 17398},
+      {{1493076826, 782849}, EV_SYN, SYN_REPORT},
+      {{1493076829, 670856}, EV_MSC, 4, 90007},
+      {{1493076829, 670856}, EV_KEY, 310, 1},
+      {{1493076829, 670856}, EV_SYN, SYN_REPORT},
+      {{1493076829, 870828}, EV_MSC, 4, 90007},
+      {{1493076829, 870828}, EV_KEY, 310, 0},
+      {{1493076829, 870828}, EV_SYN, SYN_REPORT},
+      {{1493076830, 974859}, EV_MSC, 4, 90005},
+      {{1493076830, 974859}, EV_KEY, 308, 1},
+      {{1493076830, 974859}, EV_SYN, SYN_REPORT},
+      {{1493076831, 158857}, EV_MSC, 4, 90005},
+      {{1493076831, 158857}, EV_KEY, 308, 0},
+      {{1493076831, 158857}, EV_SYN, SYN_REPORT},
+      {{1493076832, 62859}, EV_MSC, 4, 90002},
+      {{1493076832, 62859}, EV_KEY, 305, 1},
+      {{1493076832, 62859}, EV_SYN, SYN_REPORT},
+      {{1493076832, 206859}, EV_MSC, 4, 90002},
+      {{1493076832, 206859}, EV_KEY, 305, 0},
+      {{1493076832, 206859}, EV_SYN, SYN_REPORT},
+      {{1493076832, 406860}, EV_MSC, 4, 90003},
+      {{1493076832, 406860}, EV_KEY, 306, 1},
+      {{1493076832, 406860}, EV_SYN, SYN_REPORT},
+      {{1493076832, 526871}, EV_MSC, 4, 90003},
+      {{1493076832, 526871}, EV_KEY, 306, 0},
+      {{1493076832, 526871}, EV_SYN, SYN_REPORT},
+      {{1493076832, 750860}, EV_MSC, 4, 90004},
+      {{1493076832, 750860}, EV_KEY, 307, 1},
+      {{1493076832, 750860}, EV_SYN, SYN_REPORT}};
+
+  struct ExpectedEvent expected_events[] = {
+      {GamepadEventType::AXIS, 0, 0.583062}, {GamepadEventType::FRAME, 0, 0},
+      {GamepadEventType::AXIS, 0, 0.547234}, {GamepadEventType::FRAME, 0, 0},
+      {GamepadEventType::AXIS, 0, 0.530968}, {GamepadEventType::FRAME, 0, 0},
+      {GamepadEventType::BUTTON, 4, 1},      {GamepadEventType::FRAME, 0, 0},
+      {GamepadEventType::BUTTON, 4, 0},      {GamepadEventType::FRAME, 0, 0},
+      {GamepadEventType::BUTTON, 3, 1},      {GamepadEventType::FRAME, 0, 0},
+      {GamepadEventType::BUTTON, 3, 0},      {GamepadEventType::FRAME, 0, 0},
+      {GamepadEventType::BUTTON, 1, 1},      {GamepadEventType::FRAME, 0, 0},
+      {GamepadEventType::BUTTON, 1, 0},      {GamepadEventType::FRAME, 0, 0},
+      {GamepadEventType::BUTTON, 2, 1},      {GamepadEventType::FRAME, 0, 0}};
+
+  for (unsigned i = 0; i < arraysize(mock_kernel_queue); ++i) {
+    dev->ProcessEvent(mock_kernel_queue[i]);
+  }
+
+  for (unsigned i = 0; i < observer.events.size(); ++i) {
+    EXPECT_EQ(observer.events[i].type(), expected_events[i].type);
+    EXPECT_EQ(observer.events[i].code(), expected_events[i].code);
+    double d = observer.events[i].value() - expected_events[i].value;
+    d = d > 0 ? d : -d;
+    EXPECT_LT(d, axis_delta);
+  }
+}
+
+TEST_F(GamepadEventConverterEvdevTest, iBuffaloGamepadEvents) {
+  TestGamepadObserver observer;
+  std::unique_ptr<ui::GamepadEventConverterEvdev> dev =
+      base::WrapUnique(CreateDevice(kiBuffaloGamepad));
+
+  struct input_event mock_kernel_queue[] = {
+      {{1493141044, 176725}, EV_MSC, 4, 90002},
+      {{1493141044, 176725}, EV_KEY, 289, 1},
+      {{1493141044, 176725}, EV_SYN, SYN_REPORT},
+      {{1493141044, 256722}, EV_MSC, 4, 90002},
+      {{1493141044, 256722}, EV_KEY, 289, 0},
+      {{1493141044, 256722}, EV_SYN, SYN_REPORT},
+      {{1493141044, 400713}, EV_MSC, 4, 90001},
+      {{1493141044, 400713}, EV_KEY, 288, 1},
+      {{1493141044, 400713}, EV_SYN, SYN_REPORT},
+      {{1493141044, 480725}, EV_MSC, 4, 90001},
+      {{1493141044, 480725}, EV_KEY, 288, 0},
+      {{1493141044, 480725}, EV_SYN, SYN_REPORT},
+      {{1493141044, 704716}, EV_MSC, 4, 90003},
+      {{1493141044, 704716}, EV_KEY, 290, 1},
+      {{1493141044, 704716}, EV_SYN, SYN_REPORT},
+      {{1493141044, 768721}, EV_MSC, 4, 90003},
+      {{1493141044, 768721}, EV_KEY, 290, 0},
+      {{1493141044, 768721}, EV_SYN, SYN_REPORT},
+      {{1493141044, 960715}, EV_MSC, 4, 90004},
+      {{1493141044, 960715}, EV_KEY, 291, 1},
+      {{1493141044, 960715}, EV_SYN, SYN_REPORT},
+      {{1493141045, 48714}, EV_MSC, 4, 90004},
+      {{1493141045, 48714}, EV_KEY, 291, 0},
+      {{1493141045, 48714}, EV_SYN, SYN_REPORT},
+      {{1493141046, 520730}, EV_ABS, 1, 255},
+      {{1493141046, 520730}, EV_SYN, SYN_REPORT},
+      {{1493141046, 648727}, EV_ABS, 1, 128},
+      {{1493141046, 648727}, EV_SYN, SYN_REPORT},
+      {{1493141046, 848730}, EV_ABS, 1, 0},
+      {{1493141046, 848730}, EV_SYN, SYN_REPORT},
+      {{1493141046, 992726}, EV_ABS, 1, 128},
+      {{1493141046, 992726}, EV_SYN, SYN_REPORT},
+      {{1493141047, 224727}, EV_ABS, 0, 0},
+      {{1493141047, 224727}, EV_SYN, SYN_REPORT},
+      {{1493141047, 344724}, EV_ABS, 0, 128},
+      {{1493141047, 344724}, EV_SYN, SYN_REPORT},
+      {{1493141047, 552720}, EV_ABS, 0, 255},
+      {{1493141047, 552720}, EV_SYN, SYN_REPORT},
+      {{1493141047, 696726}, EV_ABS, 0, 128},
+      {{1493141047, 696726}, EV_SYN, SYN_REPORT},
+      {{1493141047, 920727}, EV_MSC, 4, 90006},
+      {{1493141047, 920727}, EV_KEY, 293, 1},
+      {{1493141047, 920727}, EV_SYN, SYN_REPORT},
+  };
+
+  struct ExpectedEvent expected_events[] = {
+      {GamepadEventType::BUTTON, 1, 1},  {GamepadEventType::FRAME, 0, 0},
+      {GamepadEventType::BUTTON, 1, 0},  {GamepadEventType::FRAME, 0, 0},
+      {GamepadEventType::BUTTON, 0, 1},  {GamepadEventType::FRAME, 0, 0},
+      {GamepadEventType::BUTTON, 0, 0},  {GamepadEventType::FRAME, 0, 0},
+      {GamepadEventType::BUTTON, 2, 1},  {GamepadEventType::FRAME, 0, 0},
+      {GamepadEventType::BUTTON, 2, 0},  {GamepadEventType::FRAME, 0, 0},
+      {GamepadEventType::BUTTON, 3, 1},  {GamepadEventType::FRAME, 0, 0},
+      {GamepadEventType::BUTTON, 3, 0},  {GamepadEventType::FRAME, 0, 0},
+      {GamepadEventType::BUTTON, 13, 1}, {GamepadEventType::FRAME, 0, 0},
+      {GamepadEventType::BUTTON, 13, 0}, {GamepadEventType::FRAME, 0, 0},
+      {GamepadEventType::BUTTON, 12, 1}, {GamepadEventType::FRAME, 0, 0},
+      {GamepadEventType::BUTTON, 12, 0}, {GamepadEventType::FRAME, 0, 0},
+      {GamepadEventType::BUTTON, 14, 1}, {GamepadEventType::FRAME, 0, 0},
+      {GamepadEventType::BUTTON, 14, 0}, {GamepadEventType::FRAME, 0, 0},
+      {GamepadEventType::BUTTON, 15, 1}, {GamepadEventType::FRAME, 0, 0},
+      {GamepadEventType::BUTTON, 15, 0}, {GamepadEventType::FRAME, 0, 0},
+      {GamepadEventType::BUTTON, 7, 1},  {GamepadEventType::FRAME, 0, 0}};
+
+  for (unsigned i = 0; i < arraysize(mock_kernel_queue); ++i) {
+    dev->ProcessEvent(mock_kernel_queue[i]);
+  }
+
+  for (unsigned i = 0; i < observer.events.size(); ++i) {
+    EXPECT_EQ(observer.events[i].type(), expected_events[i].type);
+    EXPECT_EQ(observer.events[i].code(), expected_events[i].code);
+    double d = observer.events[i].value() - expected_events[i].value;
+    d = d > 0 ? d : -d;
+    EXPECT_LT(d, axis_delta);
+  }
+}
+}  // namespace ui
diff --git a/ui/events/ozone/evdev/input_device_factory_evdev.cc b/ui/events/ozone/evdev/input_device_factory_evdev.cc
index 3942ddc..3317591 100644
--- a/ui/events/ozone/evdev/input_device_factory_evdev.cc
+++ b/ui/events/ozone/evdev/input_device_factory_evdev.cc
@@ -19,8 +19,10 @@
 #include "ui/events/ozone/evdev/device_event_dispatcher_evdev.h"
 #include "ui/events/ozone/evdev/event_converter_evdev_impl.h"
 #include "ui/events/ozone/evdev/event_device_info.h"
+#include "ui/events/ozone/evdev/gamepad_event_converter_evdev.h"
 #include "ui/events/ozone/evdev/tablet_event_converter_evdev.h"
 #include "ui/events/ozone/evdev/touch_event_converter_evdev.h"
+#include "ui/events/ozone/gamepad/gamepad_provider_ozone.h"
 
 #if defined(USE_EVDEV_GESTURES)
 #include "ui/events/ozone/evdev/libgestures_glue/event_reader_libevdev_cros.h"
@@ -112,6 +114,11 @@
         std::move(fd), params.path, params.id, params.cursor, devinfo,
         params.dispatcher));
 
+  if (devinfo.HasGamepad()) {
+    return base::WrapUnique<EventConverterEvdev>(new GamepadEventConverterEvdev(
+        std::move(fd), params.path, params.id, devinfo, params.dispatcher));
+  }
+
   // Everything else: use EventConverterEvdevImpl.
   return base::WrapUnique<EventConverterEvdevImpl>(
       new EventConverterEvdevImpl(std::move(fd), params.path, params.id,
@@ -366,6 +373,9 @@
 
   if (converter->HasTouchpad())
     touchpad_list_dirty_ = true;
+
+  if (converter->HasGamepad())
+    gamepad_list_dirty_ = true;
 }
 
 void InputDeviceFactoryEvdev::NotifyDevicesUpdated() {
@@ -379,6 +389,8 @@
     NotifyMouseDevicesUpdated();
   if (touchpad_list_dirty_)
     NotifyTouchpadDevicesUpdated();
+  if (gamepad_list_dirty_)
+    NotifyGamepadDevicesUpdated();
   if (!startup_devices_opened_) {
     dispatcher_->DispatchDeviceListsComplete();
     startup_devices_opened_ = true;
@@ -387,6 +399,7 @@
   keyboard_list_dirty_ = false;
   mouse_list_dirty_ = false;
   touchpad_list_dirty_ = false;
+  gamepad_list_dirty_ = false;
 }
 
 void InputDeviceFactoryEvdev::NotifyTouchscreensUpdated() {
@@ -437,6 +450,17 @@
   dispatcher_->DispatchTouchpadDevicesUpdated(touchpads);
 }
 
+void InputDeviceFactoryEvdev::NotifyGamepadDevicesUpdated() {
+  std::vector<InputDevice> gamepads;
+  for (auto it = converters_.begin(); it != converters_.end(); ++it) {
+    if (it->second->HasGamepad()) {
+      gamepads.push_back(it->second->input_device());
+    }
+  }
+
+  dispatcher_->DispatchGamepadDevicesUpdated(gamepads);
+}
+
 void InputDeviceFactoryEvdev::SetIntPropertyForOneType(
     const EventDeviceType type,
     const std::string& name,
diff --git a/ui/events/ozone/evdev/input_device_factory_evdev.h b/ui/events/ozone/evdev/input_device_factory_evdev.h
index b4ff3339..ddfbc999 100644
--- a/ui/events/ozone/evdev/input_device_factory_evdev.h
+++ b/ui/events/ozone/evdev/input_device_factory_evdev.h
@@ -90,6 +90,7 @@
   void NotifyTouchscreensUpdated();
   void NotifyMouseDevicesUpdated();
   void NotifyTouchpadDevicesUpdated();
+  void NotifyGamepadDevicesUpdated();
 
   void SetIntPropertyForOneType(const EventDeviceType type,
                                 const std::string& name,
@@ -118,6 +119,7 @@
   bool keyboard_list_dirty_ = true;
   bool mouse_list_dirty_ = true;
   bool touchpad_list_dirty_ = true;
+  bool gamepad_list_dirty_ = true;
 
   // Whether we have a list of devices that were present at startup.
   bool startup_devices_enumerated_ = false;
diff --git a/ui/events/ozone/evdev/touch_event_converter_evdev_unittest.cc b/ui/events/ozone/evdev/touch_event_converter_evdev_unittest.cc
index 0180d230..9dd93f3 100644
--- a/ui/events/ozone/evdev/touch_event_converter_evdev_unittest.cc
+++ b/ui/events/ozone/evdev/touch_event_converter_evdev_unittest.cc
@@ -153,6 +153,12 @@
   void DispatchDeviceListsComplete() override {}
   void DispatchStylusStateChanged(StylusState stylus_state) override {}
 
+  // Dispatch Gamepad Event.
+  void DispatchGamepadEvent(const GamepadEvent& event) override {}
+
+  void DispatchGamepadDevicesUpdated(
+      const std::vector<InputDevice>& devices) override {}
+
  private:
   base::Callback<void(const GenericEventParams& params)> callback_;
 };
diff --git a/ui/events/ozone/gamepad/gamepad_event.cc b/ui/events/ozone/gamepad/gamepad_event.cc
new file mode 100644
index 0000000..e71aaa2
--- /dev/null
+++ b/ui/events/ozone/gamepad/gamepad_event.cc
@@ -0,0 +1,20 @@
+// 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 "ui/events/ozone/gamepad/gamepad_event.h"
+
+namespace ui {
+
+GamepadEvent::GamepadEvent(int device_id,
+                           GamepadEventType type,
+                           uint16_t code,
+                           double value,
+                           base::TimeTicks timestamp)
+    : device_id_(device_id),
+      type_(type),
+      code_(code),
+      value_(value),
+      timestamp_(timestamp) {}
+
+}  // namespace ui
diff --git a/ui/events/ozone/gamepad/gamepad_event.h b/ui/events/ozone/gamepad/gamepad_event.h
new file mode 100644
index 0000000..c0c5349
--- /dev/null
+++ b/ui/events/ozone/gamepad/gamepad_event.h
@@ -0,0 +1,45 @@
+// 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 UI_EVENTS_OZONE_GAMEPAD_GAMEPAD_EVENT_H_
+#define UI_EVENTS_OZONE_GAMEPAD_GAMEPAD_EVENT_H_
+
+#include "base/time/time.h"
+#include "ui/events/ozone/gamepad/webgamepad_constants.h"
+
+namespace ui {
+
+class GamepadEvent {
+ public:
+  GamepadEvent(int device_id,
+               GamepadEventType type,
+               uint16_t code,
+               double value,
+               base::TimeTicks timestamp);
+
+  int device_id() { return device_id_; }
+
+  GamepadEventType type() { return type_; }
+
+  uint16_t code() { return code_; }
+
+  double value() { return value_; }
+
+  base::TimeTicks timestamp() { return timestamp_; }
+
+ private:
+  int device_id_;
+
+  GamepadEventType type_;
+
+  uint16_t code_;
+
+  double value_;
+
+  base::TimeTicks timestamp_;
+};
+
+}  // namespace ui
+
+#endif  // UI_EVENTS_OZONE_GAMEPAD_GAMEPAD_EVENT_H_
diff --git a/ui/events/ozone/gamepad/gamepad_mapping.cc b/ui/events/ozone/gamepad/gamepad_mapping.cc
new file mode 100644
index 0000000..be20d00
--- /dev/null
+++ b/ui/events/ozone/gamepad/gamepad_mapping.cc
@@ -0,0 +1,448 @@
+// 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 <linux/input.h>
+#include <cstdint>
+#include <map>
+
+#include "base/macros.h"
+#include "ui/events/ozone/gamepad/gamepad_mapping.h"
+#include "ui/events/ozone/gamepad/webgamepad_constants.h"
+
+namespace ui {
+
+// KeyMap maps evdev key code to web gamepad code.
+struct KeyMapEntry {
+  uint16_t evdev_code;
+  uint16_t mapped_code;
+};
+
+// AbsMap maps evdev abs code to web gamepad (type, code).
+struct AbsMapEntry {
+  uint16_t evdev_code;
+  GamepadEventType mapped_type;
+  uint16_t mapped_code;
+};
+
+using KeyMapType = const KeyMapEntry[];
+using AbsMapType = const AbsMapEntry[];
+
+#define TO_BTN(code, mapped_code) \
+  { code, GamepadEventType::BUTTON, mapped_code }
+
+#define TO_ABS(code, mapped_code) \
+  { code, GamepadEventType::AXIS, mapped_code }
+
+#define DO_MAPPING                                                   \
+  DoGamepadMapping(key_mapping, arraysize(key_mapping), abs_mapping, \
+                   arraysize(abs_mapping), type, code, mapped_type,  \
+                   mapped_code)
+
+bool DoGamepadMapping(const KeyMapEntry* key_mapping,
+                      size_t key_map_size,
+                      const AbsMapEntry* abs_mapping,
+                      size_t abs_map_size,
+                      uint16_t type,
+                      uint16_t code,
+                      GamepadEventType* mapped_type,
+                      uint16_t* mapped_code) {
+  if (type == EV_KEY) {
+    const KeyMapEntry* entry = nullptr;
+    for (size_t i = 0; i < key_map_size; i++) {
+      if (key_mapping[i].evdev_code == code) {
+        entry = key_mapping + i;
+      }
+    }
+    if (!entry) {
+      return false;
+    }
+    *mapped_type = GamepadEventType::BUTTON;
+    *mapped_code = entry->mapped_code;
+    return true;
+  }
+
+  if (type == EV_ABS) {
+    const AbsMapEntry* entry = nullptr;
+    for (size_t i = 0; i < abs_map_size; i++) {
+      if (abs_mapping[i].evdev_code == code) {
+        entry = abs_mapping + i;
+      }
+    }
+    if (!entry) {
+      return false;
+    }
+    *mapped_type = entry->mapped_type;
+    *mapped_code = entry->mapped_code;
+    return true;
+  }
+  return false;
+}
+
+// this mapper mapps gamepads compatible with xbox gamepad.
+bool XInputStyleMapper(uint16_t type,
+                       uint16_t code,
+                       GamepadEventType* mapped_type,
+                       uint16_t* mapped_code) {
+  static const KeyMapType key_mapping = {
+      {BTN_A, WG_BUTTON_A},            // btn_a = 304 / 0x130
+      {BTN_B, WG_BUTTON_B},            // btn_b = 305 / 0x131
+      {BTN_X, WG_BUTTON_X},            // btn_x = 307 / 0x133
+      {BTN_Y, WG_BUTTON_Y},            // btn_y = 308 / 0x134
+      {BTN_TL, WG_BUTTON_L1},          // btn_tl = 310 / 0x136
+      {BTN_TR, WG_BUTTON_R1},          // btn_tr = 311 / 0x137
+      {BTN_SELECT, WG_BUTTON_SELECT},  // btn_select = 314 / 0x13a
+      {BTN_START, WG_BUTTON_START},    // btn_start = 315 / 0x13b
+      {BTN_THUMBL, WG_BUTTON_THUMBL},  // btn_thumbl = 317 / 0x13d
+      {BTN_THUMBR, WG_BUTTON_THUMBR},  // btn_thumbr = 318 / 0x13e
+      {BTN_MODE, WG_BUTTON_MODE}       // btn_mode = 316 / 0x13c
+  };
+
+  static const AbsMapType abs_mapping = {
+      TO_ABS(ABS_X, WG_ABS_X),       // ABS_X = 0x00
+      TO_ABS(ABS_Y, WG_ABS_Y),       // ABS_Y = 0x01
+      TO_ABS(ABS_RX, WG_ABS_RX),     // ABS_RX = 0x03
+      TO_ABS(ABS_RY, WG_ABS_RY),     // ABS_RZ = 0x04
+      TO_BTN(ABS_Z, WG_BUTTON_LT),   // ABS_Z = 0x02
+      TO_BTN(ABS_RZ, WG_BUTTON_RT),  // ABS_RZ = 0x05
+      TO_BTN(ABS_HAT0X, kHAT_X),     // HAT0X = 0x10
+      TO_BTN(ABS_HAT0Y, kHAT_Y)      // HAT0Y = 0x11
+  };
+  return DO_MAPPING;
+}
+
+bool PlaystationSixAxisMapper(uint16_t type,
+                              uint16_t code,
+                              GamepadEventType* mapped_type,
+                              uint16_t* mapped_code) {
+  static const KeyMapType key_mapping = {
+      {0x12e, WG_BUTTON_A},
+      {0x12d, WG_BUTTON_B},
+      {BTN_DEAD, WG_BUTTON_X},
+      {0x12c, WG_BUTTON_Y},
+      {BTN_BASE5, WG_BUTTON_L1},
+      {BTN_BASE6, WG_BUTTON_R1},
+      {BTN_BASE3, WG_BUTTON_LT},
+      {BTN_BASE4, WG_BUTTON_RT},
+      {BTN_TRIGGER, WG_BUTTON_SELECT},
+      {BTN_TOP, WG_BUTTON_START},
+      {BTN_THUMB, WG_BUTTON_THUMBL},
+      {BTN_THUMB2, WG_BUTTON_THUMBR},
+      {BTN_TOP2, WG_BUTTON_DPAD_UP},
+      {BTN_BASE, WG_BUTTON_DPAD_DOWN},
+      {BTN_BASE2, WG_BUTTON_DPAD_LEFT},
+      {BTN_PINKIE, WG_BUTTON_DPAD_RIGHT},
+      {BTN_TRIGGER_HAPPY17, WG_BUTTON_MODE},
+  };
+
+  static const AbsMapType abs_mapping = {
+      TO_ABS(ABS_X, WG_ABS_X),
+      TO_ABS(ABS_Y, WG_ABS_Y),
+      TO_ABS(ABS_Z, WG_ABS_RX),
+      TO_ABS(ABS_RZ, WG_ABS_RY),
+      TO_BTN(ABS_MT_TOUCH_MAJOR, WG_BUTTON_LT),
+      TO_BTN(ABS_MT_TOUCH_MINOR, WG_BUTTON_RT)};
+  return DO_MAPPING;
+}
+
+bool IBuffalocClassicMapper(uint16_t type,
+                            uint16_t code,
+                            GamepadEventType* mapped_type,
+                            uint16_t* mapped_code) {
+  static const KeyMapType key_mapping = {
+      {BTN_TRIGGER, WG_BUTTON_A}, {BTN_THUMB, WG_BUTTON_B},
+      {BTN_THUMB2, WG_BUTTON_X},  {BTN_TOP, WG_BUTTON_Y},
+      {BTN_BASE, WG_BUTTON_L1},   {BTN_BASE2, WG_BUTTON_R1},
+      {BTN_TOP2, WG_BUTTON_LT},   {BTN_PINKIE, WG_BUTTON_RT}};
+
+  static const AbsMapType abs_mapping = {
+      TO_BTN(ABS_X, kHAT_X), TO_BTN(ABS_Y, kHAT_Y),
+  };
+  return DO_MAPPING;
+}
+
+bool ClassicNESMapper(uint16_t type,
+                      uint16_t code,
+                      GamepadEventType* mapped_type,
+                      uint16_t* mapped_code) {
+  static const KeyMapType key_mapping = {
+      {BTN_THUMB, WG_BUTTON_A},      {BTN_THUMB2, WG_BUTTON_B},
+      {BTN_TRIGGER, WG_BUTTON_X},    {BTN_TOP, WG_BUTTON_Y},
+      {BTN_TOP2, WG_BUTTON_L1},      {BTN_PINKIE, WG_BUTTON_R1},
+      {BTN_BASE3, WG_BUTTON_SELECT}, {BTN_BASE4, WG_BUTTON_START}};
+
+  static const AbsMapType abs_mapping = {
+      TO_BTN(ABS_X, kHAT_X), TO_BTN(ABS_Y, kHAT_Y),
+  };
+  return DO_MAPPING;
+}
+
+bool SNesRetroMapper(uint16_t type,
+                     uint16_t code,
+                     GamepadEventType* mapped_type,
+                     uint16_t* mapped_code) {
+  static const KeyMapType key_mapping = {
+      {BTN_C, WG_BUTTON_A},        {BTN_B, WG_BUTTON_B},
+      {BTN_X, WG_BUTTON_X},        {BTN_A, WG_BUTTON_Y},
+      {BTN_Y, WG_BUTTON_L1},       {BTN_Z, WG_BUTTON_R1},
+      {BTN_TL2, WG_BUTTON_SELECT}, {BTN_TR2, WG_BUTTON_START}};
+
+  static const AbsMapType abs_mapping = {
+      TO_ABS(ABS_X, kHAT_X), TO_ABS(ABS_Y, kHAT_Y),
+  };
+  return DO_MAPPING;
+}
+
+bool ADT1Mapper(uint16_t type,
+                uint16_t code,
+                GamepadEventType* mapped_type,
+                uint16_t* mapped_code) {
+  static const KeyMapType key_mapping = {
+      {BTN_A, WG_BUTTON_A},           {BTN_B, WG_BUTTON_B},
+      {BTN_X, WG_BUTTON_X},           {BTN_Y, WG_BUTTON_Y},
+      {BTN_TL, WG_BUTTON_L1},         {BTN_TR, WG_BUTTON_R1},
+      {BTN_THUMBL, WG_BUTTON_THUMBL}, {BTN_THUMBR, WG_BUTTON_THUMBR},
+      {BTN_MODE, WG_BUTTON_START},    {KEY_BACK, WG_BUTTON_SELECT},
+      {KEY_HOMEPAGE, WG_BUTTON_MODE}};
+
+  static const AbsMapType abs_mapping = {
+      TO_ABS(ABS_X, WG_ABS_X),         TO_ABS(ABS_Y, WG_ABS_Y),
+      TO_ABS(ABS_Z, WG_ABS_RX),        TO_ABS(ABS_RZ, WG_ABS_RY),
+      TO_BTN(ABS_BRAKE, WG_BUTTON_LT), TO_BTN(ABS_GAS, WG_BUTTON_RT),
+      TO_BTN(ABS_HAT0X, kHAT_X),       TO_BTN(ABS_HAT0Y, kHAT_Y)};
+  return DO_MAPPING;
+}
+
+bool Vendor_1d79Product_0009Mapper(uint16_t type,
+                                   uint16_t code,
+                                   GamepadEventType* mapped_type,
+                                   uint16_t* mapped_code) {
+  static const KeyMapType key_mapping = {{BTN_A, WG_BUTTON_A},
+                                         {BTN_B, WG_BUTTON_B},
+                                         {BTN_X, WG_BUTTON_X},
+                                         {BTN_Y, WG_BUTTON_Y},
+                                         {BTN_TL, WG_BUTTON_L1},
+                                         {BTN_TR, WG_BUTTON_R1},
+                                         {BTN_START, WG_BUTTON_START},
+                                         {BTN_THUMBL, WG_BUTTON_THUMBL},
+                                         {BTN_THUMBR, WG_BUTTON_THUMBR},
+                                         {KEY_UP, WG_BUTTON_DPAD_UP},
+                                         {KEY_DOWN, WG_BUTTON_DPAD_DOWN},
+                                         {KEY_LEFT, WG_BUTTON_DPAD_LEFT},
+                                         {KEY_RIGHT, WG_BUTTON_DPAD_RIGHT},
+                                         {KEY_BACK, WG_BUTTON_SELECT},
+                                         {KEY_HOMEPAGE, WG_BUTTON_MODE}};
+
+  static const AbsMapType abs_mapping = {
+      TO_ABS(ABS_X, WG_ABS_X),         TO_ABS(ABS_Y, WG_ABS_Y),
+      TO_ABS(ABS_Z, WG_ABS_RX),        TO_ABS(ABS_RZ, WG_ABS_RY),
+      TO_BTN(ABS_BRAKE, WG_BUTTON_LT), TO_BTN(ABS_GAS, WG_BUTTON_RT),
+      TO_BTN(ABS_HAT0X, kHAT_X),       TO_BTN(ABS_HAT0Y, kHAT_Y)};
+  return DO_MAPPING;
+}
+
+bool Vendor_046dProduct_b501Mapper(uint16_t type,
+                                   uint16_t code,
+                                   GamepadEventType* mapped_type,
+                                   uint16_t* mapped_code) {
+  static const KeyMapType key_mapping = {{BTN_A, WG_BUTTON_A},
+                                         {BTN_B, WG_BUTTON_B},
+                                         {BTN_X, WG_BUTTON_X},
+                                         {BTN_Y, WG_BUTTON_Y},
+                                         {BTN_TL, WG_BUTTON_L1},
+                                         {BTN_TR, WG_BUTTON_R1},
+                                         {BTN_TL2, WG_BUTTON_LT},
+                                         {BTN_TR2, WG_BUTTON_RT},
+                                         {BTN_SELECT, WG_BUTTON_SELECT},
+                                         {BTN_START, WG_BUTTON_START},
+                                         {BTN_THUMBL, WG_BUTTON_THUMBL},
+                                         {BTN_THUMBR, WG_BUTTON_THUMBR},
+                                         {KEY_UP, WG_BUTTON_DPAD_UP},
+                                         {KEY_DOWN, WG_BUTTON_DPAD_DOWN},
+                                         {KEY_LEFT, WG_BUTTON_DPAD_LEFT},
+                                         {KEY_RIGHT, WG_BUTTON_DPAD_RIGHT},
+                                         {BTN_MODE, WG_BUTTON_MODE}};
+
+  static const AbsMapType abs_mapping = {
+      TO_ABS(ABS_X, WG_ABS_X),         TO_ABS(ABS_Y, WG_ABS_Y),
+      TO_ABS(ABS_Z, WG_ABS_RX),        TO_ABS(ABS_RZ, WG_ABS_RY),
+      TO_BTN(ABS_BRAKE, WG_BUTTON_LT), TO_BTN(ABS_GAS, WG_BUTTON_RT),
+      TO_BTN(ABS_HAT0X, kHAT_X),       TO_BTN(ABS_HAT0Y, kHAT_Y)};
+  return DO_MAPPING;
+}
+
+bool Vendor_046dProduct_c216Mapper(uint16_t type,
+                                   uint16_t code,
+                                   GamepadEventType* mapped_type,
+                                   uint16_t* mapped_code) {
+  static const KeyMapType key_mapping = {
+      {BTN_TRIGGER, WG_BUTTON_A},    {BTN_TOP, WG_BUTTON_B},
+      {BTN_THUMB, WG_BUTTON_X},      {BTN_THUMB2, WG_BUTTON_Y},
+      {BTN_TOP2, WG_BUTTON_L1},      {BTN_PINKIE, WG_BUTTON_R1},
+      {BTN_BASE, WG_BUTTON_LT},      {BTN_BASE2, WG_BUTTON_RT},
+      {BTN_BASE3, WG_BUTTON_SELECT}, {BTN_BASE4, WG_BUTTON_START},
+      {BTN_BASE5, WG_BUTTON_THUMBL}, {BTN_BASE6, WG_BUTTON_THUMBR}};
+
+  static const AbsMapType abs_mapping = {
+      TO_ABS(ABS_X, WG_ABS_X),   TO_ABS(ABS_Y, WG_ABS_Y),
+      TO_ABS(ABS_Z, WG_ABS_RX),  TO_ABS(ABS_RZ, WG_ABS_RY),
+      TO_BTN(ABS_HAT0X, kHAT_X), TO_BTN(ABS_HAT0Y, kHAT_Y)};
+  return DO_MAPPING;
+}
+
+bool Vendor_046dProduct_c219Mapper(uint16_t type,
+                                   uint16_t code,
+                                   GamepadEventType* mapped_type,
+                                   uint16_t* mapped_code) {
+  static const KeyMapType key_mapping = {
+      {BTN_B, WG_BUTTON_A},          {BTN_C, WG_BUTTON_B},
+      {BTN_A, WG_BUTTON_X},          {BTN_X, WG_BUTTON_Y},
+      {BTN_Y, WG_BUTTON_L1},         {BTN_Z, WG_BUTTON_R1},
+      {BTN_TL, WG_BUTTON_LT},        {BTN_TR, WG_BUTTON_RT},
+      {BTN_TR2, WG_BUTTON_START},    {BTN_SELECT, WG_BUTTON_THUMBL},
+      {BTN_START, WG_BUTTON_THUMBR}, {BTN_TL2, WG_BUTTON_SELECT}};
+
+  static const AbsMapType abs_mapping = {
+      TO_ABS(ABS_X, WG_ABS_X),   TO_ABS(ABS_Y, WG_ABS_Y),
+      TO_ABS(ABS_Z, WG_ABS_RX),  TO_ABS(ABS_RZ, WG_ABS_RY),
+      TO_BTN(ABS_HAT0X, kHAT_X), TO_BTN(ABS_HAT0Y, kHAT_Y)};
+  return DO_MAPPING;
+}
+
+bool Vendor_1038Product_1412Mapper(uint16_t type,
+                                   uint16_t code,
+                                   GamepadEventType* mapped_type,
+                                   uint16_t* mapped_code) {
+  static const KeyMapType key_mapping = {
+      {BTN_A, WG_BUTTON_A},         {BTN_B, WG_BUTTON_B},
+      {BTN_X, WG_BUTTON_X},         {BTN_Y, WG_BUTTON_Y},
+      {BTN_TL, WG_BUTTON_L1},       {BTN_TR, WG_BUTTON_R1},
+      {BTN_MODE, WG_BUTTON_SELECT}, {BTN_START, WG_BUTTON_START},
+  };
+
+  static const AbsMapType abs_mapping = {
+      TO_ABS(ABS_X, WG_ABS_X),   TO_ABS(ABS_Y, WG_ABS_Y),
+      TO_ABS(ABS_Z, WG_ABS_RX),  TO_ABS(ABS_RZ, WG_ABS_RY),
+      TO_BTN(ABS_HAT0X, kHAT_X), TO_BTN(ABS_HAT0Y, kHAT_Y)};
+  return DO_MAPPING;
+}
+
+bool Vendor_1689Product_fd00Mapper(uint16_t type,
+                                   uint16_t code,
+                                   GamepadEventType* mapped_type,
+                                   uint16_t* mapped_code) {
+  static const KeyMapType key_mapping = {
+      {BTN_A, WG_BUTTON_A},
+      {BTN_B, WG_BUTTON_B},
+      {BTN_X, WG_BUTTON_X},
+      {BTN_Y, WG_BUTTON_Y},
+      {BTN_TL, WG_BUTTON_L1},
+      {BTN_TR, WG_BUTTON_R1},
+      {BTN_START, WG_BUTTON_START},
+      {BTN_THUMBL, WG_BUTTON_THUMBL},
+      {BTN_THUMBR, WG_BUTTON_THUMBR},
+      {BTN_TRIGGER_HAPPY3, WG_BUTTON_DPAD_UP},
+      {BTN_TRIGGER_HAPPY4, WG_BUTTON_DPAD_DOWN},
+      {BTN_TRIGGER_HAPPY1, WG_BUTTON_DPAD_LEFT},
+      {BTN_TRIGGER_HAPPY2, WG_BUTTON_DPAD_RIGHT},
+      {BTN_SELECT, WG_BUTTON_SELECT},
+      {BTN_MODE, WG_BUTTON_MODE}};
+
+  static const AbsMapType abs_mapping = {
+      TO_ABS(ABS_X, WG_ABS_X),     TO_ABS(ABS_Y, WG_ABS_Y),
+      TO_ABS(ABS_RX, WG_ABS_RX),   TO_ABS(ABS_RY, WG_ABS_RY),
+      TO_BTN(ABS_Z, WG_BUTTON_LT), TO_BTN(ABS_RZ, WG_BUTTON_RT)};
+  return DO_MAPPING;
+}
+
+bool GenericMapper(uint16_t type,
+                   uint16_t code,
+                   GamepadEventType* mapped_type,
+                   uint16_t* mapped_code) {
+  static const KeyMapType key_mapping = {{BTN_A, WG_BUTTON_A},
+                                         {BTN_B, WG_BUTTON_B},
+                                         {BTN_X, WG_BUTTON_X},
+                                         {BTN_Y, WG_BUTTON_Y},
+                                         {BTN_TL, WG_BUTTON_L1},
+                                         {BTN_TR, WG_BUTTON_R1},
+                                         {BTN_TL2, WG_BUTTON_LT},
+                                         {BTN_TR2, WG_BUTTON_RT},
+                                         {BTN_THUMBL, WG_BUTTON_THUMBL},
+                                         {BTN_THUMBR, WG_BUTTON_THUMBR},
+                                         {KEY_BACK, WG_BUTTON_SELECT},
+                                         {KEY_HOMEPAGE, WG_BUTTON_MODE},
+                                         {KEY_UP, WG_BUTTON_DPAD_UP},
+                                         {KEY_DOWN, WG_BUTTON_DPAD_DOWN},
+                                         {KEY_LEFT, WG_BUTTON_DPAD_LEFT},
+                                         {KEY_RIGHT, WG_BUTTON_DPAD_RIGHT},
+                                         {BTN_SELECT, WG_BUTTON_SELECT},
+                                         {BTN_START, WG_BUTTON_START},
+                                         {BTN_MODE, WG_BUTTON_MODE}};
+
+  static const AbsMapType abs_mapping = {
+      TO_ABS(ABS_X, WG_ABS_X),         TO_ABS(ABS_Y, WG_ABS_Y),
+      TO_ABS(ABS_RX, WG_ABS_RX),       TO_ABS(ABS_RY, WG_ABS_RY),
+      TO_ABS(ABS_Z, WG_ABS_RX),        TO_ABS(ABS_RZ, WG_ABS_RY),
+      TO_BTN(ABS_BRAKE, WG_BUTTON_LT), TO_BTN(ABS_GAS, WG_BUTTON_RT),
+      TO_BTN(ABS_HAT0X, kHAT_X),       TO_BTN(ABS_HAT0Y, kHAT_Y)};
+  return DO_MAPPING;
+}
+
+static const struct MappingData {
+  uint16_t vendor_id;
+  uint16_t product_id;
+  GamepadMapper mapper;
+} AvailableMappings[] = {
+    // Xbox style gamepad.
+    {0x045e, 0x028e, XInputStyleMapper},  // Xbox 360 wired.
+    {0x045e, 0x028f, XInputStyleMapper},  // Xbox 360 wireless.
+    {0x045e, 0x02a1, XInputStyleMapper},  // Xbox 360 wireless.
+    {0x045e, 0x02d1, XInputStyleMapper},  // Xbox one wired.
+    {0x045e, 0x02dd, XInputStyleMapper},  // Xbox one wired (2015 fw).
+    {0x045e, 0x02e3, XInputStyleMapper},  // Xbox elite wired.
+    {0x045e, 0x02ea, XInputStyleMapper},  // Xbox one s (usb).
+    {0x045e, 0x0719, XInputStyleMapper},  // Xbox 360 wireless.
+    {0x046d, 0xc21d, XInputStyleMapper},  // Logitech f310.
+    {0x046d, 0xc21e, XInputStyleMapper},  // Logitech f510.
+    {0x046d, 0xc21f, XInputStyleMapper},  // Logitech f710.
+    {0x2378, 0x1008, XInputStyleMapper},  // Onlive controller (bluetooth).
+    {0x2378, 0x100a, XInputStyleMapper},  // Onlive controller (wired).
+    {0x1bad, 0xf016, XInputStyleMapper},  // Mad catz gamepad.
+    {0x1bad, 0xf023, XInputStyleMapper},  // Mad catz mlg gamepad for Xbox360.
+    {0x1bad, 0xf027, XInputStyleMapper},  // Mad catz fps pro.
+    {0x1bad, 0xf036, XInputStyleMapper},  // Mad catz generic Xbox controller.
+    {0x1689, 0xfd01, XInputStyleMapper},  // Razer Xbox 360 gamepad.
+    {0x1689, 0xfe00, XInputStyleMapper},  // Razer sabertooth elite.
+    // Sony gamepads.
+    {0x054c, 0x0268, PlaystationSixAxisMapper},  // Playstation 3.
+    // NES style gamepad.
+    {0x0583, 0x2060, IBuffalocClassicMapper},  // iBuffalo Classic.
+    {0x0079, 0x0011, ClassicNESMapper},        // Classic NES controller.
+    {0x12bd, 0xd015, SNesRetroMapper},         // Hitgaming SNES retro.
+    // Android gamepad.
+    {0x0b05, 0x4500, ADT1Mapper},  // Nexus player controller (asus gamepad).
+    {0x1532, 0x0900, ADT1Mapper},  // Razer serval.
+    {0x18d1, 0x2c40, ADT1Mapper},  // ADT-1 controller (odie).
+    // Other gamepads.
+    {0x1d79, 0x0009,
+     Vendor_1d79Product_0009Mapper},  // Nyko playpad / Playpad pro.
+    {0x046d, 0xb501, Vendor_046dProduct_b501Mapper},  // Logitech redhawk.
+    // Logitech dual action controller.
+    {0x046d, 0xc216, Vendor_046dProduct_c216Mapper},
+    // Logitech cordless rumblepad2.
+    {0x046d, 0xc219, Vendor_046dProduct_c219Mapper},
+    {0x1038, 0x1412, Vendor_1038Product_1412Mapper},  // Steelseries free.
+    // Razer onza tournment edition.
+    {0x1689, 0xfd00, Vendor_1689Product_fd00Mapper}};
+
+GamepadMapper GetGamepadMapper(uint16_t vendor_id, uint16_t product_id) {
+  for (size_t i = 0; i < arraysize(AvailableMappings); i++) {
+    if (AvailableMappings[i].vendor_id == vendor_id &&
+        AvailableMappings[i].product_id == product_id) {
+      return AvailableMappings[i].mapper;
+    }
+  }
+  return GenericMapper;
+}
+
+}  // namespace ui
diff --git a/ui/events/ozone/gamepad/gamepad_mapping.h b/ui/events/ozone/gamepad/gamepad_mapping.h
new file mode 100644
index 0000000..e864e97
--- /dev/null
+++ b/ui/events/ozone/gamepad/gamepad_mapping.h
@@ -0,0 +1,28 @@
+// Copyright 2017 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef UI_EVENTS_OZONE_GAMEPAD_GAMEPAD_MAPPING_H_
+#define UI_EVENTS_OZONE_GAMEPAD_GAMEPAD_MAPPING_H_
+
+#include "ui/events/ozone/gamepad/webgamepad_constants.h"
+
+namespace ui {
+
+// The following HATX and HATY is not part of web gamepad definition, but we
+// need to specially treat them cause HAT_Y can be mapped to DPAD_UP or
+// DPAD_DOWN, and HAT_X can be mapped to DAPD_LEFT or DPAD_RIGHT.
+constexpr int kHAT_X = 4;
+constexpr int kHAT_Y = 5;
+
+typedef bool (*GamepadMapper)(uint16_t key,
+                              uint16_t code,
+                              GamepadEventType* mapped_type,
+                              uint16_t* mapped_code);
+
+// This function gets the best mapper for the gamepad vendor_id and product_id.
+GamepadMapper GetGamepadMapper(uint16_t vendor_id, uint16_t product_id);
+
+}  // namespace ui
+
+#endif  // UI_EVENTS_OZONE_GAMEPAD_GAMEPAD_MAPPING_H_
diff --git a/ui/events/ozone/gamepad/gamepad_observer.h b/ui/events/ozone/gamepad/gamepad_observer.h
new file mode 100644
index 0000000..312f0d1
--- /dev/null
+++ b/ui/events/ozone/gamepad/gamepad_observer.h
@@ -0,0 +1,27 @@
+// 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 UI_EVENTS_OZONE_GAMEPAD_GAMEPAD_OBSERVER_H_
+#define UI_EVENTS_OZONE_GAMEPAD_GAMEPAD_OBSERVER_H_
+
+#include "base/logging.h"
+#include "base/time/time.h"
+#include "ui/events/ozone/gamepad/gamepad_event.h"
+
+namespace ui {
+
+class GamepadObserver {
+ public:
+  // Callback function when connected gamepad devices is updated.
+  virtual void OnGamepadDevicesUpdated() {}
+
+  // Callback function on gamepad.
+  virtual void OnGamepadEvent(const GamepadEvent& event) {}
+
+  virtual ~GamepadObserver() {}
+};
+
+}  // namespace ui
+
+#endif  // UI_EVENTS_OZONE_GAMEPAD_GAMEPAD_OBSERVER_H_
diff --git a/ui/events/ozone/gamepad/gamepad_provider_ozone.cc b/ui/events/ozone/gamepad/gamepad_provider_ozone.cc
new file mode 100644
index 0000000..4cc2db9
--- /dev/null
+++ b/ui/events/ozone/gamepad/gamepad_provider_ozone.cc
@@ -0,0 +1,49 @@
+// 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 "ui/events/ozone/gamepad/gamepad_provider_ozone.h"
+#include "base/macros.h"
+#include "base/memory/singleton.h"
+#include "ui/events/ozone/gamepad/gamepad_observer.h"
+
+namespace ui {
+
+GamepadProviderOzone::GamepadProviderOzone() {}
+
+GamepadProviderOzone::~GamepadProviderOzone() {}
+
+GamepadProviderOzone* GamepadProviderOzone::GetInstance() {
+  // GamepadProviderOzone is not holding any important resource. It's best to be
+  // leaky to reduce shutdown time.
+  return base::Singleton<
+      GamepadProviderOzone,
+      base::LeakySingletonTraits<GamepadProviderOzone>>::get();
+}
+
+void GamepadProviderOzone::DispatchGamepadDevicesUpdated(
+    std::vector<InputDevice> gamepad_devices) {
+  gamepad_devices_.swap(gamepad_devices);
+  for (auto& observer : observers_) {
+    observer.OnGamepadDevicesUpdated();
+  }
+}
+
+void GamepadProviderOzone::DispatchGamepadEvent(const GamepadEvent& event) {
+  for (auto& observer : observers_) {
+    observer.OnGamepadEvent(event);
+  }
+}
+
+void GamepadProviderOzone::AddGamepadObserver(GamepadObserver* observer) {
+  observers_.AddObserver(observer);
+}
+
+void GamepadProviderOzone::RemoveGamepadObserver(GamepadObserver* observer) {
+  observers_.RemoveObserver(observer);
+}
+
+std::vector<InputDevice> GamepadProviderOzone::GetGamepadDevices() {
+  return gamepad_devices_;
+}
+}  // namespace ui
diff --git a/ui/events/ozone/gamepad/gamepad_provider_ozone.h b/ui/events/ozone/gamepad/gamepad_provider_ozone.h
new file mode 100644
index 0000000..5a62a463
--- /dev/null
+++ b/ui/events/ozone/gamepad/gamepad_provider_ozone.h
@@ -0,0 +1,71 @@
+// 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 UI_EVENTS_OZONE_GAMEPAD_GAMEPAD_PROVIDER_OZONE_H_
+#define UI_EVENTS_OZONE_GAMEPAD_GAMEPAD_PROVIDER_OZONE_H_
+
+#include <set>
+#include <vector>
+#include "base/macros.h"
+#include "base/observer_list.h"
+#include "base/time/time.h"
+#include "ui/events/devices/input_device.h"
+#include "ui/events/ozone/evdev/events_ozone_evdev_export.h"
+#include "ui/events/ozone/gamepad/gamepad_observer.h"
+
+namespace base {
+template <typename T>
+struct DefaultSingletonTraits;
+}
+
+namespace ui {
+
+class EVENTS_OZONE_EVDEV_EXPORT GamepadProviderOzone {
+ public:
+  // Get the GamepadProviderOzone instance.
+  static GamepadProviderOzone* GetInstance();
+
+  // Dispatch GamepadDevicesUpdate event when gamepad device is connected or
+  // disconnected. This function must be called on UI thread.
+  void DispatchGamepadDevicesUpdated(std::vector<InputDevice> gamepad_devices);
+
+  // Dispatch button event when gamepad event is seen.
+  // Code is the index of gamepad button or gamepad axis defined in W3C standard
+  // gamepad.
+  // This function must be called on UI thread.
+  void DispatchGamepadEvent(const GamepadEvent& event);
+
+  // Add observer to gamepad provider. This function must be called on UI
+  // thread.
+  void AddGamepadObserver(GamepadObserver* observer);
+
+  // Remove observer from gamepad provider. This function must be called on UI
+  // thread.
+  void RemoveGamepadObserver(GamepadObserver* observer);
+
+  // Get the list of currently connected gamepad devices. This function must be
+  // called on UI thread.
+  std::vector<InputDevice> GetGamepadDevices();
+
+ private:
+  GamepadProviderOzone();
+
+  ~GamepadProviderOzone();
+
+  // Make SingletonTraits friend to enable singleton.
+  friend struct base::DefaultSingletonTraits<GamepadProviderOzone>;
+
+  // Registered observers will receive gamepad device update event and gamepad
+  // event.
+  base::ObserverList<GamepadObserver> observers_;
+
+  // List of current connected gamepad events.
+  std::vector<InputDevice> gamepad_devices_;
+
+  DISALLOW_COPY_AND_ASSIGN(GamepadProviderOzone);
+};
+
+}  // namespace ui
+
+#endif  // UI_EVENTS_OZONE_GAMEPAD_GAMEPAD_PROVIDER_OZONE_H_
diff --git a/ui/events/ozone/gamepad/webgamepad_constants.h b/ui/events/ozone/gamepad/webgamepad_constants.h
new file mode 100644
index 0000000..d3fd478b
--- /dev/null
+++ b/ui/events/ozone/gamepad/webgamepad_constants.h
@@ -0,0 +1,56 @@
+// 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 UI_EVENTS_OZONE_GAMEPAD_WEBGAMEPAD_CONSTANTS_H_
+#define UI_EVENTS_OZONE_GAMEPAD_WEBGAMEPAD_CONSTANTS_H_
+
+#include <stdint.h>
+
+namespace ui {
+
+// We care about three type of gamepad events.
+enum class GamepadEventType { BUTTON, AXIS, FRAME };
+
+// This WebGamepadButtonType matches the index of gamepad button defined in w3c
+// standard gamepad.
+enum WebGamepadButtonType {
+  WG_BUTTON_A = 0,
+  WG_BUTTON_B = 1,
+  WG_BUTTON_X = 2,
+  WG_BUTTON_Y = 3,
+  WG_BUTTON_L1 = 4,
+  WG_BUTTON_R1 = 5,
+  WG_BUTTON_LT = 6,
+  WG_BUTTON_RT = 7,
+  WG_BUTTON_SELECT = 8,
+  WG_BUTTON_START = 9,
+  WG_BUTTON_THUMBL = 10,
+  WG_BUTTON_THUMBR = 11,
+  WG_BUTTON_DPAD_UP = 12,
+  WG_BUTTON_DPAD_DOWN = 13,
+  WG_BUTTON_DPAD_LEFT = 14,
+  WG_BUTTON_DPAD_RIGHT = 15,
+  WG_BUTTON_MODE = 16,
+  WG_BUTTON_COUNT = 17
+};
+
+// This WebGamepadAbsType matches the index of gamepad abs defined in w3c
+// standard gamepad.
+enum WebGamepadAbsType {
+  WG_ABS_X = 0,
+  WG_ABS_Y = 1,
+  WG_ABS_RX = 2,
+  WG_ABS_RY = 3,
+  WG_ABS_COUNT = 4
+};
+
+// Following constants are used to normalize abs values to web gamepad standard.
+constexpr double kWebGamepadTriggerMin = 0.0;
+constexpr double kWebGamepadTriggerMax = 1.0;
+constexpr double kWebGamepadJoystickMin = -1.0;
+constexpr double kWebGamepadJoystickMax = 1.0;
+
+}  // namespace ui
+
+#endif  // UI_EVENTS_OZONE_EVDEV_WEBGAMEPAD_CONSTANTS_H_
diff --git a/ui/gfx/mojo/buffer_types_struct_traits.cc b/ui/gfx/mojo/buffer_types_struct_traits.cc
index 5e3c0fc..94507702 100644
--- a/ui/gfx/mojo/buffer_types_struct_traits.cc
+++ b/ui/gfx/mojo/buffer_types_struct_traits.cc
@@ -128,11 +128,17 @@
           mojo::UnwrapPlatformFile(std::move(handle), &platform_file);
       if (unwrap_result != MOJO_RESULT_OK)
         return false;
+      // TODO(rockot): Pass GUIDs through Mojo. https://crbug.com/713763.
+      // TODO(erikchen): During serialization, the SharedMemoryHandle is
+      // decomposed on Linux into a file_descriptor. The serialization path
+      // should be changed to serialize a Mojo shared buffer instead.
+      // https://crbug.com/713763.
+      base::UnguessableToken guid = base::UnguessableToken::Create();
 #if defined(OS_WIN)
-      out->handle = base::SharedMemoryHandle(platform_file);
+      out->handle = base::SharedMemoryHandle(platform_file, guid);
 #else
-      out->handle =
-          base::SharedMemoryHandle(base::FileDescriptor(platform_file, true));
+      out->handle = base::SharedMemoryHandle(
+          base::FileDescriptor(platform_file, true), guid);
 #endif
 #endif  // defined(OS_MACOSX)
     }