diff --git a/DEPS b/DEPS
index a4e4182b..42e490b 100644
--- a/DEPS
+++ b/DEPS
@@ -40,7 +40,7 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling V8
   # and whatever else without interference from each other.
-  'v8_revision': '49d339a2c526907b6613252b008c934c8ea3ecec',
+  'v8_revision': 'cbf06062d3b8ffaf76d4fa66720ee74cb8a57bad',
   # 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.
@@ -48,7 +48,7 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling ANGLE
   # and whatever else without interference from each other.
-  'angle_revision': 'ed0ab661b141d5b5d1793728eb1049526856b8d7',
+  'angle_revision': 'c9bde92635e8dfa84961b86192af4ecda90de4d9',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling build tools
   # and whatever else without interference from each other.
diff --git a/ash/common/shelf/shelf_alignment_menu.cc b/ash/common/shelf/shelf_alignment_menu.cc
index 574317a..43ee70d8 100644
--- a/ash/common/shelf/shelf_alignment_menu.cc
+++ b/ash/common/shelf/shelf_alignment_menu.cc
@@ -45,12 +45,6 @@
   return true;
 }
 
-bool ShelfAlignmentMenu::GetAcceleratorForCommandId(
-    int command_id,
-    ui::Accelerator* accelerator) const {
-  return false;
-}
-
 void ShelfAlignmentMenu::ExecuteCommand(int command_id, int event_flags) {
   WmShell* shell = WmShell::Get();
   switch (static_cast<MenuItem>(command_id)) {
diff --git a/ash/common/shelf/shelf_alignment_menu.h b/ash/common/shelf/shelf_alignment_menu.h
index 2686f3e..e315317 100644
--- a/ash/common/shelf/shelf_alignment_menu.h
+++ b/ash/common/shelf/shelf_alignment_menu.h
@@ -23,8 +23,6 @@
   // ui::SimpleMenuModel::Delegate overrides:
   bool IsCommandIdChecked(int command_id) const override;
   bool IsCommandIdEnabled(int command_id) const override;
-  bool GetAcceleratorForCommandId(int command_id,
-                                  ui::Accelerator* accelerator) const override;
   void ExecuteCommand(int command_id, int event_flags) override;
 
  private:
diff --git a/ash/common/system/web_notification/web_notification_tray.cc b/ash/common/system/web_notification/web_notification_tray.cc
index 5ab3774..feba9ff 100644
--- a/ash/common/system/web_notification/web_notification_tray.cc
+++ b/ash/common/system/web_notification/web_notification_tray.cc
@@ -448,12 +448,6 @@
   return true;
 }
 
-bool WebNotificationTray::GetAcceleratorForCommandId(
-    int command_id,
-    ui::Accelerator* accelerator) const {
-  return false;
-}
-
 void WebNotificationTray::ExecuteCommand(int command_id, int event_flags) {
   if (command_id == kToggleQuietMode) {
     bool in_quiet_mode = message_center()->IsQuietMode();
diff --git a/ash/common/system/web_notification/web_notification_tray.h b/ash/common/system/web_notification/web_notification_tray.h
index 0527238..6938498 100644
--- a/ash/common/system/web_notification/web_notification_tray.h
+++ b/ash/common/system/web_notification/web_notification_tray.h
@@ -122,8 +122,6 @@
   // Overridden from SimpleMenuModel::Delegate.
   bool IsCommandIdChecked(int command_id) const override;
   bool IsCommandIdEnabled(int command_id) const override;
-  bool GetAcceleratorForCommandId(int command_id,
-                                  ui::Accelerator* accelerator) const override;
   void ExecuteCommand(int command_id, int event_flags) override;
 
   message_center::MessageCenter* message_center() const;
diff --git a/ash/shelf/shelf_view_unittest.cc b/ash/shelf/shelf_view_unittest.cc
index ec1be9f..3d6e158 100644
--- a/ash/shelf/shelf_view_unittest.cc
+++ b/ash/shelf/shelf_view_unittest.cc
@@ -2043,10 +2043,6 @@
   bool IsCommandIdEnabled(int command_id) const override {
     return command_id != 0;
   }
-  bool GetAcceleratorForCommandId(int command_id,
-                                  ui::Accelerator* accelerator) const override {
-    return false;
-  }
   void ExecuteCommand(int command_id, int event_flags) override {}
 
   DISALLOW_COPY_AND_ASSIGN(TestShelfMenuModel);
diff --git a/ash/shell/context_menu.cc b/ash/shell/context_menu.cc
index b0677b7..e3812da4 100644
--- a/ash/shell/context_menu.cc
+++ b/ash/shell/context_menu.cc
@@ -35,12 +35,6 @@
   return true;
 }
 
-bool ContextMenu::GetAcceleratorForCommandId(
-    int command_id,
-    ui::Accelerator* accelerator) const {
-  return false;
-}
-
 void ContextMenu::ExecuteCommand(int command_id, int event_flags) {
   if (command_id == MENU_AUTO_HIDE) {
     wm_shelf_->SetAutoHideBehavior(wm_shelf_->GetAutoHideBehavior() ==
diff --git a/ash/shell/context_menu.h b/ash/shell/context_menu.h
index 79cb582..3db053c 100644
--- a/ash/shell/context_menu.h
+++ b/ash/shell/context_menu.h
@@ -25,8 +25,6 @@
   // ui::SimpleMenuModel::Delegate overrides:
   bool IsCommandIdChecked(int command_id) const override;
   bool IsCommandIdEnabled(int command_id) const override;
-  bool GetAcceleratorForCommandId(int command_id,
-                                  ui::Accelerator* accelerator) const override;
   void ExecuteCommand(int command_id, int event_flags) override;
 
  private:
diff --git a/ash/shell_unittest.cc b/ash/shell_unittest.cc
index 694cc5c..4cdbebe1 100644
--- a/ash/shell_unittest.cc
+++ b/ash/shell_unittest.cc
@@ -115,11 +115,6 @@
 
   bool IsCommandIdEnabled(int command_id) const override { return true; }
 
-  bool GetAcceleratorForCommandId(int command_id,
-                                  ui::Accelerator* accelerator) const override {
-    return false;
-  }
-
   void ExecuteCommand(int command_id, int event_flags) override {}
 
  private:
diff --git a/ash/sysui/context_menu_mus.cc b/ash/sysui/context_menu_mus.cc
index 52ddd93..1cb05f9 100644
--- a/ash/sysui/context_menu_mus.cc
+++ b/ash/sysui/context_menu_mus.cc
@@ -41,12 +41,6 @@
   return true;
 }
 
-bool ContextMenuMus::GetAcceleratorForCommandId(
-    int command_id,
-    ui::Accelerator* accelerator) const {
-  return false;
-}
-
 void ContextMenuMus::ExecuteCommand(int command_id, int event_flags) {
   if (command_id == MENU_AUTO_HIDE) {
     wm_shelf_->SetAutoHideBehavior(wm_shelf_->GetAutoHideBehavior() ==
diff --git a/ash/sysui/context_menu_mus.h b/ash/sysui/context_menu_mus.h
index d8592d7..eb667453 100644
--- a/ash/sysui/context_menu_mus.h
+++ b/ash/sysui/context_menu_mus.h
@@ -24,8 +24,6 @@
   // ui::SimpleMenuModel::Delegate overrides:
   bool IsCommandIdChecked(int command_id) const override;
   bool IsCommandIdEnabled(int command_id) const override;
-  bool GetAcceleratorForCommandId(int command_id,
-                                  ui::Accelerator* accelerator) const override;
   void ExecuteCommand(int command_id, int event_flags) override;
 
  private:
diff --git a/ash/sysui/shelf_delegate_mus.cc b/ash/sysui/shelf_delegate_mus.cc
index d679f56..6e9b3d3d 100644
--- a/ash/sysui/shelf_delegate_mus.cc
+++ b/ash/sysui/shelf_delegate_mus.cc
@@ -88,11 +88,6 @@
     bool IsCommandIdEnabled(int command_id) const override {
       return command_id > 0;
     }
-    bool GetAcceleratorForCommandId(
-        int command_id,
-        ui::Accelerator* accelerator) const override {
-      return false;
-    }
     void ExecuteCommand(int command_id, int event_flags) override {
       item_delegate_->user_window_controller_->ActivateUserWindow(command_id);
     }
diff --git a/build/secondary/testing/gtest/BUILD.gn b/build/secondary/testing/gtest/BUILD.gn
index a8cab244..649f5c5 100644
--- a/build/secondary/testing/gtest/BUILD.gn
+++ b/build/secondary/testing/gtest/BUILD.gn
@@ -14,6 +14,7 @@
     # In order to allow regex matches in gtest to be shared between Windows
     # and other systems, we tell gtest to always use it's internal engine.
     "GTEST_HAS_POSIX_RE=0",
+    "GTEST_LANG_CXX11=1",
   ]
 
   # Gtest headers need to be able to find themselves.
diff --git a/chrome/browser/apps/app_browsertest.cc b/chrome/browser/apps/app_browsertest.cc
index f6f699e..146fb76 100644
--- a/chrome/browser/apps/app_browsertest.cc
+++ b/chrome/browser/apps/app_browsertest.cc
@@ -86,13 +86,6 @@
   }
 
   void Show() override {}
-
- protected:
-  // RenderViewContextMenu implementation.
-  bool GetAcceleratorForCommandId(int command_id,
-                                  ui::Accelerator* accelerator) const override {
-    return false;
-  }
 };
 
 // This class keeps track of tabs as they are added to the browser. It will be
diff --git a/chrome/browser/download/download_shelf_context_menu.cc b/chrome/browser/download/download_shelf_context_menu.cc
index fe8769c..0b9fc60 100644
--- a/chrome/browser/download/download_shelf_context_menu.cc
+++ b/chrome/browser/download/download_shelf_context_menu.cc
@@ -86,12 +86,6 @@
       static_cast<DownloadCommands::Command>(command_id));
 }
 
-bool DownloadShelfContextMenu::GetAcceleratorForCommandId(
-    int command_id,
-    ui::Accelerator* accelerator) const {
-  return false;
-}
-
 bool DownloadShelfContextMenu::IsItemForCommandIdDynamic(int command_id) const {
   return false;
 }
diff --git a/chrome/browser/download/download_shelf_context_menu.h b/chrome/browser/download/download_shelf_context_menu.h
index 22ba178..89288669 100644
--- a/chrome/browser/download/download_shelf_context_menu.h
+++ b/chrome/browser/download/download_shelf_context_menu.h
@@ -43,8 +43,6 @@
   bool IsCommandIdChecked(int command_id) const override;
   bool IsCommandIdVisible(int command_id) const override;
   void ExecuteCommand(int command_id, int event_flags) override;
-  bool GetAcceleratorForCommandId(int command_id,
-                                  ui::Accelerator* accelerator) const override;
   bool IsItemForCommandIdDynamic(int command_id) const override;
   base::string16 GetLabelForCommandId(int command_id) const override;
 
diff --git a/chrome/browser/extensions/extension_context_menu_model.cc b/chrome/browser/extensions/extension_context_menu_model.cc
index 34be392..52a5a46 100644
--- a/chrome/browser/extensions/extension_context_menu_model.cc
+++ b/chrome/browser/extensions/extension_context_menu_model.cc
@@ -227,12 +227,6 @@
   return true;
 }
 
-bool ExtensionContextMenuModel::GetAcceleratorForCommandId(
-    int command_id,
-    ui::Accelerator* accelerator) const {
-  return false;
-}
-
 void ExtensionContextMenuModel::ExecuteCommand(int command_id,
                                                int event_flags) {
   const Extension* extension = GetExtension();
diff --git a/chrome/browser/extensions/extension_context_menu_model.h b/chrome/browser/extensions/extension_context_menu_model.h
index 095e84db..3efc1b3b 100644
--- a/chrome/browser/extensions/extension_context_menu_model.h
+++ b/chrome/browser/extensions/extension_context_menu_model.h
@@ -80,8 +80,6 @@
   // SimpleMenuModel::Delegate:
   bool IsCommandIdChecked(int command_id) const override;
   bool IsCommandIdEnabled(int command_id) const override;
-  bool GetAcceleratorForCommandId(int command_id,
-                                  ui::Accelerator* accelerator) const override;
   void ExecuteCommand(int command_id, int event_flags) override;
 
   ui::SimpleMenuModel* page_access_submenu_for_testing() {
diff --git a/chrome/browser/media_galleries/media_gallery_context_menu.cc b/chrome/browser/media_galleries/media_gallery_context_menu.cc
index 79d021d..9b26ad12 100644
--- a/chrome/browser/media_galleries/media_gallery_context_menu.cc
+++ b/chrome/browser/media_galleries/media_gallery_context_menu.cc
@@ -29,12 +29,6 @@
   return true;
 }
 
-bool MediaGalleryContextMenu::GetAcceleratorForCommandId(
-    int command_id,
-    ui::Accelerator* accelerator) const {
-  return false;
-}
-
 void MediaGalleryContextMenu::ExecuteCommand(int command_id, int event_flags) {
   callback_.Run(pref_id_);
 }
diff --git a/chrome/browser/media_galleries/media_gallery_context_menu.h b/chrome/browser/media_galleries/media_gallery_context_menu.h
index f3a44452..7131231 100644
--- a/chrome/browser/media_galleries/media_gallery_context_menu.h
+++ b/chrome/browser/media_galleries/media_gallery_context_menu.h
@@ -27,8 +27,6 @@
   bool IsCommandIdChecked(int command_id) const override;
   bool IsCommandIdEnabled(int command_id) const override;
   bool IsCommandIdVisible(int command_id) const override;
-  bool GetAcceleratorForCommandId(int command_id,
-                                  ui::Accelerator* accelerator) const override;
   void ExecuteCommand(int command_id, int event_flags) override;
 
  private:
diff --git a/chrome/browser/password_manager/credential_manager_browsertest.cc b/chrome/browser/password_manager/credential_manager_browsertest.cc
index 978620b2..388d764 100644
--- a/chrome/browser/password_manager/credential_manager_browsertest.cc
+++ b/chrome/browser/password_manager/credential_manager_browsertest.cc
@@ -117,16 +117,9 @@
   EXPECT_FALSE(form.skip_zero_click);
 }
 
-// TODO(crbug.com/626759): flakily failing on Mac.
-#if defined(OS_MACOSX)
-#define MAYBE_AutoSigninOldCredentialAndNavigation \
-    DISABLED_AutoSigninOldCredentialAndNavigation
-#else
-#define MAYBE_AutoSigninOldCredentialAndNavigation \
-    AutoSigninOldCredentialAndNavigation
-#endif
+
 IN_PROC_BROWSER_TEST_F(CredentialManagerBrowserTest,
-                       MAYBE_AutoSigninOldCredentialAndNavigation) {
+                       AutoSigninOldCredentialAndNavigation) {
   // Save credentials with 'skip_zero_click' false.
   scoped_refptr<password_manager::TestPasswordStore> password_store =
       static_cast<password_manager::TestPasswordStore*>(
@@ -150,11 +143,15 @@
   "document.getElementById('password_field').value = 'trash';";
   ASSERT_TRUE(content::ExecuteScript(RenderViewHost(), fill_password));
 
-  // Call the API to trigger the notification to the client.
+  // Call the API with a delay to trigger the notification to the client. The
+  // delay ensures that parsing password forms won't happen again after the API
+  // call making the test flaky.
   ASSERT_TRUE(content::ExecuteScript(
       RenderViewHost(),
-      "navigator.credentials.get({password: true})"
-      ".then(cred => window.location = '/password/done.html')"));
+      "setTimeout( function() {"
+        "navigator.credentials.get({password: true})"
+        ".then(cred => window.location = '/password/done.html');"
+      "}, 1000)"));
 
   NavigationObserver observer(WebContents());
   observer.SetPathToWaitFor("/password/done.html");
diff --git a/chrome/browser/renderer_context_menu/mock_render_view_context_menu.cc b/chrome/browser/renderer_context_menu/mock_render_view_context_menu.cc
index c78af76..020db2d1 100644
--- a/chrome/browser/renderer_context_menu/mock_render_view_context_menu.cc
+++ b/chrome/browser/renderer_context_menu/mock_render_view_context_menu.cc
@@ -51,12 +51,6 @@
 
 void MockRenderViewContextMenu::MenuClosed(ui::SimpleMenuModel* source) {}
 
-bool MockRenderViewContextMenu::GetAcceleratorForCommandId(
-    int command_id,
-    ui::Accelerator* accelerator) const {
-  return false;
-}
-
 void MockRenderViewContextMenu::AddMenuItem(int command_id,
                                             const base::string16& title) {
   MockMenuItem item;
diff --git a/chrome/browser/renderer_context_menu/mock_render_view_context_menu.h b/chrome/browser/renderer_context_menu/mock_render_view_context_menu.h
index d286cdb..dd096d4 100644
--- a/chrome/browser/renderer_context_menu/mock_render_view_context_menu.h
+++ b/chrome/browser/renderer_context_menu/mock_render_view_context_menu.h
@@ -51,8 +51,6 @@
   void ExecuteCommand(int command_id, int event_flags) override;
   void MenuWillShow(ui::SimpleMenuModel* source) override;
   void MenuClosed(ui::SimpleMenuModel* source) override;
-  bool GetAcceleratorForCommandId(int command_id,
-                                  ui::Accelerator* accelerator) const override;
 
   // RenderViewContextMenuProxy implementation.
   void AddMenuItem(int command_id, const base::string16& title) override;
diff --git a/chrome/browser/renderer_context_menu/open_with_menu_factory_ash.cc b/chrome/browser/renderer_context_menu/open_with_menu_factory_ash.cc
index c4494b2..6b81537 100644
--- a/chrome/browser/renderer_context_menu/open_with_menu_factory_ash.cc
+++ b/chrome/browser/renderer_context_menu/open_with_menu_factory_ash.cc
@@ -35,12 +35,6 @@
   return true;
 }
 
-bool OpenWithMenuObserver::SubMenuDelegate::GetAcceleratorForCommandId(
-    int command_id,
-    ui::Accelerator* accelerator) const {
-  return false;
-}
-
 void OpenWithMenuObserver::SubMenuDelegate::ExecuteCommand(int command_id,
                                                            int event_flags) {
   parent_->ExecuteCommand(command_id);
diff --git a/chrome/browser/renderer_context_menu/open_with_menu_factory_ash.h b/chrome/browser/renderer_context_menu/open_with_menu_factory_ash.h
index e801f2e..66657a1 100644
--- a/chrome/browser/renderer_context_menu/open_with_menu_factory_ash.h
+++ b/chrome/browser/renderer_context_menu/open_with_menu_factory_ash.h
@@ -36,9 +36,6 @@
 
     bool IsCommandIdChecked(int command_id) const override;
     bool IsCommandIdEnabled(int command_id) const override;
-    bool GetAcceleratorForCommandId(
-        int command_id,
-        ui::Accelerator* accelerator) const override;
     void ExecuteCommand(int command_id, int event_flags) override;
 
    private:
diff --git a/chrome/browser/renderer_context_menu/render_view_context_menu_test_util.cc b/chrome/browser/renderer_context_menu/render_view_context_menu_test_util.cc
index 40de50b..7b3cfc60 100644
--- a/chrome/browser/renderer_context_menu/render_view_context_menu_test_util.cc
+++ b/chrome/browser/renderer_context_menu/render_view_context_menu_test_util.cc
@@ -35,13 +35,6 @@
   return menu;
 }
 
-bool TestRenderViewContextMenu::GetAcceleratorForCommandId(
-    int command_id,
-    ui::Accelerator* accelerator) const {
-  // None of our commands have accelerators, so always return false.
-  return false;
-}
-
 bool TestRenderViewContextMenu::IsItemPresent(int command_id) {
   return menu_model_.GetIndexOfCommandId(command_id) != -1;
 }
diff --git a/chrome/browser/renderer_context_menu/render_view_context_menu_test_util.h b/chrome/browser/renderer_context_menu/render_view_context_menu_test_util.h
index 0d2249a..05ceabe 100644
--- a/chrome/browser/renderer_context_menu/render_view_context_menu_test_util.h
+++ b/chrome/browser/renderer_context_menu/render_view_context_menu_test_util.h
@@ -40,10 +40,6 @@
                                            const GURL& link_url,
                                            const GURL& frame_url);
 
-  // Implementation of pure virtuals in RenderViewContextMenu.
-  bool GetAcceleratorForCommandId(int command_id,
-                                  ui::Accelerator* accelerator) const override;
-
   // Returns true if the command specified by |command_id| is present
   // in the menu.
   // A list of command ids can be found in chrome/app/chrome_command_ids.h.
diff --git a/chrome/browser/renderer_host/chrome_render_message_filter.cc b/chrome/browser/renderer_host/chrome_render_message_filter.cc
index 1a48364..0afbb94 100644
--- a/chrome/browser/renderer_host/chrome_render_message_filter.cc
+++ b/chrome/browser/renderer_host/chrome_render_message_filter.cc
@@ -66,6 +66,7 @@
   IPC_BEGIN_MESSAGE_MAP(ChromeRenderMessageFilter, message)
     IPC_MESSAGE_HANDLER(NetworkHintsMsg_DNSPrefetch, OnDnsPrefetch)
     IPC_MESSAGE_HANDLER(NetworkHintsMsg_Preconnect, OnPreconnect)
+    IPC_MESSAGE_HANDLER(NetworkHintsMsg_NavigationHint, OnNavigationHint)
     IPC_MESSAGE_HANDLER(ChromeViewHostMsg_UpdatedCacheStats,
                         OnUpdatedCacheStats)
     IPC_MESSAGE_HANDLER(ChromeViewHostMsg_AllowDatabase, OnAllowDatabase)
@@ -128,6 +129,14 @@
   }
 }
 
+void ChromeRenderMessageFilter::OnNavigationHint(
+    const GURL& url,
+    blink::WebNavigationHintType type) {
+  // TODO(horo): We don't need to have this method in //chrome. Move it to
+  // //content while mojoifing network_hints. (crbug.com/610750)
+  // TODO(horo): Implement this.
+}
+
 void ChromeRenderMessageFilter::OnUpdatedCacheStats(
     uint64_t min_dead_capacity,
     uint64_t max_dead_capacity,
diff --git a/chrome/browser/renderer_host/chrome_render_message_filter.h b/chrome/browser/renderer_host/chrome_render_message_filter.h
index 97bf627c..7b2f294 100644
--- a/chrome/browser/renderer_host/chrome_render_message_filter.h
+++ b/chrome/browser/renderer_host/chrome_render_message_filter.h
@@ -16,6 +16,10 @@
 class GURL;
 class Profile;
 
+namespace blink {
+enum class WebNavigationHintType;
+}
+
 namespace chrome_browser_net {
 class Predictor;
 }
@@ -51,6 +55,7 @@
 
   void OnDnsPrefetch(const network_hints::LookupRequest& request);
   void OnPreconnect(const GURL& url, bool allow_credentials, int count);
+  void OnNavigationHint(const GURL& url, blink::WebNavigationHintType type);
   void OnUpdatedCacheStats(uint64_t min_capacity,
                            uint64_t max_capacity,
                            uint64_t capacity,
diff --git a/chrome/browser/resources/md_history/history.js b/chrome/browser/resources/md_history/history.js
index 8f248b9..e9d55e7 100644
--- a/chrome/browser/resources/md_history/history.js
+++ b/chrome/browser/resources/md_history/history.js
@@ -7,17 +7,24 @@
 chrome.send('queryHistory', ['', 0, 0, 0, RESULTS_PER_PAGE]);
 chrome.send('getForeignSessions');
 
+/** @type {Promise} */
+var upgradePromise = null;
+
 /**
- * @param {HTMLElement} element
- * @return {!Promise} Resolves once a Polymer element has been fully upgraded.
+ * @return {!Promise} Resolves once the history-app has been fully upgraded.
  */
-function waitForUpgrade(element) {
-  return new Promise(function(resolve, reject) {
-    if (window.Polymer && Polymer.isInstance && Polymer.isInstance(element))
-      resolve();
-    else
-      $('bundle').addEventListener('load', resolve);
-  });
+function waitForAppUpgrade() {
+  if (!upgradePromise) {
+    upgradePromise = new Promise(function(resolve, reject) {
+      if (window.Polymer && Polymer.isInstance &&
+          Polymer.isInstance($('history-app'))) {
+        resolve();
+      } else {
+        $('bundle').addEventListener('load', resolve);
+      }
+    });
+  }
+  return upgradePromise;
 }
 
 // Chrome Callbacks-------------------------------------------------------------
@@ -28,9 +35,9 @@
  * @param {!Array<HistoryEntry>} results A list of results.
  */
 function historyResult(info, results) {
-  var appElem = $('history-app');
-  waitForUpgrade(appElem).then(function() {
-    /** @type {HistoryAppElement} */(appElem).historyResult(info, results);
+  waitForAppUpgrade().then(function() {
+    /** @type {HistoryAppElement} */($('history-app'))
+        .historyResult(info, results);
     // TODO(tsergeant): Showing everything as soon as the list is ready is not
     // ideal, as the sidebar can still pop in after. Fix this to show everything
     // at once.
@@ -52,9 +59,8 @@
   // in the MD history anymore, so the parameter is not needed. Remove it
   // when WebUI is removed and this becomes the only client of
   // BrowsingHistoryHandler.
-  var appElem = $('history-app');
-  waitForUpgrade(appElem).then(function() {
-    /** @type {HistoryAppElement} */(appElem)
+  waitForAppUpgrade().then(function() {
+    /** @type {HistoryAppElement} */($('history-app'))
         .getSideBar().showFooter = includeOtherFormsOfBrowsingHistory;
   });
 }
@@ -69,9 +75,8 @@
  * @param {boolean} isTabSyncEnabled Is tab sync enabled for this profile?
  */
 function setForeignSessions(sessionList, isTabSyncEnabled) {
-  var appElem = $('history-app');
-  waitForUpgrade(appElem).then(function() {
-    /** @type {HistoryAppElement} */(appElem)
+  waitForAppUpgrade().then(function() {
+    /** @type {HistoryAppElement} */($('history-app'))
         .setForeignSessions(sessionList, isTabSyncEnabled);
   });
 }
@@ -87,9 +92,8 @@
  * @param {boolean} isUserSignedIn Whether user is signed in or not now.
  */
 function updateSignInState(isUserSignedIn) {
-  var appElem = $('history-app');
-  waitForUpgrade(appElem).then(function() {
-    /** @type {HistoryAppElement} */(appElem)
+  waitForAppUpgrade().then(function() {
+    /** @type {HistoryAppElement} */($('history-app'))
         .updateSignInState(isUserSignedIn);
   });
 }
diff --git a/chrome/browser/resources/md_history/synced_device_card.html b/chrome/browser/resources/md_history/synced_device_card.html
index 2f86b62..f811ba14 100644
--- a/chrome/browser/resources/md_history/synced_device_card.html
+++ b/chrome/browser/resources/md_history/synced_device_card.html
@@ -48,13 +48,13 @@
       }
 
       #collapse {
+        border-bottom: 1px solid var(--card-border-color);
         overflow: hidden;
       }
 
       #history-item-container {
         background: #fff;
         border: 1px solid var(--card-border-color);
-        border-bottom-width: 2px;
         border-radius: 2px;
       }
 
diff --git a/chrome/browser/ui/app_list/app_context_menu.cc b/chrome/browser/ui/app_list/app_context_menu.cc
index 5e85a6e..0a8fffa0 100644
--- a/chrome/browser/ui/app_list/app_context_menu.cc
+++ b/chrome/browser/ui/app_list/app_context_menu.cc
@@ -84,12 +84,6 @@
   return true;
 }
 
-bool AppContextMenu::GetAcceleratorForCommandId(
-    int command_id,
-    ui::Accelerator* accelerator) const {
-  return false;
-}
-
 void AppContextMenu::TogglePin(const std::string& shelf_app_id) {
   DCHECK_EQ(AppListControllerDelegate::PIN_EDITABLE,
       controller_->GetPinnable(shelf_app_id));
diff --git a/chrome/browser/ui/app_list/app_context_menu.h b/chrome/browser/ui/app_list/app_context_menu.h
index aea36ff1..9e03b09 100644
--- a/chrome/browser/ui/app_list/app_context_menu.h
+++ b/chrome/browser/ui/app_list/app_context_menu.h
@@ -51,8 +51,6 @@
   base::string16 GetLabelForCommandId(int command_id) const override;
   bool IsCommandIdChecked(int command_id) const override;
   bool IsCommandIdEnabled(int command_id) const override;
-  bool GetAcceleratorForCommandId(int command_id,
-                                  ui::Accelerator* accelerator) const override;
   void ExecuteCommand(int command_id, int event_flags) override;
 
  protected:
diff --git a/chrome/browser/ui/ash/launcher/launcher_application_menu_item_model.cc b/chrome/browser/ui/ash/launcher/launcher_application_menu_item_model.cc
index 7f89b3a..3801f92e 100644
--- a/chrome/browser/ui/ash/launcher/launcher_application_menu_item_model.cc
+++ b/chrome/browser/ui/ash/launcher/launcher_application_menu_item_model.cc
@@ -46,12 +46,6 @@
   return launcher_items_[command_id]->IsEnabled();
 }
 
-bool LauncherApplicationMenuItemModel::GetAcceleratorForCommandId(
-    int command_id,
-    ui::Accelerator* accelerator) const {
-  return false;
-}
-
 void LauncherApplicationMenuItemModel::ExecuteCommand(int command_id,
                                                       int event_flags) {
   DCHECK(command_id < static_cast<int>(launcher_items_.size()));
diff --git a/chrome/browser/ui/ash/launcher/launcher_application_menu_item_model.h b/chrome/browser/ui/ash/launcher/launcher_application_menu_item_model.h
index 583554b..5bf0a2c 100644
--- a/chrome/browser/ui/ash/launcher/launcher_application_menu_item_model.h
+++ b/chrome/browser/ui/ash/launcher/launcher_application_menu_item_model.h
@@ -32,8 +32,6 @@
   // Overridden from ui::SimpleMenuModel::Delegate:
   bool IsCommandIdChecked(int command_id) const override;
   bool IsCommandIdEnabled(int command_id) const override;
-  bool GetAcceleratorForCommandId(int command_id,
-                                  ui::Accelerator* accelerator) const override;
   void ExecuteCommand(int command_id, int event_flags) override;
 
  private:
diff --git a/chrome/browser/ui/ash/launcher/launcher_context_menu.cc b/chrome/browser/ui/ash/launcher/launcher_context_menu.cc
index f7c0604f..8a4be745 100644
--- a/chrome/browser/ui/ash/launcher/launcher_context_menu.cc
+++ b/chrome/browser/ui/ash/launcher/launcher_context_menu.cc
@@ -109,12 +109,6 @@
   }
 }
 
-bool LauncherContextMenu::GetAcceleratorForCommandId(
-    int command_id,
-    ui::Accelerator* accelerator) const {
-  return false;
-}
-
 void LauncherContextMenu::ExecuteCommand(int command_id, int event_flags) {
   switch (static_cast<MenuItem>(command_id)) {
     case MENU_OPEN_NEW:
diff --git a/chrome/browser/ui/ash/launcher/launcher_context_menu.h b/chrome/browser/ui/ash/launcher/launcher_context_menu.h
index 8a380db9..efdd5f80 100644
--- a/chrome/browser/ui/ash/launcher/launcher_context_menu.h
+++ b/chrome/browser/ui/ash/launcher/launcher_context_menu.h
@@ -35,8 +35,6 @@
   base::string16 GetLabelForCommandId(int command_id) const override;
   bool IsCommandIdChecked(int command_id) const override;
   bool IsCommandIdEnabled(int command_id) const override;
-  bool GetAcceleratorForCommandId(int command_id,
-                                  ui::Accelerator* accelerator) const override;
   void ExecuteCommand(int command_id, int event_flags) override;
 
  protected:
diff --git a/chrome/browser/ui/ash/multi_user/multi_user_context_menu_chromeos.cc b/chrome/browser/ui/ash/multi_user/multi_user_context_menu_chromeos.cc
index df2cbebc..d25e1256 100644
--- a/chrome/browser/ui/ash/multi_user/multi_user_context_menu_chromeos.cc
+++ b/chrome/browser/ui/ash/multi_user/multi_user_context_menu_chromeos.cc
@@ -40,10 +40,6 @@
   // SimpleMenuModel::Delegate:
   bool IsCommandIdChecked(int command_id) const override { return false; }
   bool IsCommandIdEnabled(int command_id) const override { return true; }
-  bool GetAcceleratorForCommandId(int command_id,
-                                  ui::Accelerator* accelerator) const override {
-    return false;
-  }
   void ExecuteCommand(int command_id, int event_flags) override;
 
  private:
diff --git a/chrome/browser/ui/autofill/autofill_dialog_models.cc b/chrome/browser/ui/autofill/autofill_dialog_models.cc
index b2fbce6..71f02b1 100644
--- a/chrome/browser/ui/autofill/autofill_dialog_models.cc
+++ b/chrome/browser/ui/autofill/autofill_dialog_models.cc
@@ -110,12 +110,6 @@
   return items_[command_id].enabled;
 }
 
-bool SuggestionsMenuModel::GetAcceleratorForCommandId(
-    int command_id,
-    ui::Accelerator* accelerator) const {
-  return false;
-}
-
 void SuggestionsMenuModel::ExecuteCommand(int command_id, int event_flags) {
   delegate_->SuggestionItemSelected(this, command_id);
 }
diff --git a/chrome/browser/ui/autofill/autofill_dialog_models.h b/chrome/browser/ui/autofill/autofill_dialog_models.h
index 101a1743..0fec489 100644
--- a/chrome/browser/ui/autofill/autofill_dialog_models.h
+++ b/chrome/browser/ui/autofill/autofill_dialog_models.h
@@ -84,8 +84,6 @@
   // ui::SimpleMenuModel::Delegate implementation.
   bool IsCommandIdChecked(int command_id) const override;
   bool IsCommandIdEnabled(int command_id) const override;
-  bool GetAcceleratorForCommandId(int command_id,
-                                  ui::Accelerator* accelerator) const override;
   void ExecuteCommand(int command_id, int event_flags) override;
 
  private:
diff --git a/chrome/browser/ui/bookmarks/bookmark_context_menu_controller.cc b/chrome/browser/ui/bookmarks/bookmark_context_menu_controller.cc
index d05b36e..b4d26e4 100644
--- a/chrome/browser/ui/bookmarks/bookmark_context_menu_controller.cc
+++ b/chrome/browser/ui/bookmarks/bookmark_context_menu_controller.cc
@@ -432,12 +432,6 @@
   return true;
 }
 
-bool BookmarkContextMenuController::GetAcceleratorForCommandId(
-    int command_id,
-    ui::Accelerator* accelerator) const {
-  return false;
-}
-
 void BookmarkContextMenuController::BookmarkModelChanged() {
   if (delegate_)
     delegate_->CloseMenu();
diff --git a/chrome/browser/ui/bookmarks/bookmark_context_menu_controller.h b/chrome/browser/ui/bookmarks/bookmark_context_menu_controller.h
index c020f733..03eba597 100644
--- a/chrome/browser/ui/bookmarks/bookmark_context_menu_controller.h
+++ b/chrome/browser/ui/bookmarks/bookmark_context_menu_controller.h
@@ -67,8 +67,6 @@
   bool IsCommandIdChecked(int command_id) const override;
   bool IsCommandIdEnabled(int command_id) const override;
   bool IsCommandIdVisible(int command_id) const override;
-  bool GetAcceleratorForCommandId(int command_id,
-                                  ui::Accelerator* accelerator) const override;
   void ExecuteCommand(int command_id, int event_flags) override;
   bool IsItemForCommandIdDynamic(int command_id) const override;
   base::string16 GetLabelForCommandId(int command_id) const override;
diff --git a/chrome/browser/ui/cocoa/renderer_context_menu/render_view_context_menu_mac.h b/chrome/browser/ui/cocoa/renderer_context_menu/render_view_context_menu_mac.h
index ef790db..05159cbe 100644
--- a/chrome/browser/ui/cocoa/renderer_context_menu/render_view_context_menu_mac.h
+++ b/chrome/browser/ui/cocoa/renderer_context_menu/render_view_context_menu_mac.h
@@ -33,8 +33,6 @@
 
  protected:
   // RenderViewContextMenu implementation.
-  bool GetAcceleratorForCommandId(int command_id,
-                                  ui::Accelerator* accelerator) const override;
   void AppendPlatformEditableItems() override;
 
  private:
diff --git a/chrome/browser/ui/cocoa/renderer_context_menu/render_view_context_menu_mac.mm b/chrome/browser/ui/cocoa/renderer_context_menu/render_view_context_menu_mac.mm
index 833b3317..549d41b 100644
--- a/chrome/browser/ui/cocoa/renderer_context_menu/render_view_context_menu_mac.mm
+++ b/chrome/browser/ui/cocoa/renderer_context_menu/render_view_context_menu_mac.mm
@@ -331,12 +331,6 @@
   }
 }
 
-bool RenderViewContextMenuMac::GetAcceleratorForCommandId(
-    int command_id,
-    ui::Accelerator* accelerator) const {
-  return false;
-}
-
 void RenderViewContextMenuMac::AppendPlatformEditableItems() {
   // OS X provides a contextual menu to set writing direction for BiDi
   // languages.
diff --git a/chrome/browser/ui/cocoa/tabs/tab_controller.mm b/chrome/browser/ui/cocoa/tabs/tab_controller.mm
index 224ef9b7..225247e 100644
--- a/chrome/browser/ui/cocoa/tabs/tab_controller.mm
+++ b/chrome/browser/ui/cocoa/tabs/tab_controller.mm
@@ -47,10 +47,6 @@
         static_cast<TabStripModel::ContextMenuCommand>(command_id);
     return [target_ isCommandEnabled:command forController:owner_];
   }
-  bool GetAcceleratorForCommandId(int command_id,
-                                  ui::Accelerator* accelerator) const override {
-    return false;
-  }
   void ExecuteCommand(int command_id, int event_flags) override {
     TabStripModel::ContextMenuCommand command =
         static_cast<TabStripModel::ContextMenuCommand>(command_id);
diff --git a/chrome/browser/ui/content_settings/content_setting_media_menu_model.cc b/chrome/browser/ui/content_settings/content_setting_media_menu_model.cc
index 87c214e..aba2b64 100644
--- a/chrome/browser/ui/content_settings/content_setting_media_menu_model.cc
+++ b/chrome/browser/ui/content_settings/content_setting_media_menu_model.cc
@@ -45,12 +45,6 @@
   return true;
 }
 
-bool ContentSettingMediaMenuModel::GetAcceleratorForCommandId(
-    int command_id,
-    ui::Accelerator* accelerator) const {
-  return false;
-}
-
 void ContentSettingMediaMenuModel::ExecuteCommand(int command_id,
                                                   int event_flags) {
   CommandMap::const_iterator it = commands_.find(command_id);
diff --git a/chrome/browser/ui/content_settings/content_setting_media_menu_model.h b/chrome/browser/ui/content_settings/content_setting_media_menu_model.h
index 280ae7b..e0ef9a8 100644
--- a/chrome/browser/ui/content_settings/content_setting_media_menu_model.h
+++ b/chrome/browser/ui/content_settings/content_setting_media_menu_model.h
@@ -34,8 +34,6 @@
   // ui::SimpleMenuModel::Delegate:
   bool IsCommandIdChecked(int command_id) const override;
   bool IsCommandIdEnabled(int command_id) const override;
-  bool GetAcceleratorForCommandId(int command_id,
-                                  ui::Accelerator* accelerator) const override;
   void ExecuteCommand(int command_id, int event_flags) override;
 
  private:
diff --git a/chrome/browser/ui/panels/panel_extension_browsertest.cc b/chrome/browser/ui/panels/panel_extension_browsertest.cc
index 54cc05645..cad779f 100644
--- a/chrome/browser/ui/panels/panel_extension_browsertest.cc
+++ b/chrome/browser/ui/panels/panel_extension_browsertest.cc
@@ -125,13 +125,6 @@
   }
 
   void Show() override {}
-
- protected:
-  // RenderViewContextMenu implementation.
-  bool GetAcceleratorForCommandId(int command_id,
-                                  ui::Accelerator* accelerator) const override {
-    return false;
-  }
 };
 
 IN_PROC_BROWSER_TEST_F(PanelExtensionBrowserTest, BasicContextMenu) {
diff --git a/chrome/browser/ui/toolbar/app_menu_model.cc b/chrome/browser/ui/toolbar/app_menu_model.cc
index 9209ab16..3c01b65 100644
--- a/chrome/browser/ui/toolbar/app_menu_model.cc
+++ b/chrome/browser/ui/toolbar/app_menu_model.cc
@@ -169,12 +169,6 @@
   return enabled;
 }
 
-bool EncodingMenuModel::GetAcceleratorForCommandId(
-    int command_id,
-    ui::Accelerator* accelerator) const {
-  return false;
-}
-
 void EncodingMenuModel::ExecuteCommand(int command_id, int event_flags) {
   chrome::ExecuteCommand(browser_, command_id);
 }
diff --git a/chrome/browser/ui/toolbar/app_menu_model.h b/chrome/browser/ui/toolbar/app_menu_model.h
index 96349154..b9cc671f 100644
--- a/chrome/browser/ui/toolbar/app_menu_model.h
+++ b/chrome/browser/ui/toolbar/app_menu_model.h
@@ -85,8 +85,6 @@
   // Overridden from ui::SimpleMenuModel::Delegate:
   bool IsCommandIdChecked(int command_id) const override;
   bool IsCommandIdEnabled(int command_id) const override;
-  bool GetAcceleratorForCommandId(int command_id,
-                                  ui::Accelerator* accelerator) const override;
   void ExecuteCommand(int command_id, int event_flags) override;
 
  private:
diff --git a/chrome/browser/ui/toolbar/media_router_contextual_menu.cc b/chrome/browser/ui/toolbar/media_router_contextual_menu.cc
index 8caf084b7..e22a3e0 100644
--- a/chrome/browser/ui/toolbar/media_router_contextual_menu.cc
+++ b/chrome/browser/ui/toolbar/media_router_contextual_menu.cc
@@ -83,12 +83,6 @@
   return true;
 }
 
-bool MediaRouterContextualMenu::GetAcceleratorForCommandId(
-    int command_id,
-    ui::Accelerator* accelerator) const {
-  return false;
-}
-
 void MediaRouterContextualMenu::ExecuteCommand(int command_id,
                                                int event_flags) {
   const char kAboutPageUrl[] =
diff --git a/chrome/browser/ui/toolbar/media_router_contextual_menu.h b/chrome/browser/ui/toolbar/media_router_contextual_menu.h
index 42b57ed..234f785 100644
--- a/chrome/browser/ui/toolbar/media_router_contextual_menu.h
+++ b/chrome/browser/ui/toolbar/media_router_contextual_menu.h
@@ -24,8 +24,6 @@
   bool IsCommandIdChecked(int command_id) const override;
   bool IsCommandIdEnabled(int command_id) const override;
   bool IsCommandIdVisible(int command_id) const override;
-  bool GetAcceleratorForCommandId(int command_id,
-                                  ui::Accelerator* accelerator) const override;
   void ExecuteCommand(int command_id, int event_flags) override;
 
   void ReportIssue();
diff --git a/chrome/browser/ui/views/new_task_manager_view.cc b/chrome/browser/ui/views/new_task_manager_view.cc
index a73d48a..8d3135bb 100644
--- a/chrome/browser/ui/views/new_task_manager_view.cc
+++ b/chrome/browser/ui/views/new_task_manager_view.cc
@@ -278,12 +278,6 @@
   return true;
 }
 
-bool NewTaskManagerView::GetAcceleratorForCommandId(
-    int command_id,
-    ui::Accelerator* accelerator) const {
-  return false;
-}
-
 void NewTaskManagerView::ExecuteCommand(int id, int event_flags) {
   table_model_->ToggleColumnVisibility(id);
 }
diff --git a/chrome/browser/ui/views/new_task_manager_view.h b/chrome/browser/ui/views/new_task_manager_view.h
index 1f9543a6d..ad177e6d 100644
--- a/chrome/browser/ui/views/new_task_manager_view.h
+++ b/chrome/browser/ui/views/new_task_manager_view.h
@@ -88,8 +88,6 @@
   // ui::SimpleMenuModel::Delegate:
   bool IsCommandIdChecked(int id) const override;
   bool IsCommandIdEnabled(int id) const override;
-  bool GetAcceleratorForCommandId(int command_id,
-                                  ui::Accelerator* accelerator) const override;
   void ExecuteCommand(int id, int event_flags) override;
 
  private:
diff --git a/chrome/browser/ui/views/translate/translate_bubble_view.cc b/chrome/browser/ui/views/translate/translate_bubble_view.cc
index 29f24e21..17d921c2 100644
--- a/chrome/browser/ui/views/translate/translate_bubble_view.cc
+++ b/chrome/browser/ui/views/translate/translate_bubble_view.cc
@@ -316,12 +316,6 @@
   return true;
 }
 
-bool TranslateBubbleView::GetAcceleratorForCommandId(
-    int command_id,
-    ui::Accelerator* accelerator) const {
-  return false;
-}
-
 void TranslateBubbleView::ExecuteCommand(int command_id, int event_flags) {
   model_->DeclineTranslation();
   switch (command_id) {
diff --git a/chrome/browser/ui/views/translate/translate_bubble_view.h b/chrome/browser/ui/views/translate/translate_bubble_view.h
index ec8f744..a8b9a13 100644
--- a/chrome/browser/ui/views/translate/translate_bubble_view.h
+++ b/chrome/browser/ui/views/translate/translate_bubble_view.h
@@ -108,8 +108,6 @@
   // ui::SimpleMenuModel::Delegate methods.
   bool IsCommandIdChecked(int command_id) const override;
   bool IsCommandIdEnabled(int command_id) const override;
-  bool GetAcceleratorForCommandId(int command_id,
-                                  ui::Accelerator* accelerator) const override;
   void ExecuteCommand(int command_id, int event_flags) override;
 
   // views::StyledLabelListener method.
diff --git a/chrome/browser/ui/website_settings/permission_menu_model.cc b/chrome/browser/ui/website_settings/permission_menu_model.cc
index 9944b12..6b9c781d 100644
--- a/chrome/browser/ui/website_settings/permission_menu_model.cc
+++ b/chrome/browser/ui/website_settings/permission_menu_model.cc
@@ -119,13 +119,6 @@
   return true;
 }
 
-bool PermissionMenuModel::GetAcceleratorForCommandId(
-    int command_id,
-    ui::Accelerator* accelerator) const {
-  // Accelerators are not supported.
-  return false;
-}
-
 void PermissionMenuModel::ExecuteCommand(int command_id, int event_flags) {
   permission_.setting = static_cast<ContentSetting>(command_id);
   callback_.Run(permission_);
diff --git a/chrome/browser/ui/website_settings/permission_menu_model.h b/chrome/browser/ui/website_settings/permission_menu_model.h
index 8a28b1a..6ab5696 100644
--- a/chrome/browser/ui/website_settings/permission_menu_model.h
+++ b/chrome/browser/ui/website_settings/permission_menu_model.h
@@ -34,8 +34,6 @@
   // Overridden from ui::SimpleMenuModel::Delegate:
   bool IsCommandIdChecked(int command_id) const override;
   bool IsCommandIdEnabled(int command_id) const override;
-  bool GetAcceleratorForCommandId(int command_id,
-                                  ui::Accelerator* accelerator) const override;
   void ExecuteCommand(int command_id, int event_flags) override;
 
  private:
diff --git a/chrome/browser/ui/webui/options/startup_page_list_browsertest.js b/chrome/browser/ui/webui/options/startup_page_list_browsertest.js
index 1df6e28..6879507 100644
--- a/chrome/browser/ui/webui/options/startup_page_list_browsertest.js
+++ b/chrome/browser/ui/webui/options/startup_page_list_browsertest.js
@@ -122,8 +122,8 @@
   return event;
 }
 
-// Disabled due to: crbug.com/419370
-TEST_F('StartupPageListWebUITest', 'DISABLED_testDropFromOutsideSource',
+// Disable if flaky again (crbug.com/419370)
+TEST_F('StartupPageListWebUITest', 'testDropFromOutsideSource',
        function() {
   /** @const */ var NEW_PAGE = 'http://google.com';
 
@@ -137,8 +137,8 @@
   expectTrue(mockDropEvent.defaultPrevented);
 });
 
-// Disabled due to: crbug.com/419370
-TEST_F('StartupPageListWebUITest', 'DISABLED_testDropToReorder', function() {
+// Disable if flaky again (crbug.com/419370)
+TEST_F('StartupPageListWebUITest', 'testDropToReorder', function() {
   // TODO(dbeam): mock4js doesn't handle complex arguments well. Fix this.
   this.mockHandler.expects(once()).dragDropStartupPage([0, [1].join()]);
 
diff --git a/chrome/installer/setup/setup_main.cc b/chrome/installer/setup/setup_main.cc
index 62db166..3ebe6d8 100644
--- a/chrome/installer/setup/setup_main.cc
+++ b/chrome/installer/setup/setup_main.cc
@@ -466,9 +466,7 @@
   return ret;
 }
 
-// If only the binaries are being updated, fail.
-// If any product is being installed in single-mode that already exists in
-// multi-mode, fail.
+// Fail with UNUSED_BINARIES if only the binaries are being updated.
 bool CheckMultiInstallConditions(const InstallationState& original_state,
                                  InstallerState* installer_state,
                                  installer::InstallStatus* status) {
@@ -956,6 +954,7 @@
         system_install, archive_type, install_status);
   }
 
+  // Handle installer::UNUSED_BINARIES returned by CheckPreInstallConditions.
   UninstallBinariesIfUnused(original_state, *installer_state, &install_status);
 
   RepairChromeIfBroken(original_state, *installer_state);
diff --git a/chrome/installer/setup/setup_util.cc b/chrome/installer/setup/setup_util.cc
index 065e02e..b867605 100644
--- a/chrome/installer/setup/setup_util.cc
+++ b/chrome/installer/setup/setup_util.cc
@@ -34,7 +34,6 @@
 #include "chrome/installer/setup/user_hive_visitor.h"
 #include "chrome/installer/util/app_registration_data.h"
 #include "chrome/installer/util/google_update_constants.h"
-#include "chrome/installer/util/install_util.h"
 #include "chrome/installer/util/installation_state.h"
 #include "chrome/installer/util/installer_state.h"
 #include "chrome/installer/util/master_preferences.h"
diff --git a/chrome/renderer/extensions/extension_localization_peer.cc b/chrome/renderer/extensions/extension_localization_peer.cc
index b1b72fd..14c0d2d 100644
--- a/chrome/renderer/extensions/extension_localization_peer.cc
+++ b/chrome/renderer/extensions/extension_localization_peer.cc
@@ -23,7 +23,6 @@
 class StringData final : public content::RequestPeer::ReceivedData {
  public:
   explicit StringData(const std::string& data) : data_(data) {}
-  void Append(const char* data, int length) { data_.append(data, length); }
 
   const char* payload() const override { return data_.data(); }
   int length() const override { return data_.size(); }
@@ -33,7 +32,7 @@
   int encoded_body_length() const override { return data_.size(); }
 
  private:
-  std::string data_;
+  const std::string data_;
 
   DISALLOW_COPY_AND_ASSIGN(StringData);
 };
diff --git a/chrome/test/data/webui/md_history/md_history_browsertest.js b/chrome/test/data/webui/md_history/md_history_browsertest.js
index 200a0c12..f2a329a 100644
--- a/chrome/test/data/webui/md_history/md_history_browsertest.js
+++ b/chrome/test/data/webui/md_history/md_history_browsertest.js
@@ -45,7 +45,7 @@
 
     suiteSetup(function() {
       // Wait for the top-level app element to be upgraded.
-      return waitForUpgrade($('history-app')).then(function() {
+      return waitForAppUpgrade().then(function() {
         $('history-app').queryState_.queryingDisabled = true;
       });
     });
@@ -132,7 +132,7 @@
       });
 
       // Wait for the top-level app element to be upgraded.
-      return waitForUpgrade($('history-app'));
+      return waitForAppUpgrade();
     });
   },
 };
diff --git a/chrome/test/mini_installer/config/chrome_single_user_installed.prop b/chrome/test/mini_installer/config/chrome_single_user_installed.prop
new file mode 100644
index 0000000..5071126b
--- /dev/null
+++ b/chrome/test/mini_installer/config/chrome_single_user_installed.prop
@@ -0,0 +1,46 @@
+{
+  "Files": {
+    "$LOCAL_APPDATA\\$CHROME_DIR\\Application\\chrome.exe": {"exists": true},
+    "$LOCAL_APPDATA\\$CHROME_DIR\\Application\\$MINI_INSTALLER_FILE_VERSION\\chrome.dll":
+        {"exists": true},
+    "$LOCAL_APPDATA\\$CHROME_DIR\\Application\\$MINI_INSTALLER_FILE_VERSION\\chrome_elf.dll":
+        {"exists": true},
+    "$LOCAL_APPDATA\\$CHROME_DIR\\Application\\$MINI_INSTALLER_FILE_VERSION\\Installer\\chrome.7z":
+        {"exists": true},
+    "$LOCAL_APPDATA\\$CHROME_DIR\\Application\\$MINI_INSTALLER_FILE_VERSION\\Installer\\setup.exe":
+        {"exists": true},
+    "$LOCAL_APPDATA\\$CHROME_DIR\\Application\\$MINI_INSTALLER_FILE_VERSION\\$MINI_INSTALLER_FILE_VERSION.manifest":
+        {"exists": true}
+  },
+  "RegistryEntries": {
+    "HKEY_CURRENT_USER\\$CHROME_UPDATE_REGISTRY_SUBKEY": {
+      "exists": "required",
+      "values": {
+        "pv": {"type": "SZ", "data": "$MINI_INSTALLER_FILE_VERSION"}
+      }
+    },
+    "HKEY_CURRENT_USER\\$BINARIES_UPDATE_REGISTRY_SUBKEY": {
+      "exists": "forbidden"
+    },
+    "HKEY_CURRENT_USER\\$LAUNCHER_UPDATE_REGISTRY_SUBKEY": {
+      "condition": "'$CHROME_SHORT_NAME' == 'Chrome'",
+      "exists": "required",
+      "values": {
+        "pv": {"type": "SZ", "data": "$MINI_INSTALLER_FILE_VERSION"}
+      }
+    },
+    "HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\$CHROME_LONG_NAME": {
+      "exists": "required",
+      "values": {
+        "UninstallString": {
+          "type": "SZ",
+          "data": "\"$LOCAL_APPDATA\\$CHROME_DIR\\Application\\$MINI_INSTALLER_FILE_VERSION\\Installer\\setup.exe\" --uninstall --verbose-logging"
+        },
+        "Version": {"type": "SZ", "data": "$MINI_INSTALLER_FILE_VERSION"}
+      }
+    },
+    "HKEY_CURRENT_USER\\Software\\Classes\\$CHROME_SHORT_NAME$USER_SPECIFIC_REGISTRY_SUFFIX": {
+      "exists": "forbidden"
+    }
+  }
+}
diff --git a/chrome/test/mini_installer/config/chrome_user_binaries_killed.prop b/chrome/test/mini_installer/config/chrome_user_binaries_killed.prop
new file mode 100644
index 0000000..bf7e194
--- /dev/null
+++ b/chrome/test/mini_installer/config/chrome_user_binaries_killed.prop
@@ -0,0 +1,10 @@
+{
+  "RegistryEntries": {
+    "HKEY_CURRENT_USER\\$BINARIES_UPDATE_REGISTRY_SUBKEY": {
+      "exists": "required",
+      "values": {
+        "pv": {}
+      }
+    }
+  }
+}
diff --git a/chrome/test/mini_installer/config/config.config b/chrome/test/mini_installer/config/config.config
index 3e55863..b3f9c24b 100644
--- a/chrome/test/mini_installer/config/config.config
+++ b/chrome/test/mini_installer/config/config.config
@@ -21,6 +21,13 @@
                                            "chrome_user_not_inuse.prop",
                                            "chrome_canary_not_inuse.prop",
                                            "chrome_system_not_inuse.prop"]],
+    ["chrome_single_user_installed_not_inuse",
+      ["chrome_single_user_installed.prop",
+       "chrome_canary_not_installed.prop",
+       "chrome_system_not_installed.prop",
+       "chrome_user_not_inuse.prop",
+       "chrome_canary_not_inuse.prop",
+       "chrome_system_not_inuse.prop"]],
     ["chrome_system_installed_not_inuse", ["chrome_user_not_installed.prop",
                                            "chrome_canary_not_installed.prop",
                                            "chrome_system_installed.prop",
@@ -51,7 +58,8 @@
                                        "chrome_user_not_inuse.prop",
                                        "chrome_canary_not_inuse.prop",
                                        "chrome_system_inuse.prop"]],
-    ["no_chrome_user", ["chrome_user_killed.prop"]]
+    ["no_chrome_user", ["chrome_user_killed.prop"]],
+    ["no_chrome_user_binaries", ["chrome_user_binaries_killed.prop"]]
   ],
   "actions": [
     ["delete_user_chrome_lastrun",
@@ -60,8 +68,12 @@
      "\"$MINI_INSTALLER\" --chrome --multi-install --verbose-logging --do-not-launch-chrome"],
     ["install_chrome_canary",
      "\"$MINI_INSTALLER\" --chrome-sxs --verbose-logging --do-not-launch-chrome"],
+    ["install_chrome_single_user",
+     "\"$MINI_INSTALLER\" --verbose-logging --do-not-launch-chrome"],
     ["install_chrome_system",
      "\"$MINI_INSTALLER\" --chrome --multi-install --verbose-logging --system-level --do-not-launch-chrome"],
+    ["kill_user_binaries",
+     "reg.exe delete \"HKEY_CURRENT_USER\\$BINARIES_UPDATE_REGISTRY_SUBKEY\" /v pv /f /reg:32"],
     ["kill_user_chrome",
      "reg.exe delete \"HKEY_CURRENT_USER\\$CHROME_UPDATE_REGISTRY_SUBKEY\" /v pv /f /reg:32"],
     ["launch_chrome_user",
@@ -113,6 +125,52 @@
       ]
     },
     {
+      "name": "MultiToSingle",
+      "description": "Verifies that a single-install update on top of multi-install Chrome will migrate.",
+      "traversal": [
+        "no_pv",
+        "install_chrome_user", "chrome_user_installed_not_inuse",
+        "install_chrome_single_user", "chrome_single_user_installed_not_inuse",
+        "uninstall_chrome_user", "clean"
+      ]
+    },
+    {
+      "name": "MultiToSingleNoBinaries",
+      "description": "Verifies that a single-install update on top of multi-install Chrome will migrate when the binaries are missing from the Clients key.",
+      "traversal": [
+        "no_pv",
+        "install_chrome_user", "chrome_user_installed_not_inuse",
+        "kill_user_binaries", "no_chrome_user_binaries",
+        "install_chrome_single_user", "chrome_single_user_installed_not_inuse",
+        "uninstall_chrome_user", "clean"
+      ]
+    },
+    {
+      "name": "MultiToSingleNoChromeRepairActive",
+      "description": "Verifies that a single-install update on top of multi-install Chrome will migrate when Chrome is missing from the Clients key yet appears to be actively used.",
+      "traversal": [
+        "no_pv",
+        "install_chrome_user", "chrome_user_installed_not_inuse",
+        "update_user_chrome_lastrun", "chrome_user_installed_not_inuse",
+        "kill_user_chrome", "no_chrome_user",
+        "install_chrome_single_user", "chrome_single_user_installed_not_inuse",
+        "uninstall_chrome_user", "clean"
+      ]
+    },
+    {
+      "name": "MultiToSingleNoChromeRepairInactive",
+      "description": "Verifies that a single-install update on top of multi-install Chrome will migrate if Chrome is missing from the Clients key and does not appear to be actively used.",
+      "traversal": [
+        "no_pv",
+        "install_chrome_user", "chrome_user_installed_not_inuse",
+        "update_user_chrome_lastrun", "chrome_user_installed_not_inuse",
+        "delete_user_chrome_lastrun", "chrome_user_installed_not_inuse",
+        "kill_user_chrome", "no_chrome_user",
+        "install_chrome_single_user", "chrome_single_user_installed_not_inuse",
+        "uninstall_chrome_user", "clean"
+      ]
+    },
+    {
       "name": "ChromeUserLevel",
       "description": "Verifies that multi-install user-level Chrome can be installed and uninstalled.",
       "traversal": [
diff --git a/chromeos/CHROMEOS_LKGM b/chromeos/CHROMEOS_LKGM
index 133ff98..3a8e498a 100644
--- a/chromeos/CHROMEOS_LKGM
+++ b/chromeos/CHROMEOS_LKGM
@@ -1 +1 @@
-8622.0.0
\ No newline at end of file
+8630.0.0
\ No newline at end of file
diff --git a/components/network_hints/common/OWNERS b/components/network_hints/common/OWNERS
new file mode 100644
index 0000000..42444bc
--- /dev/null
+++ b/components/network_hints/common/OWNERS
@@ -0,0 +1,2 @@
+per-file *_messages*.h=set noparent
+per-file *_messages*.h=file://ipc/SECURITY_OWNERS
diff --git a/components/network_hints/common/network_hints_messages.h b/components/network_hints/common/network_hints_messages.h
index 82fce8f..bc4d163a 100644
--- a/components/network_hints/common/network_hints_messages.h
+++ b/components/network_hints/common/network_hints_messages.h
@@ -9,6 +9,7 @@
 #include "components/network_hints/common/network_hints_common.h"
 #include "ipc/ipc_message_macros.h"
 #include "ipc/ipc_message_utils.h"
+#include "third_party/WebKit/public/platform/WebNavigationHintType.h"
 #include "url/ipc/url_param_traits.h"
 
 // Singly-included section for custom IPC traits.
@@ -33,6 +34,9 @@
 
 #define IPC_MESSAGE_START NetworkHintsMsgStart
 
+IPC_ENUM_TRAITS_MAX_VALUE(blink::WebNavigationHintType,
+                          blink::WebNavigationHintType::Last)
+
 //-----------------------------------------------------------------------------
 // Host messages
 // These are messages sent from the renderer process to the browser process.
@@ -48,3 +52,8 @@
                      GURL /* preconnect target url */,
                      bool /* Does connection have its credentials flag set */,
                      int /* number of connections */)
+
+// Request to trigger possible optimizations for navigation.
+IPC_MESSAGE_CONTROL2(NetworkHintsMsg_NavigationHint,
+                     GURL /* document url */,
+                     blink::WebNavigationHintType /* navigation hint type */)
diff --git a/components/network_hints/renderer/prescient_networking_dispatcher.cc b/components/network_hints/renderer/prescient_networking_dispatcher.cc
index a5145ac..7284bc2f 100644
--- a/components/network_hints/renderer/prescient_networking_dispatcher.cc
+++ b/components/network_hints/renderer/prescient_networking_dispatcher.cc
@@ -5,6 +5,10 @@
 #include "components/network_hints/renderer/prescient_networking_dispatcher.h"
 
 #include "base/logging.h"
+#include "components/network_hints/common/network_hints_messages.h"
+#include "content/public/renderer/render_thread.h"
+
+using content::RenderThread;
 
 namespace network_hints {
 
@@ -30,4 +34,12 @@
   preconnect_.Preconnect(url, allow_credentials);
 }
 
+void PrescientNetworkingDispatcher::sendNavigationHint(
+    const blink::WebURL& url,
+    blink::WebNavigationHintType type) {
+  if (!url.isValid())
+    return;
+  RenderThread::Get()->Send(new NetworkHintsMsg_NavigationHint(url, type));
+}
+
 }  // namespace network_hints
diff --git a/components/network_hints/renderer/prescient_networking_dispatcher.h b/components/network_hints/renderer/prescient_networking_dispatcher.h
index a4e7ecd..c7f68ec4 100644
--- a/components/network_hints/renderer/prescient_networking_dispatcher.h
+++ b/components/network_hints/renderer/prescient_networking_dispatcher.h
@@ -10,6 +10,10 @@
 #include "components/network_hints/renderer/renderer_preconnect.h"
 #include "third_party/WebKit/public/platform/WebPrescientNetworking.h"
 
+namespace blink {
+enum class WebNavigationHintType;
+}
+
 namespace network_hints {
 
 // The main entry point from blink for sending DNS prefetch requests to the
@@ -22,6 +26,8 @@
   void prefetchDNS(const blink::WebString& hostname) override;
   void preconnect(const blink::WebURL& url,
                   const bool allow_credentials) override;
+  void sendNavigationHint(const blink::WebURL& url,
+                          blink::WebNavigationHintType type) override;
 
  private:
   network_hints::RendererDnsPrefetch dns_prefetch_;
diff --git a/components/renderer_context_menu/render_view_context_menu_base.h b/components/renderer_context_menu/render_view_context_menu_base.h
index d57b9dc1..60f31292 100644
--- a/components/renderer_context_menu/render_view_context_menu_base.h
+++ b/components/renderer_context_menu/render_view_context_menu_base.h
@@ -148,10 +148,6 @@
   virtual void HandleAuthorizeAllPlugins() = 0;
 #endif
 
-  // Returns the accelerator for given |command_id|.
-  bool GetAcceleratorForCommandId(int command_id, ui::Accelerator* accelerator)
-      const override = 0;
-
   // Subclasses should send notification.
   virtual void NotifyMenuShown() = 0;
   virtual void NotifyURLOpened(const GURL& url,
diff --git a/components/translate/core/browser/options_menu_model.cc b/components/translate/core/browser/options_menu_model.cc
index f56ddb0..9f2c289 100644
--- a/components/translate/core/browser/options_menu_model.cc
+++ b/components/translate/core/browser/options_menu_model.cc
@@ -100,12 +100,6 @@
   return true;
 }
 
-bool OptionsMenuModel::GetAcceleratorForCommandId(
-    int command_id,
-    ui::Accelerator* accelerator) const {
-  return false;
-}
-
 void OptionsMenuModel::ExecuteCommand(int command_id, int event_flags) {
   switch (command_id) {
     case NEVER_TRANSLATE_LANGUAGE:
diff --git a/components/translate/core/browser/options_menu_model.h b/components/translate/core/browser/options_menu_model.h
index 165fdff..ad4a9c9 100644
--- a/components/translate/core/browser/options_menu_model.h
+++ b/components/translate/core/browser/options_menu_model.h
@@ -32,8 +32,6 @@
   // ui::SimpleMenuModel::Delegate implementation:
   bool IsCommandIdChecked(int command_id) const override;
   bool IsCommandIdEnabled(int command_id) const override;
-  bool GetAcceleratorForCommandId(int command_id,
-                                  ui::Accelerator* accelerator) const override;
   void ExecuteCommand(int command_id, int event_flags) override;
 
  private:
diff --git a/content/browser/service_worker/service_worker_process_manager.cc b/content/browser/service_worker/service_worker_process_manager.cc
index d59b221..060c66b7 100644
--- a/content/browser/service_worker/service_worker_process_manager.cc
+++ b/content/browser/service_worker/service_worker_process_manager.cc
@@ -189,9 +189,7 @@
     return;
   }
 
-  // TODO(nhiroki): Make sure the instance info is not mixed up.
-  // (http://crbug.com/568915)
-  CHECK(!ContainsKey(instance_info_, embedded_worker_id))
+  DCHECK(!ContainsKey(instance_info_, embedded_worker_id))
       << embedded_worker_id << " already has a process allocated";
 
   if (can_use_existing_process) {
diff --git a/content/shell/browser/shell_web_contents_view_delegate_views.cc b/content/shell/browser/shell_web_contents_view_delegate_views.cc
index 26a43b5..e36d4d18 100644
--- a/content/shell/browser/shell_web_contents_view_delegate_views.cc
+++ b/content/shell/browser/shell_web_contents_view_delegate_views.cc
@@ -32,10 +32,6 @@
   // ui::SimpleMenuModel::Delegate:
   bool IsCommandIdChecked(int command_id) const override { return false; }
   bool IsCommandIdEnabled(int command_id) const override { return true; }
-  bool GetAcceleratorForCommandId(int command_id,
-                                  ui::Accelerator* accelerator) const override {
-    return false;
-  }
   void ExecuteCommand(int command_id, int event_flags) override {
     switch (command_id) {
       case COMMAND_OPEN_DEVTOOLS:
diff --git a/content/test/gpu/gpu_tests/webgl2_conformance_expectations.py b/content/test/gpu/gpu_tests/webgl2_conformance_expectations.py
index ddaebfa7..e6e878d 100644
--- a/content/test/gpu/gpu_tests/webgl2_conformance_expectations.py
+++ b/content/test/gpu/gpu_tests/webgl2_conformance_expectations.py
@@ -45,15 +45,10 @@
         ['amd'], bug=617290)
 
     # Windows only.
-    self.Fail('conformance/glsl/bugs/' +
-        'pow-of-small-constant-in-user-defined-function.html',
-        ['win'], bug=485641)
-    self.Fail('conformance/rendering/point-specific-shader-variables.html',
-        ['win'], bug=616335)
 
-    # ANGLE bug id
+    # This should be fixed in the latest driver.
     self.Fail('deqp/functional/gles3/fboinvalidate/sub.html',
-        ['win'], bug=1246)
+        ['win'], bug=1246) # ANGLE bug.
 
     # Windows 8 only.
     self.Flaky('deqp/functional/gles3/buffercopy.html', ['win8'], bug=587601)
@@ -148,7 +143,7 @@
         ['win', 'intel'], bug=628863)
 
     self.Fail('deqp/functional/gles3/fbomultisample*',
-        ['mac', 'intel'], bug=483282)
+        ['win', 'intel'], bug=483282)
 
     # It's unfortunate that these suppressions need to be so broad, but it
     # looks like the D3D11 device can be lost spontaneously on this
diff --git a/ios/chrome/BUILD.gn b/ios/chrome/BUILD.gn
index 7d95ec4..7cbf6d6a 100644
--- a/ios/chrome/BUILD.gn
+++ b/ios/chrome/BUILD.gn
@@ -64,6 +64,9 @@
     "browser/snapshots/snapshots_util_unittest.mm",
     "browser/ssl/ios_ssl_error_handler_unittest.mm",
     "browser/translate/translate_service_ios_unittest.cc",
+    "browser/ui/alert_coordinator/action_sheet_coordinator_unittest.mm",
+    "browser/ui/alert_coordinator/alert_coordinator_unittest.mm",
+    "browser/ui/alert_coordinator/input_alert_coordinator_unittest.mm",
     "browser/ui/commands/set_up_for_testing_command_unittest.mm",
     "browser/ui/context_menu/context_menu_coordinator_unittest.mm",
     "browser/ui/elements/selector_coordinator_unittest.mm",
@@ -119,7 +122,9 @@
     "//testing/gtest",
     "//third_party/google_toolbox_for_mac",
     "//third_party/ocmock",
+    "//ui/base:base",
     "//ui/gfx:test_support",
+    "//ui/strings:ui_strings",
   ]
 
   assert_no_deps = ios_assert_no_deps
diff --git a/ios/chrome/browser/BUILD.gn b/ios/chrome/browser/BUILD.gn
index 0df7efbe..d02ce56 100644
--- a/ios/chrome/browser/BUILD.gn
+++ b/ios/chrome/browser/BUILD.gn
@@ -460,6 +460,12 @@
     "translate/translate_service_ios.h",
     "ui/UIView+SizeClassSupport.h",
     "ui/UIView+SizeClassSupport.mm",
+    "ui/alert_coordinator/action_sheet_coordinator.h",
+    "ui/alert_coordinator/action_sheet_coordinator.mm",
+    "ui/alert_coordinator/alert_coordinator.h",
+    "ui/alert_coordinator/alert_coordinator.mm",
+    "ui/alert_coordinator/input_alert_coordinator.h",
+    "ui/alert_coordinator/input_alert_coordinator.mm",
     "ui/animation_util.h",
     "ui/animation_util.mm",
     "ui/autofill/autofill_client_ios.h",
diff --git a/ios/chrome/browser/ui/alert_coordinator/OWNERS b/ios/chrome/browser/ui/alert_coordinator/OWNERS
new file mode 100644
index 0000000..833083f6
--- /dev/null
+++ b/ios/chrome/browser/ui/alert_coordinator/OWNERS
@@ -0,0 +1,2 @@
+gambard@chromium.org
+jyquinn@chromium.org
diff --git a/ios/chrome/browser/ui/alert_coordinator/action_sheet_coordinator.h b/ios/chrome/browser/ui/alert_coordinator/action_sheet_coordinator.h
new file mode 100644
index 0000000..7e6d176
--- /dev/null
+++ b/ios/chrome/browser/ui/alert_coordinator/action_sheet_coordinator.h
@@ -0,0 +1,27 @@
+// Copyright 2016 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef IOS_CHROME_BROWSER_UI_ALERT_COORDINATOR_ACTION_SHEET_COORDINATOR_H_
+#define IOS_CHROME_BROWSER_UI_ALERT_COORDINATOR_ACTION_SHEET_COORDINATOR_H_
+
+#import "ios/chrome/browser/ui/alert_coordinator/alert_coordinator.h"
+
+// Coordinator for displaying Action Sheets.
+@interface ActionSheetCoordinator : AlertCoordinator
+
+// Init with the parameters for anchoring the popover.
+- (instancetype)initWithBaseViewController:(UIViewController*)viewController
+                                     title:(NSString*)title
+                                   message:(NSString*)message
+                                      rect:(CGRect)rect
+                                      view:(UIView*)view
+    NS_DESIGNATED_INITIALIZER;
+
+- (instancetype)initWithBaseViewController:(UIViewController*)viewController
+                                     title:(NSString*)title
+                                   message:(NSString*)message NS_UNAVAILABLE;
+
+@end
+
+#endif  // IOS_CHROME_BROWSER_UI_ALERT_COORDINATOR_ACTION_SHEET_COORDINATOR_H_
diff --git a/ios/chrome/browser/ui/alert_coordinator/action_sheet_coordinator.mm b/ios/chrome/browser/ui/alert_coordinator/action_sheet_coordinator.mm
new file mode 100644
index 0000000..96ad487
--- /dev/null
+++ b/ios/chrome/browser/ui/alert_coordinator/action_sheet_coordinator.mm
@@ -0,0 +1,55 @@
+// 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.
+
+#import "ios/chrome/browser/ui/alert_coordinator/action_sheet_coordinator.h"
+
+#import "base/mac/scoped_nsobject.h"
+
+@interface ActionSheetCoordinator () {
+  // Rectangle for the popover alert.
+  CGRect _rect;
+  // View for the popovert alert.
+  base::scoped_nsobject<UIView> _view;
+}
+
+@end
+
+@implementation ActionSheetCoordinator
+
+- (instancetype)initWithBaseViewController:(UIViewController*)viewController
+                                     title:(NSString*)title
+                                   message:(NSString*)message {
+  NOTREACHED();
+  return nil;
+}
+
+- (instancetype)initWithBaseViewController:(UIViewController*)viewController
+                                     title:(NSString*)title
+                                   message:(NSString*)message
+                                      rect:(CGRect)rect
+                                      view:(UIView*)view {
+  self = [super initWithBaseViewController:viewController
+                                     title:title
+                                   message:message];
+  if (self) {
+    _rect = rect;
+    _view.reset([view retain]);
+  }
+  return self;
+}
+
+- (UIAlertController*)alertControllerWithTitle:(NSString*)title
+                                       message:(NSString*)message {
+  UIAlertController* alert = [UIAlertController
+      alertControllerWithTitle:title
+                       message:message
+                preferredStyle:UIAlertControllerStyleActionSheet];
+
+  alert.popoverPresentationController.sourceView = _view;
+  alert.popoverPresentationController.sourceRect = _rect;
+
+  return alert;
+}
+
+@end
\ No newline at end of file
diff --git a/ios/chrome/browser/ui/alert_coordinator/action_sheet_coordinator_unittest.mm b/ios/chrome/browser/ui/alert_coordinator/action_sheet_coordinator_unittest.mm
new file mode 100644
index 0000000..f5f5c52
--- /dev/null
+++ b/ios/chrome/browser/ui/alert_coordinator/action_sheet_coordinator_unittest.mm
@@ -0,0 +1,54 @@
+// 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.
+
+#import "ios/chrome/browser/ui/alert_coordinator/action_sheet_coordinator.h"
+
+#import <UIKit/UIKit.h>
+
+#import "base/mac/foundation_util.h"
+#include "testing/platform_test.h"
+
+// Tests that if there is a popover, it uses the CGRect passed in init.
+TEST(ActionSheetCoordinatorTest, CGRectUsage) {
+  // Setup.
+  UIWindow* window = [[[UIWindow alloc]
+      initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
+  [window makeKeyAndVisible];
+  UIViewController* viewController =
+      [[[UIViewController alloc] init] autorelease];
+  [window setRootViewController:viewController];
+
+  UIView* view =
+      [[[UIView alloc] initWithFrame:viewController.view.bounds] autorelease];
+
+  [viewController.view addSubview:view];
+  CGRect rect = CGRectMake(124, 432, 126, 63);
+  AlertCoordinator* alertCoordinator = [[[ActionSheetCoordinator alloc]
+      initWithBaseViewController:viewController
+                           title:@"title"
+                         message:nil
+                            rect:rect
+                            view:view] autorelease];
+
+  // Action.
+  [alertCoordinator start];
+
+  // Test.
+  // Get the alert.
+  EXPECT_TRUE([viewController.presentedViewController
+      isKindOfClass:[UIAlertController class]]);
+  UIAlertController* alertController =
+      base::mac::ObjCCastStrict<UIAlertController>(
+          viewController.presentedViewController);
+
+  // Test the results.
+  EXPECT_EQ(UIAlertControllerStyleActionSheet, alertController.preferredStyle);
+
+  if (alertController.popoverPresentationController) {
+    UIPopoverPresentationController* popover =
+        alertController.popoverPresentationController;
+    EXPECT_TRUE(CGRectEqualToRect(rect, popover.sourceRect));
+    EXPECT_EQ(view, popover.sourceView);
+  }
+}
diff --git a/ios/chrome/browser/ui/alert_coordinator/alert_coordinator.h b/ios/chrome/browser/ui/alert_coordinator/alert_coordinator.h
new file mode 100644
index 0000000..59dad66
--- /dev/null
+++ b/ios/chrome/browser/ui/alert_coordinator/alert_coordinator.h
@@ -0,0 +1,52 @@
+// Copyright 2016 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef IOS_CHROME_BROWSER_UI_ALERT_COORDINATOR_ALERT_COORDINATOR_H_
+#define IOS_CHROME_BROWSER_UI_ALERT_COORDINATOR_ALERT_COORDINATOR_H_
+
+#import <UIKit/UIKit.h>
+
+#include "base/ios/block_types.h"
+#import "ios/chrome/browser/chrome_coordinator.h"
+
+// A coordinator specialization for the case where the coordinator is creating
+// and managing a modal alert to be displayed to the user.
+// Calling |-stop| on this coordinator dismisses the current alert with no
+// animation then destroys it.
+@interface AlertCoordinator : ChromeCoordinator
+
+// Whether a cancel button has been added.
+@property(nonatomic, readonly) BOOL cancelButtonAdded;
+// Message of the alert.
+@property(nonatomic, copy) NSString* message;
+// Whether the alert is visible. This will be true after |-start| is called
+// until a subsequent |-stop|.
+@property(nonatomic, readonly, getter=isVisible) BOOL visible;
+// Handler executed when calling |-stop| on this coordinator.
+@property(nonatomic, copy) ProceduralBlock stopAction;
+
+// Init a coordinator for displaying a alert on this view controller.
+- (instancetype)initWithBaseViewController:(UIViewController*)viewController
+                                     title:(NSString*)title
+                                   message:(NSString*)message
+    NS_DESIGNATED_INITIALIZER;
+
+- (instancetype)initWithBaseViewController:(UIViewController*)viewController
+    NS_UNAVAILABLE;
+
+// Adds an item at the end of the menu. It does nothing if |visible| is true or
+// if trying to add an item with a UIAlertActionStyleCancel while
+// |cancelButtonAdded| is true.
+- (void)addItemWithTitle:(NSString*)title
+                  action:(ProceduralBlock)actionBlock
+                   style:(UIAlertActionStyle)style;
+
+@end
+
+@interface AlertCoordinator (Subclassing)
+// Lazy initializer to create the alertController.
+@property(nonatomic, readonly) UIAlertController* alertController;
+@end
+
+#endif  // IOS_CHROME_BROWSER_UI_ALERT_COORDINATOR_ALERT_COORDINATOR_H_
diff --git a/ios/chrome/browser/ui/alert_coordinator/alert_coordinator.mm b/ios/chrome/browser/ui/alert_coordinator/alert_coordinator.mm
new file mode 100644
index 0000000..0b423134
--- /dev/null
+++ b/ios/chrome/browser/ui/alert_coordinator/alert_coordinator.mm
@@ -0,0 +1,155 @@
+// 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.
+
+#import "ios/chrome/browser/ui/alert_coordinator/alert_coordinator.h"
+
+#import "base/ios/weak_nsobject.h"
+#import "base/mac/scoped_nsobject.h"
+#import "base/mac/scoped_block.h"
+#include "ui/base/l10n/l10n_util.h"
+#include "ui/strings/grit/ui_strings.h"
+
+@interface AlertCoordinator () {
+  // Variables backing properties of the same name.
+  base::scoped_nsobject<UIAlertController> _alertController;
+  base::scoped_nsobject<NSString> _message;
+  base::mac::ScopedBlock<ProceduralBlock> _stopAction;
+
+  // Title for the alert.
+  base::scoped_nsobject<NSString> _title;
+}
+
+// Redefined to readwrite.
+@property(nonatomic, readwrite, getter=isVisible) BOOL visible;
+
+// Called when the alert is dismissed to perform cleanup.
+- (void)alertDismissed;
+
+- (UIAlertController*)alertControllerWithTitle:(NSString*)title
+                                       message:(NSString*)message;
+@end
+
+@implementation AlertCoordinator
+
+@synthesize visible = _visible;
+@synthesize cancelButtonAdded = _cancelButtonAdded;
+
+- (instancetype)initWithBaseViewController:(UIViewController*)viewController {
+  NOTREACHED();
+  return nil;
+}
+
+- (instancetype)initWithBaseViewController:(UIViewController*)viewController
+                                     title:(NSString*)title
+                                   message:(NSString*)message {
+  self = [super initWithBaseViewController:viewController];
+  if (self) {
+    _title.reset([title copy]);
+    _message.reset([message copy]);
+  }
+  return self;
+}
+
+#pragma mark - Public Methods.
+
+- (void)addItemWithTitle:(NSString*)title
+                  action:(ProceduralBlock)actionBlock
+                   style:(UIAlertActionStyle)style {
+  if (self.visible ||
+      (style == UIAlertActionStyleCancel && self.cancelButtonAdded)) {
+    return;
+  }
+
+  if (style == UIAlertActionStyleCancel)
+    _cancelButtonAdded = YES;
+
+  base::WeakNSObject<AlertCoordinator> weakSelf(self);
+
+  UIAlertAction* alertAction =
+      [UIAlertAction actionWithTitle:title
+                               style:style
+                             handler:^(UIAlertAction*) {
+                               if (actionBlock)
+                                 actionBlock();
+                               [weakSelf alertDismissed];
+                             }];
+
+  [self.alertController addAction:alertAction];
+}
+
+- (void)start {
+  // Check that the view is still visible on screen, otherwise just return and
+  // don't show the context menu.
+  if (![self.baseViewController.view window] &&
+      ![self.baseViewController.view isKindOfClass:[UIWindow class]]) {
+    return;
+  }
+
+  // Display at least one button to let the user dismiss the alert.
+  if ([self.alertController actions].count == 0) {
+    [self addItemWithTitle:l10n_util::GetNSString(IDS_APP_OK)
+                    action:nil
+                     style:UIAlertActionStyleDefault];
+  }
+
+  [self.baseViewController presentViewController:self.alertController
+                                        animated:YES
+                                      completion:nil];
+  self.visible = YES;
+}
+
+- (void)stop {
+  [_alertController dismissViewControllerAnimated:NO completion:nil];
+  if (_stopAction)
+    _stopAction.get()();
+  [self alertDismissed];
+}
+
+#pragma mark - Property Implementation.
+
+- (UIAlertController*)alertController {
+  if (!_alertController) {
+    UIAlertController* alert =
+        [self alertControllerWithTitle:_title message:_message];
+
+    if (alert)
+      _alertController.reset([alert retain]);
+  }
+  return _alertController;
+}
+
+- (NSString*)message {
+  return _message;
+}
+
+- (void)setMessage:(NSString*)message {
+  _message.reset([message copy]);
+}
+
+- (ProceduralBlock)stopAction {
+  return _stopAction;
+}
+
+- (void)setStopAction:(ProceduralBlock)stopAction {
+  _stopAction.reset([stopAction copy]);
+}
+
+#pragma mark - Private Methods.
+
+- (void)alertDismissed {
+  self.visible = NO;
+  _cancelButtonAdded = NO;
+  _alertController.reset();
+  _stopAction.reset();
+}
+
+- (UIAlertController*)alertControllerWithTitle:(NSString*)title
+                                       message:(NSString*)message {
+  return
+      [UIAlertController alertControllerWithTitle:title
+                                          message:message
+                                   preferredStyle:UIAlertControllerStyleAlert];
+}
+
+@end
\ No newline at end of file
diff --git a/ios/chrome/browser/ui/alert_coordinator/alert_coordinator_unittest.mm b/ios/chrome/browser/ui/alert_coordinator/alert_coordinator_unittest.mm
new file mode 100644
index 0000000..93ddae3a
--- /dev/null
+++ b/ios/chrome/browser/ui/alert_coordinator/alert_coordinator_unittest.mm
@@ -0,0 +1,256 @@
+// 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.
+
+#import "ios/chrome/browser/ui/alert_coordinator/alert_coordinator.h"
+
+#import <UIKit/UIKit.h>
+
+#import "base/mac/foundation_util.h"
+#import "base/mac/scoped_nsobject.h"
+#include "testing/platform_test.h"
+#import "third_party/ocmock/OCMock/OCMock.h"
+#include "third_party/ocmock/gtest_support.h"
+#include "ui/base/l10n/l10n_util.h"
+#include "ui/strings/grit/ui_strings.h"
+
+#pragma mark - Fixture.
+
+// Fixture to test AlertCoordinator.
+class AlertCoordinatorTest : public PlatformTest {
+ protected:
+  AlertCoordinatorTest() {
+    window_.reset(
+        [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]);
+    [window_ makeKeyAndVisible];
+    view_controller_.reset([[UIViewController alloc] init]);
+    [window_ setRootViewController:view_controller_];
+  }
+
+  void startAlertCoordinator() { [alert_coordinator_ start]; }
+
+  UIViewController* getViewController() { return view_controller_; }
+
+  AlertCoordinator* getAlertCoordinator(UIViewController* viewController) {
+    return getAlertCoordinator(viewController, @"Test title", nil);
+  }
+
+  AlertCoordinator* getAlertCoordinator(UIViewController* viewController,
+                                        NSString* title,
+                                        NSString* message) {
+    alert_coordinator_.reset([[AlertCoordinator alloc]
+        initWithBaseViewController:viewController
+                             title:title
+                           message:message]);
+    return alert_coordinator_;
+  }
+
+  void deleteAlertCoordinator() { alert_coordinator_.reset(); }
+
+ private:
+  base::scoped_nsobject<AlertCoordinator> alert_coordinator_;
+  base::scoped_nsobject<UIWindow> window_;
+  base::scoped_nsobject<UIViewController> view_controller_;
+};
+
+#pragma mark - Tests.
+
+// Tests the alert coordinator reports as visible after presenting and at least
+// on button is created.
+TEST_F(AlertCoordinatorTest, ValidateIsVisible) {
+  // Setup.
+  UIViewController* viewController = getViewController();
+  AlertCoordinator* alertCoordinator = getAlertCoordinator(viewController);
+
+  ASSERT_FALSE(alertCoordinator.isVisible);
+  ASSERT_EQ(nil, viewController.presentedViewController);
+
+  // Action.
+  startAlertCoordinator();
+
+  // Test.
+  EXPECT_TRUE(alertCoordinator.isVisible);
+  EXPECT_TRUE([viewController.presentedViewController
+      isKindOfClass:[UIAlertController class]]);
+  UIAlertController* alertController =
+      base::mac::ObjCCastStrict<UIAlertController>(
+          viewController.presentedViewController);
+  EXPECT_EQ(1LU, alertController.actions.count);
+}
+
+// Tests the alert coordinator reports as not visible after presenting on a non
+// visible view.
+TEST_F(AlertCoordinatorTest, ValidateIsNotVisible) {
+  // Setup.
+  base::scoped_nsobject<UIWindow> window(
+      [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]);
+  base::scoped_nsobject<UIViewController> viewController(
+      [[UIViewController alloc] init]);
+  [window setRootViewController:viewController];
+
+  AlertCoordinator* alertCoordinator = getAlertCoordinator(viewController);
+
+  // Action.
+  startAlertCoordinator();
+
+  // Test.
+  EXPECT_FALSE(alertCoordinator.isVisible);
+  EXPECT_EQ(nil, [viewController presentedViewController]);
+}
+
+// Tests the alert coordinator has a correct title and message.
+TEST_F(AlertCoordinatorTest, TitleAndMessage) {
+  // Setup.
+  UIViewController* viewController = getViewController();
+  NSString* title = @"Foo test title!";
+  NSString* message = @"Foo bar message.";
+
+  getAlertCoordinator(viewController, title, message);
+
+  // Action.
+  startAlertCoordinator();
+
+  // Test.
+  // Get the alert.
+  EXPECT_TRUE([viewController.presentedViewController
+      isKindOfClass:[UIAlertController class]]);
+  UIAlertController* alertController =
+      base::mac::ObjCCastStrict<UIAlertController>(
+          viewController.presentedViewController);
+
+  // Test the results.
+  EXPECT_EQ(title, alertController.title);
+  EXPECT_EQ(message, alertController.message);
+}
+
+// Tests the alert coordinator dismissal.
+TEST_F(AlertCoordinatorTest, ValidateDismissalOnStop) {
+  // Setup.
+  UIViewController* viewController = getViewController();
+  AlertCoordinator* alertCoordinator = getAlertCoordinator(viewController);
+
+  startAlertCoordinator();
+
+  ASSERT_TRUE(alertCoordinator.isVisible);
+  ASSERT_NE(nil, viewController.presentedViewController);
+  ASSERT_TRUE([viewController.presentedViewController
+      isKindOfClass:[UIAlertController class]]);
+
+  id alertMock = [OCMockObject
+      partialMockForObject:viewController.presentedViewController];
+  [[alertMock expect] dismissViewControllerAnimated:NO completion:nil];
+
+  // Action.
+  [alertCoordinator stop];
+
+  // Test.
+  EXPECT_FALSE(alertCoordinator.isVisible);
+  EXPECT_OCMOCK_VERIFY(alertMock);
+}
+
+// Tests the alert coordinator dismissal when the object is destroyed.
+TEST_F(AlertCoordinatorTest, ValidateDismissalOnDestroy) {
+  // Setup.
+  UIViewController* viewController = getViewController();
+  AlertCoordinator* alertCoordinator = getAlertCoordinator(viewController);
+
+  startAlertCoordinator();
+
+  ASSERT_TRUE(alertCoordinator.isVisible);
+  ASSERT_NE(nil, viewController.presentedViewController);
+  ASSERT_TRUE([viewController.presentedViewController
+      isKindOfClass:[UIAlertController class]]);
+
+  id alertMock = [OCMockObject
+      partialMockForObject:viewController.presentedViewController];
+  [[alertMock expect] dismissViewControllerAnimated:NO completion:nil];
+
+  // Action.
+  deleteAlertCoordinator();
+
+  // Test.
+  EXPECT_FALSE([alertCoordinator isVisible]);
+  ASSERT_OCMOCK_VERIFY(alertMock);
+}
+
+// Tests that only the expected actions are present on the alert.
+TEST_F(AlertCoordinatorTest, ValidateActions) {
+  // Setup.
+  UIViewController* viewController = getViewController();
+  AlertCoordinator* alertCoordinator = getAlertCoordinator(viewController);
+
+  NSDictionary* actions = @{
+    @"foo" : @(UIAlertActionStyleDestructive),
+    @"foo2" : @(UIAlertActionStyleDestructive),
+    @"bar" : @(UIAlertActionStyleDefault),
+    @"bar2" : @(UIAlertActionStyleDefault),
+    @"testCancel" : @(UIAlertActionStyleCancel),
+  };
+
+  base::scoped_nsobject<NSMutableDictionary> remainingActions(
+      [actions mutableCopy]);
+
+  // Action.
+  for (id key in actions) {
+    UIAlertActionStyle style =
+        static_cast<UIAlertActionStyle>([actions[key] integerValue]);
+    [alertCoordinator addItemWithTitle:key action:nil style:style];
+  }
+
+  // Test.
+  // Present the alert.
+  startAlertCoordinator();
+
+  // Get the alert.
+  EXPECT_TRUE([viewController.presentedViewController
+      isKindOfClass:[UIAlertController class]]);
+  UIAlertController* alertController =
+      base::mac::ObjCCastStrict<UIAlertController>(
+          viewController.presentedViewController);
+
+  // Test the results.
+  for (UIAlertAction* action in alertController.actions) {
+    EXPECT_TRUE([remainingActions objectForKey:action.title]);
+    UIAlertActionStyle style =
+        static_cast<UIAlertActionStyle>([actions[action.title] integerValue]);
+    EXPECT_EQ(style, action.style);
+    [remainingActions removeObjectForKey:action.title];
+  }
+
+  EXPECT_EQ(0LU, [remainingActions count]);
+}
+
+// Tests that only the first cancel action is added.
+TEST_F(AlertCoordinatorTest, OnlyOneCancelAction) {
+  // Setup.
+  UIViewController* viewController = getViewController();
+  AlertCoordinator* alertCoordinator = getAlertCoordinator(viewController);
+
+  NSString* firstButtonTitle = @"Cancel1";
+
+  // Action.
+  [alertCoordinator addItemWithTitle:firstButtonTitle
+                              action:nil
+                               style:UIAlertActionStyleCancel];
+  [alertCoordinator addItemWithTitle:@"Cancel2"
+                              action:nil
+                               style:UIAlertActionStyleCancel];
+
+  // Test.
+  // Present the alert.
+  startAlertCoordinator();
+
+  // Get the alert.
+  EXPECT_TRUE([viewController.presentedViewController
+      isKindOfClass:[UIAlertController class]]);
+  UIAlertController* alertController =
+      base::mac::ObjCCastStrict<UIAlertController>(
+          viewController.presentedViewController);
+
+  // Test the results.
+  EXPECT_EQ(1LU, alertController.actions.count);
+
+  UIAlertAction* action = [alertController.actions objectAtIndex:0];
+  EXPECT_EQ(firstButtonTitle, action.title);
+  EXPECT_EQ(UIAlertActionStyleCancel, action.style);
+}
diff --git a/ios/chrome/browser/ui/alert_coordinator/input_alert_coordinator.h b/ios/chrome/browser/ui/alert_coordinator/input_alert_coordinator.h
new file mode 100644
index 0000000..71fea4ff
--- /dev/null
+++ b/ios/chrome/browser/ui/alert_coordinator/input_alert_coordinator.h
@@ -0,0 +1,22 @@
+// Copyright 2016 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef IOS_CHROME_BROWSER_UI_ALERT_COORDINATOR_INPUT_ALERT_COORDINATOR_H_
+#define IOS_CHROME_BROWSER_UI_ALERT_COORDINATOR_INPUT_ALERT_COORDINATOR_H_
+
+#import "ios/chrome/browser/ui/alert_coordinator/alert_coordinator.h"
+
+// Coordinator for displaying Modal Alert with text inputs.
+@interface InputAlertCoordinator : AlertCoordinator
+
+// Text fields displayed by the alert.
+@property(nonatomic, readonly) NSArray<UITextField*>* textFields;
+
+// Add a text field to the alert.
+- (void)addTextFieldWithConfigurationHandler:
+    (void (^)(UITextField* textField))configurationHandler;
+
+@end
+
+#endif  // IOS_CHROME_BROWSER_UI_ALERT_COORDINATOR_INPUT_ALERT_COORDINATOR_H_
diff --git a/ios/chrome/browser/ui/alert_coordinator/input_alert_coordinator.mm b/ios/chrome/browser/ui/alert_coordinator/input_alert_coordinator.mm
new file mode 100644
index 0000000..ccd1002
--- /dev/null
+++ b/ios/chrome/browser/ui/alert_coordinator/input_alert_coordinator.mm
@@ -0,0 +1,19 @@
+// 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.
+
+#import "ios/chrome/browser/ui/alert_coordinator/input_alert_coordinator.h"
+
+@implementation InputAlertCoordinator
+
+- (NSArray<UITextField*>*)textFields {
+  return [self.alertController textFields];
+}
+
+- (void)addTextFieldWithConfigurationHandler:
+    (void (^)(UITextField* textField))configurationHandler {
+  [self.alertController
+      addTextFieldWithConfigurationHandler:configurationHandler];
+}
+
+@end
\ No newline at end of file
diff --git a/ios/chrome/browser/ui/alert_coordinator/input_alert_coordinator_unittest.mm b/ios/chrome/browser/ui/alert_coordinator/input_alert_coordinator_unittest.mm
new file mode 100644
index 0000000..4aebd39
--- /dev/null
+++ b/ios/chrome/browser/ui/alert_coordinator/input_alert_coordinator_unittest.mm
@@ -0,0 +1,53 @@
+// 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.
+
+#import "ios/chrome/browser/ui/alert_coordinator/input_alert_coordinator.h"
+
+#include "testing/platform_test.h"
+#import "third_party/ocmock/OCMock/OCMock.h"
+#include "third_party/ocmock/gtest_support.h"
+
+TEST(InputAlertCoordinatorTest, AddTextField) {
+  // Setup.
+  UIViewController* viewController =
+      [[[UIViewController alloc] init] autorelease];
+  InputAlertCoordinator* alertCoordinator = [[[InputAlertCoordinator alloc]
+      initWithBaseViewController:viewController
+                           title:@"Test"
+                         message:nil] autorelease];
+
+  void (^emptyHandler)(UITextField* textField) = ^(UITextField* textField) {
+  };
+  id alert =
+      [OCMockObject partialMockForObject:alertCoordinator.alertController];
+  [[alert expect] addTextFieldWithConfigurationHandler:emptyHandler];
+
+  // Action.
+  [alertCoordinator addTextFieldWithConfigurationHandler:emptyHandler];
+
+  // Test.
+  EXPECT_OCMOCK_VERIFY(alert);
+}
+
+TEST(InputAlertCoordinatorTest, GetTextFields) {
+  // Setup.
+  UIViewController* viewController =
+      [[[UIViewController alloc] init] autorelease];
+  InputAlertCoordinator* alertCoordinator = [[[InputAlertCoordinator alloc]
+      initWithBaseViewController:viewController
+                           title:@"Test"
+                         message:nil] autorelease];
+
+  NSArray<UITextField*>* array = [NSArray array];
+  id alert =
+      [OCMockObject partialMockForObject:alertCoordinator.alertController];
+  [[[alert expect] andReturn:array] textFields];
+
+  // Action.
+  NSArray<UITextField*>* resultArray = alertCoordinator.textFields;
+
+  // Test.
+  EXPECT_EQ(array, resultArray);
+  EXPECT_OCMOCK_VERIFY(alert);
+}
diff --git a/ios/chrome/ios_chrome.gyp b/ios/chrome/ios_chrome.gyp
index 4960060..decca74e1 100644
--- a/ios/chrome/ios_chrome.gyp
+++ b/ios/chrome/ios_chrome.gyp
@@ -594,6 +594,12 @@
         'browser/translate/translate_service_ios.h',
         'browser/ui/UIView+SizeClassSupport.h',
         'browser/ui/UIView+SizeClassSupport.mm',
+        'browser/ui/alert_coordinator/action_sheet_coordinator.h',
+        'browser/ui/alert_coordinator/action_sheet_coordinator.mm',
+        'browser/ui/alert_coordinator/alert_coordinator.h',
+        'browser/ui/alert_coordinator/alert_coordinator.mm',
+        'browser/ui/alert_coordinator/input_alert_coordinator.h',
+        'browser/ui/alert_coordinator/input_alert_coordinator.mm',
         'browser/ui/animation_util.h',
         'browser/ui/animation_util.mm',
         'browser/ui/autofill/autofill_client_ios.h',
diff --git a/ios/chrome/ios_chrome_tests.gyp b/ios/chrome/ios_chrome_tests.gyp
index 320b669b..0cf732df 100644
--- a/ios/chrome/ios_chrome_tests.gyp
+++ b/ios/chrome/ios_chrome_tests.gyp
@@ -31,8 +31,10 @@
         '../../testing/gtest.gyp:gtest',
         '../../third_party/google_toolbox_for_mac/google_toolbox_for_mac.gyp:google_toolbox_for_mac',
         '../../third_party/ocmock/ocmock.gyp:ocmock',
+        '../../ui/base/ui_base.gyp:ui_base',
         '../../ui/gfx/gfx.gyp:gfx',
         '../../ui/gfx/gfx.gyp:gfx_test_support',
+        '../../ui/strings/ui_strings.gyp:ui_strings',
         '../web/ios_web.gyp:ios_web',
         '../web/ios_web.gyp:ios_web_test_support',
         'ios_chrome.gyp:ios_chrome_app',
@@ -78,6 +80,9 @@
         'browser/snapshots/snapshots_util_unittest.mm',
         'browser/ssl/ios_ssl_error_handler_unittest.mm',
         'browser/translate/translate_service_ios_unittest.cc',
+        'browser/ui/alert_coordinator/action_sheet_coordinator_unittest.mm',
+        'browser/ui/alert_coordinator/alert_coordinator_unittest.mm',
+        'browser/ui/alert_coordinator/input_alert_coordinator_unittest.mm',
         'browser/ui/commands/set_up_for_testing_command_unittest.mm',
         'browser/ui/context_menu/context_menu_coordinator_unittest.mm',
         'browser/ui/elements/selector_coordinator_unittest.mm',
diff --git a/media/midi/midi_manager.cc b/media/midi/midi_manager.cc
index 12d4d07..fcbaa55 100644
--- a/media/midi/midi_manager.cc
+++ b/media/midi/midi_manager.cc
@@ -60,7 +60,8 @@
 MidiManager::~MidiManager() {
   // Make sure that Finalize() is called to clean up resources allocated on
   // the Chrome_IOThread.
-  DCHECK(finalized_);
+  base::AutoLock auto_lock(lock_);
+  CHECK(finalized_);
 }
 
 #if !defined(OS_MACOSX) && !defined(OS_WIN) && \
diff --git a/media/midi/midi_manager_alsa.cc b/media/midi/midi_manager_alsa.cc
index 9dc0582..a3c37b8 100644
--- a/media/midi/midi_manager_alsa.cc
+++ b/media/midi/midi_manager_alsa.cc
@@ -158,13 +158,16 @@
   // are not destructed here.
   base::AutoLock lock(lazy_init_member_lock_);
 
-  // Extra DCHECK to verify all members are already reset.
-  DCHECK(!initialization_thread_checker_);
-  DCHECK(!in_client_);
-  DCHECK(!out_client_);
-  DCHECK(!decoder_);
-  DCHECK(!udev_);
-  DCHECK(!udev_monitor_);
+  // Extra CHECK to verify all members are already reset.
+  CHECK(!initialization_thread_checker_);
+  CHECK(!in_client_);
+  CHECK(!out_client_);
+  CHECK(!decoder_);
+  CHECK(!udev_);
+  CHECK(!udev_monitor_);
+
+  CHECK(!send_thread_.IsRunning());
+  CHECK(!event_thread_.IsRunning());
 }
 
 void MidiManagerAlsa::StartInitialization() {
diff --git a/testing/gtest.gyp b/testing/gtest.gyp
index f551d1df..e248bc1 100644
--- a/testing/gtest.gyp
+++ b/testing/gtest.gyp
@@ -32,6 +32,7 @@
         ],
         'defines': [
           'GTEST_HAS_POSIX_RE=0',
+          'GTEST_LANG_CXX11=1',
         ],
       },
       'conditions': [
diff --git a/third_party/WebKit/LayoutTests/editing/execCommand/4916402.html b/third_party/WebKit/LayoutTests/editing/execCommand/4916402.html
deleted file mode 100644
index d8861002..0000000
--- a/third_party/WebKit/LayoutTests/editing/execCommand/4916402.html
+++ /dev/null
@@ -1,10 +0,0 @@
-<p>This tests to see that creating an ordered list item from the last list item in an unordered list creates a new list that is not a sublist of the original one.</p>
-<div contenteditable="true"><ul><li>foo</li><li id="li">bar</li></ul></div>
-
-<script>
-var li = document.getElementById("li");
-var sel = window.getSelection();
-
-sel.collapse(li, 0);
-document.execCommand("InsertOrderedList");
-</script>
diff --git a/third_party/WebKit/LayoutTests/editing/execCommand/indent-list-item.html b/third_party/WebKit/LayoutTests/editing/execCommand/indent-list-item.html
index d113265..4fc4fe27 100644
--- a/third_party/WebKit/LayoutTests/editing/execCommand/indent-list-item.html
+++ b/third_party/WebKit/LayoutTests/editing/execCommand/indent-list-item.html
@@ -1,19 +1,11 @@
+<!doctype html>
+<script src="../../resources/testharness.js"></script>
+<script src="../../resources/testharnessreport.js"></script>
+<script src="../assert_selection.js"></script>
 <script>
-if (window.testRunner)
-     testRunner.dumpEditingCallbacks();
-</script>
-<div id="description">This test uses the execCommand to Outdent the text below.</div>
-<br>
-<div contenteditable="true">
-<ul>
-<li>Foo</li>
-<li id="item1">Bar</li>
-<li>Baz</li>
-</ul>
-</div>
-<script>
-var s = window.getSelection();
-var p1 = document.getElementById("item1");
-s.collapse(p1, 0);
-document.execCommand("Indent", false, "");
+test(() => assert_selection(
+    '<div contenteditable><ul><li>Foo</li><li>|Bar</li><li>Baz</li></ul></div>',
+    'indent',
+    '<div contenteditable><ul><li>Foo</li><ul><li>|Bar</li></ul><li>Baz</li></ul></div>'),
+    'Indent a list item in middle of list');
 </script>
diff --git a/third_party/WebKit/LayoutTests/editing/execCommand/indent-selection.html b/third_party/WebKit/LayoutTests/editing/execCommand/indent-selection.html
index 20b016a1..73e055e0 100644
--- a/third_party/WebKit/LayoutTests/editing/execCommand/indent-selection.html
+++ b/third_party/WebKit/LayoutTests/editing/execCommand/indent-selection.html
@@ -1,32 +1,53 @@
+<!doctype html>
+<script src="../../resources/testharness.js"></script>
+<script src="../../resources/testharnessreport.js"></script>
+<script src="../assert_selection.js"></script>
 <script>
-if (window.testRunner)
-     testRunner.dumpEditingCallbacks();
-</script>
-<div id="description">
-This test uses the execCommand to indent the text below.
-</div>
-<br>
-<div contenteditable="true">
-<span id="item1">Lorem</span><br>
-more Lorem!
-<blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px;">
-ipsum<br>
-
-<ul>
-<li>Foo</li>
-<li>Bar</li>
-<li>Baz</li>
-</ul>
-Dolor
-</blockquote>
-Sum!<br>
-<span id="item2">Thing</span>
-</div>
-<script>
-var s = window.getSelection();
-var p1 = document.getElementById("item1");
-var p2 = document.getElementById("item2");
-s.collapse(p1, 0);
-s.setBaseAndExtent(p1, 0, p2, 2);
-document.execCommand("Indent", false, "");
+test(() => assert_selection(
+    [
+        '<div contenteditable>',
+        '<span>^Lorem</span><br>',
+        'more Lorem!',
+        '<blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px;">',
+            'ipsum<br>',
+            '<ul>',
+                '<li>Foo</li>',
+                '<li>Bar</li>',
+                '<li>Baz</li>',
+            '</ul>',
+            'Dolor',
+        '</blockquote>',
+        'Sum!<br>',
+        '<span>Thing|</span>',
+        '</div>',
+    ].join(''),
+    'indent',
+    [
+        '<div contenteditable>',
+        '<blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;">',
+            '<span>^Lorem<br></span>',
+            'more Lorem!',
+            '<blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px;">',
+                'ipsum',
+            '</blockquote>',
+        '</blockquote>',
+        '<blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px;">',
+            '<ul>',
+                '<ul>',
+                    '<li>Foo</li>',
+                    '<li>Bar</li>',
+                    '<li>Baz</li>',
+                '</ul>',
+            '</ul>',
+        '</blockquote>',
+        '<blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;">',
+            '<blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px;">',
+                'Dolor',
+            '</blockquote>',
+            'Sum!<br>',
+            '<span>Thing|</span>',
+        '</blockquote>',
+        '</div>',
+    ].join('')),
+    'Indent HTML fragment');
 </script>
diff --git a/third_party/WebKit/LayoutTests/editing/execCommand/insertHorizontalRule.html b/third_party/WebKit/LayoutTests/editing/execCommand/insertHorizontalRule.html
deleted file mode 100644
index 78a38ba6..0000000
--- a/third_party/WebKit/LayoutTests/editing/execCommand/insertHorizontalRule.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<script>
-if (window.testRunner)
-     testRunner.dumpEditingCallbacks();
-</script>
-<p>These are tests for execCommand(InsertHorizontalRule).</p>
-
-<p>This test inserts an hr between 'foo' and 'bar'.</p>
-<div id="test1" contenteditable="true">foobar</div>
-
-<p>This test inserts an hr with id="hr" between 'foo' and 'bar', fetches the hr using its id, then removes it.</p>
-<div id="test2" contenteditable="true">foobar</div>
-
-<script type="text/javascript" src="../editing.js"></script>
-<script>
-var s = window.getSelection();
-var e;
-
-e = document.getElementById("test1");
-s.collapse(e, 0);
-moveSelectionForwardByCharacterCommand();
-moveSelectionForwardByCharacterCommand();
-moveSelectionForwardByCharacterCommand();
-document.execCommand("InsertHorizontalRule", false, "");
-
-e = document.getElementById("test2");
-s.collapse(e, 0);
-moveSelectionForwardByCharacterCommand();
-moveSelectionForwardByCharacterCommand();
-moveSelectionForwardByCharacterCommand();
-var id = "hr";
-document.execCommand("InsertHorizontalRule", false, id);
-var hr = document.getElementById(id);
-hr.parentNode.removeChild(hr);
-</script>
diff --git a/third_party/WebKit/LayoutTests/editing/execCommand/insert_horizontal_rule.html b/third_party/WebKit/LayoutTests/editing/execCommand/insert_horizontal_rule.html
new file mode 100644
index 0000000..697c71d
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/editing/execCommand/insert_horizontal_rule.html
@@ -0,0 +1,17 @@
+<!doctype html>
+<script src="../../resources/testharness.js"></script>
+<script src="../../resources/testharnessreport.js"></script>
+<script src="../assert_selection.js"></script>
+<script>
+test(() => assert_selection(
+    '<div contenteditable>foo|bar</div>',
+    'insertHorizontalRule',
+    '<div contenteditable>foo<hr>|bar</div>'),
+    'Insert HR between foo and bar');
+
+test(() => assert_selection(
+    '<div contenteditable>foo|bar</div>',
+    'insertHorizontalRule abc',
+    '<div contenteditable>foo<hr id="abc">|bar</div>'),
+    'Insert HR with id "abc" between foo and bar');
+</script>
diff --git a/third_party/WebKit/LayoutTests/editing/execCommand/insert_list/insert_list_ul_li_to_ol.html b/third_party/WebKit/LayoutTests/editing/execCommand/insert_list/insert_list_ul_li_to_ol.html
new file mode 100644
index 0000000..3709a01
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/editing/execCommand/insert_list/insert_list_ul_li_to_ol.html
@@ -0,0 +1,11 @@
+<!doctype html>
+<script src="../../../resources/testharness.js"></script>
+<script src="../../../resources/testharnessreport.js"></script>
+<script src="../../assert_selection.js"></script>
+<script>
+test(() => assert_selection(
+    '<div contenteditable><ul><li>foo</li><li>|bar</li></ul></div>',
+    'insertOrderedList',
+    '<div contenteditable><ul><li>foo</li></ul><ol><li>|bar</li></ol></div>'),
+    'Create OL from last LI of UL');
+</script>
diff --git a/third_party/WebKit/LayoutTests/editing/inserting/editing-empty-divs.html b/third_party/WebKit/LayoutTests/editing/inserting/editing-empty-divs.html
index eea2c18..55aa59c5 100644
--- a/third_party/WebKit/LayoutTests/editing/inserting/editing-empty-divs.html
+++ b/third_party/WebKit/LayoutTests/editing/inserting/editing-empty-divs.html
@@ -1,56 +1,35 @@
-<html>
-
-<head>
+<!doctype html>
+<script src="../../resources/testharness.js"></script>
+<script src="../../resources/testharnessreport.js"></script>
+<script src="../assert_selection.js"></script>
 <script>
-if (window.testRunner)
-     testRunner.dumpEditingCallbacks();
+test(() => assert_selection(
+    '<div contenteditable>|hello</div>',
+    'insertText c',
+    '<div contenteditable>c|hello</div>'),
+    'insert text into DIV with some text');
+
+test(() => assert_selection(
+    '<div contenteditable>|</div>',
+    'insertText c',
+    '<div contenteditable>c|</div>'),
+    'insert text into completely empty DIV');
+
+test(() => assert_selection(
+    '<div contenteditable>|\n</div>',
+    'insertText c',
+    '<div contenteditable>c|\n</div>'),
+    'insert text into DIV with collapsable whitespace');
+
+test(() => assert_selection(
+    '<div contenteditable style="min-height: 20px">|<p></p></div>',
+    'insertText c',
+    '<div contenteditable style="min-height: 20px">c|<p></p></div>'),
+    'insert text into DIV with empty P');
+
+test(() => assert_selection(
+    '<div contenteditable style="min-height: 20px">|\n<p></p>\n</div>',
+    'insertText c',
+    '<div contenteditable style="min-height: 20px">c|\n<p></p>\n</div>'),
+    'insert text into DIV with empty P with collapsable whitespace');
 </script>
-
-<script>
-</script>
-</head>
-<style>
-div {
-    border: 1px dotted blue;
-    min-height: 20px;
-    width: 90%;
-}
-</style>
-
-<script>
-function foo() {
-    var selection = window.getSelection();
-    var bar = 1;
-    var divs = document.getElementsByTagName("div");
-    for (var i = 0; divs[i]; i++) {
-        selection.collapse(divs[i], 0);
-        document.execCommand("InsertText", false, 'c');   
-    }
-}
-</script>
-<body onload="foo()">
-
-<p>This tests the ability to start editing in blocks that are visible, but have little or no content.  Each of the divs below should be able to accept a caret.</p>
-
-<p>This div contains some text.</p>
-<div contentEditable="true">
-hello
-</div>
-
-<p>This div is completely empty.</p>
-<div contentEditable="true"></div>
-
-<p>This div contains some collapsable whitespace (a '\n').</p>
-<div contentEditable="true">
-</div>
-
-<p>This div contains a self-closing p tag.</p>
-<div contentEditable="true"><p /></div>
-
-<p>This div contains a self-closing p tag and some collapsable whitespace (two '\n's before and after the self closing p.</p>
-<div contentEditable="true">
-<p />
-</div>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/editing/inserting/insert-br-001.html b/third_party/WebKit/LayoutTests/editing/inserting/insert-br-001.html
deleted file mode 100644
index bc6f8a1..0000000
--- a/third_party/WebKit/LayoutTests/editing/inserting/insert-br-001.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<html> 
-<head>
-
-<style>
-.editing { 
-    border: 2px solid red; 
-    padding: 12px; 
-    font-size: 24px; 
-}
-</style>
-<script src=../editing.js language="JavaScript" type="text/JavaScript" ></script>
-
-<script>
-
-function editingTest() {
-    selectAllCommand();
-    moveSelectionForwardByCharacterCommand();
-    insertLineBreakCommand();
-    typeCharacterCommand();
-}
-
-</script>
-
-<title>Editing Test</title> 
-</head> 
-<body>
-<div contenteditable id="root" class="editing">
-<span id="test">test</span>
-</div>
-
-<script>
-runEditingTest();
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/editing/inserting/insert-br-002.html b/third_party/WebKit/LayoutTests/editing/inserting/insert-br-002.html
deleted file mode 100644
index 7d16c30..0000000
--- a/third_party/WebKit/LayoutTests/editing/inserting/insert-br-002.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<html> 
-<head>
-
-<style>
-.editing { 
-    border: 2px solid red; 
-    padding: 12px; 
-    font-size: 24px; 
-}
-</style>
-<script src=../editing.js language="JavaScript" type="text/JavaScript" ></script>
-
-<script>
-
-function editingTest() {
-    for (i = 0; i < 4; i++)
-        moveSelectionForwardByCharacterCommand();
-    insertLineBreakCommand();
-    typeCharacterCommand();
-}
-
-</script>
-
-<title>Editing Test</title> 
-</head> 
-<body>
-<div contenteditable id="root" class="editing">
-<span id="test">test<br>test</span>
-</div>
-
-<script>
-runEditingTest();
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/editing/inserting/insert-br-003.html b/third_party/WebKit/LayoutTests/editing/inserting/insert-br-003.html
deleted file mode 100644
index 1fed4ab8..0000000
--- a/third_party/WebKit/LayoutTests/editing/inserting/insert-br-003.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<html> 
-<head>
-
-<style>
-.editing { 
-    border: 2px solid red; 
-    padding: 12px; 
-    font-size: 24px; 
-}
-</style>
-<script src=../editing.js language="JavaScript" type="text/JavaScript" ></script>
-
-<script>
-
-function editingTest() {
-    for (i = 0; i < 4; i++)
-        moveSelectionForwardByCharacterCommand();
-    insertLineBreakCommand();
-    typeCharacterCommand();
-}
-
-</script>
-
-<title>Editing Test</title> 
-</head> 
-<body>
-<div contenteditable id="root" class="editing">
-<span id="test">testtest</span>
-</div>
-
-<script>
-runEditingTest();
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/editing/inserting/insert-br-004.html b/third_party/WebKit/LayoutTests/editing/inserting/insert-br-004.html
deleted file mode 100644
index de2fd32..0000000
--- a/third_party/WebKit/LayoutTests/editing/inserting/insert-br-004.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<html> 
-<head>
-
-<style>
-.editing { 
-    border: 2px solid red; 
-    padding: 12px; 
-    font-size: 24px; 
-}
-</style>
-<script src=../editing.js language="JavaScript" type="text/JavaScript" ></script>
-
-<script>
-
-function editingTest() {
-    for (i = 0; i < 3; i++)
-        moveSelectionForwardByCharacterCommand();
-    insertLineBreakCommand();
-    insertLineBreakCommand();
-}
-
-</script>
-
-<title>Editing Test</title> 
-</head> 
-<body>
-<div contenteditable id="root" class="editing">
-<span id="test">foo</span>
-</div>
-
-<script>
-runEditingTest();
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/editing/inserting/insert-br-005.html b/third_party/WebKit/LayoutTests/editing/inserting/insert-br-005.html
deleted file mode 100644
index b4ba3cd52..0000000
--- a/third_party/WebKit/LayoutTests/editing/inserting/insert-br-005.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<html> 
-<head>
-
-<style>
-.editing { 
-    border: 2px solid red; 
-    padding: 12px; 
-    font-size: 24px; 
-}
-</style>
-<script src=../editing.js language="JavaScript" type="text/JavaScript" ></script>
-
-<script>
-
-function editingTest() {
-    for (i = 0; i < 3; i++)
-        moveSelectionForwardByCharacterCommand();
-    insertLineBreakCommand();
-    insertLineBreakCommand();
-    typeCharacterCommand();
-}
-
-</script>
-
-<title>Editing Test</title> 
-</head> 
-<body>
-<div contenteditable id="root" class="editing">
-<span id="test">foo</span>
-</div>
-
-<script>
-runEditingTest();
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/editing/inserting/insert-br-006.html b/third_party/WebKit/LayoutTests/editing/inserting/insert-br-006.html
deleted file mode 100644
index d3d58c5a..0000000
--- a/third_party/WebKit/LayoutTests/editing/inserting/insert-br-006.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<html> 
-<head>
-
-<style>
-.editing { 
-    border: 2px solid red; 
-    padding: 12px; 
-    font-size: 24px; 
-}
-</style>
-<script src=../editing.js language="JavaScript" type="text/JavaScript" ></script>
-
-<script>
-
-function editingTest() {
-    insertLineBreakCommand();
-    typeCharacterCommand();
-}
-
-</script>
-
-<title>Editing Test</title> 
-</head> 
-<body>
-<div contenteditable id="root" class="editing">
-<span id="test">foo</span>
-</div>
-
-<script>
-runEditingTest();
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/editing/inserting/insert-br-007.html b/third_party/WebKit/LayoutTests/editing/inserting/insert-br-007.html
deleted file mode 100644
index b467799..0000000
--- a/third_party/WebKit/LayoutTests/editing/inserting/insert-br-007.html
+++ /dev/null
@@ -1,35 +0,0 @@
-<html> 
-<head>
-
-<style>
-.editing { 
-    border: 2px solid red; 
-    padding: 12px; 
-    font-size: 24px; 
-}
-</style>
-<script src=../editing.js language="JavaScript" type="text/JavaScript" ></script>
-
-<script>
-
-function editingTest() {
-    for (i = 0; i < 3; i++)
-        moveSelectionForwardByCharacterCommand();
-    insertLineBreakCommand();
-}
-
-</script>
-
-<title>Editing Test</title> 
-</head> 
-<body>
-<div contenteditable id="root" class="editing">
-<span id="test">foo bar</span>
-</div>
-
-<script>
-runEditingTest();
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/editing/inserting/insert-br-008.html b/third_party/WebKit/LayoutTests/editing/inserting/insert-br-008.html
deleted file mode 100644
index 06161513..0000000
--- a/third_party/WebKit/LayoutTests/editing/inserting/insert-br-008.html
+++ /dev/null
@@ -1,32 +0,0 @@
-<html> 
-<head>
-
-<style>
-.editing { 
-    border: 2px solid red; 
-    padding: 12px; 
-    font-size: 24px; 
-}
-</style>
-<script src=../editing.js language="JavaScript" type="text/JavaScript" ></script>
-
-<script>
-
-function editingTest() {
-    insertLineBreakCommand();
-    typeCharacterCommand(" ");
-}
-
-</script>
-
-<title>Editing Test</title> 
-</head> 
-<body id="root">
-<div contenteditable id="test" class="editing">foo</div>
-
-<script>
-runEditingTest();
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/editing/inserting/insert-br-009.html b/third_party/WebKit/LayoutTests/editing/inserting/insert-br-009.html
deleted file mode 100644
index 1b0f94b2..0000000
--- a/third_party/WebKit/LayoutTests/editing/inserting/insert-br-009.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<script>
-if (window.testRunner)
-     testRunner.dumpEditingCallbacks();
-</script>
-<p>This tests for a bug in InsertLineBreakCommand.  Only one line break should be inserted and the caret should end up at the end of the bordered div below.</p><div contenteditable="true" id="div" style="white-space:pre; border: 1px solid black;">Hello world.
-
-</div>
-
-<script>
-var sel = window.getSelection();
-var div = document.getElementById("div");
-sel.collapse(div, 0);
-sel.modify("move", "forward", "line");
-document.execCommand("InsertLineBreak");
-</script>
diff --git a/third_party/WebKit/LayoutTests/editing/inserting/insert-div-001.html b/third_party/WebKit/LayoutTests/editing/inserting/insert-div-001.html
deleted file mode 100644
index e596b194..0000000
--- a/third_party/WebKit/LayoutTests/editing/inserting/insert-div-001.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<html> 
-<head>
-
-<style>
-.editing { 
-    border: 2px solid red; 
-    padding: 12px; 
-    font-size: 24px; 
-}
-</style>
-<script src=../editing.js language="JavaScript" type="text/JavaScript" ></script>
-
-<script>
-
-function editingTest() {
-    selectAllCommand();
-    moveSelectionForwardByCharacterCommand();
-    insertParagraphCommand();
-    typeCharacterCommand();
-}
-
-</script>
-
-<title>Editing Test</title> 
-</head> 
-<body contenteditable id="root" >
-<div class="editing" id="test">test</div>
-
-<script>
-runEditingTest();
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/editing/inserting/insert-div-002.html b/third_party/WebKit/LayoutTests/editing/inserting/insert-div-002.html
deleted file mode 100644
index d052976..0000000
--- a/third_party/WebKit/LayoutTests/editing/inserting/insert-div-002.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<html> 
-<head>
-
-<style>
-.editing { 
-    border: 2px solid red; 
-    padding: 12px; 
-    font-size: 24px; 
-}
-</style>
-<script src=../editing.js language="JavaScript" type="text/JavaScript" ></script>
-
-<script>
-
-function editingTest() {
-    for (i = 0; i < 4; i++)
-        moveSelectionForwardByCharacterCommand();
-    insertParagraphCommand();
-    typeCharacterCommand();
-}
-
-</script>
-
-<title>Editing Test</title> 
-</head> 
-<body contenteditable id="root" >
-<div class="editing" id="test">test</div>
-
-<script>
-runEditingTest();
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/editing/inserting/insert-div-003.html b/third_party/WebKit/LayoutTests/editing/inserting/insert-div-003.html
deleted file mode 100644
index 3bb6031..0000000
--- a/third_party/WebKit/LayoutTests/editing/inserting/insert-div-003.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<html> 
-<head>
-
-<style>
-.editing { 
-    border: 2px solid red; 
-    padding: 12px; 
-    font-size: 24px; 
-}
-</style>
-<script src=../editing.js language="JavaScript" type="text/JavaScript" ></script>
-
-<script>
-
-function editingTest() {
-    for (i = 0; i < 4; i++)
-        moveSelectionForwardByCharacterCommand();
-    insertParagraphCommand();
-    typeCharacterCommand();
-}
-
-</script>
-
-<title>Editing Test</title> 
-</head> 
-<body contenteditable id="root" >
-<div class="editing" id="test">testtest</div>
-
-<script>
-runEditingTest();
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/editing/inserting/insert-div-004.html b/third_party/WebKit/LayoutTests/editing/inserting/insert-div-004.html
deleted file mode 100644
index c5b3615..0000000
--- a/third_party/WebKit/LayoutTests/editing/inserting/insert-div-004.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<html> 
-<head>
-
-<style>
-.editing { 
-    border: 2px solid red; 
-    padding: 12px; 
-    font-size: 24px; 
-}
-</style>
-<script src=../editing.js language="JavaScript" type="text/JavaScript" ></script>
-
-<script>
-
-function editingTest() {
-    for (i = 0; i < 4; i++)
-        moveSelectionForwardByCharacterCommand();
-    insertParagraphCommand();
-    insertParagraphCommand();
-}
-
-</script>
-
-<title>Editing Test</title> 
-</head> 
-<body contenteditable id="root" >
-<div class="editing" id="test">test</div>
-
-<script>
-runEditingTest();
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/editing/inserting/insert-div-005.html b/third_party/WebKit/LayoutTests/editing/inserting/insert-div-005.html
deleted file mode 100644
index f9c8437..0000000
--- a/third_party/WebKit/LayoutTests/editing/inserting/insert-div-005.html
+++ /dev/null
@@ -1,35 +0,0 @@
-<html> 
-<head>
-
-<style>
-.editing { 
-    border: 2px solid red; 
-    padding: 12px; 
-    font-size: 24px; 
-}
-</style>
-<script src=../editing.js language="JavaScript" type="text/JavaScript" ></script>
-
-<script>
-
-function editingTest() {
-    for (i = 0; i < 4; i++)
-        moveSelectionForwardByCharacterCommand();
-    insertParagraphCommand();
-    insertParagraphCommand();
-    typeCharacterCommand();
-}
-
-</script>
-
-<title>Editing Test</title> 
-</head> 
-<body contenteditable id="root" >
-<div class="editing" id="test">test</div>
-
-<script>
-runEditingTest();
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/editing/inserting/insert-div-006.html b/third_party/WebKit/LayoutTests/editing/inserting/insert-div-006.html
deleted file mode 100644
index 374950b..0000000
--- a/third_party/WebKit/LayoutTests/editing/inserting/insert-div-006.html
+++ /dev/null
@@ -1,32 +0,0 @@
-<html> 
-<head>
-
-<style>
-.editing { 
-    border: 2px solid red; 
-    padding: 12px; 
-    font-size: 24px; 
-}
-</style>
-<script src=../editing.js language="JavaScript" type="text/JavaScript" ></script>
-
-<script>
-
-function editingTest() {
-    insertParagraphCommand();
-    typeCharacterCommand();
-}
-
-</script>
-
-<title>Editing Test</title> 
-</head> 
-<body contenteditable id="root" >
-<div class="editing" id="test">test</div>
-
-<script>
-runEditingTest();
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/editing/inserting/insert-div-007.html b/third_party/WebKit/LayoutTests/editing/inserting/insert-div-007.html
deleted file mode 100644
index 20b2c61..0000000
--- a/third_party/WebKit/LayoutTests/editing/inserting/insert-div-007.html
+++ /dev/null
@@ -1,33 +0,0 @@
-<html> 
-<head>
-
-<style>
-.editing { 
-    border: 2px solid red; 
-    padding: 12px; 
-    font-size: 24px; 
-}
-</style>
-<script src=../editing.js language="JavaScript" type="text/JavaScript" ></script>
-
-<script>
-
-function editingTest() {
-    for (i = 0; i < 3; i++)
-        moveSelectionForwardByCharacterCommand();
-    insertParagraphCommand();
-}
-
-</script>
-
-<title>Editing Test</title> 
-</head> 
-<body contenteditable id="root" >
-<div class="editing" id="test">foo bar</div>
-
-<script>
-runEditingTest();
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/editing/inserting/insert-div-008.html b/third_party/WebKit/LayoutTests/editing/inserting/insert-div-008.html
deleted file mode 100644
index 696cdaa..0000000
--- a/third_party/WebKit/LayoutTests/editing/inserting/insert-div-008.html
+++ /dev/null
@@ -1,32 +0,0 @@
-<html> 
-<head>
-
-<style>
-.editing { 
-    border: 2px solid red; 
-    padding: 12px; 
-    font-size: 24px; 
-}
-</style>
-<script src=../editing.js language="JavaScript" type="text/JavaScript" ></script>
-
-<script>
-
-function editingTest() {
-    insertParagraphCommand();
-    typeCharacterCommand();
-}
-
-</script>
-
-<title>Editing Test</title> 
-</head> 
-<body contenteditable id="root" >
-<div class="editing" id="test">foo</div>
-
-<script>
-runEditingTest();
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/editing/inserting/insert-div-011.html b/third_party/WebKit/LayoutTests/editing/inserting/insert-div-011.html
deleted file mode 100644
index 4b15b98..0000000
--- a/third_party/WebKit/LayoutTests/editing/inserting/insert-div-011.html
+++ /dev/null
@@ -1,40 +0,0 @@
-<html>
-<head>
-
-<style>
-body {
-    font-size: 24px;
-}
-.editing {
-    border: 2px solid red;
-    padding: 12px;
-}
-
-</style>
-<script src=../editing.js language="JavaScript" type="text/JavaScript" ></script>
-
-<script>
-
-function editingTest() {
-    insertParagraphCommand();
-}
-
-</script>
-
-<title>Editing Test</title>
-</head>
-<body contenteditable id="root">
-
-Test inserting paragraphs: should see empty red box above "baz"
-
-<div style="height: 12px"></div>
-
-<div class="editing" id="test" spellcheck="false">baz</div>bar<div class="editing">foo</div>
-<div class="editing"><br class="khtml-block-placeholder"></div>
-
-<script>
-runEditingTest();
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/editing/inserting/insert-div-012.html b/third_party/WebKit/LayoutTests/editing/inserting/insert-div-012.html
deleted file mode 100644
index 43d01e45..0000000
--- a/third_party/WebKit/LayoutTests/editing/inserting/insert-div-012.html
+++ /dev/null
@@ -1,46 +0,0 @@
-<html> 
-<head>
-
-<style>
-body {
-    font-size: 24px; 
-}
-.editing { 
-    border: 2px solid red; 
-    padding: 12px; 
-}
-p {
-    border: 2px solid blue; 
-    padding: 12px; 
-}
-
-</style>
-<script src=../editing.js language="JavaScript" type="text/JavaScript" ></script>
-
-<script>
-
-function editingTest() {
-    for (i = 0; i < 3; i++)
-        moveSelectionForwardByCharacterCommand();
-    insertParagraphCommand();
-}
-
-</script>
-
-<title>Editing Test</title> 
-</head> 
-<body contenteditable id="root">
-
-Test inserting paragraphs: should see empty red box below "baz"
-
-<div style="height: 12px"></div>
-
-<div class="editing" id="test">baz</div>bar<div class="editing">foo</div>
-<div class="editing"><br class="khtml-block-placeholder"></div>
-
-<script>
-runEditingTest();
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/editing/inserting/insert-div-013.html b/third_party/WebKit/LayoutTests/editing/inserting/insert-div-013.html
deleted file mode 100644
index 3aa91cc..0000000
--- a/third_party/WebKit/LayoutTests/editing/inserting/insert-div-013.html
+++ /dev/null
@@ -1,46 +0,0 @@
-<html> 
-<head>
-
-<style>
-body {
-    font-size: 24px; 
-}
-.editing { 
-    border: 2px solid red; 
-    padding: 12px; 
-}
-div {
-    border: 2px solid blue; 
-    padding: 12px; 
-}
-
-</style>
-<script src=../editing.js language="JavaScript" type="text/JavaScript" ></script>
-
-<script>
-
-function editingTest() {
-    for (i = 0; i < 4; i++)
-        moveSelectionForwardByCharacterCommand();
-    insertParagraphCommand();
-}
-
-</script>
-
-<title>Editing Test</title> 
-</head> 
-<body contenteditable id="root">
-
-Test inserting paragraphs: should see empty blue box above "bar"
-
-<div style="border: none; height: 12px"></div>
-
-<div class="editing" id="test">baz</div>bar<div class="editing">foo</div>
-<div class="editing"><br class="khtml-block-placeholder"></div>
-
-<script>
-runEditingTest();
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/editing/inserting/insert-div-014.html b/third_party/WebKit/LayoutTests/editing/inserting/insert-div-014.html
deleted file mode 100644
index 4dc0382..0000000
--- a/third_party/WebKit/LayoutTests/editing/inserting/insert-div-014.html
+++ /dev/null
@@ -1,46 +0,0 @@
-<html>
-<head>
-
-<style>
-body {
-    font-size: 24px;
-}
-.editing {
-    border: 2px solid red;
-    padding: 12px;
-}
-div {
-    border: 2px solid blue;
-    padding: 12px;
-}
-
-</style>
-<script src=../editing.js language="JavaScript" type="text/JavaScript" ></script>
-
-<script>
-
-function editingTest() {
-    for (i = 0; i < 7; i++)
-        moveSelectionForwardByCharacterCommand();
-    insertParagraphCommand();
-}
-
-</script>
-
-<title>Editing Test</title>
-</head>
-<body contenteditable id="root" spellcheck="false">
-
-Test inserting paragraphs: should see empty blue box below "bar"
-
-<div style="border: none; height: 12px"></div>
-
-<div class="editing" spellcheck="true" id="test">baz</div>bar<div class="editing">foo</div>
-<div class="editing"><br class="khtml-block-placeholder"></div>
-
-<script>
-runEditingTest();
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/editing/inserting/insert-div-015.html b/third_party/WebKit/LayoutTests/editing/inserting/insert-div-015.html
deleted file mode 100644
index 142c3b7..0000000
--- a/third_party/WebKit/LayoutTests/editing/inserting/insert-div-015.html
+++ /dev/null
@@ -1,46 +0,0 @@
-<html>
-<head>
-
-<style>
-body {
-    font-size: 24px;
-}
-.editing {
-    border: 2px solid red;
-    padding: 12px;
-}
-p {
-    border: 2px solid blue;
-    padding: 12px;
-}
-
-</style>
-<script src=../editing.js language="JavaScript" type="text/JavaScript" ></script>
-
-<script>
-
-function editingTest() {
-    for (i = 0; i < 8; i++)
-        moveSelectionForwardByCharacterCommand();
-    insertParagraphCommand();
-}
-
-</script>
-
-<title>Editing Test</title>
-</head>
-<body contenteditable id="root" spellcheck="false">
-
-Test inserting paragraphs: should see empty red box above "foo"
-
-<div style="height: 12px"></div>
-
-<div class="editing" id="test" spellcheck="true">baz</div>bar<div class="editing">foo</div>
-<div class="editing"><br class="khtml-block-placeholder"></div>
-
-<script>
-runEditingTest();
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/editing/inserting/insert-div-016.html b/third_party/WebKit/LayoutTests/editing/inserting/insert-div-016.html
deleted file mode 100644
index 0f23008..0000000
--- a/third_party/WebKit/LayoutTests/editing/inserting/insert-div-016.html
+++ /dev/null
@@ -1,46 +0,0 @@
-<html> 
-<head>
-
-<style>
-body {
-    font-size: 24px; 
-}
-.editing { 
-    border: 2px solid red; 
-    padding: 12px; 
-}
-p {
-    border: 2px solid blue; 
-    padding: 12px; 
-}
-
-</style>
-<script src=../editing.js language="JavaScript" type="text/JavaScript" ></script>
-
-<script>
-
-function editingTest() {
-    for (i = 0; i < 11; i++)
-        moveSelectionForwardByCharacterCommand();
-    insertParagraphCommand();
-}
-
-</script>
-
-<title>Editing Test</title> 
-</head> 
-<body contenteditable id="root">
-
-Test inserting paragraphs: should see two empty red boxes below "foo"
-
-<div style="height: 12px"></div>
-
-<div class="editing" id="test">baz</div>bar<div class="editing">foo</div>
-<div class="editing"><br class="khtml-block-placeholder"></div>
-
-<script>
-runEditingTest();
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/editing/inserting/insert-div-017.html b/third_party/WebKit/LayoutTests/editing/inserting/insert-div-017.html
deleted file mode 100644
index 634e32d..0000000
--- a/third_party/WebKit/LayoutTests/editing/inserting/insert-div-017.html
+++ /dev/null
@@ -1,46 +0,0 @@
-<html> 
-<head>
-
-<style>
-body {
-    font-size: 24px; 
-}
-.editing { 
-    border: 2px solid red; 
-    padding: 12px; 
-}
-p {
-    border: 2px solid blue; 
-    padding: 12px; 
-}
-
-</style>
-<script src=../editing.js language="JavaScript" type="text/JavaScript" ></script>
-
-<script>
-
-function editingTest() {
-    for (i = 0; i < 12; i++)
-        moveSelectionForwardByCharacterCommand();
-    insertParagraphCommand();
-}
-
-</script>
-
-<title>Editing Test</title> 
-</head> 
-<body contenteditable id="root">
-
-Test inserting paragraphs: should see two empty red boxes below "foo"
-
-<div style="height: 12px"></div>
-
-<div class="editing" id="test">baz</div>bar<div class="editing">foo</div>
-<div class="editing"><br class="khtml-block-placeholder"></div>
-
-<script>
-runEditingTest();
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/editing/inserting/insert-div-019.html b/third_party/WebKit/LayoutTests/editing/inserting/insert-div-019.html
index 1a1f1bf..99f8a5c 100644
--- a/third_party/WebKit/LayoutTests/editing/inserting/insert-div-019.html
+++ b/third_party/WebKit/LayoutTests/editing/inserting/insert-div-019.html
@@ -1,45 +1,24 @@
-<html> 
-<head>
-
-<style>
-body {
-    font-size: 24px; 
-}
-.editing { 
-    border: 2px solid red; 
-    padding: 12px; 
-}
-div {
-    border: 2px solid blue; 
-    padding: 12px; 
-}
-
-</style>
-<script src=../editing.js language="JavaScript" type="text/JavaScript" ></script>
-
+<!doctype html>
+<script src="../../resources/testharness.js"></script>
+<script src="../../resources/testharnessreport.js"></script>
+<script src="../assert_selection.js"></script>
 <script>
-
-function editingTest() {
-    for (i = 0; i < 4; i++)
-        moveSelectionForwardByCharacterCommand();
-    insertParagraphCommand();
-}
-
+test(() => assert_selection(
+    [
+        '<div contenteditable>',
+            '<p>foo</p>',
+            '|<br>',
+            '<p>bar</p>',
+        '</div>',
+    ].join(''),
+    'insertParagraph',
+    [
+        '<div contenteditable>',
+            '<p>foo</p>',
+            '<div><br></div>',
+            '|<br>',
+            '<p>bar</p>',
+        '</div>',
+    ].join('')),
+    'insert DIV+BR before BR');
 </script>
-
-<title>Editing Test</title> 
-</head> 
-<body contenteditable id="root">
-
-Test inserting paragraphs: should see an empty blue box above an empty line between "foo" and "bar"
-
-<div style="border: none; height: 12px"></div>
-
-<p id="test" class="editing">foo</p><br><p class="editing">bar</p>
-
-<script>
-runEditingTest();
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/editing/inserting/insert-div-020.html b/third_party/WebKit/LayoutTests/editing/inserting/insert-div-020.html
index 8228474..f9bfdda 100644
--- a/third_party/WebKit/LayoutTests/editing/inserting/insert-div-020.html
+++ b/third_party/WebKit/LayoutTests/editing/inserting/insert-div-020.html
@@ -1,45 +1,19 @@
-<html> 
-<head>
-
-<style>
-body {
-    font-size: 24px; 
-}
-.editing { 
-    border: 2px solid red; 
-    padding: 12px; 
-}
-div {
-    border: 2px solid blue; 
-    padding: 12px; 
-}
-
-</style>
-<script src=../editing.js language="JavaScript" type="text/JavaScript" ></script>
-
+<!doctype html>
+<script src="../../resources/testharness.js"></script>
+<script src="../../resources/testharnessreport.js"></script>
+<script src="../assert_selection.js"></script>
 <script>
-
-function editingTest() {
-    for (i = 0; i < 5; i++)
-        moveSelectionForwardByCharacterCommand();
-    insertParagraphCommand();
-}
-
+test(() => assert_selection(
+    [
+        '<div contenteditable>',
+            '<span id="test">foo</span><br><br>|bar',
+        '</div>',
+    ].join(''),
+    'insertParagraph',
+    [
+        '<div contenteditable>',
+            '<span id="test">foo</span><br><br><br><div>|bar</div>',
+        '</div>',
+    ].join('')),
+    'Insert BR and enclose "bar" with DIV');
 </script>
-
-<title>Editing Test</title> 
-</head> 
-<body contenteditable id="root" style="word-wrap: break-word; -khtml-nbsp-mode: space; -khtml-line-break: after-white-space;">
-
-Test inserting paragraphs: should see a blue box with "bar" in it, and two blank lines between "foo" and "bar".
-
-<div style="border: none; height: 12px"></div>
-
-<span id="test">foo</span><br><br>bar
-
-<script>
-runEditingTest();
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/editing/inserting/insert_br.html b/third_party/WebKit/LayoutTests/editing/inserting/insert_br.html
new file mode 100644
index 0000000..20954450
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/editing/inserting/insert_br.html
@@ -0,0 +1,69 @@
+<!doctype html>
+<script src="../../resources/testharness.js"></script>
+<script src="../../resources/testharnessreport.js"></script>
+<script src="../assert_selection.js"></script>
+<script>
+test(() => assert_selection(
+    '<div contenteditable><span>foo|</span></div>',
+    'insertLineBreak',
+    '<div contenteditable><span>foo<br>|<br></span></div>'),
+    'Insert line break at end of text');
+
+test(() => assert_selection(
+    '<div contenteditable><span>foo|<br>bar</span></div>',
+    'insertLineBreak',
+    '<div contenteditable><span>foo<br>|<br>bar</span></div>'),
+    'Insert line break before line break');
+
+test(() => assert_selection(
+    '<div contenteditable><span>foo|bar</span></div>',
+    'insertLineBreak',
+    '<div contenteditable><span>foo<br>|bar</span></div>'),
+    'Insert line break between text');
+
+test(() => assert_selection(
+    '<div contenteditable><span>foo|</span></div>',
+    selection => {
+        selection.document.execCommand('insertLineBreak');
+        selection.document.execCommand('insertLineBreak');
+    },
+    '<div contenteditable><span>foo<br><br>|<br></span></div>'),
+    'Insert two line breaks');
+
+test(() => assert_selection(
+    '<div contenteditable><span>foo|</span></div>',
+    selection => {
+        selection.document.execCommand('insertLineBreak');
+        selection.document.execCommand('insertLineBreak');
+        selection.document.execCommand('insertText', false, 'c');
+    },
+    '<div contenteditable><span>foo<br><br>c|</span></div>'),
+    'Insert two line breaks and a character');
+
+test(() => assert_selection(
+    '<div contenteditable><span>|foo</span></div>',
+    'insertLineBreak',
+    '<div contenteditable><span><br>|foo</span></div>'),
+    'Insert line break before text');
+
+test(() => assert_selection(
+    '<div contenteditable><span>foo| bar</span></div>',
+    'insertLineBreak',
+    '<div contenteditable><span>foo<br>|\u{00A0}bar</span></div>'),
+    'Insert line break between words');
+
+test(() => assert_selection(
+    '<div contenteditable>|foo</div>',
+    selection => {
+        selection.document.execCommand('insertLineBreak');
+        selection.document.execCommand('insertText', false, ' ');
+    },
+    '<div contenteditable><br>\u{00A0}|foo</div>'),
+    'Insert space after BR becomeas NBSP');
+
+test(() => assert_selection(
+    '<div contenteditable style="white-space:pre">foo\n|\n</div>',
+    'insertLineBreak',
+    '<div contenteditable style="white-space:pre">foo\n\n|\n</div>'),
+    'Insert a newline character for white-space:pre');
+</script>
diff --git a/third_party/WebKit/LayoutTests/editing/inserting/insert_div_with_attr.html b/third_party/WebKit/LayoutTests/editing/inserting/insert_div_with_attr.html
new file mode 100644
index 0000000..c83d070
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/editing/inserting/insert_div_with_attr.html
@@ -0,0 +1,153 @@
+<!doctype html>
+<script src="../../resources/testharness.js"></script>
+<script src="../../resources/testharnessreport.js"></script>
+<script src="../assert_selection.js"></script>
+<script>
+test(() => assert_selection(
+    [
+        '<div contenteditable>',
+            '<div style="height: 12px"></div>',
+            '<div spellcheck="false">|baz</div>bar',
+            '<div>foo</div>',
+            '<div><br class="xyz"></div>',
+        '</div>',
+    ].join(''),
+    'insertParagraph',
+    [
+        '<div contenteditable>',
+            '<div style="height: 12px"></div>',
+            '<div spellcheck="false"><br></div>',
+            '<div spellcheck="false">|baz</div>bar',
+            '<div>foo</div>',
+            '<div><br class="xyz"></div>',
+        '</div>',
+    ].join('')),
+    'insert DIV+BR with attribute before "baz"');
+
+test(() => assert_selection(
+    [
+        '<div contenteditable>',
+            '<div style="height: 12px"></div>',
+            '<div spellcheck="false">baz|</div>bar',
+            '<div>foo</div>',
+            '<div><br class="xyz"></div>',
+        '</div>',
+    ].join(''),
+    'insertParagraph',
+    [
+        '<div contenteditable>',
+            '<div style="height: 12px"></div>',
+            '<div spellcheck="false">baz</div>',
+            '<div spellcheck="false">|<br></div>bar',
+            '<div>foo</div>',
+            '<div><br class="xyz"></div>',
+        '</div>',
+    ].join('')),
+    'insert DIV+BR with attribute after "baz"');
+
+test(() => assert_selection(
+    [
+        '<div contenteditable>',
+            '<div style="height: 12px"></div>',
+            '<div spellcheck="false">baz</div>|bar',
+            '<div>foo</div>',
+            '<div><br class="xyz"></div>',
+        '</div>',
+    ].join(''),
+    'insertParagraph',
+    [
+        '<div contenteditable>',
+            '<div style="height: 12px"></div>',
+            '<div spellcheck="false">baz</div>',
+            '<div><br></div>|bar',
+            '<div>foo</div>',
+            '<div><br class="xyz"></div>',
+        '</div>',
+    ].join('')),
+    'insert DIV+BR without attribute before "bar"');
+
+test(() => assert_selection(
+    [
+        '<div contenteditable>',
+            '<div style="height: 12px"></div>',
+            '<div spellcheck="false">baz</div>bar|',
+            '<div>foo</div>',
+            '<div><br class="xyz"></div>',
+        '</div>',
+    ].join(''),
+    'insertParagraph',
+    [
+        '<div contenteditable>',
+            '<div style="height: 12px"></div>',
+            '<div spellcheck="false">baz</div>bar',
+            '<div>|<br>',
+                '<div>foo</div>',
+                '<div><br class="xyz"></div>',
+            '</div>',
+        '</div>',
+    ].join('')),
+    'insert DIV+BR without attribute after "bar"');
+
+test(() => assert_selection(
+    [
+        '<div contenteditable>',
+            '<div style="height: 12px"></div>',
+            '<div spellcheck="false">baz</div>bar',
+            '<div>|foo</div>',
+            '<div><br class="xyz"></div>',
+        '</div>',
+    ].join(''),
+    'insertParagraph',
+    [
+        '<div contenteditable>',
+            '<div style="height: 12px"></div>',
+            '<div spellcheck="false">baz</div>bar',
+            '<div><br></div>',
+            '<div>|foo</div>',
+            '<div><br class="xyz"></div>',
+        '</div>',
+    ].join('')),
+    'insert DIV+BR without attribute before "foo"')
+
+test(() => assert_selection(
+    [
+        '<div contenteditable>',
+            '<div style="height: 12px"></div>',
+            '<div spellcheck="false">baz</div>bar',
+            '<div>foo|</div>',
+            '<div><br class="xyz"></div>',
+        '</div>',
+    ].join(''),
+    'insertParagraph',
+    [
+        '<div contenteditable>',
+            '<div style="height: 12px"></div>',
+            '<div spellcheck="false">baz</div>bar',
+            '<div>foo</div>',
+            '<div>|<br></div>',
+            '<div><br class="xyz"></div>',
+        '</div>',
+    ].join('')),
+    'insert DIV+BR without attribute after "foo"')
+
+test(() => assert_selection(
+    [
+        '<div contenteditable>',
+            '<div style="height: 12px"></div>',
+            '<div spellcheck="false">baz</div>bar',
+            '<div>foo</div>',
+            '<div>|<br class="xyz"></div>',
+        '</div>',
+    ].join(''),
+    'insertParagraph',
+    [
+        '<div contenteditable>',
+            '<div style="height: 12px"></div>',
+            '<div spellcheck="false">baz</div>bar',
+            '<div>foo</div>',
+            '<div><br class="xyz"></div>',
+            '<div>|<br></div>',
+        '</div>',
+    ].join('')),
+    'insert DIV+BR without attribute after BR')
+</script>
diff --git a/third_party/WebKit/LayoutTests/editing/inserting/insert_div_with_style.html b/third_party/WebKit/LayoutTests/editing/inserting/insert_div_with_style.html
new file mode 100644
index 0000000..a363940
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/editing/inserting/insert_div_with_style.html
@@ -0,0 +1,156 @@
+<!doctype html>
+<script src="../../resources/testharness.js"></script>
+<script src="../../resources/testharnessreport.js"></script>
+<script src="../assert_selection.js"></script>
+<script>
+test(() => assert_selection(
+    [
+        '<style>.abc {font-size:24px;}</style>',
+        '<div contenteditable>',
+            '<div class="abc">test|</div>',
+        '</div>',
+    ].join(''),
+    'insertParagraph',
+    [
+        '<style>.abc {font-size:24px;}</style>',
+        '<div contenteditable>',
+            '<div class="abc">test</div>',
+            '<div class="abc">|<br></div>',
+        '</div>',
+    ].join('')),
+    'insert a paragraph after text');
+
+test(() => assert_selection(
+    [
+        '<style>.abc {font-size:24px;}</style>',
+        '<div contenteditable>',
+            '<div class="abc">test|</div>',
+        '</div>',
+    ].join(''),
+    selection => {
+        selection.document.execCommand('insertParagraph');
+        selection.document.execCommand('insertText', false, 'x');
+    },
+    [
+        '<style>.abc {font-size:24px;}</style>',
+        '<div contenteditable>',
+            '<div class="abc">test</div>',
+            '<div class="abc">x|</div>',
+        '</div>',
+    ].join('')),
+    'insert a paragraph and character after text');
+
+test(() => assert_selection(
+    [
+        '<style>.abc {font-size:24px;}</style>',
+        '<div contenteditable>',
+            '<div class="abc">test|test</div>',
+        '</div>',
+    ].join(''),
+    'insertParagraph',
+    [
+        '<style>.abc {font-size:24px;}</style>',
+        '<div contenteditable>',
+            '<div class="abc">test</div>',
+            '<div class="abc">|test</div>',
+        '</div>',
+    ].join('')),
+    'insert a paragraph in text');
+
+test(() => assert_selection(
+    [
+        '<style>.abc {font-size:24px;}</style>',
+        '<div contenteditable>',
+            '<div class="abc">test|</div>',
+        '</div>',
+    ].join(''),
+    selection => {
+        selection.document.execCommand('insertParagraph');
+        selection.document.execCommand('insertParagraph');
+    },
+    [
+        '<style>.abc {font-size:24px;}</style>',
+        '<div contenteditable>',
+            '<div class="abc">test</div>',
+            '<div class="abc"><br></div>',
+            '<div class="abc">|<br></div>',
+        '</div>',
+    ].join('')),
+    'insert two paragraphs after text');
+
+test(() => assert_selection(
+    [
+        '<style>.abc {font-size:24px;}</style>',
+        '<div contenteditable>',
+            '<div class="abc">test|</div>',
+        '</div>',
+    ].join(''),
+    selection => {
+        selection.document.execCommand('insertParagraph');
+        selection.document.execCommand('insertParagraph');
+        selection.document.execCommand('insertText', false, 'x');
+    },
+    [
+        '<style>.abc {font-size:24px;}</style>',
+        '<div contenteditable>',
+            '<div class="abc">test</div>',
+            '<div class="abc"><br></div>',
+            '<div class="abc">x|</div>',
+        '</div>',
+    ].join('')),
+    'insert two paragraphs and a character after text');
+
+test(() => assert_selection(
+    [
+        '<style>.abc {font-size:24px;}</style>',
+        '<div contenteditable>',
+            '<div class="abc">|test</div>',
+        '</div>',
+    ].join(''),
+    'insertParagraph',
+    [
+        '<style>.abc {font-size:24px;}</style>',
+        '<div contenteditable>',
+            '<div class="abc"><br></div>',
+            '<div class="abc">|test</div>',
+        '</div>',
+    ].join('')),
+    'insert a paragraph before text');
+
+test(() => assert_selection(
+    [
+        '<style>.abc {font-size:24px;}</style>',
+        '<div contenteditable>',
+            '<div class="abc">|test</div>',
+        '</div>',
+    ].join(''),
+    selection => {
+        selection.document.execCommand('insertParagraph');
+        selection.document.execCommand('insertText', false, 'x');
+    },
+    [
+        '<style>.abc {font-size:24px;}</style>',
+        '<div contenteditable>',
+            '<div class="abc"><br></div>',
+            '<div class="abc">x|test</div>',
+        '</div>',
+    ].join('')),
+    'insert a paragraph and character before text');
+
+test(() => assert_selection(
+    [
+        '<style>.abc {font-size:24px;}</style>',
+        '<div contenteditable>',
+            '<div class="abc">foo| bar</div>',
+        '</div>',
+    ].join(''),
+    'insertParagraph',
+    [
+        '<style>.abc {font-size:24px;}</style>',
+        '<div contenteditable>',
+            '<div class="abc">foo</div>',
+            '<div class="abc">|\u{00A0}bar</div>',
+        '</div>',
+    ].join('')),
+    'insert a paragraph after word');
+</script>
diff --git a/third_party/WebKit/LayoutTests/editing/selection/caret-in-empty-div-with-pseudo-content.html b/third_party/WebKit/LayoutTests/editing/selection/caret-in-empty-div-with-pseudo-content.html
new file mode 100644
index 0000000..8266c03
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/editing/selection/caret-in-empty-div-with-pseudo-content.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<script src="../../resources/testharness.js"></script>
+<script src="../../resources/testharnessreport.js"></script>
+<style>
+#div1, #div2 {
+    height: 200px;
+    width: 200px;
+    border: 1px solid black;
+}
+#div2 {
+    text-align: center;
+}
+div:before {
+    content: "Test";
+}
+</style>
+<div id="div1" contenteditable="true"></div>
+<div id="div2" contenteditable="true"></div>
+<script>
+test (function() {
+    var div1 = document.getElementById('div1');
+    div1.focus();
+    var caretRect1 = internals.absoluteCaretBounds(document);
+
+    var div2 = document.getElementById('div2');
+    div2.focus();
+    var caretRect2 = internals.absoluteCaretBounds(document);
+
+    assert_not_equals(caretRect1.left, caretRect2.left);
+}, "Tests if the cursor respects text align property in emtpy div having pseudo content");
+</script>
diff --git a/third_party/WebKit/LayoutTests/fast/css/getComputedStyle/computed-style-listing-expected.txt b/third_party/WebKit/LayoutTests/fast/css/getComputedStyle/computed-style-listing-expected.txt
index 97c4b81d..a47ccfc 100644
--- a/third_party/WebKit/LayoutTests/fast/css/getComputedStyle/computed-style-listing-expected.txt
+++ b/third_party/WebKit/LayoutTests/fast/css/getComputedStyle/computed-style-listing-expected.txt
@@ -42,7 +42,7 @@
 -webkit-mask-position: 0% 0%
 -webkit-mask-position-x: 0%
 -webkit-mask-position-y: 0%
--webkit-mask-repeat: repeat
+-webkit-mask-repeat: no-repeat
 -webkit-mask-size: auto
 -webkit-print-color-adjust: economy
 -webkit-rtl-ordering: logical
diff --git a/third_party/WebKit/LayoutTests/fast/css/getComputedStyle/computed-style-without-renderer-listing-expected.txt b/third_party/WebKit/LayoutTests/fast/css/getComputedStyle/computed-style-without-renderer-listing-expected.txt
index e0b1839..2b88a83 100644
--- a/third_party/WebKit/LayoutTests/fast/css/getComputedStyle/computed-style-without-renderer-listing-expected.txt
+++ b/third_party/WebKit/LayoutTests/fast/css/getComputedStyle/computed-style-without-renderer-listing-expected.txt
@@ -42,7 +42,7 @@
 -webkit-mask-position: 0% 0%
 -webkit-mask-position-x: 0%
 -webkit-mask-position-y: 0%
--webkit-mask-repeat: repeat
+-webkit-mask-repeat: no-repeat
 -webkit-mask-size: auto
 -webkit-print-color-adjust: economy
 -webkit-rtl-ordering: logical
diff --git a/third_party/WebKit/LayoutTests/fast/dom/MutationObserver/observe-element-resize.html b/third_party/WebKit/LayoutTests/fast/dom/MutationObserver/observe-element-resize.html
new file mode 100644
index 0000000..d227f47
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/fast/dom/MutationObserver/observe-element-resize.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<body>
+<script src="../../../resources/testharness.js"></script>
+<script src="../../../resources/testharnessreport.js"></script>
+<textarea id="resizable"></textarea>
+<script>
+var test = async_test('Resizing an element via CSS property |resize| should trigger MutationObserver for style attribute.');
+test.step(() => {
+  assert_true(!!window.eventSender, 'Needs window.eventSender');
+  var resizable = document.querySelector('#resizable');
+  var mutationCount = 0;
+  new MutationObserver(records => {
+    ++mutationCount;
+  }).observe(resizable, {attributes:true, attributeFilter:['style']});
+  
+  var resizerX = resizable.offsetLeft + resizable.offsetWidth - 4;
+  var resizerY = resizable.offsetTop + resizable.offsetHeight - 4;
+  eventSender.mouseMoveTo(resizerX, resizerY);
+  eventSender.mouseDown();
+  eventSender.mouseMoveTo(resizerX + 100, resizerY + 100);
+  eventSender.mouseUp();
+  setTimeout(test.step_func(() => {
+    assert_true(!!mutationCount);
+    test.done();
+  }), 0);
+});
+</script>
+</body>
diff --git a/third_party/WebKit/LayoutTests/paint/masks/fieldset-mask-expected.png b/third_party/WebKit/LayoutTests/paint/masks/fieldset-mask-expected.png
index a89222cc..bfe015d 100644
--- a/third_party/WebKit/LayoutTests/paint/masks/fieldset-mask-expected.png
+++ b/third_party/WebKit/LayoutTests/paint/masks/fieldset-mask-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/android/svg/css/getComputedStyle-listing-expected.txt b/third_party/WebKit/LayoutTests/platform/android/svg/css/getComputedStyle-listing-expected.txt
index 4726e9b..7d8977e 100644
--- a/third_party/WebKit/LayoutTests/platform/android/svg/css/getComputedStyle-listing-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/android/svg/css/getComputedStyle-listing-expected.txt
@@ -43,7 +43,7 @@
 -webkit-mask-position: 0% 0%
 -webkit-mask-position-x: 0%
 -webkit-mask-position-y: 0%
--webkit-mask-repeat: repeat
+-webkit-mask-repeat: no-repeat
 -webkit-mask-size: auto
 -webkit-print-color-adjust: economy
 -webkit-rtl-ordering: logical
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/execCommand/4916402-expected.png b/third_party/WebKit/LayoutTests/platform/linux/editing/execCommand/4916402-expected.png
deleted file mode 100644
index 36397905..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/execCommand/4916402-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/execCommand/4916402-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/editing/execCommand/4916402-expected.txt
deleted file mode 100644
index 2fc1701..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/execCommand/4916402-expected.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x576
-      LayoutBlockFlow {P} at (0,0) size 784x40
-        LayoutText {#text} at (0,0) size 774x39
-          text run at (0,0) width 774: "This tests to see that creating an ordered list item from the last list item in an unordered list creates a new list that is not a sublist of"
-          text run at (0,20) width 95: "the original one."
-      LayoutBlockFlow {DIV} at (0,56) size 784x56
-        LayoutBlockFlow {UL} at (0,0) size 784x20
-          LayoutListItem {LI} at (40,0) size 744x20
-            LayoutListMarker (anonymous) at (-18,0) size 7x19: bullet
-            LayoutText {#text} at (0,0) size 20x19
-              text run at (0,0) width 20: "foo"
-        LayoutBlockFlow {OL} at (0,36) size 784x20
-          LayoutListItem {LI} at (40,0) size 744x20
-            LayoutListMarker (anonymous) at (-16,0) size 16x19: "1"
-            LayoutText {#text} at (0,0) size 20x19
-              text run at (0,0) width 20: "bar"
-caret: position 0 of child 0 {#text} of child 0 {LI} of child 1 {OL} of child 2 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/execCommand/indent-list-item-expected.png b/third_party/WebKit/LayoutTests/platform/linux/editing/execCommand/indent-list-item-expected.png
deleted file mode 100644
index 3c04561f..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/execCommand/indent-list-item-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/execCommand/indent-list-item-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/editing/execCommand/indent-list-item-expected.txt
deleted file mode 100644
index bd0d6901..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/execCommand/indent-list-item-expected.txt
+++ /dev/null
@@ -1,29 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x576
-      LayoutBlockFlow {DIV} at (0,0) size 784x20
-        LayoutText {#text} at (0,0) size 358x19
-          text run at (0,0) width 358: "This test uses the execCommand to Outdent the text below."
-      LayoutBlockFlow (anonymous) at (0,20) size 784x20
-        LayoutBR {BR} at (0,0) size 0x19
-      LayoutBlockFlow {DIV} at (0,56) size 784x60
-        LayoutBlockFlow {UL} at (0,0) size 784x60
-          LayoutListItem {LI} at (40,0) size 744x20
-            LayoutListMarker (anonymous) at (-18,0) size 7x19: bullet
-            LayoutText {#text} at (0,0) size 25x19
-              text run at (0,0) width 25: "Foo"
-          LayoutBlockFlow {UL} at (40,20) size 744x20
-            LayoutListItem {LI} at (40,0) size 704x20
-              LayoutListMarker (anonymous) at (-18,0) size 7x19: white bullet
-              LayoutText {#text} at (0,0) size 22x19
-                text run at (0,0) width 22: "Bar"
-          LayoutListItem {LI} at (40,40) size 744x20
-            LayoutListMarker (anonymous) at (-18,0) size 7x19: bullet
-            LayoutText {#text} at (0,0) size 23x19
-              text run at (0,0) width 23: "Baz"
-caret: position 0 of child 0 {#text} of child 0 {LI} of child 3 {UL} of child 1 {UL} of child 4 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/execCommand/indent-selection-expected.png b/third_party/WebKit/LayoutTests/platform/linux/editing/execCommand/indent-selection-expected.png
deleted file mode 100644
index 319dc73..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/execCommand/indent-selection-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/execCommand/indent-selection-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/editing/execCommand/indent-selection-expected.txt
deleted file mode 100644
index e48a5fc..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/execCommand/indent-selection-expected.txt
+++ /dev/null
@@ -1,54 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow {DIV} at (0,0) size 784x20
-        LayoutText {#text} at (0,0) size 345x19
-          text run at (0,0) width 345: "This test uses the execCommand to indent the text below."
-      LayoutBlockFlow (anonymous) at (0,20) size 784x20
-        LayoutBR {BR} at (0,0) size 0x19
-      LayoutBlockFlow {DIV} at (0,40) size 784x212
-        LayoutBlockFlow {BLOCKQUOTE} at (40,0) size 744x60
-          LayoutBlockFlow (anonymous) at (0,0) size 744x40
-            LayoutInline {SPAN} at (0,0) size 40x19
-              LayoutText {#text} at (0,0) size 40x19
-                text run at (0,0) width 40: "Lorem"
-              LayoutBR {BR} at (40,15) size 0x0
-            LayoutText {#text} at (0,20) size 80x19
-              text run at (0,20) width 80: "more Lorem!"
-          LayoutBlockFlow {BLOCKQUOTE} at (40,40) size 704x20
-            LayoutText {#text} at (0,0) size 35x19
-              text run at (0,0) width 35: "ipsum"
-        LayoutBlockFlow {BLOCKQUOTE} at (40,76) size 744x60
-          LayoutBlockFlow {UL} at (0,0) size 744x60
-            LayoutBlockFlow {UL} at (40,0) size 704x60
-              LayoutListItem {LI} at (40,0) size 664x20
-                LayoutListMarker (anonymous) at (-18,0) size 7x19: white bullet
-                LayoutText {#text} at (0,0) size 25x19
-                  text run at (0,0) width 25: "Foo"
-              LayoutListItem {LI} at (40,20) size 664x20
-                LayoutListMarker (anonymous) at (-18,0) size 7x19: white bullet
-                LayoutText {#text} at (0,0) size 22x19
-                  text run at (0,0) width 22: "Bar"
-              LayoutListItem {LI} at (40,40) size 664x20
-                LayoutListMarker (anonymous) at (-18,0) size 7x19: white bullet
-                LayoutText {#text} at (0,0) size 23x19
-                  text run at (0,0) width 23: "Baz"
-        LayoutBlockFlow {BLOCKQUOTE} at (40,152) size 744x60
-          LayoutBlockFlow {BLOCKQUOTE} at (40,0) size 704x20
-            LayoutText {#text} at (0,0) size 35x19
-              text run at (0,0) width 35: "Dolor"
-          LayoutBlockFlow (anonymous) at (0,20) size 744x40
-            LayoutText {#text} at (0,0) size 32x19
-              text run at (0,0) width 32: "Sum!"
-            LayoutBR {BR} at (32,15) size 0x0
-            LayoutInline {SPAN} at (0,0) size 33x19
-              LayoutText {#text} at (0,20) size 33x19
-                text run at (0,20) width 33: "Thing"
-selection start: position 0 of child 0 {#text} of child 0 {SPAN} of child 1 {BLOCKQUOTE} of child 4 {DIV} of body
-selection end:   position 5 of child 0 {#text} of child 3 {SPAN} of child 3 {BLOCKQUOTE} of child 4 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/execCommand/insertHorizontalRule-expected.png b/third_party/WebKit/LayoutTests/platform/linux/editing/execCommand/insertHorizontalRule-expected.png
deleted file mode 100644
index 07085f7d..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/execCommand/insertHorizontalRule-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/execCommand/insertHorizontalRule-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/editing/execCommand/insertHorizontalRule-expected.txt
deleted file mode 100644
index b1460e61..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/execCommand/insertHorizontalRule-expected.txt
+++ /dev/null
@@ -1,42 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow {P} at (0,0) size 784x20
-        LayoutText {#text} at (0,0) size 343x19
-          text run at (0,0) width 343: "These are tests for execCommand(InsertHorizontalRule)."
-      LayoutBlockFlow {P} at (0,36) size 784x20
-        LayoutText {#text} at (0,0) size 271x19
-          text run at (0,0) width 271: "This test inserts an hr between 'foo' and 'bar'."
-      LayoutBlockFlow {DIV} at (0,72) size 784x58
-        LayoutBlockFlow (anonymous) at (0,0) size 784x20
-          LayoutText {#text} at (0,0) size 20x19
-            text run at (0,0) width 20: "foo"
-        LayoutBlockFlow {HR} at (0,28) size 784x2 [border: (1px inset #EEEEEE)]
-        LayoutBlockFlow (anonymous) at (0,38) size 784x20
-          LayoutText {#text} at (0,0) size 20x19
-            text run at (0,0) width 20: "bar"
-      LayoutBlockFlow {P} at (0,146) size 784x20
-        LayoutText {#text} at (0,0) size 599x19
-          text run at (0,0) width 599: "This test inserts an hr with id=\"hr\" between 'foo' and 'bar', fetches the hr using its id, then removes it."
-      LayoutBlockFlow {DIV} at (0,182) size 784x20
-        LayoutText {#text} at (0,0) size 20x19
-          text run at (0,0) width 20: "foo"
-        LayoutText {#text} at (20,0) size 20x19
-          text run at (20,0) width 20: "bar"
-caret: position 2 of child 8 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/editing-empty-divs-expected.png b/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/editing-empty-divs-expected.png
deleted file mode 100644
index 0f1d718..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/editing-empty-divs-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/editing-empty-divs-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/editing-empty-divs-expected.txt
deleted file mode 100644
index c560114..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/editing-empty-divs-expected.txt
+++ /dev/null
@@ -1,63 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow {P} at (0,0) size 784x40
-        LayoutText {#text} at (0,0) size 777x39
-          text run at (0,0) width 533: "This tests the ability to start editing in blocks that are visible, but have little or no content. "
-          text run at (533,0) width 244: "Each of the divs below should be able to"
-          text run at (0,20) width 89: "accept a caret."
-      LayoutBlockFlow {P} at (0,56) size 784x20
-        LayoutText {#text} at (0,0) size 166x19
-          text run at (0,0) width 166: "This div contains some text."
-      LayoutBlockFlow {DIV} at (0,92) size 707.59x22 [border: (1px dotted #0000FF)]
-        LayoutText {#text} at (1,1) size 35x19
-          text run at (1,1) width 35: "chello"
-      LayoutBlockFlow {P} at (0,130) size 784x20
-        LayoutText {#text} at (0,0) size 173x19
-          text run at (0,0) width 173: "This div is completely empty."
-      LayoutBlockFlow {DIV} at (0,166) size 707.59x22 [border: (1px dotted #0000FF)]
-        LayoutText {#text} at (1,1) size 7x19
-          text run at (1,1) width 7: "c"
-      LayoutBlockFlow {P} at (0,204) size 784x20
-        LayoutText {#text} at (0,0) size 324x19
-          text run at (0,0) width 324: "This div contains some collapsable whitespace (a '\\n')."
-      LayoutBlockFlow {DIV} at (0,240) size 707.59x22 [border: (1px dotted #0000FF)]
-        LayoutText {#text} at (1,1) size 7x19
-          text run at (1,1) width 7: "c"
-        LayoutText {#text} at (0,0) size 0x0
-      LayoutBlockFlow {P} at (0,278) size 784x20
-        LayoutText {#text} at (0,0) size 220x19
-          text run at (0,0) width 220: "This div contains a self-closing p tag."
-      LayoutBlockFlow {DIV} at (0,314) size 707.59x38 [border: (1px dotted #0000FF)]
-        LayoutBlockFlow (anonymous) at (1,1) size 705.59x20
-          LayoutText {#text} at (0,0) size 7x19
-            text run at (0,0) width 7: "c"
-        LayoutBlockFlow {P} at (1,37) size 705.59x0
-      LayoutBlockFlow {P} at (0,368) size 784x20
-        LayoutText {#text} at (0,0) size 686x19
-          text run at (0,0) width 686: "This div contains a self-closing p tag and some collapsable whitespace (two '\\n's before and after the self closing p."
-      LayoutBlockFlow {DIV} at (0,404) size 707.59x38 [border: (1px dotted #0000FF)]
-        LayoutBlockFlow (anonymous) at (1,1) size 705.59x20
-          LayoutText {#text} at (0,0) size 7x19
-            text run at (0,0) width 7: "c"
-          LayoutText {#text} at (0,0) size 0x0
-        LayoutBlockFlow {P} at (1,37) size 705.59x0
-caret: position 1 of child 0 {#text} of child 21 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-br-001-expected.png b/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-br-001-expected.png
deleted file mode 100644
index 427f8945..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-br-001-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-br-001-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-br-001-expected.txt
deleted file mode 100644
index 2233a7f53..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-br-001-expected.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow {DIV} at (0,0) size 784x84 [border: (2px solid #FF0000)]
-        LayoutInline {SPAN} at (0,0) size 34x55
-          LayoutText {#text} at (14,14) size 34x27
-            text run at (14,14) width 34: "test"
-          LayoutBR {BR} at (48,35) size 0x0
-          LayoutText {#text} at (14,42) size 12x27
-            text run at (14,42) width 12: "x"
-        LayoutText {#text} at (0,0) size 0x0
-caret: position 1 of child 2 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-br-002-expected.png b/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-br-002-expected.png
deleted file mode 100644
index 4bbca9f..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-br-002-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-br-002-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-br-002-expected.txt
deleted file mode 100644
index d8fa66a..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-br-002-expected.txt
+++ /dev/null
@@ -1,26 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow {DIV} at (0,0) size 784x112 [border: (2px solid #FF0000)]
-        LayoutInline {SPAN} at (0,0) size 34x83
-          LayoutText {#text} at (14,14) size 34x27
-            text run at (14,14) width 34: "test"
-          LayoutBR {BR} at (48,35) size 0x0
-          LayoutText {#text} at (14,42) size 12x27
-            text run at (14,42) width 12: "x"
-          LayoutBR {BR} at (26,63) size 0x0
-          LayoutText {#text} at (14,70) size 34x27
-            text run at (14,70) width 34: "test"
-        LayoutText {#text} at (0,0) size 0x0
-caret: position 1 of child 2 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-br-003-expected.png b/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-br-003-expected.png
deleted file mode 100644
index 76885c0..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-br-003-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-br-003-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-br-003-expected.txt
deleted file mode 100644
index b1a30ec..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-br-003-expected.txt
+++ /dev/null
@@ -1,24 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow {DIV} at (0,0) size 784x84 [border: (2px solid #FF0000)]
-        LayoutInline {SPAN} at (0,0) size 46x55
-          LayoutText {#text} at (14,14) size 34x27
-            text run at (14,14) width 34: "test"
-          LayoutBR {BR} at (48,35) size 0x0
-          LayoutText {#text} at (14,42) size 46x27
-            text run at (14,42) width 46: "xtest"
-        LayoutText {#text} at (0,0) size 0x0
-caret: position 1 of child 2 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-br-004-expected.png b/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-br-004-expected.png
deleted file mode 100644
index 2465f60..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-br-004-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-br-004-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-br-004-expected.txt
deleted file mode 100644
index 37d5bdfa..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-br-004-expected.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow {DIV} at (0,0) size 784x112 [border: (2px solid #FF0000)]
-        LayoutInline {SPAN} at (0,0) size 32x83
-          LayoutText {#text} at (14,14) size 32x27
-            text run at (14,14) width 32: "foo"
-          LayoutBR {BR} at (46,35) size 0x0
-          LayoutBR {BR} at (14,42) size 0x27
-          LayoutBR {BR} at (14,70) size 0x27
-        LayoutText {#text} at (0,0) size 0x0
-caret: position 0 of child 3 {BR} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-br-005-expected.png b/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-br-005-expected.png
deleted file mode 100644
index ff17fb0..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-br-005-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-br-005-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-br-005-expected.txt
deleted file mode 100644
index 135207e..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-br-005-expected.txt
+++ /dev/null
@@ -1,25 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow {DIV} at (0,0) size 784x112 [border: (2px solid #FF0000)]
-        LayoutInline {SPAN} at (0,0) size 32x83
-          LayoutText {#text} at (14,14) size 32x27
-            text run at (14,14) width 32: "foo"
-          LayoutBR {BR} at (46,35) size 0x0
-          LayoutBR {BR} at (14,42) size 0x27
-          LayoutText {#text} at (14,70) size 12x27
-            text run at (14,70) width 12: "x"
-        LayoutText {#text} at (0,0) size 0x0
-caret: position 1 of child 3 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-br-006-expected.png b/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-br-006-expected.png
deleted file mode 100644
index 8d7ca6d..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-br-006-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-br-006-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-br-006-expected.txt
deleted file mode 100644
index 0f73067..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-br-006-expected.txt
+++ /dev/null
@@ -1,17 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow {DIV} at (0,0) size 784x84 [border: (2px solid #FF0000)]
-        LayoutInline {SPAN} at (0,0) size 44x55
-          LayoutBR {BR} at (14,14) size 0x27
-          LayoutText {#text} at (14,42) size 44x27
-            text run at (14,42) width 44: "xfoo"
-        LayoutText {#text} at (0,0) size 0x0
-caret: position 1 of child 1 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-br-007-expected.png b/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-br-007-expected.png
deleted file mode 100644
index 9fe5949..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-br-007-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-br-007-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-br-007-expected.txt
deleted file mode 100644
index 8df85419..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-br-007-expected.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow {DIV} at (0,0) size 784x84 [border: (2px solid #FF0000)]
-        LayoutInline {SPAN} at (0,0) size 37x55
-          LayoutText {#text} at (14,14) size 32x27
-            text run at (14,14) width 32: "foo"
-          LayoutBR {BR} at (46,35) size 0x0
-          LayoutText {#text} at (14,42) size 37x27
-            text run at (14,42) width 37: " bar"
-        LayoutText {#text} at (0,0) size 0x0
-caret: position 0 of child 2 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-br-008-expected.png b/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-br-008-expected.png
deleted file mode 100644
index e43842d..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-br-008-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-br-008-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-br-008-expected.txt
deleted file mode 100644
index 234fbff..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-br-008-expected.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow {DIV} at (0,0) size 784x84 [border: (2px solid #FF0000)]
-        LayoutBR {BR} at (14,14) size 0x27
-        LayoutText {#text} at (14,42) size 38x27
-          text run at (14,42) width 38: " foo"
-caret: position 1 of child 1 {#text} of child 1 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-br-009-expected.png b/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-br-009-expected.png
deleted file mode 100644
index ccc4d1a..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-br-009-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-br-009-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-br-009-expected.txt
deleted file mode 100644
index b2ec338..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-br-009-expected.txt
+++ /dev/null
@@ -1,24 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow {P} at (0,0) size 784x40
-        LayoutText {#text} at (0,0) size 780x39
-          text run at (0,0) width 300: "This tests for a bug in InsertLineBreakCommand. "
-          text run at (300,0) width 480: "Only one line break should be inserted and the caret should end up at the end of"
-          text run at (0,20) width 144: "the bordered div below."
-      LayoutBlockFlow {DIV} at (0,56) size 784x62 [border: (1px solid #000000)]
-        LayoutText {#text} at (1,1) size 75x19
-          text run at (1,1) width 75: "Hello world."
-          text run at (76,1) width 0: " "
-        LayoutText {#text} at (1,21) size 0x19
-          text run at (1,21) width 0: " "
-        LayoutText {#text} at (1,41) size 0x19
-          text run at (1,41) width 0: " "
-caret: position 0 of child 2 {#text} of child 1 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-001-expected.png b/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-001-expected.png
deleted file mode 100644
index 734d17c..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-001-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-001-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-001-expected.txt
deleted file mode 100644
index 1beccf0..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-001-expected.txt
+++ /dev/null
@@ -1,19 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow {DIV} at (0,0) size 784x56 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 34x27
-          text run at (14,14) width 34: "test"
-      LayoutBlockFlow {DIV} at (0,56) size 784x56 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 12x27
-          text run at (14,14) width 12: "x"
-caret: position 1 of child 0 {#text} of child 2 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-002-expected.png b/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-002-expected.png
deleted file mode 100644
index 734d17c..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-002-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-002-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-002-expected.txt
deleted file mode 100644
index ca9a51f..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-002-expected.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow {DIV} at (0,0) size 784x56 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 34x27
-          text run at (14,14) width 34: "test"
-      LayoutBlockFlow {DIV} at (0,56) size 784x56 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 12x27
-          text run at (14,14) width 12: "x"
-caret: position 1 of child 0 {#text} of child 2 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-003-expected.png b/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-003-expected.png
deleted file mode 100644
index a2f481c0..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-003-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-003-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-003-expected.txt
deleted file mode 100644
index 8c47138..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-003-expected.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow {DIV} at (0,0) size 784x56 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 34x27
-          text run at (14,14) width 34: "test"
-      LayoutBlockFlow {DIV} at (0,56) size 784x56 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 46x27
-          text run at (14,14) width 46: "xtest"
-caret: position 1 of child 0 {#text} of child 2 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-004-expected.png b/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-004-expected.png
deleted file mode 100644
index a67b2f0..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-004-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-004-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-004-expected.txt
deleted file mode 100644
index 3d8e9d5..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-004-expected.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow {DIV} at (0,0) size 784x56 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 34x27
-          text run at (14,14) width 34: "test"
-      LayoutBlockFlow {DIV} at (0,56) size 784x56 [border: (2px solid #FF0000)]
-        LayoutBR {BR} at (14,14) size 0x27
-      LayoutBlockFlow {DIV} at (0,112) size 784x56 [border: (2px solid #FF0000)]
-        LayoutBR {BR} at (14,14) size 0x27
-caret: position 0 of child 0 {BR} of child 3 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-005-expected.png b/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-005-expected.png
deleted file mode 100644
index e2ab3da..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-005-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-005-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-005-expected.txt
deleted file mode 100644
index e0c9994..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-005-expected.txt
+++ /dev/null
@@ -1,25 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow {DIV} at (0,0) size 784x56 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 34x27
-          text run at (14,14) width 34: "test"
-      LayoutBlockFlow {DIV} at (0,56) size 784x56 [border: (2px solid #FF0000)]
-        LayoutBR {BR} at (14,14) size 0x27
-      LayoutBlockFlow {DIV} at (0,112) size 784x56 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 12x27
-          text run at (14,14) width 12: "x"
-caret: position 1 of child 0 {#text} of child 3 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-006-expected.png b/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-006-expected.png
deleted file mode 100644
index 3e307dd..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-006-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-006-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-006-expected.txt
deleted file mode 100644
index fe91373..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-006-expected.txt
+++ /dev/null
@@ -1,16 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow {DIV} at (0,0) size 784x56 [border: (2px solid #FF0000)]
-        LayoutBR {BR} at (14,14) size 0x27
-      LayoutBlockFlow {DIV} at (0,56) size 784x56 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 46x27
-          text run at (14,14) width 46: "xtest"
-caret: position 1 of child 0 {#text} of child 2 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-007-expected.png b/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-007-expected.png
deleted file mode 100644
index 81e0931..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-007-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-007-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-007-expected.txt
deleted file mode 100644
index 6f7dc79..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-007-expected.txt
+++ /dev/null
@@ -1,19 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow {DIV} at (0,0) size 784x56 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 32x27
-          text run at (14,14) width 32: "foo"
-      LayoutBlockFlow {DIV} at (0,56) size 784x56 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 37x27
-          text run at (14,14) width 37: " bar"
-caret: position 0 of child 0 {#text} of child 2 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-008-expected.png b/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-008-expected.png
deleted file mode 100644
index 4b741c87..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-008-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-008-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-008-expected.txt
deleted file mode 100644
index 547bbb5..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-008-expected.txt
+++ /dev/null
@@ -1,16 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow {DIV} at (0,0) size 784x56 [border: (2px solid #FF0000)]
-        LayoutBR {BR} at (14,14) size 0x27
-      LayoutBlockFlow {DIV} at (0,56) size 784x56 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 44x27
-          text run at (14,14) width 44: "xfoo"
-caret: position 1 of child 0 {#text} of child 2 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-011-expected.png b/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-011-expected.png
deleted file mode 100644
index 51514f89..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-011-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-011-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-011-expected.txt
deleted file mode 100644
index d1dda07..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-011-expected.txt
+++ /dev/null
@@ -1,26 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow (anonymous) at (0,0) size 784x28
-        LayoutText {#text} at (0,0) size 619x27
-          text run at (0,0) width 619: "Test inserting paragraphs: should see empty red box above \"baz\""
-      LayoutBlockFlow {DIV} at (0,28) size 784x12
-      LayoutBlockFlow {DIV} at (0,40) size 784x56 [border: (2px solid #FF0000)]
-        LayoutBR {BR} at (14,14) size 0x27
-      LayoutBlockFlow {DIV} at (0,96) size 784x56 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 33x27
-          text run at (14,14) width 33: "baz"
-      LayoutBlockFlow (anonymous) at (0,152) size 784x28
-        LayoutText {#text} at (0,0) size 31x27
-          text run at (0,0) width 31: "bar"
-      LayoutBlockFlow {DIV} at (0,180) size 784x56 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 32x27
-          text run at (14,14) width 32: "foo"
-      LayoutBlockFlow {DIV} at (0,236) size 784x56 [border: (2px solid #FF0000)]
-        LayoutBR {BR} at (14,14) size 0x27
-caret: position 0 of child 0 {#text} of child 4 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-012-expected.png b/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-012-expected.png
deleted file mode 100644
index f8f4f4ff..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-012-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-012-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-012-expected.txt
deleted file mode 100644
index fe5f3521..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-012-expected.txt
+++ /dev/null
@@ -1,29 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow (anonymous) at (0,0) size 784x28
-        LayoutText {#text} at (0,0) size 619x27
-          text run at (0,0) width 619: "Test inserting paragraphs: should see empty red box below \"baz\""
-      LayoutBlockFlow {DIV} at (0,28) size 784x12
-      LayoutBlockFlow {DIV} at (0,40) size 784x56 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 33x27
-          text run at (14,14) width 33: "baz"
-      LayoutBlockFlow {DIV} at (0,96) size 784x56 [border: (2px solid #FF0000)]
-        LayoutBR {BR} at (14,14) size 0x27
-      LayoutBlockFlow (anonymous) at (0,152) size 784x28
-        LayoutText {#text} at (0,0) size 31x27
-          text run at (0,0) width 31: "bar"
-      LayoutBlockFlow {DIV} at (0,180) size 784x56 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 32x27
-          text run at (14,14) width 32: "foo"
-      LayoutBlockFlow {DIV} at (0,236) size 784x56 [border: (2px solid #FF0000)]
-        LayoutBR {BR} at (14,14) size 0x27
-caret: position 0 of child 0 {BR} of child 4 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-013-expected.png b/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-013-expected.png
deleted file mode 100644
index cfa4f283..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-013-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-013-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-013-expected.txt
deleted file mode 100644
index 19e3efc3..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-013-expected.txt
+++ /dev/null
@@ -1,30 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow (anonymous) at (0,0) size 784x28
-        LayoutText {#text} at (0,0) size 627x27
-          text run at (0,0) width 627: "Test inserting paragraphs: should see empty blue box above \"bar\""
-      LayoutBlockFlow {DIV} at (0,28) size 784x36
-      LayoutBlockFlow {DIV} at (0,64) size 784x56 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 33x27
-          text run at (14,14) width 33: "baz"
-      LayoutBlockFlow {DIV} at (0,120) size 784x56 [border: (2px solid #0000FF)]
-        LayoutBR {BR} at (14,14) size 0x27
-      LayoutBlockFlow (anonymous) at (0,176) size 784x28
-        LayoutText {#text} at (0,0) size 31x27
-          text run at (0,0) width 31: "bar"
-      LayoutBlockFlow {DIV} at (0,204) size 784x56 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 32x27
-          text run at (14,14) width 32: "foo"
-      LayoutBlockFlow {DIV} at (0,260) size 784x56 [border: (2px solid #FF0000)]
-        LayoutBR {BR} at (14,14) size 0x27
-caret: position 0 of child 5 {#text} of body
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-014-expected.png b/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-014-expected.png
deleted file mode 100644
index d7ac6b2c..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-014-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-014-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-014-expected.txt
deleted file mode 100644
index 8b935ae..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-014-expected.txt
+++ /dev/null
@@ -1,34 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow (anonymous) at (0,0) size 784x28
-        LayoutText {#text} at (0,0) size 627x27
-          text run at (0,0) width 627: "Test inserting paragraphs: should see empty blue box below \"bar\""
-      LayoutBlockFlow {DIV} at (0,28) size 784x36
-      LayoutBlockFlow {DIV} at (0,64) size 784x56 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 33x27
-          text run at (14,14) width 33: "baz"
-      LayoutBlockFlow (anonymous) at (0,120) size 784x28
-        LayoutText {#text} at (0,0) size 31x27
-          text run at (0,0) width 31: "bar"
-      LayoutBlockFlow {DIV} at (0,148) size 784x168 [border: (2px solid #0000FF)]
-        LayoutBlockFlow (anonymous) at (14,14) size 756x28
-          LayoutBR {BR} at (0,0) size 0x27
-        LayoutBlockFlow {DIV} at (14,42) size 756x56 [border: (2px solid #FF0000)]
-          LayoutText {#text} at (14,14) size 32x27
-            text run at (14,14) width 32: "foo"
-        LayoutBlockFlow {DIV} at (14,98) size 756x56 [border: (2px solid #FF0000)]
-          LayoutBR {BR} at (14,14) size 0x27
-caret: position 0 of child 0 {BR} of child 5 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-015-expected.png b/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-015-expected.png
deleted file mode 100644
index 4029286..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-015-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-015-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-015-expected.txt
deleted file mode 100644
index f1fb488..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-015-expected.txt
+++ /dev/null
@@ -1,34 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow (anonymous) at (0,0) size 784x28
-        LayoutText {#text} at (0,0) size 618x27
-          text run at (0,0) width 618: "Test inserting paragraphs: should see empty red box above \"foo\""
-      LayoutBlockFlow {DIV} at (0,28) size 784x12
-      LayoutBlockFlow {DIV} at (0,40) size 784x56 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 33x27
-          text run at (14,14) width 33: "baz"
-      LayoutBlockFlow (anonymous) at (0,96) size 784x28
-        LayoutText {#text} at (0,0) size 31x27
-          text run at (0,0) width 31: "bar"
-      LayoutBlockFlow {DIV} at (0,124) size 784x56 [border: (2px solid #FF0000)]
-        LayoutBR {BR} at (14,14) size 0x27
-      LayoutBlockFlow {DIV} at (0,180) size 784x56 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 32x27
-          text run at (14,14) width 32: "foo"
-      LayoutBlockFlow {DIV} at (0,236) size 784x56 [border: (2px solid #FF0000)]
-        LayoutBR {BR} at (14,14) size 0x27
-caret: position 0 of child 0 {#text} of child 6 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-016-expected.png b/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-016-expected.png
deleted file mode 100644
index cea1e8d..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-016-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-016-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-016-expected.txt
deleted file mode 100644
index cbb9bef..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-016-expected.txt
+++ /dev/null
@@ -1,37 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow (anonymous) at (0,0) size 784x28
-        LayoutText {#text} at (0,0) size 680x27
-          text run at (0,0) width 680: "Test inserting paragraphs: should see two empty red boxes below \"foo\""
-      LayoutBlockFlow {DIV} at (0,28) size 784x12
-      LayoutBlockFlow {DIV} at (0,40) size 784x56 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 33x27
-          text run at (14,14) width 33: "baz"
-      LayoutBlockFlow (anonymous) at (0,96) size 784x28
-        LayoutText {#text} at (0,0) size 31x27
-          text run at (0,0) width 31: "bar"
-      LayoutBlockFlow {DIV} at (0,124) size 784x56 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 32x27
-          text run at (14,14) width 32: "foo"
-      LayoutBlockFlow {DIV} at (0,180) size 784x56 [border: (2px solid #FF0000)]
-        LayoutBR {BR} at (14,14) size 0x27
-      LayoutBlockFlow {DIV} at (0,236) size 784x56 [border: (2px solid #FF0000)]
-        LayoutBR {BR} at (14,14) size 0x27
-caret: position 0 of child 0 {BR} of child 6 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-017-expected.png b/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-017-expected.png
deleted file mode 100644
index 9d91690..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-017-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-017-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-017-expected.txt
deleted file mode 100644
index 61fb58ec..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-017-expected.txt
+++ /dev/null
@@ -1,38 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow (anonymous) at (0,0) size 784x28
-        LayoutText {#text} at (0,0) size 680x27
-          text run at (0,0) width 680: "Test inserting paragraphs: should see two empty red boxes below \"foo\""
-      LayoutBlockFlow {DIV} at (0,28) size 784x12
-      LayoutBlockFlow {DIV} at (0,40) size 784x56 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 33x27
-          text run at (14,14) width 33: "baz"
-      LayoutBlockFlow (anonymous) at (0,96) size 784x28
-        LayoutText {#text} at (0,0) size 31x27
-          text run at (0,0) width 31: "bar"
-      LayoutBlockFlow {DIV} at (0,124) size 784x56 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 32x27
-          text run at (14,14) width 32: "foo"
-      LayoutBlockFlow {DIV} at (0,180) size 784x56 [border: (2px solid #FF0000)]
-        LayoutBR {BR} at (14,14) size 0x27
-      LayoutBlockFlow {DIV} at (0,236) size 784x56 [border: (2px solid #FF0000)]
-        LayoutBR {BR} at (14,14) size 0x27
-caret: position 0 of child 0 {BR} of child 8 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-019-expected.png b/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-019-expected.png
deleted file mode 100644
index 90c71fb..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-019-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-019-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-019-expected.txt
deleted file mode 100644
index b080642..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-019-expected.txt
+++ /dev/null
@@ -1,29 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x568
-      LayoutBlockFlow (anonymous) at (0,0) size 784x56
-        LayoutText {#text} at (0,0) size 741x55
-          text run at (0,0) width 735: "Test inserting paragraphs: should see an empty blue box above an empty line"
-          text run at (734,0) width 7: " "
-          text run at (0,28) width 237: "between \"foo\" and \"bar\""
-      LayoutBlockFlow {DIV} at (0,56) size 784x36
-      LayoutBlockFlow {P} at (0,116) size 784x56 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 32x27
-          text run at (14,14) width 32: "foo"
-      LayoutBlockFlow {DIV} at (0,196) size 784x56 [border: (2px solid #0000FF)]
-        LayoutBR {BR} at (14,14) size 0x27
-      LayoutBlockFlow (anonymous) at (0,252) size 784x28
-        LayoutBR {BR} at (0,0) size 0x27
-      LayoutBlockFlow {P} at (0,304) size 784x56 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 31x27
-          text run at (14,14) width 31: "bar"
-caret: position 0 of child 5 {BR} of body
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-020-expected.png b/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-020-expected.png
deleted file mode 100644
index 35f7b72c..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-020-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-020-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-020-expected.txt
deleted file mode 100644
index de1756a..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/inserting/insert-div-020-expected.txt
+++ /dev/null
@@ -1,30 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow (anonymous) at (0,0) size 784x56
-        LayoutText {#text} at (0,0) size 759x55
-          text run at (0,0) width 753: "Test inserting paragraphs: should see a blue box with \"bar\" in it, and two blank"
-          text run at (752,0) width 7: " "
-          text run at (0,28) width 293: "lines between \"foo\" and \"bar\"."
-      LayoutBlockFlow {DIV} at (0,56) size 784x36
-      LayoutBlockFlow (anonymous) at (0,92) size 784x84
-        LayoutInline {SPAN} at (0,0) size 32x27
-          LayoutText {#text} at (0,0) size 32x27
-            text run at (0,0) width 32: "foo"
-        LayoutBR {BR} at (32,21) size 0x0
-        LayoutBR {BR} at (0,28) size 0x27
-        LayoutBR {BR} at (0,56) size 0x27
-      LayoutBlockFlow {DIV} at (0,176) size 784x56 [border: (2px solid #0000FF)]
-        LayoutText {#text} at (14,14) size 31x27
-          text run at (14,14) width 31: "bar"
-caret: position 0 of child 0 {#text} of child 7 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/mac/editing/execCommand/4916402-expected.png b/third_party/WebKit/LayoutTests/platform/mac/editing/execCommand/4916402-expected.png
deleted file mode 100644
index 72ad8a49..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/editing/execCommand/4916402-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/editing/execCommand/4916402-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/editing/execCommand/4916402-expected.txt
deleted file mode 100644
index 3014b1cb..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/editing/execCommand/4916402-expected.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x576
-      LayoutBlockFlow {P} at (0,0) size 784x36
-        LayoutText {#text} at (0,0) size 775x36
-          text run at (0,0) width 775: "This tests to see that creating an ordered list item from the last list item in an unordered list creates a new list that is not a"
-          text run at (0,18) width 168: "sublist of the original one."
-      LayoutBlockFlow {DIV} at (0,52) size 784x52
-        LayoutBlockFlow {UL} at (0,0) size 784x18
-          LayoutListItem {LI} at (40,0) size 744x18
-            LayoutListMarker (anonymous) at (-17,0) size 7x18: bullet
-            LayoutText {#text} at (0,0) size 22x18
-              text run at (0,0) width 22: "foo"
-        LayoutBlockFlow {OL} at (0,34) size 784x18
-          LayoutListItem {LI} at (40,0) size 744x18
-            LayoutListMarker (anonymous) at (-16,0) size 16x18: "1"
-            LayoutText {#text} at (0,0) size 21x18
-              text run at (0,0) width 21: "bar"
-caret: position 0 of child 0 {#text} of child 0 {LI} of child 1 {OL} of child 2 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/mac/editing/execCommand/indent-list-item-expected.png b/third_party/WebKit/LayoutTests/platform/mac/editing/execCommand/indent-list-item-expected.png
deleted file mode 100644
index fcc60c0..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/editing/execCommand/indent-list-item-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/editing/execCommand/indent-list-item-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/editing/execCommand/indent-list-item-expected.txt
deleted file mode 100644
index e190824..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/editing/execCommand/indent-list-item-expected.txt
+++ /dev/null
@@ -1,29 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x576
-      LayoutBlockFlow {DIV} at (0,0) size 784x18
-        LayoutText {#text} at (0,0) size 380x18
-          text run at (0,0) width 380: "This test uses the execCommand to Outdent the text below."
-      LayoutBlockFlow (anonymous) at (0,18) size 784x18
-        LayoutBR {BR} at (0,0) size 0x18
-      LayoutBlockFlow {DIV} at (0,52) size 784x54
-        LayoutBlockFlow {UL} at (0,0) size 784x54
-          LayoutListItem {LI} at (40,0) size 744x18
-            LayoutListMarker (anonymous) at (-17,0) size 7x18: bullet
-            LayoutText {#text} at (0,0) size 25x18
-              text run at (0,0) width 25: "Foo"
-          LayoutBlockFlow {UL} at (40,18) size 744x18
-            LayoutListItem {LI} at (40,0) size 704x18
-              LayoutListMarker (anonymous) at (-17,0) size 7x18: white bullet
-              LayoutText {#text} at (0,0) size 24x18
-                text run at (0,0) width 24: "Bar"
-          LayoutListItem {LI} at (40,36) size 744x18
-            LayoutListMarker (anonymous) at (-17,0) size 7x18: bullet
-            LayoutText {#text} at (0,0) size 25x18
-              text run at (0,0) width 25: "Baz"
-caret: position 0 of child 0 {#text} of child 0 {LI} of child 3 {UL} of child 1 {UL} of child 4 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/mac/editing/execCommand/indent-selection-expected.png b/third_party/WebKit/LayoutTests/platform/mac/editing/execCommand/indent-selection-expected.png
deleted file mode 100644
index 5bf07cd..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/editing/execCommand/indent-selection-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/editing/execCommand/indent-selection-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/editing/execCommand/indent-selection-expected.txt
deleted file mode 100644
index 8638ef10..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/editing/execCommand/indent-selection-expected.txt
+++ /dev/null
@@ -1,54 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow {DIV} at (0,0) size 784x18
-        LayoutText {#text} at (0,0) size 368x18
-          text run at (0,0) width 368: "This test uses the execCommand to indent the text below."
-      LayoutBlockFlow (anonymous) at (0,18) size 784x18
-        LayoutBR {BR} at (0,0) size 0x18
-      LayoutBlockFlow {DIV} at (0,36) size 784x194
-        LayoutBlockFlow {BLOCKQUOTE} at (40,0) size 744x54
-          LayoutBlockFlow (anonymous) at (0,0) size 744x36
-            LayoutInline {SPAN} at (0,0) size 43x18
-              LayoutText {#text} at (0,0) size 43x18
-                text run at (0,0) width 43: "Lorem"
-              LayoutBR {BR} at (42,14) size 1x0
-            LayoutText {#text} at (0,18) size 85x18
-              text run at (0,18) width 85: "more Lorem!"
-          LayoutBlockFlow {BLOCKQUOTE} at (40,36) size 704x18
-            LayoutText {#text} at (0,0) size 40x18
-              text run at (0,0) width 40: "ipsum"
-        LayoutBlockFlow {BLOCKQUOTE} at (40,70) size 744x54
-          LayoutBlockFlow {UL} at (0,0) size 744x54
-            LayoutBlockFlow {UL} at (40,0) size 704x54
-              LayoutListItem {LI} at (40,0) size 664x18
-                LayoutListMarker (anonymous) at (-17,0) size 7x18: white bullet
-                LayoutText {#text} at (0,0) size 25x18
-                  text run at (0,0) width 25: "Foo"
-              LayoutListItem {LI} at (40,18) size 664x18
-                LayoutListMarker (anonymous) at (-17,0) size 7x18: white bullet
-                LayoutText {#text} at (0,0) size 24x18
-                  text run at (0,0) width 24: "Bar"
-              LayoutListItem {LI} at (40,36) size 664x18
-                LayoutListMarker (anonymous) at (-17,0) size 7x18: white bullet
-                LayoutText {#text} at (0,0) size 25x18
-                  text run at (0,0) width 25: "Baz"
-        LayoutBlockFlow {BLOCKQUOTE} at (40,140) size 744x54
-          LayoutBlockFlow {BLOCKQUOTE} at (40,0) size 704x18
-            LayoutText {#text} at (0,0) size 38x18
-              text run at (0,0) width 38: "Dolor"
-          LayoutBlockFlow (anonymous) at (0,18) size 744x36
-            LayoutText {#text} at (0,0) size 35x18
-              text run at (0,0) width 35: "Sum!"
-            LayoutBR {BR} at (34,14) size 1x0
-            LayoutInline {SPAN} at (0,0) size 39x18
-              LayoutText {#text} at (0,18) size 39x18
-                text run at (0,18) width 39: "Thing"
-selection start: position 0 of child 0 {#text} of child 0 {SPAN} of child 1 {BLOCKQUOTE} of child 4 {DIV} of body
-selection end:   position 5 of child 0 {#text} of child 3 {SPAN} of child 3 {BLOCKQUOTE} of child 4 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/mac/editing/execCommand/insertHorizontalRule-expected.png b/third_party/WebKit/LayoutTests/platform/mac/editing/execCommand/insertHorizontalRule-expected.png
deleted file mode 100644
index ad6d358..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/editing/execCommand/insertHorizontalRule-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/editing/execCommand/insertHorizontalRule-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/editing/execCommand/insertHorizontalRule-expected.txt
deleted file mode 100644
index 50166b5..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/editing/execCommand/insertHorizontalRule-expected.txt
+++ /dev/null
@@ -1,42 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow {P} at (0,0) size 784x18
-        LayoutText {#text} at (0,0) size 367x18
-          text run at (0,0) width 367: "These are tests for execCommand(InsertHorizontalRule)."
-      LayoutBlockFlow {P} at (0,34) size 784x18
-        LayoutText {#text} at (0,0) size 287x18
-          text run at (0,0) width 287: "This test inserts an hr between 'foo' and 'bar'."
-      LayoutBlockFlow {DIV} at (0,68) size 784x54
-        LayoutBlockFlow (anonymous) at (0,0) size 784x18
-          LayoutText {#text} at (0,0) size 22x18
-            text run at (0,0) width 22: "foo"
-        LayoutBlockFlow {HR} at (0,26) size 784x2 [border: (1px inset #EEEEEE)]
-        LayoutBlockFlow (anonymous) at (0,36) size 784x18
-          LayoutText {#text} at (0,0) size 21x18
-            text run at (0,0) width 21: "bar"
-      LayoutBlockFlow {P} at (0,138) size 784x18
-        LayoutText {#text} at (0,0) size 646x18
-          text run at (0,0) width 646: "This test inserts an hr with id=\"hr\" between 'foo' and 'bar', fetches the hr using its id, then removes it."
-      LayoutBlockFlow {DIV} at (0,172) size 784x18
-        LayoutText {#text} at (0,0) size 22x18
-          text run at (0,0) width 22: "foo"
-        LayoutText {#text} at (21,0) size 21x18
-          text run at (21,0) width 21: "bar"
-caret: position 2 of child 8 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/editing-empty-divs-expected.png b/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/editing-empty-divs-expected.png
deleted file mode 100644
index 065fbc03..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/editing-empty-divs-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/editing-empty-divs-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/editing-empty-divs-expected.txt
deleted file mode 100644
index b82c91c..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/editing-empty-divs-expected.txt
+++ /dev/null
@@ -1,63 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow {P} at (0,0) size 784x36
-        LayoutText {#text} at (0,0) size 772x36
-          text run at (0,0) width 579: "This tests the ability to start editing in blocks that are visible, but have little or no content. "
-          text run at (578,0) width 194: "Each of the divs below should"
-          text run at (0,18) width 158: "be able to accept a caret."
-      LayoutBlockFlow {P} at (0,52) size 784x18
-        LayoutText {#text} at (0,0) size 180x18
-          text run at (0,0) width 180: "This div contains some text."
-      LayoutBlockFlow {DIV} at (0,86) size 707.59x22 [border: (1px dotted #0000FF)]
-        LayoutText {#text} at (1,1) size 40x18
-          text run at (1,1) width 40: "chello"
-      LayoutBlockFlow {P} at (0,124) size 784x18
-        LayoutText {#text} at (0,0) size 190x18
-          text run at (0,0) width 190: "This div is completely empty."
-      LayoutBlockFlow {DIV} at (0,158) size 707.59x22 [border: (1px dotted #0000FF)]
-        LayoutText {#text} at (1,1) size 8x18
-          text run at (1,1) width 8: "c"
-      LayoutBlockFlow {P} at (0,196) size 784x18
-        LayoutText {#text} at (0,0) size 347x18
-          text run at (0,0) width 347: "This div contains some collapsable whitespace (a '\\n')."
-      LayoutBlockFlow {DIV} at (0,230) size 707.59x22 [border: (1px dotted #0000FF)]
-        LayoutText {#text} at (1,1) size 8x18
-          text run at (1,1) width 8: "c"
-        LayoutText {#text} at (0,0) size 0x0
-      LayoutBlockFlow {P} at (0,268) size 784x18
-        LayoutText {#text} at (0,0) size 240x18
-          text run at (0,0) width 240: "This div contains a self-closing p tag."
-      LayoutBlockFlow {DIV} at (0,302) size 707.59x36 [border: (1px dotted #0000FF)]
-        LayoutBlockFlow (anonymous) at (1,1) size 705.59x18
-          LayoutText {#text} at (0,0) size 8x18
-            text run at (0,0) width 8: "c"
-        LayoutBlockFlow {P} at (1,35) size 705.59x0
-      LayoutBlockFlow {P} at (0,354) size 784x18
-        LayoutText {#text} at (0,0) size 736x18
-          text run at (0,0) width 736: "This div contains a self-closing p tag and some collapsable whitespace (two '\\n's before and after the self closing p."
-      LayoutBlockFlow {DIV} at (0,388) size 707.59x36 [border: (1px dotted #0000FF)]
-        LayoutBlockFlow (anonymous) at (1,1) size 705.59x18
-          LayoutText {#text} at (0,0) size 8x18
-            text run at (0,0) width 8: "c"
-          LayoutText {#text} at (0,0) size 0x0
-        LayoutBlockFlow {P} at (1,35) size 705.59x0
-caret: position 1 of child 0 {#text} of child 21 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-br-001-expected.png b/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-br-001-expected.png
deleted file mode 100644
index ec67d0f..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-br-001-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-br-001-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-br-001-expected.txt
deleted file mode 100644
index c09abc4..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-br-001-expected.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow {DIV} at (0,0) size 784x84 [border: (2px solid #FF0000)]
-        LayoutInline {SPAN} at (0,0) size 34x56
-          LayoutText {#text} at (14,14) size 34x28
-            text run at (14,14) width 34: "test"
-          LayoutBR {BR} at (47,36) size 1x0
-          LayoutText {#text} at (14,42) size 12x28
-            text run at (14,42) width 12: "x"
-        LayoutText {#text} at (0,0) size 0x0
-caret: position 1 of child 2 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-br-002-expected.png b/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-br-002-expected.png
deleted file mode 100644
index 6e5ff350..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-br-002-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-br-002-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-br-002-expected.txt
deleted file mode 100644
index 4a667617..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-br-002-expected.txt
+++ /dev/null
@@ -1,26 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow {DIV} at (0,0) size 784x112 [border: (2px solid #FF0000)]
-        LayoutInline {SPAN} at (0,0) size 34x84
-          LayoutText {#text} at (14,14) size 34x28
-            text run at (14,14) width 34: "test"
-          LayoutBR {BR} at (47,36) size 1x0
-          LayoutText {#text} at (14,42) size 12x28
-            text run at (14,42) width 12: "x"
-          LayoutBR {BR} at (26,64) size 0x0
-          LayoutText {#text} at (14,70) size 34x28
-            text run at (14,70) width 34: "test"
-        LayoutText {#text} at (0,0) size 0x0
-caret: position 1 of child 2 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-br-003-expected.png b/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-br-003-expected.png
deleted file mode 100644
index b75e82b..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-br-003-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-br-003-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-br-003-expected.txt
deleted file mode 100644
index f6f650b..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-br-003-expected.txt
+++ /dev/null
@@ -1,24 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow {DIV} at (0,0) size 784x84 [border: (2px solid #FF0000)]
-        LayoutInline {SPAN} at (0,0) size 46x56
-          LayoutText {#text} at (14,14) size 34x28
-            text run at (14,14) width 34: "test"
-          LayoutBR {BR} at (47,36) size 1x0
-          LayoutText {#text} at (14,42) size 46x28
-            text run at (14,42) width 46: "xtest"
-        LayoutText {#text} at (0,0) size 0x0
-caret: position 1 of child 2 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-br-004-expected.png b/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-br-004-expected.png
deleted file mode 100644
index f612b19..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-br-004-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-br-004-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-br-004-expected.txt
deleted file mode 100644
index c0d3de3..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-br-004-expected.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow {DIV} at (0,0) size 784x112 [border: (2px solid #FF0000)]
-        LayoutInline {SPAN} at (0,0) size 32x84
-          LayoutText {#text} at (14,14) size 32x28
-            text run at (14,14) width 32: "foo"
-          LayoutBR {BR} at (45,36) size 1x0
-          LayoutBR {BR} at (14,42) size 0x28
-          LayoutBR {BR} at (14,70) size 0x28
-        LayoutText {#text} at (0,0) size 0x0
-caret: position 0 of child 3 {BR} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-br-005-expected.png b/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-br-005-expected.png
deleted file mode 100644
index d5e99c6..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-br-005-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-br-005-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-br-005-expected.txt
deleted file mode 100644
index b25dd861..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-br-005-expected.txt
+++ /dev/null
@@ -1,25 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow {DIV} at (0,0) size 784x112 [border: (2px solid #FF0000)]
-        LayoutInline {SPAN} at (0,0) size 32x84
-          LayoutText {#text} at (14,14) size 32x28
-            text run at (14,14) width 32: "foo"
-          LayoutBR {BR} at (45,36) size 1x0
-          LayoutBR {BR} at (14,42) size 0x28
-          LayoutText {#text} at (14,70) size 12x28
-            text run at (14,70) width 12: "x"
-        LayoutText {#text} at (0,0) size 0x0
-caret: position 1 of child 3 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-br-006-expected.png b/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-br-006-expected.png
deleted file mode 100644
index d7230c25..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-br-006-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-br-006-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-br-006-expected.txt
deleted file mode 100644
index 5551ba6..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-br-006-expected.txt
+++ /dev/null
@@ -1,17 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow {DIV} at (0,0) size 784x84 [border: (2px solid #FF0000)]
-        LayoutInline {SPAN} at (0,0) size 44x56
-          LayoutBR {BR} at (14,14) size 0x28
-          LayoutText {#text} at (14,42) size 44x28
-            text run at (14,42) width 44: "xfoo"
-        LayoutText {#text} at (0,0) size 0x0
-caret: position 1 of child 1 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-br-007-expected.png b/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-br-007-expected.png
deleted file mode 100644
index 0051c8b..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-br-007-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-br-007-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-br-007-expected.txt
deleted file mode 100644
index a47bd94..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-br-007-expected.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow {DIV} at (0,0) size 784x84 [border: (2px solid #FF0000)]
-        LayoutInline {SPAN} at (0,0) size 37x56
-          LayoutText {#text} at (14,14) size 32x28
-            text run at (14,14) width 32: "foo"
-          LayoutBR {BR} at (45,36) size 1x0
-          LayoutText {#text} at (14,42) size 37x28
-            text run at (14,42) width 37: " bar"
-        LayoutText {#text} at (0,0) size 0x0
-caret: position 0 of child 2 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-br-008-expected.png b/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-br-008-expected.png
deleted file mode 100644
index 0e65888..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-br-008-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-br-008-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-br-008-expected.txt
deleted file mode 100644
index 7749b87..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-br-008-expected.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow {DIV} at (0,0) size 784x84 [border: (2px solid #FF0000)]
-        LayoutBR {BR} at (14,14) size 0x28
-        LayoutText {#text} at (14,42) size 38x28
-          text run at (14,42) width 38: " foo"
-caret: position 1 of child 1 {#text} of child 1 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-br-009-expected.png b/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-br-009-expected.png
deleted file mode 100644
index cf3d19b..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-br-009-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-br-009-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-br-009-expected.txt
deleted file mode 100644
index fd6b53e7..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-br-009-expected.txt
+++ /dev/null
@@ -1,24 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow {P} at (0,0) size 784x36
-        LayoutText {#text} at (0,0) size 764x36
-          text run at (0,0) width 322: "This tests for a bug in InsertLineBreakCommand. "
-          text run at (321,0) width 443: "Only one line break should be inserted and the caret should end up at"
-          text run at (0,18) width 219: "the end of the bordered div below."
-      LayoutBlockFlow {DIV} at (0,52) size 784x56 [border: (1px solid #000000)]
-        LayoutText {#text} at (1,1) size 81x18
-          text run at (1,1) width 81: "Hello world."
-          text run at (81,1) width 1: " "
-        LayoutText {#text} at (1,19) size 0x18
-          text run at (1,19) width 0: " "
-        LayoutText {#text} at (1,37) size 0x18
-          text run at (1,37) width 0: " "
-caret: position 0 of child 2 {#text} of child 1 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-001-expected.png b/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-001-expected.png
deleted file mode 100644
index 8e17050d..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-001-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-001-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-001-expected.txt
deleted file mode 100644
index a37b89c..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-001-expected.txt
+++ /dev/null
@@ -1,19 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow {DIV} at (0,0) size 784x56 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 34x28
-          text run at (14,14) width 34: "test"
-      LayoutBlockFlow {DIV} at (0,56) size 784x56 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 12x28
-          text run at (14,14) width 12: "x"
-caret: position 1 of child 0 {#text} of child 2 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-002-expected.png b/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-002-expected.png
deleted file mode 100644
index 8e17050d..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-002-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-002-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-002-expected.txt
deleted file mode 100644
index 77d17c98..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-002-expected.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow {DIV} at (0,0) size 784x56 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 34x28
-          text run at (14,14) width 34: "test"
-      LayoutBlockFlow {DIV} at (0,56) size 784x56 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 12x28
-          text run at (14,14) width 12: "x"
-caret: position 1 of child 0 {#text} of child 2 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-003-expected.png b/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-003-expected.png
deleted file mode 100644
index 43520ab3..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-003-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-003-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-003-expected.txt
deleted file mode 100644
index bddd386..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-003-expected.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow {DIV} at (0,0) size 784x56 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 34x28
-          text run at (14,14) width 34: "test"
-      LayoutBlockFlow {DIV} at (0,56) size 784x56 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 46x28
-          text run at (14,14) width 46: "xtest"
-caret: position 1 of child 0 {#text} of child 2 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-004-expected.png b/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-004-expected.png
deleted file mode 100644
index 26fafc5e..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-004-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-004-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-004-expected.txt
deleted file mode 100644
index b39b118..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-004-expected.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow {DIV} at (0,0) size 784x56 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 34x28
-          text run at (14,14) width 34: "test"
-      LayoutBlockFlow {DIV} at (0,56) size 784x56 [border: (2px solid #FF0000)]
-        LayoutBR {BR} at (14,14) size 0x28
-      LayoutBlockFlow {DIV} at (0,112) size 784x56 [border: (2px solid #FF0000)]
-        LayoutBR {BR} at (14,14) size 0x28
-caret: position 0 of child 0 {BR} of child 3 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-005-expected.png b/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-005-expected.png
deleted file mode 100644
index bda2e49..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-005-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-005-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-005-expected.txt
deleted file mode 100644
index 1d0536f..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-005-expected.txt
+++ /dev/null
@@ -1,25 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow {DIV} at (0,0) size 784x56 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 34x28
-          text run at (14,14) width 34: "test"
-      LayoutBlockFlow {DIV} at (0,56) size 784x56 [border: (2px solid #FF0000)]
-        LayoutBR {BR} at (14,14) size 0x28
-      LayoutBlockFlow {DIV} at (0,112) size 784x56 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 12x28
-          text run at (14,14) width 12: "x"
-caret: position 1 of child 0 {#text} of child 3 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-006-expected.png b/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-006-expected.png
deleted file mode 100644
index ca3fab9..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-006-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-006-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-006-expected.txt
deleted file mode 100644
index 51069a2..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-006-expected.txt
+++ /dev/null
@@ -1,16 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow {DIV} at (0,0) size 784x56 [border: (2px solid #FF0000)]
-        LayoutBR {BR} at (14,14) size 0x28
-      LayoutBlockFlow {DIV} at (0,56) size 784x56 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 46x28
-          text run at (14,14) width 46: "xtest"
-caret: position 1 of child 0 {#text} of child 2 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-007-expected.png b/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-007-expected.png
deleted file mode 100644
index 5b90472..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-007-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-007-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-007-expected.txt
deleted file mode 100644
index c2e2615..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-007-expected.txt
+++ /dev/null
@@ -1,19 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow {DIV} at (0,0) size 784x56 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 32x28
-          text run at (14,14) width 32: "foo"
-      LayoutBlockFlow {DIV} at (0,56) size 784x56 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 37x28
-          text run at (14,14) width 37: " bar"
-caret: position 0 of child 0 {#text} of child 2 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-008-expected.png b/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-008-expected.png
deleted file mode 100644
index f184ba3..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-008-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-008-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-008-expected.txt
deleted file mode 100644
index e3dac26..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-008-expected.txt
+++ /dev/null
@@ -1,16 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow {DIV} at (0,0) size 784x56 [border: (2px solid #FF0000)]
-        LayoutBR {BR} at (14,14) size 0x28
-      LayoutBlockFlow {DIV} at (0,56) size 784x56 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 44x28
-          text run at (14,14) width 44: "xfoo"
-caret: position 1 of child 0 {#text} of child 2 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-011-expected.png b/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-011-expected.png
deleted file mode 100644
index c92b82e..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-011-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-011-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-011-expected.txt
deleted file mode 100644
index 10de6c04..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-011-expected.txt
+++ /dev/null
@@ -1,26 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow (anonymous) at (0,0) size 784x28
-        LayoutText {#text} at (0,0) size 622x28
-          text run at (0,0) width 622: "Test inserting paragraphs: should see empty red box above \"baz\""
-      LayoutBlockFlow {DIV} at (0,28) size 784x12
-      LayoutBlockFlow {DIV} at (0,40) size 784x56 [border: (2px solid #FF0000)]
-        LayoutBR {BR} at (14,14) size 0x28
-      LayoutBlockFlow {DIV} at (0,96) size 784x56 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 34x28
-          text run at (14,14) width 34: "baz"
-      LayoutBlockFlow (anonymous) at (0,152) size 784x28
-        LayoutText {#text} at (0,0) size 31x28
-          text run at (0,0) width 31: "bar"
-      LayoutBlockFlow {DIV} at (0,180) size 784x56 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 32x28
-          text run at (14,14) width 32: "foo"
-      LayoutBlockFlow {DIV} at (0,236) size 784x56 [border: (2px solid #FF0000)]
-        LayoutBR {BR} at (14,14) size 0x28
-caret: position 0 of child 0 {#text} of child 4 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-012-expected.png b/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-012-expected.png
deleted file mode 100644
index a419433..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-012-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-012-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-012-expected.txt
deleted file mode 100644
index 183dd97..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-012-expected.txt
+++ /dev/null
@@ -1,29 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow (anonymous) at (0,0) size 784x28
-        LayoutText {#text} at (0,0) size 623x28
-          text run at (0,0) width 623: "Test inserting paragraphs: should see empty red box below \"baz\""
-      LayoutBlockFlow {DIV} at (0,28) size 784x12
-      LayoutBlockFlow {DIV} at (0,40) size 784x56 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 34x28
-          text run at (14,14) width 34: "baz"
-      LayoutBlockFlow {DIV} at (0,96) size 784x56 [border: (2px solid #FF0000)]
-        LayoutBR {BR} at (14,14) size 0x28
-      LayoutBlockFlow (anonymous) at (0,152) size 784x28
-        LayoutText {#text} at (0,0) size 31x28
-          text run at (0,0) width 31: "bar"
-      LayoutBlockFlow {DIV} at (0,180) size 784x56 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 32x28
-          text run at (14,14) width 32: "foo"
-      LayoutBlockFlow {DIV} at (0,236) size 784x56 [border: (2px solid #FF0000)]
-        LayoutBR {BR} at (14,14) size 0x28
-caret: position 0 of child 0 {BR} of child 4 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-013-expected.png b/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-013-expected.png
deleted file mode 100644
index cfb0fe27..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-013-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-013-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-013-expected.txt
deleted file mode 100644
index 983953ee8..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-013-expected.txt
+++ /dev/null
@@ -1,30 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow (anonymous) at (0,0) size 784x28
-        LayoutText {#text} at (0,0) size 630x28
-          text run at (0,0) width 630: "Test inserting paragraphs: should see empty blue box above \"bar\""
-      LayoutBlockFlow {DIV} at (0,28) size 784x36
-      LayoutBlockFlow {DIV} at (0,64) size 784x56 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 34x28
-          text run at (14,14) width 34: "baz"
-      LayoutBlockFlow {DIV} at (0,120) size 784x56 [border: (2px solid #0000FF)]
-        LayoutBR {BR} at (14,14) size 0x28
-      LayoutBlockFlow (anonymous) at (0,176) size 784x28
-        LayoutText {#text} at (0,0) size 31x28
-          text run at (0,0) width 31: "bar"
-      LayoutBlockFlow {DIV} at (0,204) size 784x56 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 32x28
-          text run at (14,14) width 32: "foo"
-      LayoutBlockFlow {DIV} at (0,260) size 784x56 [border: (2px solid #FF0000)]
-        LayoutBR {BR} at (14,14) size 0x28
-caret: position 0 of child 5 {#text} of body
diff --git a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-014-expected.png b/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-014-expected.png
deleted file mode 100644
index 8b19584..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-014-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-014-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-014-expected.txt
deleted file mode 100644
index d53da17..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-014-expected.txt
+++ /dev/null
@@ -1,34 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow (anonymous) at (0,0) size 784x28
-        LayoutText {#text} at (0,0) size 631x28
-          text run at (0,0) width 631: "Test inserting paragraphs: should see empty blue box below \"bar\""
-      LayoutBlockFlow {DIV} at (0,28) size 784x36
-      LayoutBlockFlow {DIV} at (0,64) size 784x56 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 34x28
-          text run at (14,14) width 34: "baz"
-      LayoutBlockFlow (anonymous) at (0,120) size 784x28
-        LayoutText {#text} at (0,0) size 31x28
-          text run at (0,0) width 31: "bar"
-      LayoutBlockFlow {DIV} at (0,148) size 784x168 [border: (2px solid #0000FF)]
-        LayoutBlockFlow (anonymous) at (14,14) size 756x28
-          LayoutBR {BR} at (0,0) size 0x28
-        LayoutBlockFlow {DIV} at (14,42) size 756x56 [border: (2px solid #FF0000)]
-          LayoutText {#text} at (14,14) size 32x28
-            text run at (14,14) width 32: "foo"
-        LayoutBlockFlow {DIV} at (14,98) size 756x56 [border: (2px solid #FF0000)]
-          LayoutBR {BR} at (14,14) size 0x28
-caret: position 0 of child 0 {BR} of child 5 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-015-expected.png b/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-015-expected.png
deleted file mode 100644
index 42ead3f..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-015-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-015-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-015-expected.txt
deleted file mode 100644
index 47fd7c234..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-015-expected.txt
+++ /dev/null
@@ -1,34 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow (anonymous) at (0,0) size 784x28
-        LayoutText {#text} at (0,0) size 620x28
-          text run at (0,0) width 620: "Test inserting paragraphs: should see empty red box above \"foo\""
-      LayoutBlockFlow {DIV} at (0,28) size 784x12
-      LayoutBlockFlow {DIV} at (0,40) size 784x56 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 34x28
-          text run at (14,14) width 34: "baz"
-      LayoutBlockFlow (anonymous) at (0,96) size 784x28
-        LayoutText {#text} at (0,0) size 31x28
-          text run at (0,0) width 31: "bar"
-      LayoutBlockFlow {DIV} at (0,124) size 784x56 [border: (2px solid #FF0000)]
-        LayoutBR {BR} at (14,14) size 0x28
-      LayoutBlockFlow {DIV} at (0,180) size 784x56 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 32x28
-          text run at (14,14) width 32: "foo"
-      LayoutBlockFlow {DIV} at (0,236) size 784x56 [border: (2px solid #FF0000)]
-        LayoutBR {BR} at (14,14) size 0x28
-caret: position 0 of child 0 {#text} of child 6 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-016-expected.png b/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-016-expected.png
deleted file mode 100644
index 6bf12060..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-016-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-016-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-016-expected.txt
deleted file mode 100644
index aa14dab..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-016-expected.txt
+++ /dev/null
@@ -1,37 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow (anonymous) at (0,0) size 784x28
-        LayoutText {#text} at (0,0) size 684x28
-          text run at (0,0) width 684: "Test inserting paragraphs: should see two empty red boxes below \"foo\""
-      LayoutBlockFlow {DIV} at (0,28) size 784x12
-      LayoutBlockFlow {DIV} at (0,40) size 784x56 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 34x28
-          text run at (14,14) width 34: "baz"
-      LayoutBlockFlow (anonymous) at (0,96) size 784x28
-        LayoutText {#text} at (0,0) size 31x28
-          text run at (0,0) width 31: "bar"
-      LayoutBlockFlow {DIV} at (0,124) size 784x56 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 32x28
-          text run at (14,14) width 32: "foo"
-      LayoutBlockFlow {DIV} at (0,180) size 784x56 [border: (2px solid #FF0000)]
-        LayoutBR {BR} at (14,14) size 0x28
-      LayoutBlockFlow {DIV} at (0,236) size 784x56 [border: (2px solid #FF0000)]
-        LayoutBR {BR} at (14,14) size 0x28
-caret: position 0 of child 0 {BR} of child 6 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-017-expected.png b/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-017-expected.png
deleted file mode 100644
index cea8a65..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-017-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-017-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-017-expected.txt
deleted file mode 100644
index 57c8754..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-017-expected.txt
+++ /dev/null
@@ -1,38 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow (anonymous) at (0,0) size 784x28
-        LayoutText {#text} at (0,0) size 684x28
-          text run at (0,0) width 684: "Test inserting paragraphs: should see two empty red boxes below \"foo\""
-      LayoutBlockFlow {DIV} at (0,28) size 784x12
-      LayoutBlockFlow {DIV} at (0,40) size 784x56 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 34x28
-          text run at (14,14) width 34: "baz"
-      LayoutBlockFlow (anonymous) at (0,96) size 784x28
-        LayoutText {#text} at (0,0) size 31x28
-          text run at (0,0) width 31: "bar"
-      LayoutBlockFlow {DIV} at (0,124) size 784x56 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 32x28
-          text run at (14,14) width 32: "foo"
-      LayoutBlockFlow {DIV} at (0,180) size 784x56 [border: (2px solid #FF0000)]
-        LayoutBR {BR} at (14,14) size 0x28
-      LayoutBlockFlow {DIV} at (0,236) size 784x56 [border: (2px solid #FF0000)]
-        LayoutBR {BR} at (14,14) size 0x28
-caret: position 0 of child 0 {BR} of child 8 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-019-expected.png b/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-019-expected.png
deleted file mode 100644
index 55fcb853..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-019-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-019-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-019-expected.txt
deleted file mode 100644
index bfcc7eb..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-019-expected.txt
+++ /dev/null
@@ -1,29 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x568
-      LayoutBlockFlow (anonymous) at (0,0) size 784x56
-        LayoutText {#text} at (0,0) size 745x56
-          text run at (0,0) width 739: "Test inserting paragraphs: should see an empty blue box above an empty line"
-          text run at (738,0) width 7: " "
-          text run at (0,28) width 235: "between \"foo\" and \"bar\""
-      LayoutBlockFlow {DIV} at (0,56) size 784x36
-      LayoutBlockFlow {P} at (0,116) size 784x56 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 32x28
-          text run at (14,14) width 32: "foo"
-      LayoutBlockFlow {DIV} at (0,196) size 784x56 [border: (2px solid #0000FF)]
-        LayoutBR {BR} at (14,14) size 0x28
-      LayoutBlockFlow (anonymous) at (0,252) size 784x28
-        LayoutBR {BR} at (0,0) size 0x28
-      LayoutBlockFlow {P} at (0,304) size 784x56 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 31x28
-          text run at (14,14) width 31: "bar"
-caret: position 0 of child 5 {BR} of body
diff --git a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-020-expected.png b/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-020-expected.png
deleted file mode 100644
index 14aa94b..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-020-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-020-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-020-expected.txt
deleted file mode 100644
index 2e3b826..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/editing/inserting/insert-div-020-expected.txt
+++ /dev/null
@@ -1,30 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow (anonymous) at (0,0) size 784x56
-        LayoutText {#text} at (0,0) size 764x56
-          text run at (0,0) width 758: "Test inserting paragraphs: should see a blue box with \"bar\" in it, and two blank"
-          text run at (757,0) width 7: " "
-          text run at (0,28) width 292: "lines between \"foo\" and \"bar\"."
-      LayoutBlockFlow {DIV} at (0,56) size 784x36
-      LayoutBlockFlow (anonymous) at (0,92) size 784x84
-        LayoutInline {SPAN} at (0,0) size 32x28
-          LayoutText {#text} at (0,0) size 32x28
-            text run at (0,0) width 32: "foo"
-        LayoutBR {BR} at (31,22) size 1x0
-        LayoutBR {BR} at (0,28) size 0x28
-        LayoutBR {BR} at (0,56) size 0x28
-      LayoutBlockFlow {DIV} at (0,176) size 784x56 [border: (2px solid #0000FF)]
-        LayoutText {#text} at (14,14) size 31x28
-          text run at (14,14) width 31: "bar"
-caret: position 0 of child 0 {#text} of child 7 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/execCommand/4916402-expected.png b/third_party/WebKit/LayoutTests/platform/win/editing/execCommand/4916402-expected.png
deleted file mode 100644
index 8a0af9f..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/editing/execCommand/4916402-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/execCommand/4916402-expected.txt b/third_party/WebKit/LayoutTests/platform/win/editing/execCommand/4916402-expected.txt
deleted file mode 100644
index c34f95e..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/editing/execCommand/4916402-expected.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x576
-      LayoutBlockFlow {P} at (0,0) size 784x36
-        LayoutText {#text} at (0,0) size 775x35
-          text run at (0,0) width 775: "This tests to see that creating an ordered list item from the last list item in an unordered list creates a new list that is not a"
-          text run at (0,18) width 168: "sublist of the original one."
-      LayoutBlockFlow {DIV} at (0,52) size 784x52
-        LayoutBlockFlow {UL} at (0,0) size 784x18
-          LayoutListItem {LI} at (40,0) size 744x18
-            LayoutListMarker (anonymous) at (-17,0) size 7x17: bullet
-            LayoutText {#text} at (0,0) size 22x17
-              text run at (0,0) width 22: "foo"
-        LayoutBlockFlow {OL} at (0,34) size 784x18
-          LayoutListItem {LI} at (40,0) size 744x18
-            LayoutListMarker (anonymous) at (-16,0) size 16x17: "1"
-            LayoutText {#text} at (0,0) size 21x17
-              text run at (0,0) width 21: "bar"
-caret: position 0 of child 0 {#text} of child 0 {LI} of child 1 {OL} of child 2 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/execCommand/indent-list-item-expected.png b/third_party/WebKit/LayoutTests/platform/win/editing/execCommand/indent-list-item-expected.png
deleted file mode 100644
index 63a6c27..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/editing/execCommand/indent-list-item-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/execCommand/indent-list-item-expected.txt b/third_party/WebKit/LayoutTests/platform/win/editing/execCommand/indent-list-item-expected.txt
deleted file mode 100644
index 5024142..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/editing/execCommand/indent-list-item-expected.txt
+++ /dev/null
@@ -1,29 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x576
-      LayoutBlockFlow {DIV} at (0,0) size 784x18
-        LayoutText {#text} at (0,0) size 380x17
-          text run at (0,0) width 380: "This test uses the execCommand to Outdent the text below."
-      LayoutBlockFlow (anonymous) at (0,18) size 784x18
-        LayoutBR {BR} at (0,0) size 0x17
-      LayoutBlockFlow {DIV} at (0,52) size 784x54
-        LayoutBlockFlow {UL} at (0,0) size 784x54
-          LayoutListItem {LI} at (40,0) size 744x18
-            LayoutListMarker (anonymous) at (-17,0) size 7x17: bullet
-            LayoutText {#text} at (0,0) size 25x17
-              text run at (0,0) width 25: "Foo"
-          LayoutBlockFlow {UL} at (40,18) size 744x18
-            LayoutListItem {LI} at (40,0) size 704x18
-              LayoutListMarker (anonymous) at (-17,0) size 7x17: white bullet
-              LayoutText {#text} at (0,0) size 24x17
-                text run at (0,0) width 24: "Bar"
-          LayoutListItem {LI} at (40,36) size 744x18
-            LayoutListMarker (anonymous) at (-17,0) size 7x17: bullet
-            LayoutText {#text} at (0,0) size 25x17
-              text run at (0,0) width 25: "Baz"
-caret: position 0 of child 0 {#text} of child 0 {LI} of child 3 {UL} of child 1 {UL} of child 4 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/execCommand/indent-selection-expected.png b/third_party/WebKit/LayoutTests/platform/win/editing/execCommand/indent-selection-expected.png
deleted file mode 100644
index ff9ffc0..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/editing/execCommand/indent-selection-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/execCommand/indent-selection-expected.txt b/third_party/WebKit/LayoutTests/platform/win/editing/execCommand/indent-selection-expected.txt
deleted file mode 100644
index 1ed3990..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/editing/execCommand/indent-selection-expected.txt
+++ /dev/null
@@ -1,54 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow {DIV} at (0,0) size 784x18
-        LayoutText {#text} at (0,0) size 368x17
-          text run at (0,0) width 368: "This test uses the execCommand to indent the text below."
-      LayoutBlockFlow (anonymous) at (0,18) size 784x18
-        LayoutBR {BR} at (0,0) size 0x17
-      LayoutBlockFlow {DIV} at (0,36) size 784x194
-        LayoutBlockFlow {BLOCKQUOTE} at (40,0) size 744x54
-          LayoutBlockFlow (anonymous) at (0,0) size 744x36
-            LayoutInline {SPAN} at (0,0) size 43x17
-              LayoutText {#text} at (0,0) size 43x17
-                text run at (0,0) width 43: "Lorem"
-              LayoutBR {BR} at (42,14) size 1x0
-            LayoutText {#text} at (0,18) size 85x17
-              text run at (0,18) width 85: "more Lorem!"
-          LayoutBlockFlow {BLOCKQUOTE} at (40,36) size 704x18
-            LayoutText {#text} at (0,0) size 40x17
-              text run at (0,0) width 40: "ipsum"
-        LayoutBlockFlow {BLOCKQUOTE} at (40,70) size 744x54
-          LayoutBlockFlow {UL} at (0,0) size 744x54
-            LayoutBlockFlow {UL} at (40,0) size 704x54
-              LayoutListItem {LI} at (40,0) size 664x18
-                LayoutListMarker (anonymous) at (-17,0) size 7x17: white bullet
-                LayoutText {#text} at (0,0) size 25x17
-                  text run at (0,0) width 25: "Foo"
-              LayoutListItem {LI} at (40,18) size 664x18
-                LayoutListMarker (anonymous) at (-17,0) size 7x17: white bullet
-                LayoutText {#text} at (0,0) size 24x17
-                  text run at (0,0) width 24: "Bar"
-              LayoutListItem {LI} at (40,36) size 664x18
-                LayoutListMarker (anonymous) at (-17,0) size 7x17: white bullet
-                LayoutText {#text} at (0,0) size 25x17
-                  text run at (0,0) width 25: "Baz"
-        LayoutBlockFlow {BLOCKQUOTE} at (40,140) size 744x54
-          LayoutBlockFlow {BLOCKQUOTE} at (40,0) size 704x18
-            LayoutText {#text} at (0,0) size 38x17
-              text run at (0,0) width 38: "Dolor"
-          LayoutBlockFlow (anonymous) at (0,18) size 744x36
-            LayoutText {#text} at (0,0) size 35x17
-              text run at (0,0) width 35: "Sum!"
-            LayoutBR {BR} at (34,14) size 1x0
-            LayoutInline {SPAN} at (0,0) size 39x17
-              LayoutText {#text} at (0,18) size 39x17
-                text run at (0,18) width 39: "Thing"
-selection start: position 0 of child 0 {#text} of child 0 {SPAN} of child 1 {BLOCKQUOTE} of child 4 {DIV} of body
-selection end:   position 5 of child 0 {#text} of child 3 {SPAN} of child 3 {BLOCKQUOTE} of child 4 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/execCommand/insertHorizontalRule-expected.png b/third_party/WebKit/LayoutTests/platform/win/editing/execCommand/insertHorizontalRule-expected.png
deleted file mode 100644
index 3e92677e..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/editing/execCommand/insertHorizontalRule-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/execCommand/insertHorizontalRule-expected.txt b/third_party/WebKit/LayoutTests/platform/win/editing/execCommand/insertHorizontalRule-expected.txt
deleted file mode 100644
index 27dede7..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/editing/execCommand/insertHorizontalRule-expected.txt
+++ /dev/null
@@ -1,42 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow {P} at (0,0) size 784x18
-        LayoutText {#text} at (0,0) size 367x17
-          text run at (0,0) width 367: "These are tests for execCommand(InsertHorizontalRule)."
-      LayoutBlockFlow {P} at (0,34) size 784x18
-        LayoutText {#text} at (0,0) size 287x17
-          text run at (0,0) width 287: "This test inserts an hr between 'foo' and 'bar'."
-      LayoutBlockFlow {DIV} at (0,68) size 784x54
-        LayoutBlockFlow (anonymous) at (0,0) size 784x18
-          LayoutText {#text} at (0,0) size 22x17
-            text run at (0,0) width 22: "foo"
-        LayoutBlockFlow {HR} at (0,26) size 784x2 [border: (1px inset #EEEEEE)]
-        LayoutBlockFlow (anonymous) at (0,36) size 784x18
-          LayoutText {#text} at (0,0) size 21x17
-            text run at (0,0) width 21: "bar"
-      LayoutBlockFlow {P} at (0,138) size 784x18
-        LayoutText {#text} at (0,0) size 646x17
-          text run at (0,0) width 646: "This test inserts an hr with id=\"hr\" between 'foo' and 'bar', fetches the hr using its id, then removes it."
-      LayoutBlockFlow {DIV} at (0,172) size 784x18
-        LayoutText {#text} at (0,0) size 22x17
-          text run at (0,0) width 22: "foo"
-        LayoutText {#text} at (21,0) size 21x17
-          text run at (21,0) width 21: "bar"
-caret: position 2 of child 8 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/editing-empty-divs-expected.png b/third_party/WebKit/LayoutTests/platform/win/editing/inserting/editing-empty-divs-expected.png
deleted file mode 100644
index e9ab14f7..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/editing-empty-divs-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/editing-empty-divs-expected.txt b/third_party/WebKit/LayoutTests/platform/win/editing/inserting/editing-empty-divs-expected.txt
deleted file mode 100644
index 422c167..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/editing-empty-divs-expected.txt
+++ /dev/null
@@ -1,63 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow {P} at (0,0) size 784x36
-        LayoutText {#text} at (0,0) size 772x35
-          text run at (0,0) width 579: "This tests the ability to start editing in blocks that are visible, but have little or no content. "
-          text run at (578,0) width 194: "Each of the divs below should"
-          text run at (0,18) width 158: "be able to accept a caret."
-      LayoutBlockFlow {P} at (0,52) size 784x18
-        LayoutText {#text} at (0,0) size 180x17
-          text run at (0,0) width 180: "This div contains some text."
-      LayoutBlockFlow {DIV} at (0,86) size 707.59x22 [border: (1px dotted #0000FF)]
-        LayoutText {#text} at (1,1) size 40x17
-          text run at (1,1) width 40: "chello"
-      LayoutBlockFlow {P} at (0,124) size 784x18
-        LayoutText {#text} at (0,0) size 190x17
-          text run at (0,0) width 190: "This div is completely empty."
-      LayoutBlockFlow {DIV} at (0,158) size 707.59x22 [border: (1px dotted #0000FF)]
-        LayoutText {#text} at (1,1) size 8x17
-          text run at (1,1) width 8: "c"
-      LayoutBlockFlow {P} at (0,196) size 784x18
-        LayoutText {#text} at (0,0) size 347x17
-          text run at (0,0) width 347: "This div contains some collapsable whitespace (a '\\n')."
-      LayoutBlockFlow {DIV} at (0,230) size 707.59x22 [border: (1px dotted #0000FF)]
-        LayoutText {#text} at (1,1) size 8x17
-          text run at (1,1) width 8: "c"
-        LayoutText {#text} at (0,0) size 0x0
-      LayoutBlockFlow {P} at (0,268) size 784x18
-        LayoutText {#text} at (0,0) size 240x17
-          text run at (0,0) width 240: "This div contains a self-closing p tag."
-      LayoutBlockFlow {DIV} at (0,302) size 707.59x36 [border: (1px dotted #0000FF)]
-        LayoutBlockFlow (anonymous) at (1,1) size 705.59x18
-          LayoutText {#text} at (0,0) size 8x17
-            text run at (0,0) width 8: "c"
-        LayoutBlockFlow {P} at (1,35) size 705.59x0
-      LayoutBlockFlow {P} at (0,354) size 784x18
-        LayoutText {#text} at (0,0) size 736x17
-          text run at (0,0) width 736: "This div contains a self-closing p tag and some collapsable whitespace (two '\\n's before and after the self closing p."
-      LayoutBlockFlow {DIV} at (0,388) size 707.59x36 [border: (1px dotted #0000FF)]
-        LayoutBlockFlow (anonymous) at (1,1) size 705.59x18
-          LayoutText {#text} at (0,0) size 8x17
-            text run at (0,0) width 8: "c"
-          LayoutText {#text} at (0,0) size 0x0
-        LayoutBlockFlow {P} at (1,35) size 705.59x0
-caret: position 1 of child 0 {#text} of child 21 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-br-001-expected.png b/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-br-001-expected.png
deleted file mode 100644
index d971f32..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-br-001-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-br-001-expected.txt b/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-br-001-expected.txt
deleted file mode 100644
index b4ab73c..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-br-001-expected.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow {DIV} at (0,0) size 784x82 [border: (2px solid #FF0000)]
-        LayoutInline {SPAN} at (0,0) size 34x53
-          LayoutText {#text} at (14,14) size 34x26
-            text run at (14,14) width 34: "test"
-          LayoutBR {BR} at (47,35) size 1x0
-          LayoutText {#text} at (14,41) size 12x26
-            text run at (14,41) width 12: "x"
-        LayoutText {#text} at (0,0) size 0x0
-caret: position 1 of child 2 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-br-002-expected.png b/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-br-002-expected.png
deleted file mode 100644
index 892adb6..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-br-002-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-br-002-expected.txt b/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-br-002-expected.txt
deleted file mode 100644
index c14fcb5..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-br-002-expected.txt
+++ /dev/null
@@ -1,26 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow {DIV} at (0,0) size 784x109 [border: (2px solid #FF0000)]
-        LayoutInline {SPAN} at (0,0) size 34x80
-          LayoutText {#text} at (14,14) size 34x26
-            text run at (14,14) width 34: "test"
-          LayoutBR {BR} at (47,35) size 1x0
-          LayoutText {#text} at (14,41) size 12x26
-            text run at (14,41) width 12: "x"
-          LayoutBR {BR} at (26,62) size 0x0
-          LayoutText {#text} at (14,68) size 34x26
-            text run at (14,68) width 34: "test"
-        LayoutText {#text} at (0,0) size 0x0
-caret: position 1 of child 2 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-br-003-expected.png b/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-br-003-expected.png
deleted file mode 100644
index e017c8a..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-br-003-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-br-003-expected.txt b/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-br-003-expected.txt
deleted file mode 100644
index 489f86af..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-br-003-expected.txt
+++ /dev/null
@@ -1,24 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow {DIV} at (0,0) size 784x82 [border: (2px solid #FF0000)]
-        LayoutInline {SPAN} at (0,0) size 46x53
-          LayoutText {#text} at (14,14) size 34x26
-            text run at (14,14) width 34: "test"
-          LayoutBR {BR} at (47,35) size 1x0
-          LayoutText {#text} at (14,41) size 46x26
-            text run at (14,41) width 46: "xtest"
-        LayoutText {#text} at (0,0) size 0x0
-caret: position 1 of child 2 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-br-004-expected.png b/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-br-004-expected.png
deleted file mode 100644
index 8966b88e..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-br-004-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-br-004-expected.txt b/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-br-004-expected.txt
deleted file mode 100644
index 652a51af..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-br-004-expected.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow {DIV} at (0,0) size 784x109 [border: (2px solid #FF0000)]
-        LayoutInline {SPAN} at (0,0) size 32x80
-          LayoutText {#text} at (14,14) size 32x26
-            text run at (14,14) width 32: "foo"
-          LayoutBR {BR} at (45,35) size 1x0
-          LayoutBR {BR} at (14,41) size 0x26
-          LayoutBR {BR} at (14,68) size 0x26
-        LayoutText {#text} at (0,0) size 0x0
-caret: position 0 of child 3 {BR} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-br-005-expected.png b/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-br-005-expected.png
deleted file mode 100644
index a778e0c..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-br-005-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-br-005-expected.txt b/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-br-005-expected.txt
deleted file mode 100644
index 32bf4537..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-br-005-expected.txt
+++ /dev/null
@@ -1,25 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow {DIV} at (0,0) size 784x109 [border: (2px solid #FF0000)]
-        LayoutInline {SPAN} at (0,0) size 32x80
-          LayoutText {#text} at (14,14) size 32x26
-            text run at (14,14) width 32: "foo"
-          LayoutBR {BR} at (45,35) size 1x0
-          LayoutBR {BR} at (14,41) size 0x26
-          LayoutText {#text} at (14,68) size 12x26
-            text run at (14,68) width 12: "x"
-        LayoutText {#text} at (0,0) size 0x0
-caret: position 1 of child 3 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-br-006-expected.png b/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-br-006-expected.png
deleted file mode 100644
index 3208d1a..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-br-006-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-br-006-expected.txt b/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-br-006-expected.txt
deleted file mode 100644
index 2cabdac..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-br-006-expected.txt
+++ /dev/null
@@ -1,17 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow {DIV} at (0,0) size 784x82 [border: (2px solid #FF0000)]
-        LayoutInline {SPAN} at (0,0) size 44x53
-          LayoutBR {BR} at (14,14) size 0x26
-          LayoutText {#text} at (14,41) size 44x26
-            text run at (14,41) width 44: "xfoo"
-        LayoutText {#text} at (0,0) size 0x0
-caret: position 1 of child 1 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-br-007-expected.png b/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-br-007-expected.png
deleted file mode 100644
index a0186abf..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-br-007-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-br-007-expected.txt b/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-br-007-expected.txt
deleted file mode 100644
index b701072..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-br-007-expected.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow {DIV} at (0,0) size 784x82 [border: (2px solid #FF0000)]
-        LayoutInline {SPAN} at (0,0) size 37x53
-          LayoutText {#text} at (14,14) size 32x26
-            text run at (14,14) width 32: "foo"
-          LayoutBR {BR} at (45,35) size 1x0
-          LayoutText {#text} at (14,41) size 37x26
-            text run at (14,41) width 37: " bar"
-        LayoutText {#text} at (0,0) size 0x0
-caret: position 0 of child 2 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-br-008-expected.png b/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-br-008-expected.png
deleted file mode 100644
index 9c95860d..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-br-008-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-br-008-expected.txt b/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-br-008-expected.txt
deleted file mode 100644
index a1ca6c6..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-br-008-expected.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow {DIV} at (0,0) size 784x82 [border: (2px solid #FF0000)]
-        LayoutBR {BR} at (14,14) size 0x26
-        LayoutText {#text} at (14,41) size 38x26
-          text run at (14,41) width 38: " foo"
-caret: position 1 of child 1 {#text} of child 1 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-br-009-expected.png b/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-br-009-expected.png
deleted file mode 100644
index 924b7168..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-br-009-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-br-009-expected.txt b/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-br-009-expected.txt
deleted file mode 100644
index cee7124..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-br-009-expected.txt
+++ /dev/null
@@ -1,24 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow {P} at (0,0) size 784x36
-        LayoutText {#text} at (0,0) size 764x35
-          text run at (0,0) width 322: "This tests for a bug in InsertLineBreakCommand. "
-          text run at (321,0) width 443: "Only one line break should be inserted and the caret should end up at"
-          text run at (0,18) width 219: "the end of the bordered div below."
-      LayoutBlockFlow {DIV} at (0,52) size 784x56 [border: (1px solid #000000)]
-        LayoutText {#text} at (1,1) size 81x17
-          text run at (1,1) width 81: "Hello world."
-          text run at (81,1) width 1: " "
-        LayoutText {#text} at (1,19) size 0x17
-          text run at (1,19) width 0: " "
-        LayoutText {#text} at (1,37) size 0x17
-          text run at (1,37) width 0: " "
-caret: position 0 of child 2 {#text} of child 1 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-001-expected.png b/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-001-expected.png
deleted file mode 100644
index 4c099fb0..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-001-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-001-expected.txt b/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-001-expected.txt
deleted file mode 100644
index 801c948..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-001-expected.txt
+++ /dev/null
@@ -1,19 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow {DIV} at (0,0) size 784x55 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 34x26
-          text run at (14,14) width 34: "test"
-      LayoutBlockFlow {DIV} at (0,55) size 784x55 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 12x26
-          text run at (14,14) width 12: "x"
-caret: position 1 of child 0 {#text} of child 2 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-002-expected.png b/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-002-expected.png
deleted file mode 100644
index 4c099fb0..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-002-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-002-expected.txt b/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-002-expected.txt
deleted file mode 100644
index bb54130..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-002-expected.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow {DIV} at (0,0) size 784x55 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 34x26
-          text run at (14,14) width 34: "test"
-      LayoutBlockFlow {DIV} at (0,55) size 784x55 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 12x26
-          text run at (14,14) width 12: "x"
-caret: position 1 of child 0 {#text} of child 2 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-003-expected.png b/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-003-expected.png
deleted file mode 100644
index 90a5d7e..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-003-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-003-expected.txt b/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-003-expected.txt
deleted file mode 100644
index d1cb7f3..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-003-expected.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow {DIV} at (0,0) size 784x55 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 34x26
-          text run at (14,14) width 34: "test"
-      LayoutBlockFlow {DIV} at (0,55) size 784x55 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 46x26
-          text run at (14,14) width 46: "xtest"
-caret: position 1 of child 0 {#text} of child 2 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-004-expected.png b/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-004-expected.png
deleted file mode 100644
index d25ef84..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-004-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-004-expected.txt b/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-004-expected.txt
deleted file mode 100644
index 749b92f..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-004-expected.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow {DIV} at (0,0) size 784x55 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 34x26
-          text run at (14,14) width 34: "test"
-      LayoutBlockFlow {DIV} at (0,55) size 784x55 [border: (2px solid #FF0000)]
-        LayoutBR {BR} at (14,14) size 0x26
-      LayoutBlockFlow {DIV} at (0,110) size 784x55 [border: (2px solid #FF0000)]
-        LayoutBR {BR} at (14,14) size 0x26
-caret: position 0 of child 0 {BR} of child 3 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-005-expected.png b/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-005-expected.png
deleted file mode 100644
index 73c41a5f..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-005-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-005-expected.txt b/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-005-expected.txt
deleted file mode 100644
index 42aa2d07..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-005-expected.txt
+++ /dev/null
@@ -1,25 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow {DIV} at (0,0) size 784x55 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 34x26
-          text run at (14,14) width 34: "test"
-      LayoutBlockFlow {DIV} at (0,55) size 784x55 [border: (2px solid #FF0000)]
-        LayoutBR {BR} at (14,14) size 0x26
-      LayoutBlockFlow {DIV} at (0,110) size 784x55 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 12x26
-          text run at (14,14) width 12: "x"
-caret: position 1 of child 0 {#text} of child 3 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-006-expected.png b/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-006-expected.png
deleted file mode 100644
index 6da26b2..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-006-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-006-expected.txt b/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-006-expected.txt
deleted file mode 100644
index 02bc0494..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-006-expected.txt
+++ /dev/null
@@ -1,16 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow {DIV} at (0,0) size 784x55 [border: (2px solid #FF0000)]
-        LayoutBR {BR} at (14,14) size 0x26
-      LayoutBlockFlow {DIV} at (0,55) size 784x55 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 46x26
-          text run at (14,14) width 46: "xtest"
-caret: position 1 of child 0 {#text} of child 2 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-007-expected.png b/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-007-expected.png
deleted file mode 100644
index 37a00348..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-007-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-007-expected.txt b/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-007-expected.txt
deleted file mode 100644
index f5662d6f..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-007-expected.txt
+++ /dev/null
@@ -1,19 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow {DIV} at (0,0) size 784x55 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 32x26
-          text run at (14,14) width 32: "foo"
-      LayoutBlockFlow {DIV} at (0,55) size 784x55 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 37x26
-          text run at (14,14) width 37: " bar"
-caret: position 0 of child 0 {#text} of child 2 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-008-expected.png b/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-008-expected.png
deleted file mode 100644
index 4d004f1..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-008-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-008-expected.txt b/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-008-expected.txt
deleted file mode 100644
index 5cfbc2fe..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-008-expected.txt
+++ /dev/null
@@ -1,16 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow {DIV} at (0,0) size 784x55 [border: (2px solid #FF0000)]
-        LayoutBR {BR} at (14,14) size 0x26
-      LayoutBlockFlow {DIV} at (0,55) size 784x55 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 44x26
-          text run at (14,14) width 44: "xfoo"
-caret: position 1 of child 0 {#text} of child 2 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-011-expected.png b/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-011-expected.png
deleted file mode 100644
index 57bf150..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-011-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-011-expected.txt b/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-011-expected.txt
deleted file mode 100644
index a5dbc6b3..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-011-expected.txt
+++ /dev/null
@@ -1,26 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow (anonymous) at (0,0) size 784x27
-        LayoutText {#text} at (0,0) size 622x26
-          text run at (0,0) width 622: "Test inserting paragraphs: should see empty red box above \"baz\""
-      LayoutBlockFlow {DIV} at (0,27) size 784x12
-      LayoutBlockFlow {DIV} at (0,39) size 784x55 [border: (2px solid #FF0000)]
-        LayoutBR {BR} at (14,14) size 0x26
-      LayoutBlockFlow {DIV} at (0,94) size 784x55 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 34x26
-          text run at (14,14) width 34: "baz"
-      LayoutBlockFlow (anonymous) at (0,149) size 784x27
-        LayoutText {#text} at (0,0) size 31x26
-          text run at (0,0) width 31: "bar"
-      LayoutBlockFlow {DIV} at (0,176) size 784x55 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 32x26
-          text run at (14,14) width 32: "foo"
-      LayoutBlockFlow {DIV} at (0,231) size 784x55 [border: (2px solid #FF0000)]
-        LayoutBR {BR} at (14,14) size 0x26
-caret: position 0 of child 0 {#text} of child 4 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-012-expected.png b/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-012-expected.png
deleted file mode 100644
index 6b9b7b61..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-012-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-012-expected.txt b/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-012-expected.txt
deleted file mode 100644
index 6cc59d9b..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-012-expected.txt
+++ /dev/null
@@ -1,29 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow (anonymous) at (0,0) size 784x27
-        LayoutText {#text} at (0,0) size 623x26
-          text run at (0,0) width 623: "Test inserting paragraphs: should see empty red box below \"baz\""
-      LayoutBlockFlow {DIV} at (0,27) size 784x12
-      LayoutBlockFlow {DIV} at (0,39) size 784x55 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 34x26
-          text run at (14,14) width 34: "baz"
-      LayoutBlockFlow {DIV} at (0,94) size 784x55 [border: (2px solid #FF0000)]
-        LayoutBR {BR} at (14,14) size 0x26
-      LayoutBlockFlow (anonymous) at (0,149) size 784x27
-        LayoutText {#text} at (0,0) size 31x26
-          text run at (0,0) width 31: "bar"
-      LayoutBlockFlow {DIV} at (0,176) size 784x55 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 32x26
-          text run at (14,14) width 32: "foo"
-      LayoutBlockFlow {DIV} at (0,231) size 784x55 [border: (2px solid #FF0000)]
-        LayoutBR {BR} at (14,14) size 0x26
-caret: position 0 of child 0 {BR} of child 4 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-013-expected.png b/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-013-expected.png
deleted file mode 100644
index c7b157c..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-013-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-013-expected.txt b/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-013-expected.txt
deleted file mode 100644
index c107da0..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-013-expected.txt
+++ /dev/null
@@ -1,30 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow (anonymous) at (0,0) size 784x27
-        LayoutText {#text} at (0,0) size 630x26
-          text run at (0,0) width 630: "Test inserting paragraphs: should see empty blue box above \"bar\""
-      LayoutBlockFlow {DIV} at (0,27) size 784x36
-      LayoutBlockFlow {DIV} at (0,63) size 784x55 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 34x26
-          text run at (14,14) width 34: "baz"
-      LayoutBlockFlow {DIV} at (0,118) size 784x55 [border: (2px solid #0000FF)]
-        LayoutBR {BR} at (14,14) size 0x26
-      LayoutBlockFlow (anonymous) at (0,173) size 784x27
-        LayoutText {#text} at (0,0) size 31x26
-          text run at (0,0) width 31: "bar"
-      LayoutBlockFlow {DIV} at (0,200) size 784x55 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 32x26
-          text run at (14,14) width 32: "foo"
-      LayoutBlockFlow {DIV} at (0,255) size 784x55 [border: (2px solid #FF0000)]
-        LayoutBR {BR} at (14,14) size 0x26
-caret: position 0 of child 5 {#text} of body
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-014-expected.png b/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-014-expected.png
deleted file mode 100644
index 2de0861..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-014-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-014-expected.txt b/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-014-expected.txt
deleted file mode 100644
index 7b615436..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-014-expected.txt
+++ /dev/null
@@ -1,34 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow (anonymous) at (0,0) size 784x27
-        LayoutText {#text} at (0,0) size 631x26
-          text run at (0,0) width 631: "Test inserting paragraphs: should see empty blue box below \"bar\""
-      LayoutBlockFlow {DIV} at (0,27) size 784x36
-      LayoutBlockFlow {DIV} at (0,63) size 784x55 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 34x26
-          text run at (14,14) width 34: "baz"
-      LayoutBlockFlow (anonymous) at (0,118) size 784x27
-        LayoutText {#text} at (0,0) size 31x26
-          text run at (0,0) width 31: "bar"
-      LayoutBlockFlow {DIV} at (0,145) size 784x165 [border: (2px solid #0000FF)]
-        LayoutBlockFlow (anonymous) at (14,14) size 756x27
-          LayoutBR {BR} at (0,0) size 0x26
-        LayoutBlockFlow {DIV} at (14,41) size 756x55 [border: (2px solid #FF0000)]
-          LayoutText {#text} at (14,14) size 32x26
-            text run at (14,14) width 32: "foo"
-        LayoutBlockFlow {DIV} at (14,96) size 756x55 [border: (2px solid #FF0000)]
-          LayoutBR {BR} at (14,14) size 0x26
-caret: position 0 of child 0 {BR} of child 5 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-015-expected.png b/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-015-expected.png
deleted file mode 100644
index 4ea89b5..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-015-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-015-expected.txt b/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-015-expected.txt
deleted file mode 100644
index 8548c31..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-015-expected.txt
+++ /dev/null
@@ -1,34 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow (anonymous) at (0,0) size 784x27
-        LayoutText {#text} at (0,0) size 620x26
-          text run at (0,0) width 620: "Test inserting paragraphs: should see empty red box above \"foo\""
-      LayoutBlockFlow {DIV} at (0,27) size 784x12
-      LayoutBlockFlow {DIV} at (0,39) size 784x55 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 34x26
-          text run at (14,14) width 34: "baz"
-      LayoutBlockFlow (anonymous) at (0,94) size 784x27
-        LayoutText {#text} at (0,0) size 31x26
-          text run at (0,0) width 31: "bar"
-      LayoutBlockFlow {DIV} at (0,121) size 784x55 [border: (2px solid #FF0000)]
-        LayoutBR {BR} at (14,14) size 0x26
-      LayoutBlockFlow {DIV} at (0,176) size 784x55 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 32x26
-          text run at (14,14) width 32: "foo"
-      LayoutBlockFlow {DIV} at (0,231) size 784x55 [border: (2px solid #FF0000)]
-        LayoutBR {BR} at (14,14) size 0x26
-caret: position 0 of child 0 {#text} of child 6 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-016-expected.png b/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-016-expected.png
deleted file mode 100644
index a8328ee..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-016-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-016-expected.txt b/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-016-expected.txt
deleted file mode 100644
index 0a3e43e4..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-016-expected.txt
+++ /dev/null
@@ -1,37 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow (anonymous) at (0,0) size 784x27
-        LayoutText {#text} at (0,0) size 684x26
-          text run at (0,0) width 684: "Test inserting paragraphs: should see two empty red boxes below \"foo\""
-      LayoutBlockFlow {DIV} at (0,27) size 784x12
-      LayoutBlockFlow {DIV} at (0,39) size 784x55 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 34x26
-          text run at (14,14) width 34: "baz"
-      LayoutBlockFlow (anonymous) at (0,94) size 784x27
-        LayoutText {#text} at (0,0) size 31x26
-          text run at (0,0) width 31: "bar"
-      LayoutBlockFlow {DIV} at (0,121) size 784x55 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 32x26
-          text run at (14,14) width 32: "foo"
-      LayoutBlockFlow {DIV} at (0,176) size 784x55 [border: (2px solid #FF0000)]
-        LayoutBR {BR} at (14,14) size 0x26
-      LayoutBlockFlow {DIV} at (0,231) size 784x55 [border: (2px solid #FF0000)]
-        LayoutBR {BR} at (14,14) size 0x26
-caret: position 0 of child 0 {BR} of child 6 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-017-expected.png b/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-017-expected.png
deleted file mode 100644
index 67204f4c..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-017-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-017-expected.txt b/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-017-expected.txt
deleted file mode 100644
index 4bbce81..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-017-expected.txt
+++ /dev/null
@@ -1,38 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow (anonymous) at (0,0) size 784x27
-        LayoutText {#text} at (0,0) size 684x26
-          text run at (0,0) width 684: "Test inserting paragraphs: should see two empty red boxes below \"foo\""
-      LayoutBlockFlow {DIV} at (0,27) size 784x12
-      LayoutBlockFlow {DIV} at (0,39) size 784x55 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 34x26
-          text run at (14,14) width 34: "baz"
-      LayoutBlockFlow (anonymous) at (0,94) size 784x27
-        LayoutText {#text} at (0,0) size 31x26
-          text run at (0,0) width 31: "bar"
-      LayoutBlockFlow {DIV} at (0,121) size 784x55 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 32x26
-          text run at (14,14) width 32: "foo"
-      LayoutBlockFlow {DIV} at (0,176) size 784x55 [border: (2px solid #FF0000)]
-        LayoutBR {BR} at (14,14) size 0x26
-      LayoutBlockFlow {DIV} at (0,231) size 784x55 [border: (2px solid #FF0000)]
-        LayoutBR {BR} at (14,14) size 0x26
-caret: position 0 of child 0 {BR} of child 8 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-019-expected.png b/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-019-expected.png
deleted file mode 100644
index 3fbc019..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-019-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-019-expected.txt b/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-019-expected.txt
deleted file mode 100644
index 84638380..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-019-expected.txt
+++ /dev/null
@@ -1,29 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x568
-      LayoutBlockFlow (anonymous) at (0,0) size 784x54
-        LayoutText {#text} at (0,0) size 745x53
-          text run at (0,0) width 739: "Test inserting paragraphs: should see an empty blue box above an empty line"
-          text run at (738,0) width 7: " "
-          text run at (0,27) width 235: "between \"foo\" and \"bar\""
-      LayoutBlockFlow {DIV} at (0,54) size 784x36
-      LayoutBlockFlow {P} at (0,114) size 784x55 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 32x26
-          text run at (14,14) width 32: "foo"
-      LayoutBlockFlow {DIV} at (0,193) size 784x55 [border: (2px solid #0000FF)]
-        LayoutBR {BR} at (14,14) size 0x26
-      LayoutBlockFlow (anonymous) at (0,248) size 784x27
-        LayoutBR {BR} at (0,0) size 0x26
-      LayoutBlockFlow {P} at (0,299) size 784x55 [border: (2px solid #FF0000)]
-        LayoutText {#text} at (14,14) size 31x26
-          text run at (14,14) width 31: "bar"
-caret: position 0 of child 5 {BR} of body
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-020-expected.png b/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-020-expected.png
deleted file mode 100644
index 70996f4..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-020-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-020-expected.txt b/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-020-expected.txt
deleted file mode 100644
index 9cf944d..0000000
--- a/third_party/WebKit/LayoutTests/platform/win/editing/inserting/insert-div-020-expected.txt
+++ /dev/null
@@ -1,30 +0,0 @@
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 800x600
-  LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  LayoutBlockFlow {HTML} at (0,0) size 800x600
-    LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow (anonymous) at (0,0) size 784x54
-        LayoutText {#text} at (0,0) size 764x53
-          text run at (0,0) width 758: "Test inserting paragraphs: should see a blue box with \"bar\" in it, and two blank"
-          text run at (757,0) width 7: " "
-          text run at (0,27) width 292: "lines between \"foo\" and \"bar\"."
-      LayoutBlockFlow {DIV} at (0,54) size 784x36
-      LayoutBlockFlow (anonymous) at (0,90) size 784x81
-        LayoutInline {SPAN} at (0,0) size 32x26
-          LayoutText {#text} at (0,0) size 32x26
-            text run at (0,0) width 32: "foo"
-        LayoutBR {BR} at (31,21) size 1x0
-        LayoutBR {BR} at (0,27) size 0x26
-        LayoutBR {BR} at (0,54) size 0x26
-      LayoutBlockFlow {DIV} at (0,171) size 784x55 [border: (2px solid #0000FF)]
-        LayoutText {#text} at (14,14) size 31x26
-          text run at (14,14) width 31: "bar"
-caret: position 0 of child 0 {#text} of child 7 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/shadow-dom/node-getRootNode.html b/third_party/WebKit/LayoutTests/shadow-dom/node-getRootNode.html
new file mode 100644
index 0000000..d2e34cd
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/shadow-dom/node-getRootNode.html
@@ -0,0 +1,63 @@
+<!DOCTYPE html>
+<script src="../resources/testharness.js"></script>
+<script src="../resources/testharnessreport.js"></script>
+<script src="resources/shadow-dom.js"></script>
+
+<div id="root0">
+  <div id="host1">
+    <template id="root1" data-mode="open">
+      <div id="host2">
+        <template id="root2" data-mode="open">
+          <div id="parent">
+            <div id="child"></div>
+          </div>
+        </template>
+      </div>
+    </template>
+  </div>
+</div>
+
+<script>
+test(() => {
+  let n = createTestTree(root0);
+  document.body.appendChild(n.host1);
+  assert_equals(n.host1.getRootNode(), document);
+  assert_equals(n.root1.getRootNode(), n.root1);
+  assert_equals(n.host2.getRootNode(), n.root1);
+  assert_equals(n.root2.getRootNode(), n.root2);
+  assert_equals(n.parent.getRootNode(), n.root2);
+  assert_equals(n.child.getRootNode(), n.root2);
+
+  assert_equals(n.host1.getRootNode({ composed: true }), document);
+  assert_equals(n.root1.getRootNode({ composed: true }), document);
+  assert_equals(n.host2.getRootNode({ composed: true }), document);
+  assert_equals(n.root2.getRootNode({ composed: true }), document);
+  assert_equals(n.parent.getRootNode({ composed: true }), document);
+  assert_equals(n.child.getRootNode({ composed: true }), document);
+  n.host1.remove();
+}, 'getRootNode(...) in a connected tree.');
+
+test(() => {
+  let n = createTestTree(root0);
+  assert_equals(n.root0.getRootNode(), n.root0);
+  assert_equals(n.host1.getRootNode(), n.root0);
+  assert_equals(n.root1.getRootNode(), n.root1);
+  assert_equals(n.host2.getRootNode(), n.root1);
+  assert_equals(n.root2.getRootNode(), n.root2);
+  assert_equals(n.parent.getRootNode(), n.root2);
+  assert_equals(n.child.getRootNode(), n.root2);
+
+  assert_equals(n.root0.getRootNode({ composed: true }), n.root0);
+  assert_equals(n.host1.getRootNode({ composed: true }), n.root0);
+  assert_equals(n.root1.getRootNode({ composed: true }), n.root0);
+  assert_equals(n.host2.getRootNode({ composed: true }), n.root0);
+  assert_equals(n.root2.getRootNode({ composed: true }), n.root0);
+  assert_equals(n.parent.getRootNode({ composed: true }), n.root0);
+  assert_equals(n.child.getRootNode({ composed: true }), n.root0);
+}, 'getRootNode(...) in a disconnected tree.');
+
+test(() => {
+  let n = createTestTree(root0);
+  assert_equals(n.host2.getRootNode({ composed: false }), n.root1);
+}, 'getRootNode({ composed: false }) should be the default behavior.');
+</script>
diff --git a/third_party/WebKit/LayoutTests/svg/css/getComputedStyle-listing-expected.txt b/third_party/WebKit/LayoutTests/svg/css/getComputedStyle-listing-expected.txt
index a33c460..3d764d12 100644
--- a/third_party/WebKit/LayoutTests/svg/css/getComputedStyle-listing-expected.txt
+++ b/third_party/WebKit/LayoutTests/svg/css/getComputedStyle-listing-expected.txt
@@ -42,7 +42,7 @@
 -webkit-mask-position: 0% 0%
 -webkit-mask-position-x: 0%
 -webkit-mask-position-y: 0%
--webkit-mask-repeat: repeat
+-webkit-mask-repeat: no-repeat
 -webkit-mask-size: auto
 -webkit-print-color-adjust: economy
 -webkit-rtl-ordering: logical
diff --git a/third_party/WebKit/LayoutTests/virtual/stable/webexposed/element-instance-property-listing-expected.txt b/third_party/WebKit/LayoutTests/virtual/stable/webexposed/element-instance-property-listing-expected.txt
index c6643fc..0d3d9a0d 100644
--- a/third_party/WebKit/LayoutTests/virtual/stable/webexposed/element-instance-property-listing-expected.txt
+++ b/third_party/WebKit/LayoutTests/virtual/stable/webexposed/element-instance-property-listing-expected.txt
@@ -67,6 +67,7 @@
     property getElementsByClassName
     property getElementsByTagName
     property getElementsByTagNameNS
+    property getRootNode
     property hasAttribute
     property hasAttributeNS
     property hasAttributes
@@ -1124,6 +1125,7 @@
     property getElementsByClassName
     property getElementsByTagName
     property getElementsByTagNameNS
+    property getRootNode
     property hasAttribute
     property hasAttributeNS
     property hasAttributes
diff --git a/third_party/WebKit/LayoutTests/virtual/stable/webexposed/global-interface-listing-expected.txt b/third_party/WebKit/LayoutTests/virtual/stable/webexposed/global-interface-listing-expected.txt
index bf2e846..be9ebff6 100644
--- a/third_party/WebKit/LayoutTests/virtual/stable/webexposed/global-interface-listing-expected.txt
+++ b/third_party/WebKit/LayoutTests/virtual/stable/webexposed/global-interface-listing-expected.txt
@@ -3445,6 +3445,7 @@
     method compareDocumentPosition
     method constructor
     method contains
+    method getRootNode
     method hasChildNodes
     method insertBefore
     method isDefaultNamespace
diff --git a/third_party/WebKit/LayoutTests/webexposed/element-instance-property-listing-expected.txt b/third_party/WebKit/LayoutTests/webexposed/element-instance-property-listing-expected.txt
index c5860f7..9120a1a 100644
--- a/third_party/WebKit/LayoutTests/webexposed/element-instance-property-listing-expected.txt
+++ b/third_party/WebKit/LayoutTests/webexposed/element-instance-property-listing-expected.txt
@@ -74,6 +74,7 @@
     property getElementsByClassName
     property getElementsByTagName
     property getElementsByTagNameNS
+    property getRootNode
     property hasAttribute
     property hasAttributeNS
     property hasAttributes
@@ -1181,6 +1182,7 @@
     property getElementsByClassName
     property getElementsByTagName
     property getElementsByTagNameNS
+    property getRootNode
     property hasAttribute
     property hasAttributeNS
     property hasAttributes
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 48ea60d4..7e3d271d 100644
--- a/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt
+++ b/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt
@@ -4070,6 +4070,7 @@
     method compareDocumentPosition
     method constructor
     method contains
+    method getRootNode
     method hasChildNodes
     method insertBefore
     method isDefaultNamespace
diff --git a/third_party/WebKit/Source/core/core.gypi b/third_party/WebKit/Source/core/core.gypi
index b8143db..54599e0 100644
--- a/third_party/WebKit/Source/core/core.gypi
+++ b/third_party/WebKit/Source/core/core.gypi
@@ -3741,6 +3741,7 @@
             'css/cssom/CSSCalcDictionary.idl',
             'dom/DOMPointInit.idl',
             'dom/ElementRegistrationOptions.idl',
+            'dom/GetRootNodeOptions.idl',
             'dom/IdleRequestOptions.idl',
             'dom/IntersectionObserverInit.idl',
             'dom/MutationObserverInit.idl',
@@ -3806,6 +3807,8 @@
             '<(blink_core_output_dir)/dom/DOMPointInit.h',
             '<(blink_core_output_dir)/dom/ElementRegistrationOptions.cpp',
             '<(blink_core_output_dir)/dom/ElementRegistrationOptions.h',
+            '<(blink_core_output_dir)/dom/GetRootNodeOptions.cpp',
+            '<(blink_core_output_dir)/dom/GetRootNodeOptions.h',
             '<(blink_core_output_dir)/dom/IdleRequestOptions.cpp',
             '<(blink_core_output_dir)/dom/IdleRequestOptions.h',
             '<(blink_core_output_dir)/dom/IntersectionObserverInit.cpp',
diff --git a/third_party/WebKit/Source/core/css/RemoteFontFaceSource.cpp b/third_party/WebKit/Source/core/css/RemoteFontFaceSource.cpp
index 4175b43..319e74e 100644
--- a/third_party/WebKit/Source/core/css/RemoteFontFaceSource.cpp
+++ b/third_party/WebKit/Source/core/css/RemoteFontFaceSource.cpp
@@ -247,7 +247,7 @@
 void RemoteFontFaceSource::FontLoadHistograms::longLimitExceeded(bool isInterventionTriggered)
 {
     m_isLongLimitExceeded = true;
-    recordInterventionResult(isInterventionTriggered, false);
+    recordInterventionResult(isInterventionTriggered, true);
 }
 
 void RemoteFontFaceSource::FontLoadHistograms::recordFallbackTime(const FontResource* font)
diff --git a/third_party/WebKit/Source/core/css/resolver/FontBuilder.cpp b/third_party/WebKit/Source/core/css/resolver/FontBuilder.cpp
index 17c3fa37..38cade9 100644
--- a/third_party/WebKit/Source/core/css/resolver/FontBuilder.cpp
+++ b/third_party/WebKit/Source/core/css/resolver/FontBuilder.cpp
@@ -141,7 +141,7 @@
     m_fontDescription.setStretch(fontStretch);
 }
 
-void FontBuilder::setLocale(const AtomicString& locale)
+void FontBuilder::setLocale(PassRefPtr<const LayoutLocale> locale)
 {
     set(PropertySetFlag::Locale);
 
@@ -369,7 +369,7 @@
     if (isSet(PropertySetFlag::FeatureSettings))
         description.setFeatureSettings(m_fontDescription.featureSettings());
     if (isSet(PropertySetFlag::Locale))
-        description.setLocale(m_fontDescription.locale(false));
+        description.setLocale(m_fontDescription.locale());
     if (isSet(PropertySetFlag::Style))
         description.setStyle(m_fontDescription.style());
     if (isSet(PropertySetFlag::VariantCaps))
@@ -399,7 +399,7 @@
 void FontBuilder::createFontForDocument(FontSelector* fontSelector, ComputedStyle& documentStyle)
 {
     FontDescription fontDescription = FontDescription();
-    fontDescription.setLocale(documentStyle.locale());
+    fontDescription.setLocale(documentStyle.getFontDescription().locale());
 
     setFamilyDescription(fontDescription, FontBuilder::initialFamilyDescription());
     setSize(fontDescription, FontDescription::Size(FontSize::initialKeywordSize(), 0.0f, false));
diff --git a/third_party/WebKit/Source/core/css/resolver/FontBuilder.h b/third_party/WebKit/Source/core/css/resolver/FontBuilder.h
index 395b3e82..540fe11 100644
--- a/third_party/WebKit/Source/core/css/resolver/FontBuilder.h
+++ b/third_party/WebKit/Source/core/css/resolver/FontBuilder.h
@@ -61,7 +61,7 @@
     void setStretch(FontStretch);
     void setFamilyDescription(const FontDescription::FamilyDescription&);
     void setFeatureSettings(PassRefPtr<FontFeatureSettings>);
-    void setLocale(const AtomicString&);
+    void setLocale(PassRefPtr<const LayoutLocale>);
     void setStyle(FontStyle);
     void setVariantCaps(FontDescription::FontVariantCaps);
     void setVariantLigatures(const FontDescription::VariantLigatures&);
@@ -86,7 +86,7 @@
     static FontDescription::FontVariantCaps initialVariantCaps() { return FontDescription::CapsNormal; }
     static FontDescription::VariantLigatures initialVariantLigatures() { return FontDescription::VariantLigatures(); }
     static FontVariantNumeric initialVariantNumeric() { return FontVariantNumeric(); };
-    static const AtomicString& initialLocale() { return nullAtom; }
+    static LayoutLocale* initialLocale() { return nullptr; }
     static FontStyle initialStyle() { return FontStyleNormal; }
     static FontDescription::Kerning initialKerning() { return FontDescription::AutoKerning; }
     static FontSmoothingMode initialFontSmoothing() { return AutoSmoothing; }
diff --git a/third_party/WebKit/Source/core/css/resolver/FontBuilderTest.cpp b/third_party/WebKit/Source/core/css/resolver/FontBuilderTest.cpp
index 6a7591a2..750d7d7 100644
--- a/third_party/WebKit/Source/core/css/resolver/FontBuilderTest.cpp
+++ b/third_party/WebKit/Source/core/css/resolver/FontBuilderTest.cpp
@@ -147,11 +147,11 @@
 
 static void fontScriptBase(FontDescription& d)
 {
-    d.setLocale("no");
+    d.setLocale(LayoutLocale::get("no"));
 }
 static void fontScriptValue(FontBuilder& b)
 {
-    b.setLocale("se");
+    b.setLocale(LayoutLocale::get("se"));
 }
 
 INSTANTIATE_TEST_CASE_P(AllFields, FontBuilderAdditiveTest,
diff --git a/third_party/WebKit/Source/core/css/resolver/StyleBuilderCustom.cpp b/third_party/WebKit/Source/core/css/resolver/StyleBuilderCustom.cpp
index 83ec256..9c62190 100644
--- a/third_party/WebKit/Source/core/css/resolver/StyleBuilderCustom.cpp
+++ b/third_party/WebKit/Source/core/css/resolver/StyleBuilderCustom.cpp
@@ -754,9 +754,9 @@
 {
     if (value.isPrimitiveValue()) {
         DCHECK_EQ(toCSSPrimitiveValue(value).getValueID(), CSSValueAuto);
-        state.fontBuilder().setLocale(nullAtom);
+        state.fontBuilder().setLocale(nullptr);
     } else {
-        state.fontBuilder().setLocale(AtomicString(toCSSStringValue(value).value()));
+        state.fontBuilder().setLocale(LayoutLocale::get(AtomicString(toCSSStringValue(value).value())));
     }
 }
 
diff --git a/third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp b/third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp
index cbd019e..3e86c474 100644
--- a/third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp
+++ b/third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp
@@ -681,7 +681,7 @@
     documentStyle->setRTLOrdering(document.visuallyOrdered() ? VisualOrder : LogicalOrder);
     documentStyle->setZoom(frame && !document.printing() ? frame->pageZoomFactor() : 1);
     FontDescription documentFontDescription = documentStyle->getFontDescription();
-    documentFontDescription.setLocale(document.contentLanguage());
+    documentFontDescription.setLocale(LayoutLocale::get(document.contentLanguage()));
     documentStyle->setFontDescription(documentFontDescription);
     documentStyle->setZIndex(0);
     documentStyle->setIsStackingContext(true);
diff --git a/third_party/WebKit/Source/core/dom/Element.cpp b/third_party/WebKit/Source/core/dom/Element.cpp
index bd5544f1..5334335c 100644
--- a/third_party/WebKit/Source/core/dom/Element.cpp
+++ b/third_party/WebKit/Source/core/dom/Element.cpp
@@ -3575,6 +3575,18 @@
     DCHECK(elementData());
     elementData()->m_styleAttributeIsDirty = true;
     InspectorInstrumentation::didInvalidateStyleAttr(this);
+
+    if (MutationObserverInterestGroup* recipients = MutationObserverInterestGroup::createForAttributesMutation(*this, styleAttr)) {
+        // We don't use getAttribute() here to get a style attribute value
+        // before the change.
+        AtomicString oldValue;
+        if (const Attribute* attribute = elementData()->attributes().find(styleAttr))
+            oldValue = attribute->value();
+        recipients->enqueueMutationRecord(MutationRecord::createAttributes(this, styleAttr, oldValue));
+        // Need to synchronize every time so that following MutationRecords will
+        // have correct oldValues.
+        synchronizeAttribute(styleAttr);
+    }
 }
 
 void Element::setInlineStyleProperty(CSSPropertyID propertyID, CSSValueID identifier, bool important)
diff --git a/third_party/WebKit/Source/core/dom/GetRootNodeOptions.idl b/third_party/WebKit/Source/core/dom/GetRootNodeOptions.idl
new file mode 100644
index 0000000..f0a99c7
--- /dev/null
+++ b/third_party/WebKit/Source/core/dom/GetRootNodeOptions.idl
@@ -0,0 +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.
+
+// https://dom.spec.whatwg.org/#dictdef-getrootnodeoptions
+
+dictionary GetRootNodeOptions {
+     boolean composed = false;
+};
diff --git a/third_party/WebKit/Source/core/dom/Node.cpp b/third_party/WebKit/Source/core/dom/Node.cpp
index 5bc034f..19799caf 100644
--- a/third_party/WebKit/Source/core/dom/Node.cpp
+++ b/third_party/WebKit/Source/core/dom/Node.cpp
@@ -44,6 +44,7 @@
 #include "core/dom/ElementRareData.h"
 #include "core/dom/ElementTraversal.h"
 #include "core/dom/ExceptionCode.h"
+#include "core/dom/GetRootNodeOptions.h"
 #include "core/dom/LayoutTreeBuilderTraversal.h"
 #include "core/dom/NodeRareData.h"
 #include "core/dom/NodeTraversal.h"
@@ -381,6 +382,11 @@
     return const_cast<Node&>(*node);
 }
 
+Node* Node::getRootNode(const GetRootNodeOptions& options) const
+{
+    return (options.hasComposed() && options.composed()) ? &shadowIncludingRoot() : &treeRoot();
+}
+
 Node* Node::insertBefore(Node* newChild, Node* refChild, ExceptionState& exceptionState)
 {
     if (isContainerNode())
diff --git a/third_party/WebKit/Source/core/dom/Node.h b/third_party/WebKit/Source/core/dom/Node.h
index d0d15f40..6480869 100644
--- a/third_party/WebKit/Source/core/dom/Node.h
+++ b/third_party/WebKit/Source/core/dom/Node.h
@@ -55,6 +55,7 @@
 class EventListener;
 class ExceptionState;
 class FloatPoint;
+class GetRootNodeOptions;
 class LocalFrame;
 class HTMLInputElement;
 class HTMLQualifiedName;
@@ -201,6 +202,7 @@
     NodeList* childNodes();
     Node* firstChild() const;
     Node* lastChild() const;
+    Node* getRootNode(const GetRootNodeOptions&) const;
     Node& treeRoot() const;
     Node& shadowIncludingRoot() const;
     bool isUnclosedNodeOf(const Node&) const;
diff --git a/third_party/WebKit/Source/core/dom/Node.idl b/third_party/WebKit/Source/core/dom/Node.idl
index 7009a1f..05f2869 100644
--- a/third_party/WebKit/Source/core/dom/Node.idl
+++ b/third_party/WebKit/Source/core/dom/Node.idl
@@ -52,6 +52,7 @@
     [PerWorldBindings] readonly attribute Node? lastChild;
     [PerWorldBindings] readonly attribute Node? previousSibling;
     [PerWorldBindings] readonly attribute Node? nextSibling;
+    [MeasureAs=NodeGetRootNode] Node getRootNode(optional GetRootNodeOptions options);
 
     [CEReactions, CustomElementCallbacks] attribute DOMString? nodeValue;
 
diff --git a/third_party/WebKit/Source/core/editing/EditingUtilities.cpp b/third_party/WebKit/Source/core/editing/EditingUtilities.cpp
index e077e20..f49d88f 100644
--- a/third_party/WebKit/Source/core/editing/EditingUtilities.cpp
+++ b/third_party/WebKit/Source/core/editing/EditingUtilities.cpp
@@ -284,7 +284,7 @@
     return highestEditableRoot(toPositionInDOMTree(position), editableType);
 }
 
-bool isEditablePosition(const Position& position, EditableType editableType)
+bool isEditablePosition(const Position& position)
 {
     Node* node = position.parentAnchoredEquivalent().anchorNode();
     if (!node)
@@ -303,12 +303,12 @@
 
     if (node->isDocumentNode())
         return false;
-    return hasEditableStyle(*node, editableType);
+    return hasEditableStyle(*node, ContentIsEditable);
 }
 
-bool isEditablePosition(const PositionInFlatTree& p, EditableType editableType)
+bool isEditablePosition(const PositionInFlatTree& p)
 {
-    return isEditablePosition(toPositionInDOMTree(p), editableType);
+    return isEditablePosition(toPositionInDOMTree(p));
 }
 
 bool isAtUnsplittableElement(const Position& pos)
@@ -318,7 +318,7 @@
 }
 
 
-bool isRichlyEditablePosition(const Position& p, EditableType editableType)
+bool isRichlyEditablePosition(const Position& p)
 {
     Node* node = p.anchorNode();
     if (!node)
@@ -327,7 +327,7 @@
     if (isDisplayInsideTable(node))
         node = node->parentNode();
 
-    return layoutObjectIsRichlyEditable(*node, editableType);
+    return layoutObjectIsRichlyEditable(*node);
 }
 
 Element* rootEditableElementOf(const Position& p, EditableType editableType)
@@ -1449,7 +1449,7 @@
 // This assumes that it starts in editable content.
 Position leadingWhitespacePosition(const Position& position, TextAffinity affinity, WhitespacePositionOption option)
 {
-    DCHECK(isEditablePosition(position, ContentIsEditable)) << position;
+    DCHECK(isEditablePosition(position)) << position;
     if (position.isNull())
         return Position();
 
@@ -1477,7 +1477,7 @@
 // This assumes that it starts in editable content.
 Position trailingWhitespacePosition(const Position& position, TextAffinity, WhitespacePositionOption option)
 {
-    DCHECK(isEditablePosition(position, ContentIsEditable)) << position;
+    DCHECK(isEditablePosition(position)) << position;
     if (position.isNull())
         return Position();
 
diff --git a/third_party/WebKit/Source/core/editing/EditingUtilities.h b/third_party/WebKit/Source/core/editing/EditingUtilities.h
index 42d8464..c3cee9a 100644
--- a/third_party/WebKit/Source/core/editing/EditingUtilities.h
+++ b/third_party/WebKit/Source/core/editing/EditingUtilities.h
@@ -232,9 +232,9 @@
 // FIXME: Both isEditablePosition and isRichlyEditablePosition rely on up-to-date
 // style to give proper results. They shouldn't update style by default, but
 // should make it clear that that is the contract.
-CORE_EXPORT bool isEditablePosition(const Position&, EditableType = ContentIsEditable);
-bool isEditablePosition(const PositionInFlatTree&, EditableType = ContentIsEditable);
-bool isRichlyEditablePosition(const Position&, EditableType = ContentIsEditable);
+CORE_EXPORT bool isEditablePosition(const Position&);
+bool isEditablePosition(const PositionInFlatTree&);
+bool isRichlyEditablePosition(const Position&);
 bool lineBreakExistsAtPosition(const Position&);
 bool isAtUnsplittableElement(const Position&);
 
diff --git a/third_party/WebKit/Source/core/editing/VisibleSelection.cpp b/third_party/WebKit/Source/core/editing/VisibleSelection.cpp
index a6e9f9d..6630bfbf 100644
--- a/third_party/WebKit/Source/core/editing/VisibleSelection.cpp
+++ b/third_party/WebKit/Source/core/editing/VisibleSelection.cpp
@@ -714,7 +714,7 @@
 template <typename Strategy>
 bool VisibleSelectionTemplate<Strategy>::hasEditableStyle() const
 {
-    return isEditablePosition(start(), ContentIsEditable);
+    return isEditablePosition(start());
 }
 
 template <typename Strategy>
diff --git a/third_party/WebKit/Source/core/editing/VisibleUnits.cpp b/third_party/WebKit/Source/core/editing/VisibleUnits.cpp
index 411ce6c..0eed227 100644
--- a/third_party/WebKit/Source/core/editing/VisibleUnits.cpp
+++ b/third_party/WebKit/Source/core/editing/VisibleUnits.cpp
@@ -1326,7 +1326,7 @@
     if (root) {
         // FIXME: Can be wrong for multi-column layout and with transforms.
         LayoutPoint pointInLine = absoluteLineDirectionPointToLocalPointInBlock(root, lineDirectionPoint);
-        LineLayoutItem lineLayoutItem = root->closestLeafChildForPoint(pointInLine, isEditablePosition(p, ContentIsEditable))->getLineLayoutItem();
+        LineLayoutItem lineLayoutItem = root->closestLeafChildForPoint(pointInLine, isEditablePosition(p))->getLineLayoutItem();
         Node* node = lineLayoutItem.node();
         if (node && editingIgnoresContent(node))
             return VisiblePosition::inParentBeforeNode(*node);
diff --git a/third_party/WebKit/Source/core/editing/commands/CompositeEditCommand.cpp b/third_party/WebKit/Source/core/editing/commands/CompositeEditCommand.cpp
index a9b4962..2b3ebd3 100644
--- a/third_party/WebKit/Source/core/editing/commands/CompositeEditCommand.cpp
+++ b/third_party/WebKit/Source/core/editing/commands/CompositeEditCommand.cpp
@@ -359,7 +359,7 @@
 void CompositeEditCommand::insertNodeAt(Node* insertChild, const Position& editingPosition, EditingState* editingState)
 {
     document().updateStyleAndLayoutIgnorePendingStylesheets();
-    ABORT_EDITING_COMMAND_IF(!isEditablePosition(editingPosition, ContentIsEditable));
+    ABORT_EDITING_COMMAND_IF(!isEditablePosition(editingPosition));
     // For editing positions like [table, 0], insert before the table,
     // likewise for replaced elements, brs, etc.
     Position p = editingPosition.parentAnchoredEquivalent();
@@ -981,7 +981,7 @@
 // it, and return that block.  Otherwise return 0.
 HTMLElement* CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary(const Position& pos, EditingState* editingState)
 {
-    DCHECK(isEditablePosition(pos, ContentIsEditable)) << pos;
+    DCHECK(isEditablePosition(pos)) << pos;
 
     // It's strange that this function is responsible for verifying that pos has not been invalidated
     // by an earlier call to this function.  The caller, applyBlockStyle, should do this.
diff --git a/third_party/WebKit/Source/core/editing/commands/DeleteSelectionCommand.cpp b/third_party/WebKit/Source/core/editing/commands/DeleteSelectionCommand.cpp
index 3de3b92..5931cb4 100644
--- a/third_party/WebKit/Source/core/editing/commands/DeleteSelectionCommand.cpp
+++ b/third_party/WebKit/Source/core/editing/commands/DeleteSelectionCommand.cpp
@@ -167,11 +167,11 @@
     initializeStartEnd(start, end);
     DCHECK(start.isNotNull());
     DCHECK(end.isNotNull());
-    if (!isEditablePosition(start, ContentIsEditable)) {
+    if (!isEditablePosition(start)) {
         editingState->abort();
         return;
     }
-    if (!isEditablePosition(end, ContentIsEditable)) {
+    if (!isEditablePosition(end)) {
         Node* highestRoot = highestEditableRoot(start);
         DCHECK(highestRoot);
         end = lastEditablePositionBeforePositionInRoot(end, *highestRoot);
diff --git a/third_party/WebKit/Source/core/frame/UseCounter.h b/third_party/WebKit/Source/core/frame/UseCounter.h
index 66312773..f7c528c 100644
--- a/third_party/WebKit/Source/core/frame/UseCounter.h
+++ b/third_party/WebKit/Source/core/frame/UseCounter.h
@@ -1268,6 +1268,7 @@
         V8VisualViewport_Scale_AttributeGetter = 1464,
         VisualViewportScrollFired = 1465,
         VisualViewportResizeFired = 1466,
+        NodeGetRootNode = 1467,
 
         // Add new features immediately above this line. Don't change assigned
         // numbers of any item, and don't reuse removed slots.
diff --git a/third_party/WebKit/Source/core/html/HTMLAnchorElement.cpp b/third_party/WebKit/Source/core/html/HTMLAnchorElement.cpp
index 708448d..9e1f713b 100644
--- a/third_party/WebKit/Source/core/html/HTMLAnchorElement.cpp
+++ b/third_party/WebKit/Source/core/html/HTMLAnchorElement.cpp
@@ -37,6 +37,7 @@
 #include "core/page/ChromeClient.h"
 #include "platform/network/NetworkHints.h"
 #include "platform/weborigin/SecurityPolicy.h"
+#include "public/platform/WebNavigationHintType.h"
 
 namespace blink {
 
@@ -44,15 +45,6 @@
 
 class HTMLAnchorElement::NavigationHintSender : public GarbageCollected<HTMLAnchorElement::NavigationHintSender> {
 public:
-    // TODO(horo): Move WebNavigationHintType to public/ directory.
-    enum class WebNavigationHintType {
-        Unknown,
-        LinkMouseDown,
-        LinkTapUnconfirmed,
-        LinkTapDown,
-        Last = LinkTapDown
-    };
-
     static NavigationHintSender* create(HTMLAnchorElement* anchorElement)
     {
         return new NavigationHintSender(anchorElement);
@@ -116,7 +108,7 @@
     if (!shouldSendNavigationHint())
         return;
 
-    // TODO(horo): Send the navigation hint message to the browser process.
+    sendNavigationHint(m_anchorElement->href(), type);
 }
 
 HTMLAnchorElement::HTMLAnchorElement(const QualifiedName& tagName, Document& document)
diff --git a/third_party/WebKit/Source/core/html/HTMLFrameElementBase.cpp b/third_party/WebKit/Source/core/html/HTMLFrameElementBase.cpp
index 0c5029c6..6d7ccede1 100644
--- a/third_party/WebKit/Source/core/html/HTMLFrameElementBase.cpp
+++ b/third_party/WebKit/Source/core/html/HTMLFrameElementBase.cpp
@@ -47,6 +47,7 @@
     , m_scrollingMode(ScrollbarAuto)
     , m_marginWidth(-1)
     , m_marginHeight(-1)
+    , m_javaScriptURLFailedAccessCheck(false)
 {
 }
 
@@ -58,8 +59,11 @@
     const KURL& completeURL = document().completeURL(m_URL);
 
     if (protocolIsJavaScript(completeURL)) {
-        if (contentFrame() && !ScriptController::canAccessFromCurrentOrigin(toIsolate(&document()), contentFrame()))
+        if (contentFrame() && !ScriptController::canAccessFromCurrentOrigin(toIsolate(&document()), contentFrame())) {
+            m_javaScriptURLFailedAccessCheck = true;
             return false;
+        }
+        SECURITY_CHECK(!m_javaScriptURLFailedAccessCheck);
     }
 
     LocalFrame* parentFrame = document().frame();
@@ -168,6 +172,10 @@
     if (!SubframeLoadingDisabler::canLoadFrame(*this))
         return;
 
+    // We should never have a content frame at the point where we got inserted
+    // into a tree.
+    SECURITY_CHECK(!contentFrame());
+
     setNameAndOpenURL();
 }
 
@@ -188,6 +196,7 @@
 void HTMLFrameElementBase::setLocation(const String& str)
 {
     m_URL = AtomicString(str);
+    m_javaScriptURLFailedAccessCheck = false;
 
     if (isConnected())
         openURL(false);
diff --git a/third_party/WebKit/Source/core/html/HTMLFrameElementBase.h b/third_party/WebKit/Source/core/html/HTMLFrameElementBase.h
index 6e9cf68..0038b8ce 100644
--- a/third_party/WebKit/Source/core/html/HTMLFrameElementBase.h
+++ b/third_party/WebKit/Source/core/html/HTMLFrameElementBase.h
@@ -78,6 +78,7 @@
 
     AtomicString m_URL;
     AtomicString m_frameName;
+    mutable bool m_javaScriptURLFailedAccessCheck;
 };
 
 inline bool isHTMLFrameElementBase(const HTMLElement& element)
diff --git a/third_party/WebKit/Source/core/html/HTMLLinkElement.cpp b/third_party/WebKit/Source/core/html/HTMLLinkElement.cpp
index 41f52b2..eba8125 100644
--- a/third_party/WebKit/Source/core/html/HTMLLinkElement.cpp
+++ b/third_party/WebKit/Source/core/html/HTMLLinkElement.cpp
@@ -440,8 +440,13 @@
 
 void LinkStyle::setCSSStyleSheet(const String& href, const KURL& baseURL, const String& charset, const CSSStyleSheetResource* cachedStyleSheet)
 {
-    if (!m_owner->isConnected()) {
-        ASSERT(!m_sheet);
+    if (!m_owner->isInDocumentTree()) {
+        // While the stylesheet is asynchronously loading, the owner can be moved out of a document tree.
+        // In that case, cancel any processing on the loaded content.
+        m_loading = false;
+        removePendingSheet();
+        if (m_sheet)
+            clearSheet();
         return;
     }
 
@@ -453,15 +458,6 @@
         notifyLoadedSheetAndAllCriticalSubresources(Node::ErrorOccurredLoadingSubresource);
         return;
     }
-    // While the stylesheet is asynchronously loading, the owner can be moved under
-    // shadow tree.  In that case, cancel any processing on the loaded content.
-    if (m_owner->isInShadowTree()) {
-        m_loading = false;
-        removePendingSheet();
-        if (m_sheet)
-            clearSheet();
-        return;
-    }
 
     CSSParserContext parserContext(m_owner->document(), nullptr, baseURL, charset);
 
diff --git a/third_party/WebKit/Source/core/layout/LayoutBlock.cpp b/third_party/WebKit/Source/core/layout/LayoutBlock.cpp
index 88c0166..de99f9d3 100644
--- a/third_party/WebKit/Source/core/layout/LayoutBlock.cpp
+++ b/third_party/WebKit/Source/core/layout/LayoutBlock.cpp
@@ -1609,7 +1609,7 @@
 LayoutRect LayoutBlock::localCaretRect(InlineBox* inlineBox, int caretOffset, LayoutUnit* extraWidthToEndOfLine)
 {
     // Do the normal calculation in most cases.
-    if (firstChild() || isInlineBoxWrapperActuallyChild())
+    if ((firstChild() && !firstChild()->isPseudoElement()) || isInlineBoxWrapperActuallyChild())
         return LayoutBox::localCaretRect(inlineBox, caretOffset, extraWidthToEndOfLine);
 
     LayoutRect caretRect = localCaretRectForEmptyElement(size().width(), textIndentOffset());
diff --git a/third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp b/third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp
index 5390b736..2770ee1 100644
--- a/third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp
+++ b/third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp
@@ -943,7 +943,7 @@
 
 LayoutRect LayoutBoxModelObject::localCaretRectForEmptyElement(LayoutUnit width, LayoutUnit textIndentOffset)
 {
-    ASSERT(!slowFirstChild());
+    DCHECK(!slowFirstChild() || slowFirstChild()->isPseudoElement());
 
     // FIXME: This does not take into account either :first-line or :first-letter
     // However, as soon as some content is entered, the line boxes will be
diff --git a/third_party/WebKit/Source/core/layout/LayoutText.cpp b/third_party/WebKit/Source/core/layout/LayoutText.cpp
index 8aa720a..217a32e 100644
--- a/third_party/WebKit/Source/core/layout/LayoutText.cpp
+++ b/third_party/WebKit/Source/core/layout/LayoutText.cpp
@@ -927,8 +927,7 @@
     bool breakAll = (styleToUse.wordBreak() == BreakAllWordBreak || styleToUse.wordBreak() == BreakWordBreak) && styleToUse.autoWrap();
     bool keepAll = styleToUse.wordBreak() == KeepAllWordBreak && styleToUse.autoWrap();
 
-    Hyphenation* hyphenation = styleToUse.getHyphens() == HyphensAuto
-        ? Hyphenation::get(f.getFontDescription().locale()) : nullptr;
+    Hyphenation* hyphenation = styleToUse.getHyphenation();
     bool disableSoftHyphen = styleToUse.getHyphens() == HyphensNone;
     float maxWordWidth = 0;
     if (!hyphenation)
diff --git a/third_party/WebKit/Source/core/layout/line/BreakingContextInlineHeaders.h b/third_party/WebKit/Source/core/layout/line/BreakingContextInlineHeaders.h
index a945545d..62ceade4 100644
--- a/third_party/WebKit/Source/core/layout/line/BreakingContextInlineHeaders.h
+++ b/third_party/WebKit/Source/core/layout/line/BreakingContextInlineHeaders.h
@@ -743,8 +743,7 @@
     // See: fast/css3-text/css3-word-break/word-break-all-wrap-with-floats.html
     float widthMeasurementAtLastBreakOpportunity = 0;
 
-    Hyphenation* hyphenation = style.getHyphens() == HyphensAuto
-        ? Hyphenation::get(font.getFontDescription().locale()) : nullptr;
+    Hyphenation* hyphenation = style.getHyphenation();
     bool disableSoftHyphen = style.getHyphens() == HyphensNone;
     float hyphenWidth = 0;
 
diff --git a/third_party/WebKit/Source/core/style/ComputedStyle.cpp b/third_party/WebKit/Source/core/style/ComputedStyle.cpp
index eb7388e..984ff42 100644
--- a/third_party/WebKit/Source/core/style/ComputedStyle.cpp
+++ b/third_party/WebKit/Source/core/style/ComputedStyle.cpp
@@ -1253,6 +1253,12 @@
         it->value.clearReset();
 }
 
+Hyphenation* ComputedStyle::getHyphenation() const
+{
+    return getHyphens() == HyphensAuto
+        ? getFontDescription().localeOrDefault().getHyphenation() : nullptr;
+}
+
 const AtomicString& ComputedStyle::hyphenString() const
 {
     const AtomicString& hyphenationString = m_rareInheritedData.get()->hyphenationString;
diff --git a/third_party/WebKit/Source/core/style/ComputedStyle.h b/third_party/WebKit/Source/core/style/ComputedStyle.h
index fedbec2e..564a2d9 100644
--- a/third_party/WebKit/Source/core/style/ComputedStyle.h
+++ b/third_party/WebKit/Source/core/style/ComputedStyle.h
@@ -107,6 +107,7 @@
 class CSSVariableData;
 class Font;
 class FontMetrics;
+class Hyphenation;
 class RotateTransformOperation;
 class ScaleTransformOperation;
 class ShadowList;
@@ -888,7 +889,7 @@
     const AtomicString& highlight() const { return m_rareInheritedData->highlight; }
     Hyphens getHyphens() const { return static_cast<Hyphens>(m_rareInheritedData->hyphens); }
     const AtomicString& hyphenationString() const { return m_rareInheritedData->hyphenationString; }
-    const AtomicString& locale() const { return getFontDescription().locale(false); }
+    const AtomicString& locale() const { return LayoutLocale::localeString(getFontDescription().locale()); }
     EResize resize() const { return static_cast<EResize>(m_rareNonInheritedData->m_resize); }
     bool hasInlinePaginationAxis() const
     {
@@ -1622,6 +1623,7 @@
     QuotesData* quotes() const { return m_rareInheritedData->quotes.get(); }
     void setQuotes(PassRefPtr<QuotesData>);
 
+    Hyphenation* getHyphenation() const;
     const AtomicString& hyphenString() const;
 
     bool inheritedEqual(const ComputedStyle&) const;
diff --git a/third_party/WebKit/Source/core/style/FillLayer.h b/third_party/WebKit/Source/core/style/FillLayer.h
index 23d52fc..f14ef06 100644
--- a/third_party/WebKit/Source/core/style/FillLayer.h
+++ b/third_party/WebKit/Source/core/style/FillLayer.h
@@ -194,8 +194,8 @@
     static EFillAttachment initialFillAttachment(EFillLayerType) { return ScrollBackgroundAttachment; }
     static EFillBox initialFillClip(EFillLayerType) { return BorderFillBox; }
     static EFillBox initialFillOrigin(EFillLayerType type) { return type == BackgroundFillLayer ? PaddingFillBox : BorderFillBox; }
-    static EFillRepeat initialFillRepeatX(EFillLayerType) { return RepeatFill; }
-    static EFillRepeat initialFillRepeatY(EFillLayerType) { return RepeatFill; }
+    static EFillRepeat initialFillRepeatX(EFillLayerType type) { return type == BackgroundFillLayer ? RepeatFill : NoRepeatFill; }
+    static EFillRepeat initialFillRepeatY(EFillLayerType type) { return type == BackgroundFillLayer ? RepeatFill : NoRepeatFill; }
     static CompositeOperator initialFillComposite(EFillLayerType) { return CompositeSourceOver; }
     static WebBlendMode initialFillBlendMode(EFillLayerType) { return WebBlendModeNormal; }
     static EFillSizeType initialFillSizeType(EFillLayerType) { return SizeLength; }
diff --git a/third_party/WebKit/Source/core/testing/Internals.cpp b/third_party/WebKit/Source/core/testing/Internals.cpp
index 6d529874..d248345 100644
--- a/third_party/WebKit/Source/core/testing/Internals.cpp
+++ b/third_party/WebKit/Source/core/testing/Internals.cpp
@@ -129,6 +129,7 @@
 #include "gpu/command_buffer/client/gles2_interface.h"
 #include "platform/Cursor.h"
 #include "platform/Language.h"
+#include "platform/LayoutLocale.h"
 #include "platform/PlatformKeyboardEvent.h"
 #include "platform/RuntimeEnabledFeatures.h"
 #include "platform/TraceEvent.h"
@@ -1559,12 +1560,13 @@
 
 bool Internals::canHyphenate(const AtomicString& locale)
 {
-    return Hyphenation::get(locale);
+    return LayoutLocale::valueOrDefault(LayoutLocale::get(locale))
+        .getHyphenation();
 }
 
 void Internals::setMockHyphenation(const AtomicString& locale)
 {
-    Hyphenation::setForTesting(locale, adoptRef(new MockHyphenation));
+    LayoutLocale::setHyphenationForTesting(locale, adoptRef(new MockHyphenation));
 }
 
 bool Internals::isOverwriteModeEnabled(Document* document)
diff --git a/third_party/WebKit/Source/modules/indexeddb/IDBObserver.cpp b/third_party/WebKit/Source/modules/indexeddb/IDBObserver.cpp
index 3bb7489..8d991f2 100644
--- a/third_party/WebKit/Source/modules/indexeddb/IDBObserver.cpp
+++ b/third_party/WebKit/Source/modules/indexeddb/IDBObserver.cpp
@@ -38,8 +38,6 @@
     m_operationTypes[WebIDBClear] = options.operationTypes().contains(IndexedDBNames::clear);
 }
 
-IDBObserver::~IDBObserver() {}
-
 void IDBObserver::observe(IDBDatabase* database, IDBTransaction* transaction, ExceptionState& exceptionState)
 {
     if (transaction->isFinished() || transaction->isFinishing()) {
diff --git a/third_party/WebKit/Source/modules/indexeddb/IDBObserver.h b/third_party/WebKit/Source/modules/indexeddb/IDBObserver.h
index c8ef7da..1b92e80 100644
--- a/third_party/WebKit/Source/modules/indexeddb/IDBObserver.h
+++ b/third_party/WebKit/Source/modules/indexeddb/IDBObserver.h
@@ -21,14 +21,12 @@
 class IDBTransaction;
 struct WebIDBObservation;
 
-class MODULES_EXPORT IDBObserver final : public GarbageCollectedFinalized<IDBObserver>, public ScriptWrappable {
+class MODULES_EXPORT IDBObserver final : public GarbageCollected<IDBObserver>, public ScriptWrappable {
     DEFINE_WRAPPERTYPEINFO();
 
 public:
     static IDBObserver* create(IDBObserverCallback&, const IDBObserverInit&);
 
-    ~IDBObserver();
-
     void removeObserver(int32_t id);
     void onChange(int32_t id, const WebVector<WebIDBObservation>&, const WebVector<int32_t>& observationIndex);
 
diff --git a/third_party/WebKit/Source/modules/indexeddb/IDBObserverChanges.h b/third_party/WebKit/Source/modules/indexeddb/IDBObserverChanges.h
index 44aee4a..55bcdd0 100644
--- a/third_party/WebKit/Source/modules/indexeddb/IDBObserverChanges.h
+++ b/third_party/WebKit/Source/modules/indexeddb/IDBObserverChanges.h
@@ -17,9 +17,8 @@
 
 class ScriptState;
 
-class IDBObserverChanges final : public GarbageCollectedFinalized<IDBObserverChanges>, public ScriptWrappable {
+class IDBObserverChanges final : public GarbageCollected<IDBObserverChanges>, public ScriptWrappable {
     DEFINE_WRAPPERTYPEINFO();
-
 public:
     static IDBObserverChanges* create(IDBDatabase*, const WebVector<WebIDBObservation>&, const WebVector<int32_t>& observationIndex);
 
diff --git a/third_party/WebKit/Source/modules/payments/PaymentResponseTest.cpp b/third_party/WebKit/Source/modules/payments/PaymentResponseTest.cpp
index 35da5514..a683458 100644
--- a/third_party/WebKit/Source/modules/payments/PaymentResponseTest.cpp
+++ b/third_party/WebKit/Source/modules/payments/PaymentResponseTest.cpp
@@ -69,6 +69,19 @@
     EXPECT_EQ(123, transactionId.v8Value().As<v8::Number>()->Value());
 }
 
+TEST(PaymentResponseTest, PaymentResponseDetailsJSONObject)
+{
+    V8TestingScope scope;
+    mojom::blink::PaymentResponsePtr input = buildPaymentResponseForTest();
+    input->stringified_details = "transactionId";
+    MockPaymentCompleter* completeCallback = new MockPaymentCompleter;
+    PaymentResponse output(std::move(input), completeCallback);
+
+    ScriptValue details = output.details(scope.getScriptState(), scope.getExceptionState());
+
+    ASSERT_TRUE(scope.getExceptionState().hadException());
+}
+
 TEST(PaymentResponseTest, CompleteCalledWithSuccess)
 {
     V8TestingScope scope;
diff --git a/third_party/WebKit/Source/platform/LayoutLocale.cpp b/third_party/WebKit/Source/platform/LayoutLocale.cpp
new file mode 100644
index 0000000..20aaa1a
--- /dev/null
+++ b/third_party/WebKit/Source/platform/LayoutLocale.cpp
@@ -0,0 +1,126 @@
+// Copyright 2016 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "platform/LayoutLocale.h"
+
+#include "platform/Language.h"
+#include "platform/text/LocaleToScriptMapping.h"
+#include "wtf/HashMap.h"
+#include "wtf/text/AtomicStringHash.h"
+#include "wtf/text/StringHash.h"
+
+#include <hb.h>
+
+namespace blink {
+
+const LayoutLocale* LayoutLocale::s_default = nullptr;
+
+static hb_language_t toHarfbuzLanguage(const AtomicString& locale)
+{
+    CString localeAsLatin1 = locale.latin1();
+    return hb_language_from_string(localeAsLatin1.data(), localeAsLatin1.length());
+}
+
+// SkFontMgr requires script-based locale names, like "zh-Hant" and "zh-Hans",
+// instead of "zh-CN" and "zh-TW".
+static CString toSkFontMgrLocale(const String& locale)
+{
+    if (!locale.startsWith("zh", TextCaseInsensitive))
+        return locale.ascii();
+
+    switch (localeToScriptCodeForFontSelection(locale)) {
+    case USCRIPT_SIMPLIFIED_HAN:
+        return "zh-Hans";
+    case USCRIPT_TRADITIONAL_HAN:
+        return "zh-Hant";
+    default:
+        return locale.ascii();
+    }
+}
+
+const CString& LayoutLocale::localeForSkFontMgr() const
+{
+    if (m_stringForSkFontMgr.isNull())
+        m_stringForSkFontMgr = toSkFontMgrLocale(m_string);
+    return m_stringForSkFontMgr;
+}
+
+UScriptCode LayoutLocale::scriptForHan() const
+{
+    if (m_scriptForHan != USCRIPT_COMMON)
+        return m_scriptForHan;
+
+    m_scriptForHan = scriptCodeForHanFromLocale(script(), localeString());
+    if (m_scriptForHan == USCRIPT_COMMON)
+        m_scriptForHan = USCRIPT_HAN;
+    return m_scriptForHan;
+}
+
+LayoutLocale::LayoutLocale(const AtomicString& locale)
+    : m_string(locale)
+    , m_harfbuzzLanguage(toHarfbuzLanguage(locale))
+    , m_script(localeToScriptCodeForFontSelection(locale))
+    , m_scriptForHan(USCRIPT_COMMON)
+    , m_hyphenationComputed(false)
+{
+}
+
+using LayoutLocaleMap = HashMap<AtomicString, RefPtr<LayoutLocale>, CaseFoldingHash>;
+
+static LayoutLocaleMap& getLocaleMap()
+{
+    DEFINE_STATIC_LOCAL(LayoutLocaleMap, localeMap, ());
+    return localeMap;
+}
+
+const LayoutLocale* LayoutLocale::get(const AtomicString& locale)
+{
+    if (locale.isNull())
+        return nullptr;
+
+    auto result = getLocaleMap().add(locale, nullptr);
+    if (result.isNewEntry)
+        result.storedValue->value = adoptRef(new LayoutLocale(locale));
+    return result.storedValue->value.get();
+}
+
+static const LayoutLocale* computeDefaultLocale()
+{
+    AtomicString locale = defaultLanguage();
+    if (!locale.isEmpty())
+        return LayoutLocale::get(locale);
+    return LayoutLocale::get("en");
+}
+
+const LayoutLocale& LayoutLocale::getDefault()
+{
+    if (!s_default)
+        s_default = computeDefaultLocale();
+    return *s_default;
+}
+
+void LayoutLocale::clearForTesting()
+{
+    s_default = nullptr;
+    getLocaleMap().clear();
+}
+
+Hyphenation* LayoutLocale::getHyphenation() const
+{
+    if (m_hyphenationComputed)
+        return m_hyphenation.get();
+
+    m_hyphenationComputed = true;
+    m_hyphenation = Hyphenation::platformGetHyphenation(localeString());
+    return m_hyphenation.get();
+}
+
+void LayoutLocale::setHyphenationForTesting(const AtomicString& localeString, PassRefPtr<Hyphenation> hyphenation)
+{
+    const LayoutLocale& locale = valueOrDefault(get(localeString));
+    locale.m_hyphenationComputed = true;
+    locale.m_hyphenation = hyphenation;
+}
+
+} // namespace blink
diff --git a/third_party/WebKit/Source/platform/LayoutLocale.h b/third_party/WebKit/Source/platform/LayoutLocale.h
new file mode 100644
index 0000000..4beb267
--- /dev/null
+++ b/third_party/WebKit/Source/platform/LayoutLocale.h
@@ -0,0 +1,63 @@
+// Copyright 2016 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef LayoutLocale_h
+#define LayoutLocale_h
+
+#include "platform/PlatformExport.h"
+#include "platform/text/Hyphenation.h"
+#include "wtf/Forward.h"
+#include "wtf/RefCounted.h"
+#include "wtf/text/AtomicString.h"
+
+#include <unicode/uscript.h>
+
+struct hb_language_impl_t;
+
+namespace blink {
+
+class Hyphenation;
+
+class PLATFORM_EXPORT LayoutLocale : public RefCounted<LayoutLocale> {
+public:
+    static const LayoutLocale* get(const AtomicString& locale);
+    static const LayoutLocale& getDefault();
+    static const LayoutLocale& valueOrDefault(const LayoutLocale* locale) { return locale ? *locale : getDefault(); }
+
+    const AtomicString& localeString() const { return m_string; }
+    static const AtomicString& localeString(const LayoutLocale* locale) { return locale ? locale->m_string : nullAtom; }
+    operator const AtomicString&() const { return m_string; }
+    CString ascii() const { return m_string.ascii(); }
+
+    const hb_language_impl_t* harfbuzzLanguage() const { return m_harfbuzzLanguage; }
+    const CString& localeForSkFontMgr() const;
+    UScriptCode script() const { return m_script; }
+    UScriptCode scriptForHan() const;
+
+    Hyphenation* getHyphenation() const;
+
+    static void clearForTesting();
+    static void setHyphenationForTesting(const AtomicString&, PassRefPtr<Hyphenation>);
+
+private:
+    explicit LayoutLocale(const AtomicString&);
+
+    AtomicString m_string;
+    mutable CString m_stringForSkFontMgr;
+    mutable RefPtr<Hyphenation> m_hyphenation;
+
+    // hb_language_t is defined in hb.h, which not all files can include.
+    const hb_language_impl_t* m_harfbuzzLanguage;
+
+    UScriptCode m_script;
+    mutable UScriptCode m_scriptForHan;
+
+    mutable unsigned m_hyphenationComputed : 1;
+
+    static const LayoutLocale* s_default;
+};
+
+} // namespace blink
+
+#endif // LayoutLocale_h
diff --git a/third_party/WebKit/Source/platform/LayoutLocaleTest.cpp b/third_party/WebKit/Source/platform/LayoutLocaleTest.cpp
new file mode 100644
index 0000000..08926e7eb
--- /dev/null
+++ b/third_party/WebKit/Source/platform/LayoutLocaleTest.cpp
@@ -0,0 +1,32 @@
+// Copyright 2016 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "platform/LayoutLocale.h"
+
+#include "platform/Logging.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+namespace blink {
+
+TEST(LayoutLocaleTest, Get)
+{
+    LayoutLocale::clearForTesting();
+
+    EXPECT_EQ(nullptr, LayoutLocale::get(nullAtom));
+
+    EXPECT_EQ(emptyAtom, LayoutLocale::get(emptyAtom)->localeString());
+
+    EXPECT_TRUE(equalIgnoringCase("en-us", LayoutLocale::get("en-us")->localeString()));
+    EXPECT_TRUE(equalIgnoringCase("ja-jp", LayoutLocale::get("ja-jp")->localeString()));
+
+    LayoutLocale::clearForTesting();
+}
+
+TEST(LayoutLocaleTest, GetCaseInsensitive)
+{
+    const LayoutLocale* enUS = LayoutLocale::get("en-us");
+    EXPECT_EQ(enUS, LayoutLocale::get("en-US"));
+}
+
+} // namespace blink
diff --git a/third_party/WebKit/Source/platform/blink_platform.gypi b/third_party/WebKit/Source/platform/blink_platform.gypi
index 00de0c5..b75d5b7b 100644
--- a/third_party/WebKit/Source/platform/blink_platform.gypi
+++ b/third_party/WebKit/Source/platform/blink_platform.gypi
@@ -49,6 +49,8 @@
       'KillRingNone.cpp',
       'Language.cpp',
       'Language.h',
+      'LayoutLocale.cpp',
+      'LayoutLocale.h',
       'LayoutTestSupport.cpp',
       'LayoutTestSupport.h',
       'LayoutUnit.h',
@@ -1143,6 +1145,7 @@
       'DecimalTest.cpp',
       'DragImageTest.cpp',
       'HistogramTest.cpp',
+      'LayoutLocaleTest.cpp',
       'LayoutUnitTest.cpp',
       'LifecycleContextTest.cpp',
       'PODArenaTest.cpp',
diff --git a/third_party/WebKit/Source/platform/fonts/Font.cpp b/third_party/WebKit/Source/platform/fonts/Font.cpp
index 1278325f..404b2b2 100644
--- a/third_party/WebKit/Source/platform/fonts/Font.cpp
+++ b/third_party/WebKit/Source/platform/fonts/Font.cpp
@@ -523,8 +523,7 @@
 
     if (variant == AutoVariant) {
         if (m_fontDescription.variantCaps() == FontDescription::SmallCaps) {
-            bool includeDefault = false;
-            UChar32 upperC = toUpper(c, m_fontDescription.locale(includeDefault));
+            UChar32 upperC = toUpper(c, LayoutLocale::localeString(m_fontDescription.locale()));
             if (upperC != c) {
                 c = upperC;
                 variant = SmallCapsVariant;
diff --git a/third_party/WebKit/Source/platform/fonts/FontCache.cpp b/third_party/WebKit/Source/platform/fonts/FontCache.cpp
index 3a7a8db2..fbff07e7 100644
--- a/third_party/WebKit/Source/platform/fonts/FontCache.cpp
+++ b/third_party/WebKit/Source/platform/fonts/FontCache.cpp
@@ -411,21 +411,4 @@
     memoryDump->AddSuballocation(dump->guid(), WTF::Partitions::kAllocatedObjectPoolName);
 }
 
-// SkFontMgr requires script-based locale names, like "zh-Hant" and "zh-Hans",
-// instead of "zh-CN" and "zh-TW".
-CString toSkFontMgrLocale(const String& locale)
-{
-    if (!locale.startsWith("zh", TextCaseInsensitive))
-        return locale.ascii();
-
-    switch (localeToScriptCodeForFontSelection(locale)) {
-    case USCRIPT_SIMPLIFIED_HAN:
-        return "zh-Hans";
-    case USCRIPT_TRADITIONAL_HAN:
-        return "zh-Hant";
-    default:
-        return locale.ascii();
-    }
-}
-
 } // namespace blink
diff --git a/third_party/WebKit/Source/platform/fonts/FontCache.h b/third_party/WebKit/Source/platform/fonts/FontCache.h
index 189d3e0..3768467b 100644
--- a/third_party/WebKit/Source/platform/fonts/FontCache.h
+++ b/third_party/WebKit/Source/platform/fonts/FontCache.h
@@ -219,8 +219,6 @@
     ~FontCachePurgePreventer() { FontCache::fontCache()->enablePurging(); }
 };
 
-CString toSkFontMgrLocale(const String& locale);
-
 } // namespace blink
 
 #endif
diff --git a/third_party/WebKit/Source/platform/fonts/FontDescription.cpp b/third_party/WebKit/Source/platform/fonts/FontDescription.cpp
index 9ac701c9..deca58c 100644
--- a/third_party/WebKit/Source/platform/fonts/FontDescription.cpp
+++ b/third_party/WebKit/Source/platform/fonts/FontDescription.cpp
@@ -123,26 +123,6 @@
     return ligatures;
 }
 
-static const AtomicString& defaultLocale()
-{
-    DEFINE_STATIC_LOCAL(AtomicString, locale, ());
-    if (locale.isNull()) {
-        AtomicString defaultLocale = defaultLanguage();
-        if (!defaultLocale.isEmpty())
-            locale = defaultLocale;
-        else
-            locale = AtomicString("en");
-    }
-    return locale;
-}
-
-const AtomicString& FontDescription::locale(bool includeDefault) const
-{
-    if (m_locale.isNull() && includeDefault)
-        return defaultLocale();
-    return m_locale;
-}
-
 void FontDescription::setTraits(FontTraits traits)
 {
     setStyle(traits.style());
@@ -284,8 +264,11 @@
             addToHash(hash, settings->at(i).value());
         }
     }
-    for (unsigned i = 0; i < m_locale.length(); i++)
-        stringHasher.addCharacter(m_locale[i]);
+    if (m_locale) {
+        const AtomicString& locale = m_locale->localeString();
+        for (unsigned i = 0; i < locale.length(); i++)
+            stringHasher.addCharacter(locale[i]);
+    }
     addToHash(hash, stringHasher.hash());
 
     addFloatToHash(hash, m_specifiedSize);
diff --git a/third_party/WebKit/Source/platform/fonts/FontDescription.h b/third_party/WebKit/Source/platform/fonts/FontDescription.h
index b0513fa..8d1e13e 100644
--- a/third_party/WebKit/Source/platform/fonts/FontDescription.h
+++ b/third_party/WebKit/Source/platform/fonts/FontDescription.h
@@ -27,6 +27,7 @@
 
 #include "SkFontStyle.h"
 #include "platform/FontFamilyNames.h"
+#include "platform/LayoutLocale.h"
 #include "platform/fonts/FontCacheKey.h"
 #include "platform/fonts/FontFamily.h"
 #include "platform/fonts/FontFeatureSettings.h"
@@ -90,7 +91,6 @@
         m_fields.m_keywordSize = 0;
         m_fields.m_fontSmoothing = AutoSmoothing;
         m_fields.m_textRendering = AutoTextRendering;
-        m_fields.m_script = USCRIPT_COMMON;
         m_fields.m_syntheticBold = false;
         m_fields.m_syntheticItalic = false;
         m_fields.m_subpixelTextPosition = s_useSubpixelTextPositioning;
@@ -178,8 +178,9 @@
     unsigned keywordSize() const { return m_fields.m_keywordSize; }
     FontSmoothingMode fontSmoothing() const { return static_cast<FontSmoothingMode>(m_fields.m_fontSmoothing); }
     TextRenderingMode textRendering() const { return static_cast<TextRenderingMode>(m_fields.m_textRendering); }
-    UScriptCode script() const { return static_cast<UScriptCode>(m_fields.m_script); }
-    const AtomicString& locale(bool includeDefault = true) const;
+    const LayoutLocale* locale() const { return m_locale.get(); }
+    const LayoutLocale& localeOrDefault() const { return LayoutLocale::valueOrDefault(m_locale.get()); }
+    UScriptCode script() const { return localeOrDefault().script(); }
     bool isSyntheticBold() const { return m_fields.m_syntheticBold; }
     bool isSyntheticItalic() const { return m_fields.m_syntheticItalic; }
     bool useSubpixelPositioning() const { return m_fields.m_subpixelTextPosition; }
@@ -217,11 +218,7 @@
     void setTextRendering(TextRenderingMode rendering) { m_fields.m_textRendering = rendering; updateTypesettingFeatures(); }
     void setOrientation(FontOrientation orientation) { m_fields.m_orientation = static_cast<unsigned>(orientation); }
     void setWidthVariant(FontWidthVariant widthVariant) { m_fields.m_widthVariant = widthVariant; }
-    void setLocale(const AtomicString& locale)
-    {
-        m_locale = locale;
-        m_fields.m_script = localeToScriptCodeForFontSelection(locale);
-    }
+    void setLocale(PassRefPtr<const LayoutLocale> locale) { m_locale = locale; }
     void setSyntheticBold(bool syntheticBold) { m_fields.m_syntheticBold = syntheticBold; }
     void setSyntheticItalic(bool syntheticItalic) { m_fields.m_syntheticItalic = syntheticItalic; }
     void setFeatureSettings(PassRefPtr<FontFeatureSettings> settings) { m_featureSettings = settings; }
@@ -248,7 +245,7 @@
 private:
     FontFamily m_familyList; // The list of font families to be used.
     RefPtr<FontFeatureSettings> m_featureSettings;
-    AtomicString m_locale;
+    RefPtr<const LayoutLocale> m_locale;
 
     void updateTypesettingFeatures();
 
@@ -294,7 +291,6 @@
 
         unsigned m_fontSmoothing : 2; // FontSmoothingMode
         unsigned m_textRendering : 2; // TextRenderingMode
-        unsigned m_script : 7; // Used to help choose an appropriate font for generic font families.
         unsigned m_syntheticBold : 1;
         unsigned m_syntheticItalic : 1;
         unsigned m_subpixelTextPosition : 1;
diff --git a/third_party/WebKit/Source/platform/fonts/android/FontCacheAndroidTest.cpp b/third_party/WebKit/Source/platform/fonts/android/FontCacheAndroidTest.cpp
index dd8e4a8..37c9e89 100644
--- a/third_party/WebKit/Source/platform/fonts/android/FontCacheAndroidTest.cpp
+++ b/third_party/WebKit/Source/platform/fonts/android/FontCacheAndroidTest.cpp
@@ -16,7 +16,7 @@
     const UChar32 testChar = 228;
 
     FontDescription fontDescription;
-    fontDescription.setLocale("zh");
+    fontDescription.setLocale(LayoutLocale::get("zh"));
     ASSERT_EQ(USCRIPT_SIMPLIFIED_HAN, fontDescription.script());
     fontDescription.setGenericFamily(FontDescription::StandardFamily);
 
diff --git a/third_party/WebKit/Source/platform/fonts/linux/FontCacheLinux.cpp b/third_party/WebKit/Source/platform/fonts/linux/FontCacheLinux.cpp
index 630fb24..6b57d85 100644
--- a/third_party/WebKit/Source/platform/fonts/linux/FontCacheLinux.cpp
+++ b/third_party/WebKit/Source/platform/fonts/linux/FontCacheLinux.cpp
@@ -105,7 +105,7 @@
     }
 
     FontCache::PlatformFallbackFont fallbackFont;
-    FontCache::getFontForCharacter(c, fontDescription.locale().ascii().data(), &fallbackFont);
+    FontCache::getFontForCharacter(c, fontDescription.localeOrDefault().ascii().data(), &fallbackFont);
     if (fallbackFont.name.isEmpty())
         return nullptr;
 
diff --git a/third_party/WebKit/Source/platform/fonts/shaping/CachingWordShaperTest.cpp b/third_party/WebKit/Source/platform/fonts/shaping/CachingWordShaperTest.cpp
index 4475685..6ec420a 100644
--- a/third_party/WebKit/Source/platform/fonts/shaping/CachingWordShaperTest.cpp
+++ b/third_party/WebKit/Source/platform/fonts/shaping/CachingWordShaperTest.cpp
@@ -20,7 +20,7 @@
     void SetUp() override
     {
         fontDescription.setComputedSize(12.0);
-        fontDescription.setLocale("en");
+        fontDescription.setLocale(LayoutLocale::get("en"));
         ASSERT_EQ(USCRIPT_LATIN, fontDescription.script());
         fontDescription.setGenericFamily(FontDescription::StandardFamily);
 
diff --git a/third_party/WebKit/Source/platform/fonts/shaping/HarfBuzzShaper.cpp b/third_party/WebKit/Source/platform/fonts/shaping/HarfBuzzShaper.cpp
index f1f34e3..3848a4d2 100644
--- a/third_party/WebKit/Source/platform/fonts/shaping/HarfBuzzShaper.cpp
+++ b/third_party/WebKit/Source/platform/fonts/shaping/HarfBuzzShaper.cpp
@@ -558,9 +558,7 @@
     HarfBuzzScopedPtr<hb_buffer_t> harfBuzzBuffer(hb_buffer_create(), hb_buffer_destroy);
 
     const FontDescription& fontDescription = m_font->getFontDescription();
-    const String& localeString = fontDescription.locale();
-    CString locale = localeString.latin1();
-    const hb_language_t language = hb_language_from_string(locale.data(), locale.length());
+    const hb_language_t language = fontDescription.localeOrDefault().harfbuzzLanguage();
 
     bool needsCapsHandling = fontDescription.variantCaps() != FontDescription::CapsNormal;
     OpenTypeCapsSupport capsSupport;
@@ -649,7 +647,7 @@
 
             CaseMappingHarfBuzzBufferFiller(
                 caseMapIntend,
-                fontDescription.locale(),
+                fontDescription.localeOrDefault(),
                 harfBuzzBuffer.get(),
                 m_normalizedBuffer.get(),
                 m_normalizedBufferLength,
diff --git a/third_party/WebKit/Source/platform/fonts/skia/FontCacheSkia.cpp b/third_party/WebKit/Source/platform/fonts/skia/FontCacheSkia.cpp
index 3a3dcac..7cb8c5c 100644
--- a/third_party/WebKit/Source/platform/fonts/skia/FontCacheSkia.cpp
+++ b/third_party/WebKit/Source/platform/fonts/skia/FontCacheSkia.cpp
@@ -86,13 +86,9 @@
     }
     if (const char* hanLocale = AcceptLanguagesResolver::preferredHanSkFontMgrLocale())
         bcp47Locales[localeCount++] = hanLocale;
-    CString defaultLocale = toSkFontMgrLocale(defaultLanguage());
-    bcp47Locales[localeCount++] = defaultLocale.data();
-    CString fontLocale;
-    if (!fontDescription.locale().isEmpty()) {
-        fontLocale = toSkFontMgrLocale(fontDescription.locale());
-        bcp47Locales[localeCount++] = fontLocale.data();
-    }
+    bcp47Locales[localeCount++] = LayoutLocale::getDefault().localeForSkFontMgr().data();
+    if (const LayoutLocale* locale = fontDescription.locale())
+        bcp47Locales[localeCount++] = locale->localeForSkFontMgr().data();
     ASSERT_WITH_SECURITY_IMPLICATION(localeCount < kMaxLocales);
     RefPtr<SkTypeface> typeface = adoptRef(fm->matchFamilyStyleCharacter(0, SkFontStyle(), bcp47Locales, localeCount, c));
     if (!typeface)
diff --git a/third_party/WebKit/Source/platform/fonts/win/FontCacheSkiaWin.cpp b/third_party/WebKit/Source/platform/fonts/win/FontCacheSkiaWin.cpp
index 5d6a886..70e018e 100644
--- a/third_party/WebKit/Source/platform/fonts/win/FontCacheSkiaWin.cpp
+++ b/third_party/WebKit/Source/platform/fonts/win/FontCacheSkiaWin.cpp
@@ -126,8 +126,7 @@
     UScriptCode script;
     const wchar_t* family = getFallbackFamily(character,
         fontDescription.genericFamily(),
-        fontDescription.script(),
-        fontDescription.locale(),
+        fontDescription.localeOrDefault(),
         &script,
         fallbackPriority,
         m_fontManager.get());
@@ -145,8 +144,8 @@
         // fall back on the user's default locale.
         // TODO(kulshin): extract locale fallback logic from
         //   FontCacheAndroid.cpp and share that code
-        if (!fontDescription.locale().isEmpty()) {
-            fontLocale = toSkFontMgrLocale(fontDescription.locale());
+        if (fontDescription.locale()) {
+            fontLocale = fontDescription.locale()->localeForSkFontMgr();
             bcp47Locale = fontLocale.data();
             localeCount = 1;
         }
diff --git a/third_party/WebKit/Source/platform/fonts/win/FontFallbackWin.cpp b/third_party/WebKit/Source/platform/fonts/win/FontFallbackWin.cpp
index 88bb3da..e803fb3b 100644
--- a/third_party/WebKit/Source/platform/fonts/win/FontFallbackWin.cpp
+++ b/third_party/WebKit/Source/platform/fonts/win/FontFallbackWin.cpp
@@ -318,11 +318,10 @@
         scriptFontMap[USCRIPT_HAN] = localeFamily;
 }
 
-static UScriptCode scriptForHan(UScriptCode contentScript,
-    const AtomicString& contentLocale)
+static UScriptCode scriptForHan(const LayoutLocale& contentLocale)
 {
-    UScriptCode script = scriptCodeForHanFromLocale(contentScript, contentLocale);
-    if (script != USCRIPT_COMMON)
+    UScriptCode script = contentLocale.scriptForHan();
+    if (script != USCRIPT_HAN)
         return script;
     script = AcceptLanguagesResolver::preferredHanScript();
     if (script != USCRIPT_COMMON)
@@ -481,8 +480,7 @@
 //    font can cover) need to be taken into account
 const UChar* getFallbackFamily(UChar32 character,
     FontDescription::GenericFamilyType generic,
-    UScriptCode contentScript,
-    const AtomicString& contentLocale,
+    const LayoutLocale& contentLocale,
     UScriptCode* scriptChecked,
     FontFallbackPriority fallbackPriority,
     SkFontMgr* fontManager)
@@ -513,7 +511,7 @@
     // For unified-Han scripts, try the lang attribute, system, or
     // accept-languages.
     if (script == USCRIPT_HAN)
-        script = scriptForHan(contentScript, contentLocale);
+        script = scriptForHan(contentLocale);
 
     family = getFontFamilyForScript(script, generic, fontManager);
     // Another lame work-around to cover non-BMP characters.
diff --git a/third_party/WebKit/Source/platform/fonts/win/FontFallbackWin.h b/third_party/WebKit/Source/platform/fonts/win/FontFallbackWin.h
index 30a3ce5..b9d531f7 100644
--- a/third_party/WebKit/Source/platform/fonts/win/FontFallbackWin.h
+++ b/third_party/WebKit/Source/platform/fonts/win/FontFallbackWin.h
@@ -50,8 +50,7 @@
 // the family is returned.
 PLATFORM_EXPORT const UChar* getFallbackFamily(UChar32 character,
     FontDescription::GenericFamilyType,
-    UScriptCode contentScript,
-    const AtomicString& contentLocale,
+    const LayoutLocale& contentLocale,
     UScriptCode* scriptChecked,
     FontFallbackPriority,
     SkFontMgr* fontManager);
diff --git a/third_party/WebKit/Source/platform/network/NetworkHints.cpp b/third_party/WebKit/Source/platform/network/NetworkHints.cpp
index c2c99f7..1ebcf0b 100644
--- a/third_party/WebKit/Source/platform/network/NetworkHints.cpp
+++ b/third_party/WebKit/Source/platform/network/NetworkHints.cpp
@@ -45,4 +45,11 @@
     }
 }
 
+void sendNavigationHint(const KURL& url, WebNavigationHintType type)
+{
+    if (WebPrescientNetworking* prescientNetworking = Platform::current()->prescientNetworking()) {
+        prescientNetworking->sendNavigationHint(url, type);
+    }
+}
+
 } // namespace blink
diff --git a/third_party/WebKit/Source/platform/network/NetworkHints.h b/third_party/WebKit/Source/platform/network/NetworkHints.h
index 918e560..61d74266 100644
--- a/third_party/WebKit/Source/platform/network/NetworkHints.h
+++ b/third_party/WebKit/Source/platform/network/NetworkHints.h
@@ -34,8 +34,11 @@
 
 namespace blink {
 
+enum class WebNavigationHintType;
+
 PLATFORM_EXPORT void prefetchDNS(const String& hostname);
 PLATFORM_EXPORT void preconnect(const KURL&, const CrossOriginAttributeValue);
+PLATFORM_EXPORT void sendNavigationHint(const KURL&, WebNavigationHintType);
 
 } // namespace blink
 
diff --git a/third_party/WebKit/Source/platform/text/Hyphenation.cpp b/third_party/WebKit/Source/platform/text/Hyphenation.cpp
index 64405f6c..5cd81c3 100644
--- a/third_party/WebKit/Source/platform/text/Hyphenation.cpp
+++ b/third_party/WebKit/Source/platform/text/Hyphenation.cpp
@@ -4,38 +4,11 @@
 
 #include "platform/text/Hyphenation.h"
 
+#include "platform/fonts/Font.h"
 #include "wtf/text/StringView.h"
 
 namespace blink {
 
-Hyphenation::HyphenationMap& Hyphenation::getHyphenationMap()
-{
-    DEFINE_STATIC_LOCAL(HyphenationMap, hyphenationMap, ());
-    return hyphenationMap;
-}
-
-Hyphenation* Hyphenation::get(const AtomicString& locale)
-{
-    DCHECK(!locale.isNull());
-    Hyphenation::HyphenationMap& hyphenationMap = getHyphenationMap();
-    const auto& it = hyphenationMap.find(locale);
-    if (it != hyphenationMap.end())
-        return it->value.get();
-
-    return hyphenationMap.add(locale, platformGetHyphenation(locale))
-        .storedValue->value.get();
-}
-
-void Hyphenation::setForTesting(const AtomicString& locale, PassRefPtr<Hyphenation> hyphenation)
-{
-    getHyphenationMap().set(locale, hyphenation);
-}
-
-void Hyphenation::clearForTesting()
-{
-    getHyphenationMap().clear();
-}
-
 Vector<size_t, 8> Hyphenation::hyphenLocations(const StringView& text) const
 {
     Vector<size_t, 8> hyphenLocations;
@@ -50,4 +23,15 @@
     return hyphenLocations;
 }
 
+int Hyphenation::minimumPrefixWidth(const Font& font)
+{
+    // If the maximum width available for the prefix before the hyphen is small, then it is very unlikely
+    // that an hyphenation opportunity exists, so do not bother to look for it.
+    // These are heuristic numbers for performance added in http://wkb.ug/45606
+    const int minimumPrefixWidthNumerator = 5;
+    const int minimumPrefixWidthDenominator = 4;
+    return font.getFontDescription().computedPixelSize()
+        * minimumPrefixWidthNumerator / minimumPrefixWidthDenominator;
+}
+
 } // namespace blink
diff --git a/third_party/WebKit/Source/platform/text/Hyphenation.h b/third_party/WebKit/Source/platform/text/Hyphenation.h
index 2a22bfd..0979cc75 100644
--- a/third_party/WebKit/Source/platform/text/Hyphenation.h
+++ b/third_party/WebKit/Source/platform/text/Hyphenation.h
@@ -6,7 +6,6 @@
 #define Hyphenation_h
 
 #include "platform/PlatformExport.h"
-#include "platform/fonts/Font.h"
 #include "wtf/Forward.h"
 #include "wtf/HashMap.h"
 #include "wtf/RefCounted.h"
@@ -15,12 +14,12 @@
 
 namespace blink {
 
+class Font;
+
 class PLATFORM_EXPORT Hyphenation : public RefCounted<Hyphenation> {
 public:
     virtual ~Hyphenation() {}
 
-    static Hyphenation* get(const AtomicString& locale);
-
     virtual size_t lastHyphenLocation(const StringView&, size_t beforeIndex) const = 0;
     virtual Vector<size_t, 8> hyphenLocations(const StringView&) const;
 
@@ -28,27 +27,11 @@
     static const unsigned minimumSuffixLength = 2;
     static int minimumPrefixWidth(const Font&);
 
-    static void setForTesting(const AtomicString& locale, PassRefPtr<Hyphenation>);
-    static void clearForTesting();
-
 private:
-    using HyphenationMap = HashMap<AtomicString, RefPtr<Hyphenation>, CaseFoldingHash>;
-
-    static HyphenationMap& getHyphenationMap();
+    friend class LayoutLocale;
     static PassRefPtr<Hyphenation> platformGetHyphenation(const AtomicString& locale);
 };
 
-inline int Hyphenation::minimumPrefixWidth(const Font& font)
-{
-    // If the maximum width available for the prefix before the hyphen is small, then it is very unlikely
-    // that an hyphenation opportunity exists, so do not bother to look for it.
-    // These are heuristic numbers for performance added in http://wkb.ug/45606
-    const int minimumPrefixWidthNumerator = 5;
-    const int minimumPrefixWidthDenominator = 4;
-    return font.getFontDescription().computedPixelSize()
-        * minimumPrefixWidthNumerator / minimumPrefixWidthDenominator;
-}
-
 } // namespace blink
 
 #endif // Hyphenation_h
diff --git a/third_party/WebKit/Source/platform/text/HyphenationTest.cpp b/third_party/WebKit/Source/platform/text/HyphenationTest.cpp
index 7738317..dc9db2ab 100644
--- a/third_party/WebKit/Source/platform/text/HyphenationTest.cpp
+++ b/third_party/WebKit/Source/platform/text/HyphenationTest.cpp
@@ -4,6 +4,7 @@
 
 #include "platform/text/Hyphenation.h"
 
+#include "platform/LayoutLocale.h"
 #include "platform/Logging.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
@@ -17,26 +18,16 @@
     }
 };
 
-TEST(HyphenationTest, GetHyphenation)
+TEST(HyphenationTest, Get)
 {
     RefPtr<Hyphenation> hyphenation = adoptRef(new NoHyphenation);
-    Hyphenation::setForTesting("en-US", hyphenation);
-    EXPECT_EQ(hyphenation.get(), Hyphenation::get("en-US"));
+    LayoutLocale::setHyphenationForTesting("en-US", hyphenation);
+    EXPECT_EQ(hyphenation.get(), LayoutLocale::get("en-US")->getHyphenation());
 
-    Hyphenation::setForTesting("en-UK", nullptr);
-    EXPECT_EQ(nullptr, Hyphenation::get("en-UK"));
+    LayoutLocale::setHyphenationForTesting("en-UK", nullptr);
+    EXPECT_EQ(nullptr, LayoutLocale::get("en-UK")->getHyphenation());
 
-    Hyphenation::clearForTesting();
-}
-
-TEST(HyphenationTest, GetHyphenationCaseFolding)
-{
-    RefPtr<Hyphenation> hyphenation = adoptRef(new NoHyphenation);
-    Hyphenation::setForTesting("en-US", hyphenation);
-    EXPECT_EQ(hyphenation, Hyphenation::get("en-US"));
-    EXPECT_EQ(hyphenation, Hyphenation::get("en-us"));
-
-    Hyphenation::clearForTesting();
+    LayoutLocale::clearForTesting();
 }
 
 } // namespace blink
diff --git a/third_party/WebKit/Source/platform/text/hyphenation/HyphenationMinikin.cpp b/third_party/WebKit/Source/platform/text/hyphenation/HyphenationMinikin.cpp
index 0f647ebc..eee87e15 100644
--- a/third_party/WebKit/Source/platform/text/hyphenation/HyphenationMinikin.cpp
+++ b/third_party/WebKit/Source/platform/text/hyphenation/HyphenationMinikin.cpp
@@ -9,6 +9,7 @@
 #include "base/metrics/histogram.h"
 #include "base/timer/elapsed_timer.h"
 #include "mojo/public/cpp/system/platform_handle.h"
+#include "platform/LayoutLocale.h"
 #include "platform/text/hyphenation/HyphenatorAOSP.h"
 #include "public/platform/Platform.h"
 #include "public/platform/ServiceRegistry.h"
@@ -173,7 +174,7 @@
     DEFINE_STATIC_LOCAL(LocaleMap, localeFallback, (createLocaleFallbackMap()));
     const auto& it = localeFallback.find(locale);
     if (it != localeFallback.end())
-        return get(it->value);
+        return LayoutLocale::get(it->value)->getHyphenation();
 
     return nullptr;
 }
diff --git a/third_party/WebKit/Source/web/tests/LinkElementLoadingTest.cpp b/third_party/WebKit/Source/web/tests/LinkElementLoadingTest.cpp
new file mode 100644
index 0000000..647eb6ca
--- /dev/null
+++ b/third_party/WebKit/Source/web/tests/LinkElementLoadingTest.cpp
@@ -0,0 +1,42 @@
+// Copyright 2016 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "core/dom/Document.h"
+#include "core/html/HTMLLinkElement.h"
+#include "testing/gtest/include/gtest/gtest.h"
+#include "web/tests/sim/SimRequest.h"
+#include "web/tests/sim/SimTest.h"
+
+namespace blink {
+
+class LinkElementLoadingTest : public SimTest {
+};
+
+TEST_F(LinkElementLoadingTest, ShouldCancelLoadingStyleSheetIfLinkElementIsDisconnected)
+{
+    SimRequest mainResource("https://example.com/test.html", "text/html");
+    SimRequest cssResource("https://example.com/test.css", "text/css");
+
+    loadURL("https://example.com/test.html");
+
+    mainResource.start();
+    mainResource.write("<!DOCTYPE html><link id=link rel=stylesheet href=test.css>");
+
+    // Sheet is streaming in, but not ready yet.
+    cssResource.start();
+
+    // Remove a link element from a document
+    HTMLLinkElement* link = toHTMLLinkElement(document().getElementById("link"));
+    EXPECT_NE(nullptr, link);
+    link->remove();
+
+    // Finish the load.
+    cssResource.complete();
+    mainResource.finish();
+
+    // Link element's sheet loading should be canceled.
+    EXPECT_EQ(nullptr, link->sheet());
+}
+
+} // namespace blink
diff --git a/third_party/WebKit/Source/web/web.gypi b/third_party/WebKit/Source/web/web.gypi
index dd3aa8c..47d78c4 100644
--- a/third_party/WebKit/Source/web/web.gypi
+++ b/third_party/WebKit/Source/web/web.gypi
@@ -258,8 +258,9 @@
       'tests/ImeOnFocusTest.cpp',
       'tests/IntersectionObserverTest.cpp',
       'tests/KeyboardTest.cpp',
-      'tests/ListenerLeakTest.cpp',
+      'tests/LinkElementLoadingTest.cpp',
       'tests/LinkSelectionTest.cpp',
+      'tests/ListenerLeakTest.cpp',
       'tests/MHTMLTest.cpp',
       'tests/PrerenderingTest.cpp',
       'tests/ProgrammaticScrollTest.cpp',
diff --git a/third_party/WebKit/public/blink_headers.gypi b/third_party/WebKit/public/blink_headers.gypi
index 2b84a18..9f535a3 100644
--- a/third_party/WebKit/public/blink_headers.gypi
+++ b/third_party/WebKit/public/blink_headers.gypi
@@ -142,6 +142,7 @@
       "platform/WebMixedContent.h",
       "platform/WebMockClipboard.h",
       "platform/WebNativeScrollBehavior.h",
+      "platform/WebNavigationHintType.h",
       "platform/WebNonCopyable.h",
       "platform/WebOriginTrialTokenStatus.h",
       "platform/WebPageVisibilityState.h",
diff --git a/third_party/WebKit/public/platform/WebNavigationHintType.h b/third_party/WebKit/public/platform/WebNavigationHintType.h
new file mode 100644
index 0000000..1241b80
--- /dev/null
+++ b/third_party/WebKit/public/platform/WebNavigationHintType.h
@@ -0,0 +1,19 @@
+// Copyright 2016 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef WebNavigationHintType_h
+#define WebNavigationHintType_h
+
+namespace blink {
+
+enum class WebNavigationHintType {
+    LinkMouseDown,
+    LinkTapUnconfirmed,
+    LinkTapDown,
+    Last = LinkTapDown
+};
+
+} // namespace blink
+
+#endif // WebNavigationHintType_h
diff --git a/third_party/WebKit/public/platform/WebPrescientNetworking.h b/third_party/WebKit/public/platform/WebPrescientNetworking.h
index 0b2872e..65d2b0e 100644
--- a/third_party/WebKit/public/platform/WebPrescientNetworking.h
+++ b/third_party/WebKit/public/platform/WebPrescientNetworking.h
@@ -37,6 +37,8 @@
 
 namespace blink {
 
+enum class WebNavigationHintType;
+
 class WebPrescientNetworking {
 public:
     virtual ~WebPrescientNetworking() { }
@@ -46,6 +48,9 @@
     virtual void prefetchDNS(const WebString& hostname) { }
 
     virtual void preconnect(const WebURL& url, const bool allowCredentials) { }
+
+    // Send a hint that a navigation to |url| is likely to happen.
+    virtual void sendNavigationHint(const WebURL& url, WebNavigationHintType) {}
 };
 
 } // namespace blink
diff --git a/tools/mb/mb_config.pyl b/tools/mb/mb_config.pyl
index 507d6fb..5a48530 100644
--- a/tools/mb/mb_config.pyl
+++ b/tools/mb/mb_config.pyl
@@ -129,6 +129,7 @@
       'CrWin7Goma(clbr)': 'gn_shared_release_bot_minimal_symbols_x86',
       'CrWin7Goma(dbg)': 'gn_debug_bot_minimal_symbols_x86',
       'CrWin7Goma(dll)': 'gn_shared_release_bot_minimal_symbols_x86',
+      # if CrWinClang is modified, please update CrWinClangGoma in the same way.
       'CrWinClang':
         'swarming_gn_clang_official_release_bot_minimal_symbols_x86',
       'CrWinClang(dbg)':
@@ -139,7 +140,8 @@
       'CrWinClang tester': 'none',
       'CrWinClang64(dll)':
         'swarming_gyp_clang_minimal_symbols_shared_release_bot_x64',
-      'CrWinClangGoma': 'gyp_clang_minimal_symbols_shared_release_bot_x86',
+      'CrWinClangGoma':
+        'swarming_gn_clang_official_release_bot_minimal_symbols_x86',
       'CrWinGoma': 'gn_release_bot_minimal_symbols_x86',
       'CrWinGoma(dll)': 'gn_shared_release_bot_minimal_symbols_x86',
       'ClangToTAndroidASan': 'android_clang_tot_asan',
@@ -229,21 +231,24 @@
       'Libfuzzer Upload Linux UBSan': 'gn_release_libfuzzer_ubsan',
       'Libfuzzer Upload Mac ASan': 'gn_release_libfuzzer_asan',
       'Linux ARM': 'swarming_gn_release_bot_arm',
+      'Linux deterministic': 'gn_release_bot',
       'Linux remote_run Builder': 'swarming_gn_release_bot',
       'Linux remote_run Tester': 'swarming_gn_release_bot',
       'Linux V8 API Stability': 'gn_release_bot',
+      'Mac deterministic': 'gn_release_bot_mac_strip',
       'Mojo ChromiumOS': 'swarming_chromeos_gn_release_bot',
       'Mojo Windows': 'gn_release_bot_minimal_symbols_x86',
       'Site Isolation Linux': 'gn_release_trybot',
       'Site Isolation Win': 'gyp_release_trybot_x86',
       'UBSanVptr Linux': 'gn_ubsan_vptr_release_bot',
+      'WebKit Linux - TraceWrappables': 'swarming_gn_release_bot_x64',
       'WebKit Linux - WPTServe': 'swarming_gn_release_bot',
       'WebKit Mac - WPTServe': 'swarming_gn_release_bot',
       'WebKit Win - WPTServe': 'swarming_gn_release_bot_minimal_symbols_x86',
-      'WebKit Linux - TraceWrappables': 'swarming_gn_release_bot_x64',
+      'Win 10 Fast Ring': 'gn_release_trybot_x64',
       'Win LKGR (DrM 64)': 'gn_release_drmemory_drfuzz',
       'Win LKGR (DrM)': 'gn_release_drmemory_drfuzz_x86',
-      'Win 10 Fast Ring': 'gn_release_trybot_x64',
+      'Windows deterministic': 'gn_release_bot_minimal_symbols_x86',
     },
 
     'chromium.gpu': {
@@ -1200,6 +1205,10 @@
       'gn', 'release_bot', 'chrome_with_codecs',
     ],
 
+    'gn_release_bot_mac_strip': [
+      'gn', 'release_bot', 'mac_strip',
+    ],
+
     'gn_release_bot_minimal_symbols_chrome_with_codecs': [
       'gn', 'release_bot_minimal_symbols', 'chrome_with_codecs',
     ],
@@ -1320,10 +1329,6 @@
       'gn', 'chromeos_with_codecs', 'debug_bot',
     ],
 
-    'gyp_clang_minimal_symbols_shared_release_bot_x86': [
-      'gyp', 'clang', 'minimal_symbols', 'shared_release_bot', 'x86',
-    ],
-
     'gyp_debug_bot_minimal_symbols_x64': [
       'gyp', 'debug_bot_minimal_symbols', 'x64',
     ],
diff --git a/tools/metrics/histograms/histograms.xml b/tools/metrics/histograms/histograms.xml
index 7c45c595..c6ba576 100644
--- a/tools/metrics/histograms/histograms.xml
+++ b/tools/metrics/histograms/histograms.xml
@@ -77196,6 +77196,7 @@
   <int value="1464" label="V8VisualViewport_Scale_AttributeGetter"/>
   <int value="1465" label="VisualViewportScrollFired"/>
   <int value="1466" label="VisualViewportResizeFired"/>
+  <int value="1467" label="NodeGetRootNode"/>
 </enum>
 
 <enum name="FetchRequestMode" type="int">
diff --git a/ui/app_list/app_list_menu.cc b/ui/app_list/app_list_menu.cc
index 8a1a069..5601f0d 100644
--- a/ui/app_list/app_list_menu.cc
+++ b/ui/app_list/app_list_menu.cc
@@ -70,12 +70,6 @@
   return true;
 }
 
-bool AppListMenu::GetAcceleratorForCommandId(
-    int command_id,
-    ui::Accelerator* accelerator) const {
-  return false;
-}
-
 void AppListMenu::ExecuteCommand(int command_id, int event_flags) {
   if (command_id >= SELECT_PROFILE) {
     delegate_->ShowForProfileByPath(
diff --git a/ui/app_list/app_list_menu.h b/ui/app_list/app_list_menu.h
index 92b11b2..c4540e5f 100644
--- a/ui/app_list/app_list_menu.h
+++ b/ui/app_list/app_list_menu.h
@@ -35,8 +35,6 @@
 
   bool IsCommandIdChecked(int command_id) const override;
   bool IsCommandIdEnabled(int command_id) const override;
-  bool GetAcceleratorForCommandId(int command_id,
-                                  ui::Accelerator* accelerator) const override;
   void ExecuteCommand(int command_id, int event_flags) override;
 
   ui::SimpleMenuModel menu_model_;
diff --git a/ui/base/cocoa/menu_controller_unittest.mm b/ui/base/cocoa/menu_controller_unittest.mm
index 138c112..e49904a 100644
--- a/ui/base/cocoa/menu_controller_unittest.mm
+++ b/ui/base/cocoa/menu_controller_unittest.mm
@@ -45,10 +45,6 @@
     ++enable_count_;
     return true;
   }
-  bool GetAcceleratorForCommandId(int command_id,
-                                  Accelerator* accelerator) const override {
-    return false;
-  }
   void ExecuteCommand(int command_id, int event_flags) override {
     ++execute_count_;
   }
diff --git a/ui/base/models/button_menu_item_model.cc b/ui/base/models/button_menu_item_model.cc
index dd05fe2..3e629cd 100644
--- a/ui/base/models/button_menu_item_model.cc
+++ b/ui/base/models/button_menu_item_model.cc
@@ -27,6 +27,12 @@
   return true;
 }
 
+bool ButtonMenuItemModel::Delegate::GetAcceleratorForCommandId(
+    int command_id,
+    ui::Accelerator* accelerator) const {
+  return false;
+}
+
 struct ButtonMenuItemModel::Item {
   int command_id;
   ButtonType type;
diff --git a/ui/base/models/button_menu_item_model.h b/ui/base/models/button_menu_item_model.h
index efe3f8f..98a72344 100644
--- a/ui/base/models/button_menu_item_model.h
+++ b/ui/base/models/button_menu_item_model.h
@@ -38,10 +38,10 @@
     virtual bool DoesCommandIdDismissMenu(int command_id) const;
 
     // Gets the accelerator for the specified command id. Returns true if the
-    // command id has a valid accelerator, false otherwise.
-    virtual bool GetAcceleratorForCommandId(
-        int command_id,
-        ui::Accelerator* accelerator) const = 0;
+    // command id has a valid accelerator, false otherwise. By default, returns
+    // false for all commands.
+    virtual bool GetAcceleratorForCommandId(int command_id,
+                                            ui::Accelerator* accelerator) const;
 
    protected:
     virtual ~Delegate() {}
diff --git a/ui/base/models/simple_menu_model.cc b/ui/base/models/simple_menu_model.cc
index 09b08d2..a82ac40 100644
--- a/ui/base/models/simple_menu_model.cc
+++ b/ui/base/models/simple_menu_model.cc
@@ -37,6 +37,12 @@
   return true;
 }
 
+bool SimpleMenuModel::Delegate::GetAcceleratorForCommandId(
+    int command_id,
+    ui::Accelerator* accelerator) const {
+  return false;
+}
+
 bool SimpleMenuModel::Delegate::IsItemForCommandIdDynamic(
     int command_id) const {
   return false;
diff --git a/ui/base/models/simple_menu_model.h b/ui/base/models/simple_menu_model.h
index c86f958..6c81575 100644
--- a/ui/base/models/simple_menu_model.h
+++ b/ui/base/models/simple_menu_model.h
@@ -36,10 +36,10 @@
     virtual bool IsCommandIdVisible(int command_id) const;
 
     // Gets the accelerator for the specified command id. Returns true if the
-    // command id has a valid accelerator, false otherwise.
-    virtual bool GetAcceleratorForCommandId(
-        int command_id,
-        ui::Accelerator* accelerator) const = 0;
+    // command id has a valid accelerator, false otherwise. By default, returns
+    // false for all commands.
+    virtual bool GetAcceleratorForCommandId(int command_id,
+                                            ui::Accelerator* accelerator) const;
 
     // Some command ids have labels, sublabels, minor text and icons that change
     // over time.
diff --git a/ui/file_manager/file_manager/foreground/js/ui/file_table.js b/ui/file_manager/file_manager/foreground/js/ui/file_table.js
index 3ed3a3fa..e5ef783 100644
--- a/ui/file_manager/file_manager/foreground/js/ui/file_table.js
+++ b/ui/file_manager/file_manager/foreground/js/ui/file_table.js
@@ -57,7 +57,14 @@
   }
   // Set the new width of columns
   for (var i = 0; i < this.columns_.length; i++) {
-    this.columns_[i].width = newPos[i + 1] - newPos[i];
+    if (!this.columns_[i].visible) {
+      this.columns_[i].width = 0;
+    } else {
+      // Make sure each cell has the minumum width. This is necessary when the
+      // window size is too small to contain all the columns.
+      this.columns_[i].width = Math.max(FileTableColumnModel.MIN_WIDTH_,
+                                        newPos[i + 1] - newPos[i]);
+    }
   }
 };
 
diff --git a/ui/file_manager/file_manager/foreground/js/ui/file_table_unittest.js b/ui/file_manager/file_manager/foreground/js/ui/file_table_unittest.js
index a2f67ce..dc28e2c 100644
--- a/ui/file_manager/file_manager/foreground/js/ui/file_table_unittest.js
+++ b/ui/file_manager/file_manager/foreground/js/ui/file_table_unittest.js
@@ -183,3 +183,44 @@
   assertArrayEquals(expectedWidths, getColumnWidths(newModel));
   assertEquals(expectedTotalWidth, newModel.totalWidth);
 }
+
+function testNormalizeWidth() {
+  var newContentWidth = 150;
+  var expectedWidths = [10, 20, 30, 40, 50];
+
+  for (var i = 0; i < model.size; i++) {
+    model.setWidth(i, expectedWidths[i] * 17);
+  }
+
+  // Resizes columns proportionally
+  model.normalizeWidths(newContentWidth);
+
+  assertArrayEquals(expectedWidths, getColumnWidths(model));
+  assertEquals(newContentWidth, model.totalWidth);
+}
+
+function testNormalizeWidthWithSmallWidth() {
+  model.normalizeWidths(10);  // not enough width to contain all columns
+
+  // Should keep the minimum width.
+  getColumnWidths(model).map(function(width) {
+    assertEquals(FileTableColumnModel.MIN_WIDTH_, width);
+  });
+}
+
+function testSetWidthAndKeepTotal() {
+  // Make sure to take column snapshot. Required for setWidthAndKeepTotal.
+  model.initializeColumnPos();
+
+  // Attempt to expand the 3rd column exceeding the window.
+  model.setWidthAndKeepTotal(2, 400);
+
+  // Should keep the minimum width.
+  getColumnWidths(model).map(function(width) {
+    assertTrue(width >= FileTableColumnModel.MIN_WIDTH_);
+  });
+  var minWidth = FileTableColumnModel.MIN_WIDTH_;
+  // Total width = 500.
+  expectedWidths = [100, 100, 500 - 100 * 2 - minWidth * 2, minWidth, minWidth];
+  assertArrayEquals(expectedWidths, getColumnWidths(model));
+}
diff --git a/ui/message_center/message_center_tray.cc b/ui/message_center/message_center_tray.cc
index 246054e..7ce74a2b 100644
--- a/ui/message_center/message_center_tray.cc
+++ b/ui/message_center/message_center_tray.cc
@@ -40,8 +40,6 @@
   // Overridden from ui::SimpleMenuModel::Delegate:
   bool IsCommandIdChecked(int command_id) const override;
   bool IsCommandIdEnabled(int command_id) const override;
-  bool GetAcceleratorForCommandId(int command_id,
-                                  ui::Accelerator* accelerator) const override;
   void ExecuteCommand(int command_id, int event_flags) override;
 
  private:
@@ -81,12 +79,6 @@
   return tray_->delegate()->IsContextMenuEnabled();
 }
 
-bool NotificationMenuModel::GetAcceleratorForCommandId(
-    int command_id,
-    ui::Accelerator* accelerator) const {
-  return false;
-}
-
 void NotificationMenuModel::ExecuteCommand(int command_id, int event_flags) {
   switch (command_id) {
     case kTogglePermissionCommand:
diff --git a/ui/message_center/views/notifier_settings_view.cc b/ui/message_center/views/notifier_settings_view.cc
index 2f5afe2..10a8ab47 100644
--- a/ui/message_center/views/notifier_settings_view.cc
+++ b/ui/message_center/views/notifier_settings_view.cc
@@ -217,8 +217,6 @@
   // ui::SimpleMenuModel::Delegate:
   bool IsCommandIdChecked(int command_id) const override;
   bool IsCommandIdEnabled(int command_id) const override;
-  bool GetAcceleratorForCommandId(int command_id,
-                                  ui::Accelerator* accelerator) const override;
   void ExecuteCommand(int command_id, int event_flags) override;
 
  private:
@@ -255,12 +253,6 @@
   return true;
 }
 
-bool NotifierGroupMenuModel::GetAcceleratorForCommandId(
-    int command_id,
-    ui::Accelerator* accelerator) const {
-  return false;
-}
-
 void NotifierGroupMenuModel::ExecuteCommand(int command_id, int event_flags) {
   if (!notifier_settings_provider_)
     return;
diff --git a/ui/views/controls/menu/menu_runner_cocoa_unittest.mm b/ui/views/controls/menu/menu_runner_cocoa_unittest.mm
index b9a6656..924256f 100644
--- a/ui/views/controls/menu/menu_runner_cocoa_unittest.mm
+++ b/ui/views/controls/menu/menu_runner_cocoa_unittest.mm
@@ -35,11 +35,6 @@
       return command_id == model_->checked_command_;
     }
     bool IsCommandIdEnabled(int command_id) const override { return true; }
-    bool GetAcceleratorForCommandId(
-        int command_id,
-        ui::Accelerator* accelerator) const override {
-      return false;
-    }
     void ExecuteCommand(int command_id, int event_flags) override {}
 
     void MenuWillShow(SimpleMenuModel* source) override {
diff --git a/ui/views/examples/menu_example.cc b/ui/views/examples/menu_example.cc
index 8f86c61..7f38c5d8 100644
--- a/ui/views/examples/menu_example.cc
+++ b/ui/views/examples/menu_example.cc
@@ -31,8 +31,6 @@
   // ui::SimpleMenuModel::Delegate:
   bool IsCommandIdChecked(int command_id) const override;
   bool IsCommandIdEnabled(int command_id) const override;
-  bool GetAcceleratorForCommandId(int command_id,
-                                  ui::Accelerator* accelerator) const override;
   void ExecuteCommand(int command_id, int event_flags) override;
 
  private:
@@ -119,13 +117,6 @@
   return command_id != COMMAND_GO_HOME;
 }
 
-bool ExampleMenuModel::GetAcceleratorForCommandId(
-    int command_id,
-    ui::Accelerator* accelerator) const {
-  // We don't use this in the example.
-  return false;
-}
-
 void ExampleMenuModel::ExecuteCommand(int command_id, int event_flags) {
   switch (command_id) {
     case COMMAND_DO_SOMETHING: {
diff --git a/ui/views/examples/tree_view_example.cc b/ui/views/examples/tree_view_example.cc
index 35a812c..9681ede 100644
--- a/ui/views/examples/tree_view_example.cc
+++ b/ui/views/examples/tree_view_example.cc
@@ -153,12 +153,6 @@
   return const_cast<TreeViewExample*>(this)->IsCommandIdEnabled(command_id);
 }
 
-bool TreeViewExample::GetAcceleratorForCommandId(
-    int command_id,
-    ui::Accelerator* accelerator) const {
-  return false;
-}
-
 void TreeViewExample::ExecuteCommand(int command_id, int event_flags) {
   NodeType* selected_node =
       static_cast<NodeType*>(tree_view_->GetSelectedNode());
diff --git a/ui/views/examples/tree_view_example.h b/ui/views/examples/tree_view_example.h
index bbdc02f0..27d910b6 100644
--- a/ui/views/examples/tree_view_example.h
+++ b/ui/views/examples/tree_view_example.h
@@ -63,8 +63,6 @@
   // SimpleMenuModel::Delegate:
   bool IsCommandIdChecked(int command_id) const override;
   bool IsCommandIdEnabled(int command_id) const override;
-  bool GetAcceleratorForCommandId(int command_id,
-                                  ui::Accelerator* accelerator) const override;
   void ExecuteCommand(int command_id, int event_flags) override;
 
   // The tree view to be tested.
diff --git a/ui/views/touchui/touch_selection_controller_impl_unittest.cc b/ui/views/touchui/touch_selection_controller_impl_unittest.cc
index a9332b6..e3983dc 100644
--- a/ui/views/touchui/touch_selection_controller_impl_unittest.cc
+++ b/ui/views/touchui/touch_selection_controller_impl_unittest.cc
@@ -687,11 +687,6 @@
     NOTREACHED();
     return false;
   }
-  bool GetAcceleratorForCommandId(int command_id,
-                                  ui::Accelerator* accelerator) const override {
-    NOTREACHED();
-    return false;
-  }
   void ExecuteCommand(int command_id, int event_flags) override {
     NOTREACHED();
   }